.file_tree,#file_tree{user-select:none;-webkit-user-select:none}.project_header{display:flex;flex-wrap:wrap;align-items:center;background-color:var(--bg-menu);position:sticky;top:0;z-index:1;height:36px;gap:2px;padding-right:4px}.project_header_buttons{display:flex;position:sticky;right:0;height:100%;align-items:center;background-color:var(--bg-menu)}.left_panel_header{display:none}.left_panel_btn{display:flex;align-items:center;justify-content:center;cursor:pointer;width:28px;height:28px;border-radius:4px;opacity:0.5;font-size:18px}.left_panel_btn:hover{filter:brightness(1.1)}.left_panel_btn.active{opacity:1;background:var(--bg-hover)}.project_btn{display:flex;align-items:center;justify-content:center;cursor:pointer;width:24px;height:24px;border-radius:6px;opacity:0.85;font-size:18px}.project_btn:hover{background-color:var(--bg-hover)}.live_users_container{display:flex;align-items:center;margin-right:8px}.live_users_avatars{display:flex;gap:2px}.live_user_avatar{width:20px;height:20px;border-radius:50%;background:linear-gradient(45deg,var(--primary-color),var(--bg-selected));color:var(--bg-white);font-size:10px;font-weight:bold;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-menu);margin-left:-2px}.live_user_avatar.self{background:linear-gradient(45deg,#1976d2,#42a5f5)}.live_user_avatar.connected{background:linear-gradient(45deg,#2e7d32,#4caf50)}.live_user_avatar.disconnected{background:linear-gradient(45deg,#d32f2f,#f44336)}.live_user_avatar:first-child{margin-left:0}.project_info{display:flex}.project_info_icon{font-size:14px;opacity:0.4;color:red;cursor:pointer}.restore_header_btn{background-color:var(--primary-color);color:var(--bg-white);border:none;font-size:10px;padding:6px 8px;font-weight:500;margin-left:6px;font-family:Inter;border-radius:10px;width:fit-content;cursor:pointer}.restore_header_btn:hover{filter:brightness(1.1)}.file_tree_container{position:relative;overflow-y:auto;max-height:100%;width:100%;padding:10px}.file_tree_container:has(.file,.folder) .project_source_options_row{display:none}.file_tree_actions{display:flex;gap:5px;margin-left:auto}#file_tree,.file_tree{font-size:15px;flex:1;overflow:auto;padding:4px;border:2px dashed #ffffff00;border-radius:16px}.file_tree.drag_over{background-color:#fbfbfb63;border:2px dashed #ccc}.sync_file_list .folder,.file_tree .folder{margin-left:0;padding-left:0}@media (max-width:760px){#file_tree,.file_tree:after{content:'';display:block;height:100px}}.sync_file_list .folder>.folder_name .folder_icon::before,.file_tree .folder>.folder_name .folder_icon::before{content:'folder'}.sync_file_list .folder[open]>.folder_name .folder_icon::before,.file_tree .folder[open]>.folder_name .folder_icon::before{content:'folder_open'}.sync_file_list .folder_name,.file_tree .folder_name{padding:6px;cursor:pointer;user-select:none;display:flex;align-items:center}.sync_file_list .folder_name:hover,.file_tree .folder_name:hover{background-color:var(--bg-hover)}.sync_file_list .file,.file_tree .file{padding:6px;cursor:pointer;display:flex;align-items:center}.sync_file_list .file:hover,.file_tree .file:hover{background-color:var(--bg-hover)}.sync_file_list .folder_icon,.sync_file_list .file_icon,.file_tree .folder_icon,.file_tree .file_icon{margin-right:5px;margin-bottom:2px;font-size:16px}.sync_file_list .folder_icon,.file_tree .folder_icon{color:var(--warning-color)}.sync_file_list .file_icon,.file_tree .file_icon{color:var(--primary-color)}.orange{color:#ff9800!important}.sync_file_list .folder>.folder,.sync_file_list .folder>.file,.file_tree .folder>.folder,.file_tree .folder>.file{margin-left:20px}.sync_file_list .folder>.sync_file_row{margin-left:20px}.file_tree .error{color:var(--error-color);padding:10px;background-color:var(--error-light);border-radius:4px;margin:10px 0}.file_tree_actions .share_project{background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;padding:5px;cursor:pointer;opacity:0.8}.file_tree_actions .share_project:hover{opacity:1;filter:brightness(1.1)}.file_tree_actions .share_project .material-symbols-outlined{font-size:18px;color:var(--success-color)}.version_timeline{padding:10px;overflow-y:auto;max-height:calc(100vh - 150px)}.version_entry{border:1px solid var(--border-color);border-radius:4px;margin-bottom:15px;background:var(--bg-hover);box-shadow:0 1px 3px rgba(0,0,0,0.05)}.version_header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border-color);background:var(--bg-menu)}.version_time{font-weight:bold}.version_files{padding:8px 12px;max-height:200px;overflow-y:auto}.file_item{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--border-color)}.file_item:last-child{border-bottom:none}.file_item.newer-version{background-color:color-mix(in srgb,var(--error-color) 12%,var(--bg-white))}.file_name{flex:1;font-family:monospace}.file_status{font-size:0.8em;padding:2px 6px;border-radius:3px;background:var(--bg-hover);color:var(--text-light)}.status-active{background:color-mix(in srgb,var(--success-color) 14%,var(--bg-white));color:var(--success-color)}.status-inactive{background:color-mix(in srgb,var(--warning-color) 14%,var(--bg-white));color:var(--warning-color)}.status-newer{background:color-mix(in srgb,var(--error-color) 14%,var(--bg-white));color:var(--error-color)}.switch_version{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;padding:2px 5px;cursor:pointer}.switch_version:hover{background:var(--bg-selected)}.switch_version .material-symbols-outlined{font-size:16px;color:var(--primary-color)}.branch_selector,.diff_selector,.sync_control{display:flex}.branch_select,.diff_select,.sync_select{width:120px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-menu);color:var(--text-color);font-size:14px;outline:none}.branch_select:hover,.diff_select:hover,.sync_select:hover{border-color:var(--primary-color)}.file_tree_header{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:8px}.branches_menu_content{position:absolute;z-index:1000;background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.08);margin-top:6px;min-width:160px}.branches_menu{display:flex;flex-direction:column;padding:6px 0}.branch_item{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px}.branch_item:hover{background:var(--bg-hover)}.branch_item.active{background:var(--bg-selected);font-weight:500;color:var(--success-color)}.file_tree_context_menu{position:absolute;background:var(--bg-white);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,0.2);min-width:150px;z-index:1000}.context_menu_item{padding:8px 10px;display:flex;align-items:center;cursor:pointer}.context_menu_item:hover{background:var(--bg-hover)}.context_menu_item span.material-symbols-outlined{margin-right:8px;font-size:18px}.context_menu_divider{height:1px;background:#eee;margin:4px 0}.context_menu_item.delete{color:var(--error-color)}.version_tree_graph{overflow:auto;display:flex;flex-direction:column;gap:12px}.version_tree_row{display:flex;align-items:center;position:relative;cursor:pointer;z-index:1}.version_tree_row:hover{background:var(--bg-selected)}.version_tree_circle{width:14px;height:14px;border-radius:50%;margin:4px;margin-right:10px}.version_tree_circle.active{background:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.version_tree_circle.inactive{background:#bbb;box-shadow:0 0 0 2px #bbb}.version_tree_branchline{position:absolute;left:6px;top:0;bottom:0;width:2px;background:#e0e0e0;z-index:0}.version_tree_row .version_tree_branchline{left:6px;top:-16px;bottom:16px}.version_tree_row .version_tree_branchline.branch-1{left:26px;background:var(--primary-color)}.version_tree_row .version_tree_branchline.branch-2{left:46px;background:var(--warning-color)}.version_tree_row .version_tree_branchline.branch-3{left:66px;background:var(--success-color)}.version_tree_row .version_tree_circle.branch-1{background:var(--primary-color)}.version_tree_row .version_tree_circle.branch-2{background:var(--warning-color)}.version_tree_row .version_tree_circle.branch-3{background:var(--success-color)}.version_tree_info{display:flex;flex-direction:column;z-index:2;align-items:flex-start}.version_tree_id{font-size:13px;font-family:monospace;color:var(--text-color);font-weight:500}.version_tree_time{font-size:11px;color:var(--text-lighter);margin-top:1px}.version_tree_tag{font-size:11px;color:var(--text-lighter);font-style:italic}.msg_history_btn{cursor:pointer}.msg_history_btn:hover{text-decoration:underline}.version_tree_modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100vw;height:100vh;background:rgba(0,0,0,0.08);align-items:center;justify-content:center}.version_tree_modal .modal-content{background:var(--bg-white);border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,0.10);min-width:340px;max-width:90vw;margin:10vh auto;padding:0}.version_tree_modal .modal-body{padding:24px 24px 12px 24px}.loading_indicator{display:flex;align-items:center;justify-content:center;padding:20px;gap:8px;color:#666}.loading_indicator .material-symbols-outlined{animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.handle_info_container_slot{display:flex;flex-direction:column;gap:8px}.handle_info_container{display:flex;padding:8px 12px;border-radius:6px;background:var(--bg-selected);gap:8px;font-family:monospace;flex-direction:column}.handle_info_container:has(.handle_active_toggle:not(.active)){opacity:0.5}.handle_info{display:flex;align-items:center;justify-content:space-between}.handle_info_small{font-size:12px}.handle_btn{font-size:20px!important;padding:0 4px!important;opacity:0.8}.handle_btn:hover{opacity:1}.ignored_files_details{display:flex;cursor:pointer;flex-direction:column}.ignored_files_summary{list-style:none}.ignored_files_summary::-webkit-details-marker{display:none}.ignored_files_details .ignore_type_details{font-size:12px;opacity:0.8}.ignored_files_details .ignore_type_summary{list-style:none;cursor:pointer;padding:2px 0}.ignored_files_details .ignore_type_summary::-webkit-details-marker{display:none}.ignored_files_details .ignore_files_list{padding-left:10px;max-height:120px;overflow-y:auto}.ignored_files_details .ignore_files_list div{padding:1px 0;font-size:11px;color:#adb5bd}.sync_message{display:flex;align-items:center;padding:12px;border-radius:6px;background:var(--bg-selected);color:var(--success-color);gap:8px}.sync_message.warning{background:var(--bg-selected);color:var(--warning-color)}.sync_message.error{background:var(--error-light);color:var(--error-color)}.sync_errors{margin:10px 0 0 28px;padding:0;font-size:13px}.sync_file_list{display:flex;max-height:60vh;overflow-y:auto;border:1px solid #eee;border-radius:8px;padding:16px;flex-direction:column;gap:15px}.sync_group_section{display:flex;flex-direction:column;gap:2px}.sync_file_list h5{padding-bottom:4px;border-bottom:1px solid #f0f0f0;color:#424242;font-size:14px}.sync_file_list h5:first-child{margin-top:0}.sync_file_row{display:flex;align-items:center;padding:6px;border-radius:6px}.sync_file_row:hover{background-color:var(--bg-hover)}.sync_file_row.delete{background-color:var(--error-light)}.sync_file_row.ignored{opacity:0.5;font-style:italic;background:var(--bg-hover)}.file_path{flex:1;display:flex;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;margin-right:12px;align-items:center}.file_status{font-size:12px;color:#757575;padding:2px 8px;margin:0 10px;background:#f5f5f5;border-radius:4px;white-space:nowrap}.file_actions{display:flex;gap:8px;margin-left:auto}.delete_indicator{color:var(--error-color);font-size:13px;display:flex;align-items:center;gap:4px}.btn_direction{font-size:12px!important;padding:4px 8px!important;display:flex;align-items:center;gap:4px;background:#f5f5f5;opacity:0.7;position:relative}.btn_direction.active{background:var(--primary-color);color:var(--bg-white);opacity:1;font-weight:500}.btn_direction.active .material-symbols-outlined{color:var(--bg-white)}.btn_direction .material-symbols-outlined{font-size:14px}.folder_name:has(.btn_direction.delete.active),.sync_file_row:has(.btn_direction.delete.active){background:var(--error-light)!important}.folder_name:has(.btn_direction.ignore.active),.sync_file_row:has(.btn_direction.ignore.active){opacity:0.5;font-style:italic}.sync_global_actions{display:flex;align-items:center;gap:12px;margin:16px 0;padding:16px 0 0 0;border-top:1px solid var(--border-color)}.sync_global_actions span{color:var(--text-light);font-weight:500}.sync_global_actions .btn_primary{padding:8px 12px;border:none;box-shadow:0 1px 3px rgba(0,0,0,0.1)}.sync_global_actions .btn_primary:hover{transform:translateY(-1px);box-shadow:0 3px 6px rgba(0,0,0,0.15)}.sync_actions{display:flex;justify-content:flex-end;gap:8px}#projects_list{display:flex;flex-direction:column;gap:6px}.project_options{display:flex;justify-content:center;gap:10px}.project_option{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;background-color:var(--bg-hover);border-radius:8px;cursor:pointer;padding:10px;text-align:center}.project_option:hover{opacity:0.8}.project_option .material-symbols-outlined{font-size:32px;margin-bottom:8px}.project_option.new{background-color:var(--bg-selected)}.project_option.new .material-symbols-outlined{color:var(--success-color)}.project_item{display:flex;background-color:var(--bg-menu);border-radius:8px;padding:15px;cursor:pointer}.project_item:hover{background-color:var(--bg-hover)}.project_info{flex:1}.project_name{font-size:18px;font-weight:500}.project_description{font-size:14px;color:var(--text-light);margin-bottom:5px}.project_actions{display:flex;align-items:center}.source_sync_status{display:flex;align-items:center;font-size:12px;margin-top:5px}.source_sync_status .status_dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background-color:var(--primary-color)}.source_sync_status.synced .status_dot{background-color:var(--success-color)}.source_sync_status.not-synced .status_dot{background-color:var(--warning-color)}.source_sync_status.error .status_dot{background-color:var(--error-color)}.source_sync_status .material-symbols-outlined{font-size:14px;margin-right:4px}.sync_time{font-size:12px;color:#888;margin-top:2px}.connection_form{display:none;background:var(--bg-white);padding:20px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);width:100%;max-width:600px;margin:20px auto;position:relative}.connection_form h3{margin-top:0;font-size:20px;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.form_row{margin-bottom:15px}.form_row label{display:block;margin-bottom:5px;font-weight:500}.form_row input[type="text"],.form_row input[type="password"],.form_row textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px}.form_row textarea{min-height:80px;resize:vertical}.form_actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn_primary{background-color:var(--success-color);color:var(--bg-white)}.btn_primary:hover{filter:brightness(1.1)}.btn_secondary{background-color:var(--bg-hover);color:var(--text-color)}.btn_secondary:hover{filter:brightness(1.1)}.code_sync_tab{padding:20px;max-width:500px}.code_sync_tab h3{margin:0 0 20px 0;font-size:18px}.code_sync_tab .sync_form_section{background:var(--bg-white);border-radius:8px}.code_sync_tab .form_row{margin-bottom:15px}.code_sync_tab .form_row label{display:block;margin-bottom:5px;font-weight:500}.code_sync_tab .form_row input{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:4px;box-sizing:border-box}.code_sync_tab .form_actions{display:flex;justify-content:flex-end;margin-top:20px}.code_sync_tab .form_help{font-size:12px;color:#888;margin-top:4px}.code_sync_tab .help-link{font-size:12px;margin-left:5px}@media (max-width:760px){.project_options{flex-wrap:wrap}.project_option{width:calc(33.33% - 10px)}.project_item{flex-direction:column}.project_actions{margin-top:10px;justify-content:flex-end}}@media (max-width:480px){.project_option{width:calc(50% - 10px)}}.loading_spinner{width:50px;height:50px;border:5px solid var(--bg-hover);border-top:5px solid var(--success-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loading_message{font-size:16px;color:var(--text-color);text-align:center;padding:0 20px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.project_menu{position:relative;display:flex;align-items:center}.project_menu[open] .project_menu_content{display:block}.project_menu_content{display:none;padding:16px 0 8px 0;width:100%}.project_menu_setting{display:flex;align-items:center;justify-content:space-between}.project_menu_setting label{flex:1;font-weight:500}.project_menu_setting select{margin-left:10px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-color);font-size:15px;background:var(--bg-menu)}.project_menu_setting .toggle_options{display:flex;gap:10px}.project_menu_setting .toggle_option{padding:4px 12px;background-color:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;text-align:center;cursor:pointer;font-size:13px;transition:all 0.2s ease}.project_menu_setting .toggle_option.active{background-color:var(--primary-color);color:var(--bg-white);border-color:var(--primary-color)}.project_menu_setting .toggle_option:hover:not(.active){filter:brightness(1.1)}.project_menu_action{background:none;border:none;color:var(--error-color);padding:8px;font-size:15px;display:flex;align-items:center;gap:8px;cursor:pointer;border-radius:4px}.project_menu_action:hover{background:var(--bg-hover)}hr{border:none;border-top:1px solid var(--border-color)}.module_code.files_left{display:grid;grid-template-columns:240px 1fr;grid-template-rows:36px 1fr}.module_code.files_left .project_header_buttons{display:none}.module_code.files_left .left_panel_header{display:flex;grid-column:1;grid-row:1;align-items:center;gap:2px;padding:0 4px;border-right:1px solid var(--bg-hover);justify-content:center}.module_code.files_left .project_header{grid-column:2;grid-row:1}.module_code.files_left .project_header>.project_search_btn,.module_code.files_left .project_header>.version_tree_btn{display:none}.module_code.files_left>.content.file_tree_container,.module_code.files_left>.content.code_search_tab,.module_code.files_left>.content.code_history_tab{display:none;grid-column:1;grid-row:2;border-right:1px solid var(--bg-hover);max-height:calc(100vh - 36px);overflow-y:auto}.module_code.files_left>.content.left_panel_active{display:flex!important;padding:0}.module_code.files_left>#version_tree_modal.left_panel_active{position:static;display:flex!important;grid-column:1;grid-row:2;width:auto;height:auto;max-height:calc(100vh - 36px);overflow-y:auto;background:none;border-right:1px solid var(--bg-hover)}.module_code.files_left>#version_tree_modal.left_panel_active .modal-content{margin:0;box-shadow:none;border-radius:0;min-width:unset;width:100%}.module_code.files_left>#version_tree_modal.left_panel_active .modal-body{padding:10px}.module_code.files_left>#version_tree_modal.left_panel_active .version_tree_branchline{display:none}.module_code.files_left>.content:not(.file_tree_container):not(.left_panel_active){grid-column:2;grid-row:2}.module_code.files_left>.content.active:not(.file_tree_container){display:flex}.module_code.files_left .code_tab[tab_type="filetree"]{display:none}@media (max-width:760px){.module_code.files_left{grid-template-columns:180px 1fr}}