@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#1e1f22;--bg-secondary:#18191b;--bg-tertiary:#2b2c2f;--border-color:#2a2b2e;--text-main:#e3e4e6;--text-muted:#8e9297;--text-dark:#111827;--accent-color:#239dad;--accent-hover:#1d7f8e;--accent-light:#239dad26;--accent-gradient:linear-gradient(135deg, #239dad, #00c0d8);--success-color:#22c55e;--warning-color:#eab308;--danger-color:#f43f5e;--font-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--font-mono:Fira Code, source-code-pro, Menlo, Monaco, Consolas, monospace;--shadow-sm:0 2px 8px #00000026;--shadow-md:0 8px 24px #0000004d;--shadow-lg:0 16px 48px #00000073;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans), serif;background-color:var(--bg-primary);color:var(--text-main);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--bg-tertiary)}.brand-container{align-items:center;gap:8px;display:flex}.brand-logo-text{letter-spacing:-.2px;-webkit-user-select:none;user-select:none;font-family:Georgia,Buenard,serif;font-size:16px}.brand-logo-text .logo-typst{color:var(--accent-color);font-weight:700}.brand-logo-text .logo-lab{color:var(--text-main);font-weight:500}.app-container{flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.app-layout{background-color:var(--bg-primary);flex:1;display:flex;overflow:hidden}.resizer-bar{cursor:col-resize;z-index:100;-webkit-user-select:none;user-select:none;background-color:#0000;justify-content:center;align-self:stretch;align-items:center;width:6px;display:flex;position:relative}.resizer-bar:after{content:"";background-color:var(--border-color);width:1px;height:100%;transition:background-color var(--transition-fast), width var(--transition-fast)}.resizer-bar:hover,.resizer-bar.active{background-color:#239dad0d}.resizer-bar:hover:after,.resizer-bar.active:after{background-color:var(--accent-color);width:2px}body.is-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.is-resizing *{pointer-events:none!important}.app-header{border-bottom:1px solid var(--border-color);z-index:100;-webkit-user-select:none;user-select:none;background-color:#1b1c1e;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.app-header .header-left,.app-header .header-center,.app-header .header-right{align-items:center;gap:12px;display:flex}.app-header .brand-container{align-items:center;gap:8px;display:flex}.app-header .typst-logo-svg{width:24px;height:24px}.app-header .brand-logo-text{letter-spacing:-.2px;font-family:Georgia,Buenard,serif;font-size:16px}.app-header .brand-logo-text .logo-typst{color:var(--accent-color);font-weight:700}.app-header .brand-logo-text .logo-lab{color:var(--text-main);font-weight:500}.app-header .breadcrumb-separator{color:#404249;font-size:16px;font-weight:300}.app-header .project-title-container{align-items:center;display:flex}.app-header .header-title-input{font-family:var(--font-sans), sans-serif;color:var(--text-main);transition:background-color var(--transition-fast);text-overflow:ellipsis;background:0 0;border:none;border-radius:4px;outline:none;max-width:200px;padding:4px 8px;font-size:14px;font-weight:500}.app-header .header-title-input:hover{background-color:#ffffff0d}.app-header .header-title-input:focus{box-shadow:0 0 0 1px var(--accent-color);background-color:#0003}.app-header .status-badge{border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.app-header .status-badge .status-icon{flex-shrink:0}.app-header .status-badge.compiling{color:var(--accent-color);background-color:#239dad1a}.app-header .status-badge.error{color:var(--danger-color);background-color:#f43f5e1a}.app-header .status-badge.ready{color:var(--success-color);background-color:#22c55e1a}.app-header .status-badge.loading{color:var(--text-muted);background-color:#9ca3af1a}.app-header .connection-badge{justify-content:center;align-items:center;display:flex}.app-header .connection-badge .status-indicator{width:24px;height:24px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.app-header .connection-badge .status-indicator:hover{color:var(--text-main);background-color:#ffffff0d}.app-header .connection-badge .status-indicator.online{color:var(--success-color)}.app-header .connection-badge .status-indicator.offline{color:var(--warning-color)}.app-header .layout-toggles{border:1px solid var(--border-color);background-color:#0003;border-radius:6px;padding:2px;display:flex}.app-header .layout-toggles .layout-toggle-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:flex}.app-header .layout-toggles .layout-toggle-btn:hover{color:var(--text-main)}.app-header .layout-toggles .layout-toggle-btn.active{color:var(--text-main);background-color:var(--bg-tertiary);box-shadow:0 1px 3px #0003}.app-header .layout-toggles .layout-toggle-btn span{display:none}@media (width>=768px){.app-header .layout-toggles .layout-toggle-btn span{display:inline}}.app-header .export-pdf-btn{background-color:var(--accent-color);color:#fff;font-family:var(--font-sans), sans-serif;cursor:pointer;transition:var(--transition-fast);border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:flex}.app-header .export-pdf-btn:hover{background-color:#1d7f8e}.app-header .export-pdf-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-container{border-right:1px solid var(--border-color);background-color:var(--bg-secondary);height:100%;display:flex}.sidebar-container.collapsed{border-right:none}.sidebar-dock{border-right:1px solid var(--border-color);background-color:#131416;flex-direction:column;align-items:center;gap:8px;width:48px;padding-top:12px;display:flex}.sidebar-dock .dock-item{width:36px;height:36px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.sidebar-dock .dock-item:hover{color:var(--text-main);background-color:#ffffff0d}.sidebar-dock .dock-item.active{color:var(--accent-color);background-color:#239dad1f}.sidebar-pane{background-color:#18191b;flex-direction:column;flex:1;width:192px;height:100%;display:flex;overflow:hidden}.sidebar-pane .pane-content{flex:1;padding:16px;overflow-y:auto}.sidebar-pane .pane-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.sidebar-pane .pane-header .create-file-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:4px;align-items:center;padding:2px;display:flex}.sidebar-pane .pane-header .create-file-btn:hover{color:var(--text-main)}.sidebar-pane .sidebar-pane-footer{border-top:1px solid var(--border-color);color:var(--text-muted);padding:12px 16px;font-size:10px}.sidebar-pane .file-create-input-container{align-items:center;gap:3px;margin-bottom:12px;display:flex}.sidebar-pane .file-create-input-container .file-create-input{border:1px solid var(--border-color);min-width:0;color:var(--text-main);box-sizing:border-box;height:24px;transition:border-color var(--transition-fast);background:#0003;border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:12px}.sidebar-pane .file-create-input-container .file-create-input:focus{border-color:var(--accent-color)}.sidebar-pane .file-create-input-container button{cursor:pointer;width:22px;height:22px;transition:background-color var(--transition-fast), color var(--transition-fast);border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-pane .file-create-input-container .file-create-btn{background:var(--accent-color);color:#fff}.sidebar-pane .file-create-input-container .file-create-btn:hover{background-color:var(--accent-hover)}.sidebar-pane .file-create-input-container .file-create-cancel-btn{color:var(--text-muted);background:#ffffff0d}.sidebar-pane .file-create-input-container .file-create-cancel-btn:hover{color:var(--text-main);background-color:#ffffff1a}.sidebar-pane .file-tree{flex-direction:column;gap:8px;display:flex}.sidebar-pane .file-tree .file-item{cursor:pointer;transition:background var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:flex-start;align-items:center;padding:6px 8px;display:flex}.sidebar-pane .file-tree .file-item.editing{cursor:default}.sidebar-pane .file-tree .file-item.active{background:#239dad1a}.sidebar-pane .file-tree .file-item.active .file-icon{color:var(--accent-color)!important}.sidebar-pane .file-tree .file-item.active .file-name{color:var(--text-main)!important}.sidebar-pane .file-tree .file-item .file-icon{color:var(--text-muted);flex-shrink:0}.sidebar-pane .file-tree .file-item .file-name{color:var(--text-muted);transition:color var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.sidebar-pane .file-tree .file-item .file-rename-input{border:1px solid var(--accent-color);color:var(--text-main);background:#0000004d;border-radius:3px;outline:none;width:100%;padding:2px 4px;font-size:13px}.sidebar-pane .file-tree .file-item .file-actions{opacity:0;width:0;transition:width var(--transition-fast), opacity var(--transition-fast), margin-right var(--transition-fast);gap:4px;margin-right:0;display:flex;overflow:hidden}.sidebar-pane .file-tree .file-item .file-actions button{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;align-items:center;padding:2px;display:flex}.sidebar-pane .file-tree .file-item .file-actions button:hover{transform:scale(1.15);color:var(--text-main)!important}.sidebar-pane .file-tree .file-item:hover{background:#ffffff05}.sidebar-pane .file-tree .file-item:hover.active{background:#239dad1f}.sidebar-pane .file-tree .file-item:hover .file-actions{opacity:1;width:56px;margin-right:6px}.sidebar-pane .file-tree .file-sub-tree{border-left:1px solid var(--border-color);flex-direction:column;gap:4px;margin-top:4px;margin-left:16px;padding-left:8px;display:flex}.sidebar-pane .file-tree .cell-link-item{cursor:pointer;color:var(--text-muted);transition:background var(--transition-fast), color var(--transition-fast);border-radius:3px;align-items:center;gap:6px;padding:4px 6px;font-size:11px;display:flex}.sidebar-pane .file-tree .cell-link-item:hover{color:var(--text-main);background-color:#ffffff08}.sidebar-pane .file-tree .cell-link-item.active{color:var(--accent-color);background-color:#239dad14}.sidebar-pane .file-tree .cell-link-item.active .cell-bullet{background-color:var(--accent-color)}.sidebar-pane .file-tree .cell-link-item .cell-bullet{background-color:var(--text-muted);width:4px;height:4px;transition:background-color var(--transition-fast);border-radius:50%;flex-shrink:0}.sidebar-pane .file-tree .cell-link-item .cell-link-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-pane .outline-list{flex-direction:column;gap:4px;display:flex}.sidebar-pane .outline-list .outline-item{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:6px 12px;font-size:12px;overflow:hidden}.sidebar-pane .outline-list .outline-item:hover{color:var(--text-main);background-color:#ffffff0d}.sidebar-pane .outline-list .outline-item.level-1{color:var(--text-main);font-weight:600}.sidebar-pane .outline-list .outline-item.level-2{padding-left:20px}.sidebar-pane .outline-list .outline-item.level-3{padding-left:32px;font-size:11px}.sidebar-pane .pane-empty-state{color:var(--text-muted);text-align:center;padding:24px 8px;font-size:11px;line-height:1.5}.sidebar-pane .pane-empty-state code{background-color:#ffffff0d;border-radius:3px;padding:1px 4px}.sidebar-pane .compiler-pane-status{flex-direction:column;gap:12px;display:flex}.sidebar-pane .compiler-pane-status .status-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.sidebar-pane .compiler-pane-status .status-row.clickable{cursor:pointer;border:1px solid var(--border-color);transition:var(--transition-fast);background-color:#ffffff03;border-radius:6px;padding:8px}.sidebar-pane .compiler-pane-status .status-row.clickable:hover{background-color:#ffffff08;border-color:#3b3d42}.sidebar-pane .compiler-pane-status .status-label{color:var(--text-muted)}.sidebar-pane .compiler-pane-status .status-value{font-weight:600}.sidebar-pane .compiler-pane-status .status-value.success{color:var(--success-color)}.sidebar-pane .compiler-pane-status .status-value.loading{color:var(--text-muted)}.sidebar-pane .compiler-pane-status .connection-text{align-items:center;gap:4px;font-weight:500;display:flex}.sidebar-pane .compiler-pane-status .connection-text.success{color:var(--success-color)}.sidebar-pane .compiler-pane-status .connection-text.offline{color:var(--warning-color)}.sidebar-pane .compiler-pane-status .status-error-pane{border:1px solid var(--danger-color);color:var(--danger-color);background-color:#f43f5e14;border-radius:6px;align-items:center;gap:6px;padding:8px;font-size:11px;display:flex}.sidebar-pane .compiler-pane-status .divider{background-color:var(--border-color);height:1px}.sidebar-pane .settings-list{flex-direction:column;gap:12px;display:flex}.sidebar-pane .settings-list .setting-item{font-size:12px}.sidebar-pane .settings-list .checkbox-label{cursor:pointer;color:var(--text-muted);transition:var(--transition-fast);align-items:center;gap:8px;display:flex}.sidebar-pane .settings-list .checkbox-label:hover{color:var(--text-main)}.sidebar-pane .settings-list .checkbox-label input[type=checkbox]{accent-color:var(--accent-color)}.files-tab-container{position:relative}.files-tab-container.dragging{background:#239dad0d!important}.drag-drop-overlay{z-index:1000;pointer-events:none;animation:fadeIn var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;border:2px dashed var(--accent-color)!important;background:#18191be6!important;border-radius:6px!important}.drag-drop-overlay .overlay-content{color:var(--accent-color);flex-direction:column;align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.drag-drop-overlay .overlay-content svg{animation:1.5s infinite pulse}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}to{opacity:.8;transform:scale(1)}}.editor-workspace{background-color:var(--bg-primary);flex-direction:column;height:100%;display:flex;overflow:hidden}.workspace-body{flex:1;padding:16px 20px 100px;overflow-y:auto}.cell-list{max-width:850px;margin:0 auto}.cell-container{transition:background-color var(--transition-fast), border-color var(--transition-fast);background-color:#ffffff04;border:1px solid #ffffff17;border-radius:6px;margin:12px 0;padding:12px 16px 12px 18px;position:relative}.cell-container.focused{border-color:#239dadbf;border-left:3px solid var(--accent-color);background-color:#ffffff08;padding:12px 16px}.cell-container:hover .cell-toolbar,.cell-container.focused .cell-toolbar{opacity:1}.cell-toolbar{opacity:0;z-index:10;background-color:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:opacity var(--transition-fast);border-radius:4px;gap:4px;padding:2px;display:flex;position:absolute;top:-8px;right:16px}.toolbar-right-group{gap:2px;display:flex}.toolbar-btn{color:var(--text-muted);cursor:pointer;width:24px;height:24px;transition:var(--transition-fast);background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;display:inline-flex}.toolbar-btn:hover{color:var(--text-main);background-color:#ffffff0d}.toolbar-btn.delete:hover{color:var(--danger-color);background-color:#f43f5e1a}.cell-body{padding:4px 0}.code-cell{width:100%}.cell-lang-tag{font-family:var(--font-mono), monospace;color:var(--text-muted);text-transform:uppercase;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);margin-bottom:6px;font-size:10px;font-weight:600}.cell-container.focused .cell-lang-tag{color:var(--accent-color)}.cell-title-input{color:var(--text-main);font-family:var(--font-sans), sans-serif;transition:background-color var(--transition-fast), border-bottom-color var(--transition-fast);background:0 0;border:none;border-bottom:1px solid #0000;border-radius:3px;outline:none;max-width:250px;padding:1px 4px;font-size:11px;font-weight:600}.cell-title-input:hover{background-color:#ffffff0a}.cell-title-input:focus{border-bottom-color:var(--accent-color);background-color:#0003}.code-editor-textarea{color:#f8f8f2;width:100%;min-height:48px;font-family:var(--font-mono), serif;resize:none;transition:var(--transition-fast);caret-color:var(--accent-color);background:0 0;border:none;border-radius:0;outline:none;padding:4px 0;font-size:13.5px;line-height:1.6;overflow-y:hidden}.cell-divider{z-index:5;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.cell-divider:hover .divider-line{background-color:#313338}.cell-divider:hover .divider-buttons{opacity:1;transform:scale(1)}.divider-line{width:100%;height:1px;transition:background-color var(--transition-fast);background-color:#0000;position:absolute}.divider-buttons{opacity:0;z-index:10;transition:opacity var(--transition-fast), transform var(--transition-fast);gap:12px;display:flex;transform:scale(.9)}.divider-btn{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-sm);transition:var(--transition-fast);background-color:#2b2d31;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:10px;font-weight:600;display:flex}.divider-btn:hover{color:var(--text-main);border-color:var(--accent-color);background-color:#35373c}.empty-state{text-align:center;background-color:var(--bg-secondary);border:1.5px dashed var(--border-color);border-radius:8px;margin:30px 0;padding:48px 32px}.empty-state p{color:var(--text-muted);margin-bottom:16px;font-size:13px}.empty-state-buttons{justify-content:center;display:flex}.binary-preview-container{height:100%;color:var(--text-muted);background-color:var(--bg-secondary);box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex}.binary-preview-container img{object-fit:contain;max-width:80%;max-height:60%;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);border-radius:4px}.binary-preview-container .binary-meta{text-align:center}.binary-preview-container .binary-meta h3{color:var(--text-main);margin-bottom:4px}.binary-preview-container .binary-meta p{font-size:12px}.preview-panel{border-left:1px solid var(--border-color);background-color:#0f1011;flex-direction:column;height:100%;display:flex;overflow:hidden}.preview-container{background-color:#0f1011;flex:1;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;overflow-y:auto}.preview-loader{color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;margin-top:120px;font-size:13px;display:flex}.spinner{color:var(--accent-color);width:24px;height:24px;animation:1.2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.preview-document-page{color:#1a1a1a;background-color:#fff;border-radius:2px;flex-direction:column;width:100%;max-width:580px;min-height:800px;margin:0 auto 40px;padding:50px 48px;display:flex;position:relative;box-shadow:0 10px 30px #0006}.preview-output-wrapper{width:100%;max-width:700px;position:relative}.svg-render-container{box-sizing:border-box;background:#fff;border:1px solid #00000014;border-radius:2px;width:100%;margin:0 auto 30px;display:block;overflow:hidden;box-shadow:0 10px 30px #0006}.svg-render-container:last-of-type{margin-bottom:0}.svg-render-container svg{background:#fff;display:block;width:100%!important;height:100%!important;overflow:visible!important}.svg-render-container .preview-placeholder{color:#666;text-align:center;background:#fff;border:1px solid #00000014;border-radius:2px;width:100%;max-width:580px;padding:24px;box-shadow:0 8px 24px #0000004d}.compiling-toast{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-muted);box-shadow:var(--shadow-sm);z-index:100;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;display:flex;position:absolute;top:-36px;right:0}.spinner-small{color:var(--accent-color);width:12px;height:12px;animation:1s linear infinite spin}.preview-error-box,.compiler-error-box{border:1px solid var(--danger-color);background-color:#f43f5e0d;border-radius:6px;width:100%;max-width:580px;margin-top:20px;padding:16px}.preview-error-box h3,.compiler-error-box h4{color:var(--danger-color);margin-bottom:6px;font-size:13px;font-weight:600}.error-header{color:var(--danger-color);align-items:center;gap:8px;margin-bottom:10px;display:flex}.error-message{font-family:var(--font-mono), serif;color:#fda4af;white-space:pre-wrap;background-color:#0006;border-radius:4px;padding:10px;font-size:12px;line-height:1.5;overflow-x:auto}.error-icon{color:var(--danger-color);width:28px;height:28px;margin-bottom:8px}.cm-editor .cm-scroller{font-family:var(--font-mono), monospace!important}.cm-editor.cm-focused{outline:none!important}.cm-tooltip-autocomplete{font-family:var(--font-sans), sans-serif!important;background-color:#18191b!important;border:1px solid #ffffff14!important;border-radius:6px!important;max-height:280px!important;padding:4px!important;overflow-y:auto!important;box-shadow:0 12px 32px #00000080!important}.cm-tooltip-autocomplete .cm-completionList{font-family:var(--font-mono), monospace!important;margin:0!important;padding:0!important;font-size:12.5px!important}.cm-tooltip-autocomplete .cm-completionList li{color:var(--text-main)!important;transition:background-color var(--transition-fast)!important;border-radius:4px!important;align-items:center!important;gap:8px!important;margin-bottom:1px!important;padding:6px 10px!important;display:flex!important}.cm-tooltip-autocomplete .cm-completionList li:hover{background-color:#ffffff0a!important}.cm-tooltip-autocomplete .cm-completionList li[aria-selected=true]{color:#fff!important;background-color:#007acc!important;flex-direction:row!important;align-items:flex-start!important}.cm-tooltip-autocomplete .cm-completionList li[aria-selected=true] .cm-completion-desc-row{display:block!important}.cm-tooltip-autocomplete .cm-completionList li[aria-selected=true] .cm-completionDetail{color:#ffffffbf!important}.cm-tooltip-autocomplete .cm-completionList li[aria-selected=true] .cm-completionMatchedText{color:#fff!important}.cm-tooltip-autocomplete .cm-completion-custom-item{flex-direction:column;width:100%;display:flex}.cm-tooltip-autocomplete .cm-completion-custom-item .cm-completion-title-row{align-items:center;width:100%;display:flex}.cm-tooltip-autocomplete .cm-completion-custom-item .cm-completion-desc-row{color:#ffffffb3;font-size:11px;line-height:1.4;font-family:var(--font-sans), sans-serif;white-space:normal;margin-top:4px;display:none}.cm-tooltip-autocomplete .cm-completionMatchedText{color:var(--accent-color)!important;font-weight:700!important;text-decoration:none!important}.cm-tooltip-autocomplete .cm-completionDetail{font-family:var(--font-sans), sans-serif!important;color:#ffffff59!important;margin-left:auto!important;padding-left:24px!important;font-size:11px!important;font-style:normal!important}.cm-tooltip-autocomplete .cm-completionIcon{opacity:.8!important;justify-content:center!important;align-items:center!important;width:14px!important;height:14px!important;margin-top:2px!important;display:inline-flex!important}.cm-tooltip-autocomplete .cm-completionIcon-keyword{color:#cf8e6d!important}.cm-tooltip-autocomplete .cm-completionIcon-function,.cm-tooltip-autocomplete .cm-completionIcon-type{color:var(--accent-color)!important}.cm-tooltip-autocomplete .cm-completionIcon-method{color:#bca2fe!important}.cm-tooltip-autocomplete .cm-completionIcon-property{color:#bcbec4!important}.cm-completionInfo{font-family:var(--font-sans), sans-serif!important;color:var(--text-main)!important;background-color:#1c1d21!important;border:1px solid #ffffff14!important;border-radius:6px!important;max-width:320px!important;padding:10px 14px!important;font-size:11.5px!important;line-height:1.5!important;box-shadow:0 12px 32px #00000080!important}.word-ribbon{background-color:var(--bg-primary);-webkit-user-select:none;user-select:none;font-family:var(--font-sans), sans-serif;z-index:200;border-bottom:1px solid #ffffff0d;flex-direction:column;display:flex;position:relative}.word-ribbon .ribbon-panel{background:0 0;align-items:center;gap:16px;height:44px;padding:4px 16px;display:flex;position:relative;overflow:visible}.word-ribbon .ribbon-panel::-webkit-scrollbar{height:4px}.word-ribbon .ribbon-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.word-ribbon .ribbon-panel .ribbon-groups{align-items:center;gap:16px;height:100%;display:flex}.word-ribbon .ribbon-panel .ribbon-group{align-items:center;display:flex;position:relative}.word-ribbon .ribbon-panel .ribbon-group .group-content{align-items:center;gap:4px;display:flex}.word-ribbon .ribbon-panel .ribbon-group-separator{background-color:#ffffff0d;width:1px;height:24px}.word-ribbon .ribbon-panel .ribbon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;transition:all .15s;display:flex}.word-ribbon .ribbon-panel .ribbon-btn span:first-child:not(svg){color:#ffffffb3;height:15px;font-size:15px;font-weight:700;line-height:15px;transition:color .15s}.word-ribbon .ribbon-panel .ribbon-btn svg{color:#ffffffb3;transition:color .15s,transform .15s}.word-ribbon .ribbon-panel .ribbon-btn.dropdown-trigger{flex-direction:row;gap:3px;width:44px;min-width:44px;display:flex}.word-ribbon .ribbon-panel .ribbon-btn.dropdown-trigger .chevron-icon{color:#fff6;margin-top:1px}.word-ribbon .ribbon-panel .ribbon-btn:hover{color:var(--text-main);background-color:#ffffff0d}.word-ribbon .ribbon-panel .ribbon-btn:hover svg{color:var(--text-main);transform:translateY(-1px)}.word-ribbon .ribbon-panel .ribbon-btn:hover span:first-child:not(svg){color:var(--text-main)}.word-ribbon .ribbon-panel .ribbon-btn:active,.word-ribbon .ribbon-panel .ribbon-btn.active{color:var(--text-main);background-color:#ffffff14}.word-ribbon .ribbon-panel .ribbon-btn:active span:first-child:not(svg),.word-ribbon .ribbon-panel .ribbon-btn.active span:first-child:not(svg){color:var(--text-main)}.word-ribbon .ribbon-panel .ribbon-dropdown-backdrop{z-index:999;cursor:default;background:0 0;position:fixed;inset:0}.word-ribbon .ribbon-panel .ribbon-dropdown-menu{z-index:1000;background-color:#1a1b1e;border:1px solid #ffffff14;border-radius:6px;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #00000080}.word-ribbon .ribbon-panel .ribbon-dropdown-menu.cols-6{grid-template-columns:repeat(6,1fr);min-width:250px}.word-ribbon .ribbon-panel .ribbon-dropdown-menu.cols-4{grid-template-columns:repeat(4,1fr);min-width:170px}.word-ribbon .ribbon-panel .ribbon-dropdown-menu .dropdown-symbol-item{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.word-ribbon .ribbon-panel .ribbon-dropdown-menu .dropdown-symbol-item .symbol-char{color:var(--accent-color);font-size:15px;font-weight:700;line-height:15px;transition:color .15s,transform .15s}.word-ribbon .ribbon-panel .ribbon-dropdown-menu .dropdown-symbol-item:hover{color:#fff;background-color:#ffffff0d}.word-ribbon .ribbon-panel .ribbon-dropdown-menu .dropdown-symbol-item:hover .symbol-char{transform:scale(1.1)}.word-ribbon .ribbon-panel .table-selector-popup{flex-direction:column;gap:6px;min-width:130px;padding:8px 10px;display:flex!important}.word-ribbon .ribbon-panel .table-selector-popup .table-grid-header{color:var(--text-main);text-align:center;border-bottom:1px solid #ffffff0d;margin-bottom:2px;padding-bottom:4px;font-size:11px;font-weight:600}.word-ribbon .ribbon-panel .table-selector-popup .table-grid-interactive{flex-direction:column;align-items:center;gap:3px;padding-top:2px;display:flex}.word-ribbon .ribbon-panel .table-selector-popup .table-grid-row{gap:3px;display:flex}.word-ribbon .ribbon-panel .table-selector-popup .table-grid-cell{cursor:pointer;background-color:#ffffff05;border:1px solid #ffffff1f;border-radius:2px;width:16px;height:16px;transition:background-color .1s,border-color .1s}.word-ribbon .ribbon-panel .table-selector-popup .table-grid-cell.active{background-color:#00dbde40;border-color:#00dbde;box-shadow:0 0 3px #00dbde33}.word-ribbon .ribbon-panel .ribbon-tip{color:var(--text-muted);background-color:#ffffff05;border:1px solid #ffffff0a;border-radius:6px;align-items:center;gap:6px;max-width:250px;margin-left:auto;padding:6px 12px;font-size:10px;display:flex}.word-ribbon .ribbon-panel .ribbon-tip .tip-icon{color:var(--accent-color);flex-shrink:0}.dashboard-container{color:#e3e4e6;background-color:#1e1f22;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.dashboard-header{z-index:100;background-color:#18191b;border-bottom:1px solid #2a2b2e;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.dashboard-header .dashboard-header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1200px;margin:0 auto;display:flex}.new-project-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#239dad,#00c0d8);border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #239dad40}.new-project-btn:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 4px 12px #239dad66}.new-project-btn:active{transform:translateY(0)}.dashboard-content{flex-direction:column;flex:1;gap:32px;width:100%;max-width:1200px;margin:0 auto;padding:40px 24px;display:flex}.dashboard-welcome{border-bottom:1px solid #2a2b2e80;padding-bottom:24px}.dashboard-welcome h1{letter-spacing:-.02em;color:#e3e4e6;margin:0 0 6px;font-size:2rem;font-weight:700}.dashboard-welcome h1 span{background:linear-gradient(135deg,#239dad,#00c0d8);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.dashboard-welcome p{color:#8e9297;margin:0;font-size:.95rem;font-weight:400;line-height:1.6}.dashboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dashboard-toolbar .search-box{flex:1;min-width:250px;max-width:400px;position:relative}.dashboard-toolbar .search-box .search-icon{color:#8e9297;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dashboard-toolbar .search-box input{color:#e3e4e6;background-color:#18191b;border:1px solid #2a2b2e;border-radius:8px;width:100%;padding:10px 16px 10px 38px;font-size:.875rem;transition:all .2s}.dashboard-toolbar .search-box input:focus{background-color:#1e1f22;border-color:#239dad;outline:none;box-shadow:0 0 0 2px #239dad26}.dashboard-toolbar .search-box .clear-search{color:#8e9297;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.dashboard-toolbar .search-box .clear-search:hover{color:#e3e4e6;background-color:#2b2c2f}.dashboard-toolbar .project-stats{color:#8e9297;background-color:#18191b;border:1px solid #2a2b2e;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-size:.875rem;display:flex}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.project-card{cursor:pointer;background-color:#18191b;border:1px solid #2a2b2e;border-radius:12px;flex-direction:column;justify-content:space-between;min-height:180px;padding:20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:#239dad80;transform:translateY(-4px);box-shadow:0 12px 24px #0000004d,0 0 0 1px #239dad1a}.project-card:hover .project-icon-wrapper{color:#239dad;background-color:#239dad26}.project-card:hover .open-indicator{opacity:1;transform:translate(0)}.project-card .project-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.project-card .project-icon-wrapper{color:#8e9297;background-color:#2b2c2f;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.project-card .project-card-actions{opacity:0;gap:6px;transition:opacity .2s;display:flex}.project-card .project-card-actions .card-action-btn{color:#8e9297;cursor:pointer;background-color:#2b2c2f;border:1px solid #2a2b2e;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.project-card .project-card-actions .card-action-btn:hover{color:#e3e4e6;background-color:#1e1f22;border-color:#8e9297}.project-card .project-card-actions .card-action-btn.delete-btn:hover{color:#f43f5e;background-color:#f43f5e26;border-color:#f43f5e66}.project-card:hover .project-card-actions{opacity:1}.project-card .project-card-body{flex-direction:column;flex:1;justify-content:center;margin-bottom:16px;display:flex}.project-card .project-card-body .project-name{color:#e3e4e6;white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:1.125rem;font-weight:600;overflow:hidden}.project-card .project-card-body .project-desc{color:#8e9297;margin:0;font-size:.825rem}.project-card .project-card-footer{color:#8e9297;border-top:1px solid #2a2b2e80;justify-content:space-between;align-items:center;padding-top:12px;font-size:.75rem;display:flex}.project-card .project-card-footer .project-date{align-items:center;gap:4px;display:flex}.project-card .project-card-footer .open-indicator{color:#239dad;opacity:0;align-items:center;gap:4px;font-weight:500;transition:all .2s;display:flex;transform:translate(-4px)}.project-card.create-card{text-align:center;background-color:#0000;border-style:dashed;border-width:2px;justify-content:center;align-items:center}.project-card.create-card .create-card-content{flex-direction:column;align-items:center;gap:8px;display:flex}.project-card.create-card .plus-circle{color:#239dad;background-color:#239dad1a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .2s;display:flex}.project-card.create-card h3{color:#e3e4e6;margin:8px 0 0;font-size:1rem;font-weight:600}.project-card.create-card p{color:#8e9297;margin:0;font-size:.8rem}.project-card.create-card:hover{background-color:#239dad05;border-color:#239dad}.project-card.create-card:hover .plus-circle{color:#fff;background-color:#239dad;transform:scale(1.1)}.rename-form{gap:8px;width:100%;display:flex}.rename-form .rename-input{color:#e3e4e6;background-color:#1e1f22;border:1px solid #2a2b2e;border-radius:6px;flex:1;padding:6px 10px;font-size:.9rem}.rename-form .rename-input:focus{border-color:#239dad;outline:none}.rename-form .rename-actions{gap:4px;display:flex}.rename-form .rename-actions button{color:#8e9297;cursor:pointer;background-color:#2b2c2f;border:1px solid #2a2b2e;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.rename-form .rename-actions button:hover{color:#e3e4e6;background-color:#1e1f22}.rename-form .rename-actions button:first-child:hover{color:#22c55e;border-color:#22c55e66}.project-card.confirm-delete-state{border-color:#f43f5e66}.delete-overlay{text-align:center;z-index:10;background-color:#18191bf2;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.delete-overlay p{color:#e3e4e6;margin:0 0 12px;font-size:.875rem;font-weight:500}.delete-overlay .overlay-actions{gap:8px;display:flex}.delete-overlay .overlay-actions button{cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:.75rem;font-weight:500}.delete-overlay .overlay-actions .btn-confirm-delete{color:#fff;background-color:#f43f5e}.delete-overlay .overlay-actions .btn-confirm-delete:hover{opacity:.9}.delete-overlay .overlay-actions .btn-cancel{color:#8e9297;background-color:#2b2c2f;border:1px solid #2a2b2e}.delete-overlay .overlay-actions .btn-cancel:hover{color:#e3e4e6;background-color:#1e1f22}.dashboard-empty-state{text-align:center;background-color:#18191b;border:1px solid #2a2b2e;border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:100%;padding:60px 20px;display:flex}.dashboard-empty-state .empty-icon{color:#8e9297;opacity:.5}.dashboard-empty-state h3{color:#e3e4e6;margin:8px 0 0;font-size:1.25rem}.dashboard-empty-state p{color:#8e9297;max-width:320px;margin:0;font-size:.9rem;line-height:1.4}.dashboard-empty-state button{margin-top:8px}.dashboard-empty-state .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#239dad,#00c0d8);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-weight:500;display:inline-flex}.dashboard-empty-state .btn-primary:hover{opacity:.95}.dashboard-empty-state .btn-secondary{color:#e3e4e6;cursor:pointer;background-color:#2b2c2f;border:1px solid #2a2b2e;border-radius:6px;padding:8px 16px}.dashboard-empty-state .btn-secondary:hover{background-color:#1e1f22}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:#18191b;border:1px solid #2a2b2e;border-radius:12px;width:90%;max-width:440px;animation:.25s cubic-bezier(.4,0,.2,1) slideUp;overflow:hidden;box-shadow:0 16px 48px #00000073}.modal-content .modal-header{border-bottom:1px solid #2a2b2e80;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-content .modal-header h2{margin:0;font-size:1.125rem;font-weight:600}.modal-content .modal-header .close-modal{color:#8e9297;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.modal-content .modal-header .close-modal:hover{color:#e3e4e6;background-color:#2b2c2f}.modal-content .modal-body{padding:20px}.modal-content .modal-body label{color:#8e9297;margin-bottom:8px;font-size:.8rem;font-weight:500;display:block}.modal-content .modal-body input{color:#e3e4e6;background-color:#1e1f22;border:1px solid #2a2b2e;border-radius:6px;width:100%;padding:10px 12px;font-size:.9rem}.modal-content .modal-body input:focus{border-color:#239dad;outline:none;box-shadow:0 0 0 2px #239dad1a}.modal-content .modal-footer{background-color:#1e1f2266;border-top:1px solid #2a2b2e4d;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.modal-content .modal-footer button{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500}.modal-content .modal-footer .btn-cancel{color:#8e9297;background-color:#0000;border:1px solid #2a2b2e}.modal-content .modal-footer .btn-cancel:hover{color:#e3e4e6;background-color:#2b2c2f}.modal-content .modal-footer .btn-submit-primary{color:#fff;background:linear-gradient(135deg,#239dad,#00c0d8);border:none}.modal-content .modal-footer .btn-submit-primary:hover{opacity:.95}.back-to-dashboard-btn{color:#8e9297;cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s;display:inline-flex}.back-to-dashboard-btn:hover{color:#e3e4e6;background-color:#2b2c2f}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-container{background-color:var(--bg-secondary);background-image:radial-gradient(circle at 10% 20%,#239dad0d 0%,#0000 40%),radial-gradient(circle at 90% 80%,#00c0d808 0%,#0000 40%);justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:24px;display:flex;overflow:auto}.auth-card-wrapper{background-color:var(--bg-primary);border:1px solid var(--border-color);width:100%;max-width:860px;min-height:520px;box-shadow:var(--shadow-lg);border-radius:16px;animation:.5s cubic-bezier(.16,1,.3,1) forwards authFadeIn;display:flex;overflow:hidden}@media (width<=768px){.auth-card-wrapper{flex-direction:column;max-width:440px}}.auth-banner{border-right:1px solid var(--border-color);background:linear-gradient(135deg,#239dad26 0%,#00c0d805 100%);flex-direction:column;flex:1;justify-content:space-between;padding:40px;display:flex;position:relative}.auth-banner:before{content:"";background-image:radial-gradient(var(--border-color) 1px, transparent 1px);opacity:.3;pointer-events:none;background-size:16px 16px;position:absolute;inset:0}@media (width<=768px){.auth-banner{border-right:none;border-bottom:1px solid var(--border-color);padding:32px 32px 24px}}.auth-logo{letter-spacing:-.5px;-webkit-user-select:none;user-select:none;z-index:1;font-family:Georgia,Buenard,serif;font-size:24px}.auth-logo .logo-typst{color:var(--accent-color);font-weight:700}.auth-logo .logo-lab{color:var(--text-main);font-weight:500}.auth-banner-illustration{z-index:1;flex-direction:column;gap:16px;margin:40px 0;display:flex}.auth-banner-illustration .equation-badge{background-color:var(--bg-tertiary);border:1px solid var(--border-color);font-family:var(--font-mono), serif;color:var(--accent-color);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:8px;align-self:flex-start;padding:10px 16px;font-size:13px;transform:rotate(-1deg)}.auth-banner-illustration .equation-badge:hover{transform:rotate(0)scale(1.02)}.auth-banner-illustration .equation-badge.secondary{color:var(--text-main);align-self:flex-end;transform:rotate(2deg)}.auth-banner-illustration .equation-badge.secondary:hover{transform:rotate(0)scale(1.02)}.auth-banner-text{color:var(--text-muted);z-index:1;font-size:14px;line-height:1.6}.auth-form-side{flex-direction:column;flex:1.2;justify-content:center;padding:40px;display:flex}@media (width<=768px){.auth-form-side{padding:32px}}.auth-header{margin-bottom:28px}.auth-header h2{color:var(--text-main);margin-bottom:6px;font-size:22px;font-weight:600}.auth-header p{color:var(--text-muted);font-size:13px}.auth-error-alert{color:var(--danger-color);background-color:#f43f5e1a;border:1px solid #f43f5e33;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:13px;display:flex}.auth-form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-wrapper .input-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);position:absolute;left:14px}.input-wrapper input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;font-family:var(--font-sans), serif;color:var(--text-main);transition:all var(--transition-fast);border-radius:8px;padding:12px 14px 12px 42px;font-size:14px}.input-wrapper input::placeholder{color:#e3e4e640}.input-wrapper input:focus{border-color:var(--accent-color);background-color:#2b2c2f80;outline:none;box-shadow:0 0 0 3px #239dad26}.input-wrapper input:focus+.input-icon{color:var(--accent-color)}.input-wrapper input:disabled{opacity:.6;cursor:not-allowed}.input-wrapper .password-toggle{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:12px}.input-wrapper .password-toggle:hover{color:var(--text-main)}.input-wrapper .password-toggle:focus{outline:none}.auth-submit-btn{background:var(--accent-gradient);color:var(--text-dark);font-family:var(--font-sans), serif;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:12px;font-size:14px;font-weight:600;display:flex}.auth-submit-btn:hover:not(:disabled){opacity:.95;transform:translateY(-1px);box-shadow:0 4px 12px #239dad4d}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:24px;font-size:13px;display:flex}.auth-footer .auth-link-btn{color:var(--accent-color);cursor:pointer;font-weight:500;font-family:var(--font-sans), serif;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.auth-footer .auth-link-btn:hover{color:var(--accent-hover);text-decoration:underline}.auth-footer .auth-link-btn:focus{outline:none}@keyframes authFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-shake{animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.user-profile-widget{align-items:center;gap:10px;display:flex}.user-profile-widget .user-avatar{background:var(--accent-gradient);width:30px;height:30px;color:var(--text-dark);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-profile-widget .user-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:13px;font-weight:500;overflow:hidden}@media (width<=480px){.user-profile-widget .user-name{display:none}}.user-profile-widget .logout-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:flex}.user-profile-widget .logout-btn:hover{color:var(--danger-color);background-color:#f43f5e1a}.user-profile-widget .logout-btn:focus{outline:none}.user-profile-widget.header-user-widget{border-left:1px solid var(--border-color);gap:8px;margin-left:6px;padding-left:14px}.welcome-content-wrapper{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;width:100%;display:flex}.welcome-content-wrapper .welcome-text{flex:1;min-width:280px}.dashboard-user-card{background-color:var(--bg-tertiary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:12px;align-self:center;align-items:center;gap:12px;max-width:100%;padding:10px 16px;display:flex}@media (width<=768px){.dashboard-user-card{align-self:flex-start;width:100%;margin-top:8px}}.dashboard-user-card .user-card-avatar{background:var(--accent-gradient);width:36px;height:36px;color:var(--text-dark);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;box-shadow:0 2px 6px #239dad33}.dashboard-user-card .user-card-details{flex-direction:column;min-width:100px;display:flex}.dashboard-user-card .user-card-details .user-card-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:13.5px;font-weight:600;overflow:hidden}.dashboard-user-card .user-card-details .user-card-username{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:11.5px;overflow:hidden}.dashboard-user-card .btn-switch-user{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-sans), serif;cursor:pointer;transition:all var(--transition-fast);background-color:#ffffff08;border-radius:8px;flex-shrink:0;align-items:center;gap:8px;margin-left:8px;padding:8px 12px;font-size:12px;font-weight:500;display:flex}.dashboard-user-card .btn-switch-user:hover{color:var(--danger-color);background-color:#f43f5e1a;border-color:#f43f5e33}.dashboard-user-card .btn-switch-user:focus{outline:none}
