.toast-container[data-v-cc2fd894]{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:10000;display:flex;flex-direction:column;gap:var(--spacing-xs);pointer-events:none;max-width:400px}.toast[data-v-cc2fd894]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:var(--border-width) solid var(--color-border);color:var(--color-text);font-size:var(--font-size-normal);cursor:pointer;pointer-events:all;transition:all var(--transition-fast)}.toast-success[data-v-cc2fd894]{border-left:4px solid var(--theme-success)}.toast-error[data-v-cc2fd894]{border-left:4px solid var(--theme-error)}.toast-warning[data-v-cc2fd894]{border-left:4px solid var(--theme-warning)}.toast-info[data-v-cc2fd894]{border-left:4px solid var(--color-border)}.toast-icon[data-v-cc2fd894]{font-size:var(--font-size-normal);flex-shrink:0}.toast-success .toast-icon[data-v-cc2fd894]{color:var(--theme-success)}.toast-error .toast-icon[data-v-cc2fd894]{color:var(--theme-error)}.toast-warning .toast-icon[data-v-cc2fd894]{color:var(--theme-warning)}.toast-info .toast-icon[data-v-cc2fd894]{color:var(--color-text)}.toast-message[data-v-cc2fd894]{flex:1;word-wrap:break-word}.toast-close[data-v-cc2fd894]{background:transparent;border:none;color:var(--color-text);cursor:pointer;padding:0;display:flex;align-items:center;opacity:.6;transition:opacity var(--transition-fast);flex-shrink:0}.toast-close[data-v-cc2fd894]:hover{opacity:1}.toast-close .material-icons[data-v-cc2fd894]{font-size:var(--font-size-small)}.toast-enter-active[data-v-cc2fd894]{transition:all .3s ease-out}.toast-leave-active[data-v-cc2fd894]{transition:all .2s ease-in}.toast-enter-from[data-v-cc2fd894],.toast-leave-to[data-v-cc2fd894]{opacity:0;transform:translate(100%)}.toast-move[data-v-cc2fd894]{transition:transform .3s ease}.app[data-v-2806d6e2]{height:100vh;width:100vw;margin:0;padding:0;display:flex;flex-direction:column;background:var(--color-background);color:var(--color-text);overflow:hidden}.app>*{flex:1;min-height:0;overflow:visible;display:flex;flex-direction:column}:root,:root[data-theme=light]{--theme-background: #ffffff;--theme-text: #000000;--theme-text-muted: #666666;--theme-border: #000000;--theme-border-subtle: #cccccc;--theme-surface: var(--theme-background);--theme-panel-background: var(--theme-background);--theme-panel-border: var(--theme-border);--theme-editor-background: var(--theme-background);--theme-editor-foreground: var(--theme-text);--theme-overlay: rgba(0, 0, 0, .5);--theme-accent: var(--theme-text);--theme-button-bg: var(--theme-background);--theme-button-text: var(--theme-text);--theme-button-bg-hover: var(--theme-border-subtle);--theme-button-disabled-bg: var(--theme-background);--theme-button-disabled-text: var(--theme-text-muted);--theme-error: #cc0000;--theme-warning: #cc8800;--theme-success: #008800;--theme-highlight-document: rgba(0, 102, 204, .15);--theme-highlight-citation: rgba(123, 31, 162, .15);--theme-highlight-add: rgba(0, 136, 0, .15);--theme-highlight-replace: rgba(204, 136, 0, .15);--theme-highlight-llm-add: rgba(0, 136, 0, .2);--theme-highlight-llm-transform: rgba(204, 136, 0, .2);--theme-highlight-llm-delete: rgba(136, 0, 0, .2);--theme-highlight-synctex: rgba(66, 153, 225, .3);--theme-color-add-solid: #008800;--theme-color-replace-solid: #cc8800}:root[data-theme=dark]{--theme-background: #1a1a1a;--theme-text: #ffffff;--theme-text-muted: #999999;--theme-border: #ffffff;--theme-border-subtle: #666666;--theme-surface: var(--theme-background);--theme-panel-background: var(--theme-background);--theme-panel-border: var(--theme-border);--theme-editor-background: var(--theme-background);--theme-editor-foreground: var(--theme-text);--theme-overlay: rgba(0, 0, 0, .7);--theme-accent: var(--theme-text);--theme-button-bg: var(--theme-background);--theme-button-text: var(--theme-text);--theme-button-bg-hover: var(--theme-border-subtle);--theme-button-disabled-bg: var(--theme-background);--theme-button-disabled-text: var(--theme-text-muted);--theme-error: #ff4444;--theme-warning: #ffaa00;--theme-success: #44ff44;--theme-highlight-document: rgba(79, 195, 247, .2);--theme-highlight-citation: rgba(186, 104, 200, .2);--theme-highlight-add: rgba(68, 255, 68, .2);--theme-highlight-replace: rgba(255, 170, 0, .2);--theme-highlight-llm-add: rgba(68, 255, 68, .25);--theme-highlight-llm-transform: rgba(255, 170, 0, .25);--theme-highlight-llm-delete: rgba(255, 68, 68, .25);--theme-highlight-synctex: rgba(66, 153, 225, .25);--theme-color-add-solid: #44ff44;--theme-color-replace-solid: #ffaa00;--color-text-secondary: var(--color-text-muted);--color-error: var(--theme-error);--color-error-border: var(--color-error);--color-error-bg: rgba(255, 68, 68, .1);--color-error-bg-light: rgba(255, 68, 68, .05);--color-background-alt: var(--color-background);--color-accent: var(--theme-accent);--color-success: var(--theme-success);--color-success-bg: rgba(68, 255, 68, .1)}:root{--color-background: var(--theme-background);--color-surface: var(--theme-background);--color-text: var(--theme-text);--color-text-muted: var(--theme-text-muted);--color-border: var(--theme-border);--color-border-subtle: var(--theme-border-subtle);--focus-accent: var(--theme-accent);--button-bg: var(--theme-button-bg);--button-text: var(--theme-button-text);--button-bg-hover: var(--theme-button-bg-hover);--button-disabled-bg: var(--theme-button-disabled-bg);--button-disabled-text: var(--theme-button-disabled-text);--color-highlight-document: var(--theme-highlight-document);--color-highlight-citation: var(--theme-highlight-citation);--color-highlight-add: var(--theme-highlight-add);--color-highlight-replace: var(--theme-highlight-replace);--color-highlight-llm-add: var(--theme-highlight-llm-add);--color-highlight-llm-transform: var(--theme-highlight-llm-transform);--color-highlight-llm-delete: var(--theme-highlight-llm-delete);--color-add-solid: var(--theme-color-add-solid);--color-replace-solid: var(--theme-color-replace-solid);--color-text-secondary: var(--color-text-muted);--color-error: var(--theme-error);--color-error-border: var(--color-error);--color-error-bg: rgba(220, 53, 69, .1);--color-error-bg-light: rgba(220, 53, 69, .05);--color-background-alt: var(--color-background);--color-accent: var(--theme-accent);--color-success: var(--theme-success);--color-success-bg: rgba(0, 136, 0, .1);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 2.5rem;--spacing-xxl: 3rem;--divider-width: var(--border-width);--border-width: 2px;--focus-outline: none;--border-radius: 0px;--border-radius-small: 2px;--border-radius-sm: 4px;--font-size-base: 14px;--font-size-editor: 14px;--font-size-small: .75rem;--font-size-small-medium: .8125rem;--font-size-normal: .875rem;--font-size-medium: 1rem;--font-size-large: 1.125rem;--font-size-larger: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--heading-margin-top: var(--spacing-md);--heading-margin-bottom: var(--spacing-xs);--h1-margin-top: 0;--h1-margin-bottom: var(--spacing-xs);--transition-fast: .15s ease;--transition-normal: .2s ease;--text-transform-uppercase: uppercase;--letter-spacing-wide: .08em;--font-family-mono: "Courier New", monospace;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1)}html{margin:0;padding:0;height:100%;width:100%;overflow:visible;background:var(--color-background, #ffffff)}*{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--color-border-subtle) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:2px;transition:background var(--transition-fast)}*::-webkit-scrollbar-thumb:hover{background:var(--color-border)}*{-ms-overflow-style:-ms-autohiding-scrollbar}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);height:100vh;width:100vw;margin:0;padding:0;overflow:hidden;background:var(--color-background);color:var(--color-text)}#app{height:100vh;width:100vw;margin:0;padding:0;display:flex;flex-direction:column;background:var(--color-background);overflow:hidden}.working-pulse{animation:working-pulse 1.5s ease-in-out infinite}@keyframes working-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.btn-primary,.save-modal-btn,.close-modal-btn,.save-btn,.restore-default-btn{padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:0;font-size:var(--font-size-small);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs);background:var(--button-bg);color:var(--button-text);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide);transition:background var(--transition-normal)}.btn-primary:hover:not(:disabled),.save-modal-btn:hover:not(:disabled),.close-modal-btn:hover:not(:disabled),.save-btn:hover:not(:disabled),.restore-default-btn:hover:not(:disabled){background:var(--button-bg-hover)}.btn-primary:disabled,.save-modal-btn:disabled,.close-modal-btn:disabled,.save-btn:disabled,.restore-default-btn:disabled{background:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.close-btn{background:var(--color-background);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-large);cursor:pointer;color:var(--color-text);line-height:1;width:calc(var(--spacing-md) + var(--spacing-xs));height:calc(var(--spacing-md) + var(--spacing-xs));display:flex;align-items:center;justify-content:center;transition:background var(--transition-normal)}.close-btn:hover{background:var(--button-bg-hover)}.delete-btn,.delete-modal-btn{padding:var(--spacing-sm) var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-small);cursor:pointer;font-weight:600;display:flex;align-items:center;gap:var(--spacing-xs);background:var(--button-bg);color:var(--button-text);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide);transition:background var(--transition-normal)}.delete-btn:hover:not(:disabled),.delete-modal-btn:hover:not(:disabled){background:var(--button-bg-hover)}.delete-btn:disabled,.delete-modal-btn:disabled{background:var(--button-disabled-bg);color:var(--button-disabled-text);cursor:not-allowed;opacity:.7}.input{width:100%;padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border);font-size:var(--font-size-normal);box-sizing:border-box;background:var(--color-background);color:var(--color-text)}.input:focus{outline:none;border:var(--border-width) solid var(--color-border);background:var(--button-bg-hover)}.input:disabled{opacity:.6;cursor:not-allowed}textarea.input{resize:vertical;font-family:inherit}.input-label{display:block;font-weight:600;color:var(--color-text);margin-bottom:.5rem;font-size:var(--font-size-small-medium);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.modal-overlay{position:fixed;inset:0;background:var(--theme-overlay);display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background:var(--color-background);color:var(--color-text);border-radius:0;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;border:var(--border-width) solid var(--color-border);overflow:hidden}.modal-header{padding:var(--spacing-md);border-bottom:var(--divider-width) solid var(--color-border);display:flex;justify-content:space-between;align-items:center;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.modal-header h2{margin:0;font-size:var(--font-size-large);font-weight:600}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.modal-footer{padding:var(--spacing-sm) var(--spacing-md);border-top:var(--divider-width) solid var(--color-border);display:flex;gap:var(--spacing-sm);justify-content:flex-end;background:var(--color-background)}.modal-text{margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.modal-textarea{min-height:calc(var(--font-size-base) * 25);font-family:monospace;resize:vertical}.modal-footer-spacer{flex:1}.add-file-options{display:flex;margin-bottom:var(--spacing-md);border:var(--border-width) solid var(--color-border);background:var(--color-background)}.add-file-option-btn{flex:1;padding:var(--spacing-sm);border:none;background:var(--color-background);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-small);text-transform:var(--text-transform-uppercase);transition:background var(--transition-fast);border-right:var(--border-width) solid var(--color-border)}.add-file-option-btn:last-child{border-right:none}.add-file-option-btn:hover{background:var(--button-bg-hover)}.add-file-option-btn.active{background:var(--color-text);color:var(--color-background)}.add-file-option-btn .material-icons{font-size:var(--font-size-normal)}.upload-area{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.upload-btn{padding:var(--spacing-md);border:var(--border-width) solid var(--color-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-normal);transition:background var(--transition-fast);width:100%;justify-content:center}.upload-btn:hover{background:var(--button-bg-hover)}.upload-btn .material-icons{font-size:var(--font-size-large)}.selected-file{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border:var(--border-width) solid var(--color-border);width:100%;font-size:var(--font-size-small);color:var(--color-text)}.selected-file .material-icons{font-size:var(--font-size-normal);flex-shrink:0}.file-size{margin-left:auto;color:var(--color-text-muted)}.add-file-form{margin-top:var(--spacing-md)}.extracting-status{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);color:var(--color-text);font-size:var(--font-size-small);width:100%;justify-content:center}.extracting-status .material-icons{font-size:var(--font-size-normal);animation:spin 1s linear infinite}.menu-item-wrapper,.menu{position:relative;height:100%}.menu-bar-item,.menu-button{padding:0 .75rem;background:transparent;border-right:none;border-bottom:none;border-top:none;border-left:none;color:var(--color-text);cursor:pointer;font-size:var(--font-size-small-medium);font-weight:400;height:100%;display:flex;align-items:center;transition:background var(--transition-fast);box-sizing:border-box}.menu-bar-item:hover,.menu-button:hover{background:var(--button-bg-hover)}.menu-dropdown{position:absolute;top:100%;left:0;background:var(--color-background);border:var(--border-width) solid var(--color-border);min-width:220px;z-index:1001}.menu-dropdown-right{left:auto;right:0}.menu-dropdown-item{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background);border:none;border-bottom:none;color:var(--color-text);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-small-medium);text-align:left;transition:background var(--transition-fast);white-space:nowrap}.menu-dropdown-item:last-child{border-bottom:none}.menu-dropdown-item:disabled{cursor:not-allowed}.menu-dropdown-item-disabled{cursor:default}.menu-refresh-button{margin-left:auto;padding:calc(var(--spacing-xs) / 4) calc(var(--spacing-xs) / 2);background:transparent;border:none;border-radius:var(--border-radius-small);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);opacity:.7}.menu-refresh-button:hover{background:var(--button-bg-hover);color:var(--color-text);opacity:1}.menu-refresh-button:active{transform:scale(.95)}.menu-dropdown-item .material-icons{font-size:var(--font-size-larger);width:1.25rem;display:flex;align-items:center;justify-content:center}.menu-separator{height:var(--divider-width);background:var(--color-border);margin:calc(var(--spacing-xs) / 2) 0}.menu-shortcut{margin-left:auto;color:var(--color-text-muted)}.menu-dropdown-item-nested{padding-left:2rem}.menu-dropdown-item-active{background:var(--button-bg-hover);font-weight:600}.menu-theme-indicator{width:1rem;height:1rem;border-radius:2px;border:var(--border-width) solid var(--color-border);flex-shrink:0}.menu-check-icon{margin-left:auto;color:var(--theme-accent)}.menu-submenu-wrapper{position:relative}.menu-submenu-trigger{cursor:pointer}.menu-submenu-trigger:hover{background:var(--button-bg-hover)}.menu-submenu-arrow{margin-left:auto;font-size:var(--font-size-medium);width:auto}.menu-dropdown-nested{position:absolute;top:0;left:100%;margin-left:.25rem;z-index:1002;max-height:400px;overflow-y:auto;overflow-x:hidden}.model-dropdown .menu-dropdown{width:300px!important;min-width:300px!important;max-width:300px!important}.model-dropdown-item{align-items:flex-start;white-space:normal}.model-dropdown-item-content{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0;text-align:left}.model-dropdown-item-label{display:flex;align-items:center;gap:.375rem;font-size:var(--font-size-normal);line-height:1.4}.model-dropdown-rapid-icon{font-size:var(--font-size-normal);color:var(--theme-accent);flex-shrink:0}.model-dropdown-premium-badge,.model-dropdown-token-badge{font-size:var(--font-size-small);color:var(--color-text-muted);font-weight:400;margin-left:.25rem}.model-dropdown-pricing{font-size:var(--font-size-small);color:var(--color-text-secondary);font-weight:500;margin-left:.5rem;font-family:var(--font-family-mono)}.model-dropdown-item-description{font-size:var(--font-size-small);color:var(--color-text-muted);line-height:1.3}.model-dropdown-item .menu-check-icon{margin-left:auto;flex-shrink:0;align-self:flex-start;margin-top:.125rem}.projects-header-bar,.editor-menu-bar{background-color:var(--button-bg-hover)}.editor-menu-bar{-webkit-user-select:none;user-select:none;position:relative;z-index:100}.projects-toolbar,.editor-menu-bar-content{display:flex;align-items:center}.projects-toolbar{height:2rem}.editor-menu-bar-content{height:calc(var(--font-size-base) * 2)}.projects-toolbar-spacer,.editor-menu-spacer{flex:1}.toolbar-logo,.projects-toolbar-logo,.editor-menu-bar-logo{display:flex;align-items:center;font-weight:600;font-size:var(--font-size-normal);padding:var(--spacing-xs);height:100%;justify-content:center;overflow:hidden}.latex-logo-text{position:relative;display:inline-block;color:var(--theme-text);font-size:var(--font-size-normal)}.latex-logo-icon{font-family:Times New Roman,Computer Modern,serif;position:relative;text-transform:none!important}.math-function-f{font-family:Times New Roman,Computer Modern,serif;font-style:italic;font-weight:600;font-size:var(--font-size-xl);position:relative;transform:translateY(-.04em);display:inline-block}.projects-logo-icon{background:var(--theme-accent);color:var(--theme-background);padding:var(--spacing-xs);line-height:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-small)}.editor-logo-icon{background:var(--theme-text);color:var(--theme-background);padding:var(--spacing-xs);font-weight:700;font-size:var(--font-size-small);line-height:2;display:flex;align-items:center;justify-content:center}.latex-editor-container{height:100%;display:flex;flex-direction:column;position:relative;overflow:visible}.latex-editor-wrapper{flex:1;min-height:0;overflow:hidden;position:relative}.latex-editor-wrapper.hidden{display:none}.loading-overlay{position:absolute;inset:0;background-color:var(--color-background);z-index:10;display:flex;align-items:center;justify-content:center}.latex-editor-wrapper :global(.monaco-hover){max-width:calc(100vw - 2rem)!important;max-height:calc(100vh - 2rem)!important;overflow:auto!important;contain:layout!important;z-index:5000!important}.latex-editor-wrapper :global(.monaco-editor-hover-content){max-width:100%!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container){background:var(--color-background)!important;border:var(--border-width) solid var(--color-border)!important;border-radius:var(--border-radius)!important;box-shadow:0 4px 12px var(--color-overlay)!important;z-index:5000!important;min-width:200px!important;max-width:400px!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item){background:var(--color-background)!important;color:var(--color-text)!important;border:none!important;padding:var(--spacing-xs) var(--spacing-sm)!important;min-height:32px!important;display:flex!important;align-items:center!important;gap:var(--spacing-xs)!important;cursor:pointer!important;font-size:var(--font-size-small-medium)!important;white-space:nowrap!important;transition:background var(--transition-fast)!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item:hover){background:var(--button-bg-hover)!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .action-label){color:var(--color-text)!important;font-family:var(--font-family)!important;font-size:var(--font-size-small-medium)!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .action-label .keybinding){color:var(--color-text-muted)!important;font-size:var(--font-size-small)!important;margin-left:auto!important;opacity:.7!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .codicon){color:var(--color-text)!important;font-size:var(--font-size-larger)!important;width:1.25rem!important;height:1.25rem!important;display:flex!important;align-items:center!important;justify-content:center!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item.disabled){opacity:.5!important;cursor:not-allowed!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item.disabled:hover){background:var(--color-background)!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item.separator){border-top:var(--divider-width) solid var(--color-border)!important;margin:var(--spacing-xs) 0!important;padding:0!important;min-height:1px!important;height:1px!important}.latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item.separator:hover){background:transparent!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container){background:var(--color-background)!important;border-color:var(--color-border)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item){background:var(--color-background)!important;color:var(--color-text)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item:hover){background:var(--button-bg-hover)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .action-label){color:var(--color-text)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .action-label .keybinding){color:var(--color-text-muted)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item.separator){border-color:var(--color-border)!important}.vs-dark .latex-editor-wrapper :global(.monaco-editor .context-view.monaco-menu-container .monaco-menu .monaco-action-bar .action-item .codicon){color:var(--color-text)!important}.monaco-editor .document-include-highlight{color:var(--color-text)!important;font-weight:600!important;background-color:var(--color-highlight-document)!important;padding:var(--spacing-xs) var(--spacing-xs);border-radius:var(--border-radius)}.monaco-editor.vs-dark .document-include-highlight{color:var(--color-text)!important;background-color:var(--color-highlight-document)!important}.monaco-editor .find-widget{left:0!important}.monaco-editor .find-widget.visible{top:3dvh!important;left:0!important}.monaco-editor .diff-added,.monaco-editor.vs-dark .diff-added{background-color:var(--color-highlight-add)!important}.monaco-editor .diff-replaced,.monaco-editor.vs-dark .diff-replaced{background-color:var(--color-highlight-replace)!important}.monaco-editor .llm-change-add,.monaco-editor.vs-dark .llm-change-add{background-color:var(--color-highlight-llm-add)!important}.monaco-editor .llm-change-transform,.monaco-editor.vs-dark .llm-change-transform{background-color:var(--color-highlight-llm-transform)!important}.monaco-editor .llm-change-delete,.monaco-editor.vs-dark .llm-change-delete{background-color:var(--color-highlight-llm-delete)!important;text-decoration:line-through!important;opacity:.7!important}.monaco-editor .llm-change-delete-line{background-color:#8800001a!important;border-left:3px solid #cc0000!important}.monaco-editor.vs-dark .llm-change-delete-line{background-color:#ff44441a!important;border-left:3px solid #ff4444!important}.monaco-editor .llm-change-delete-indicator{background-color:var(--color-highlight-llm-delete)!important;border-bottom:2px solid #cc0000!important;border-radius:1px;opacity:.8}.monaco-editor.vs-dark .llm-change-delete-indicator{background-color:var(--color-highlight-llm-delete)!important;border-bottom:2px solid #ff4444!important;border-radius:1px;opacity:.8}.latex-hover{max-width:min(300px,calc(100vw - var(--spacing-lg)))!important;font-size:var(--font-size-normal)!important}.math-hover-container{text-align:left;overflow-x:auto;color:var(--color-text);white-space:nowrap}.math-hover-container.centered{text-align:center}.math-error{color:var(--color-text);padding:0}.monaco-editor .spellcheck-error{border-bottom:2px dotted rgba(204,0,0,.8)!important;text-decoration:none!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-widget){min-width:500px!important;max-width:800px!important;width:auto!important;z-index:5000!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-list){min-width:500px!important;max-width:800px!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-list .monaco-list-row){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;min-height:auto!important;height:auto!important;padding:var(--spacing-xs) var(--spacing-sm)!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-list .monaco-list-row .monaco-icon-label){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;max-width:100%!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-list .monaco-list-row .monaco-icon-label-container){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;max-width:100%!important}.latex-editor-wrapper :global(.monaco-editor .quick-input-list .monaco-list-row .monaco-icon-label .monaco-icon-label-description-container){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;display:block!important;width:100%!important;margin-top:.25rem!important}.latex-editor-wrapper :global(.monaco-editor .context-menu){min-width:400px!important;max-width:700px!important;z-index:5000!important}.latex-editor-wrapper :global(.monaco-editor .context-menu .monaco-action-bar .action-item){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;min-height:auto!important;height:auto!important;padding:var(--spacing-xs) var(--spacing-sm)!important}.latex-editor-wrapper :global(.monaco-editor .context-menu .monaco-action-bar .action-item .action-label){white-space:normal!important;word-wrap:break-word!important;overflow-wrap:break-word!important;width:100%!important;max-width:100%!important;line-height:1.4!important}.monaco-editor .suggestion-highlight{background-color:#ffc8004d!important;border:2px solid rgba(255,200,0,.6)!important}.monaco-editor.vs-dark .suggestion-highlight{background-color:#ffc80033!important;border:2px solid rgba(255,200,0,.5)!important}.image-preview-container{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);background-color:var(--color-background);overflow:auto}.image-preview{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--border-radius);box-shadow:var(--shadow-md)}.editor-status-bar{position:relative;background-color:var(--button-bg-hover);font-size:var(--font-size-sm);min-height:40px;max-height:25vh;display:flex;align-items:center;justify-content:space-between;overflow:hidden;z-index:10}.status-bar-left{flex:0 0 auto;padding-left:var(--spacing-sm)}.status-bar-center{flex:1;display:flex;justify-content:center;min-height:24px}.status-bar-text{white-space:pre-wrap;word-wrap:break-word;padding:0 var(--spacing-sm);max-height:100%;overflow-y:auto}.status-bar-right{flex:0 0 auto;padding-right:var(--spacing-sm);text-align:right}.llm-modal-content{max-width:700px}.llm-modal-content-inner{display:flex;flex-direction:column;gap:1rem}.llm-modal-selection{display:flex;flex-direction:column;gap:.5rem}.llm-modal-model-select{width:100%;padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border);border-radius:0;font-size:var(--font-size-normal);background:var(--color-background);color:var(--color-text)}.llm-modal-model-select:disabled{color:var(--color-text-muted)}.llm-modal-content-inner label{display:block;font-weight:600;color:var(--color-text);margin-bottom:.5rem;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.llm-modal-input{width:100%;padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border);border-radius:0;font-size:var(--font-size-normal);font-family:inherit;color:var(--color-text);resize:vertical;box-sizing:border-box;background:var(--color-background)}.llm-modal-input:focus{outline:none;border:var(--border-width) solid var(--color-border);background:var(--button-bg-hover)}.llm-modal-selected-text-preview{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.llm-modal-selected-text-content{background:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:0;padding:var(--spacing-sm);max-height:150px;overflow-y:auto;font-family:Courier New,monospace;font-size:var(--font-size-smaller);white-space:pre-wrap;word-wrap:break-word}.llm-modal-streaming-output{margin-top:1rem}.llm-modal-streaming-text-content{background:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:0;padding:var(--spacing-sm);max-height:200px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word;font-family:inherit;font-size:var(--font-size-normal);color:var(--color-text)}.llm-modal-working-indicator{display:flex;align-items:center;color:var(--color-text);font-size:var(--font-size-normal);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.llm-modal-pulse-dot{width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--theme-accent);animation:llm-modal-pulse 1.5s ease-in-out infinite}@keyframes llm-modal-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-text);padding:var(--spacing-lg)}.login-container{background:var(--color-surface);padding:var(--spacing-xl);border:var(--border-width) solid var(--color-border);border-radius:0;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1.5rem;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.login-container h1{text-align:center;margin:0;font-size:var(--font-size-xl);font-weight:600}.login-form{display:flex;flex-direction:column;gap:1rem;text-transform:none;letter-spacing:normal}.login-form h2{margin:0;font-size:var(--font-size-medium);font-weight:600;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.login-error-message{background:var(--color-background);color:var(--color-text);padding:var(--spacing-sm);border:var(--border-width) solid var(--color-border);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.login-switch-mode{text-align:center;margin-top:var(--spacing-xs);color:var(--color-text);font-size:var(--font-size-small-medium);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.login-switch-mode a{color:var(--color-text);text-decoration:underline}.login-switch-mode a:hover{text-decoration:none}.profile-modal-content{max-width:600px}.profile-modal-body{gap:2rem}.profile-section{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:var(--divider-width) solid var(--color-border)}.profile-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.profile-section-header .material-icons{font-size:var(--font-size-larger);color:var(--color-text)}.profile-section-header h3{margin:0;font-size:var(--font-size-medium);font-weight:600;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.profile-form-group{display:flex;flex-direction:column;gap:.75rem}.profile-spinner{animation:profile-spin 1s linear infinite}@keyframes profile-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.profile-error-message,.profile-success-message{color:var(--color-text);font-size:var(--font-size-small);margin:0;padding:var(--spacing-sm);background:var(--color-background);border-left:var(--border-width) solid var(--color-border)}.profile-premium-section{background:var(--color-background);padding:var(--spacing-lg);border:var(--border-width) solid var(--color-border)}.profile-premium-benefits h4{margin:0 0 1rem;font-size:var(--font-size-medium);font-weight:600;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.profile-benefits-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.75rem}.profile-benefits-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:var(--font-size-normal)}.profile-benefits-list .material-icons{color:var(--color-text);font-size:var(--font-size-large);flex-shrink:0}.profile-paypal-container{margin-top:1rem;padding:var(--spacing-sm);background:var(--color-background);border:var(--border-width) solid var(--color-border)}.profile-premium-status{background:var(--color-background);padding:var(--spacing-lg);border:var(--border-width) solid var(--color-border)}.profile-premium-message{margin:0;font-size:var(--font-size-normal);color:var(--color-text)}.editor-view{height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.editor-chat-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;cursor:pointer;height:100%;transition:background var(--transition-normal);color:var(--button-text)}.editor-chat-btn:hover{background:var(--button-bg-hover)}.editor-chat-btn.active{background:var(--button-bg-hover);color:var(--theme-accent)}.editor-chat-btn .material-icons{font-size:var(--font-size-normal)}.editor-compile-btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;cursor:pointer;height:100%;transition:background var(--transition-normal);color:var(--button-text)}.editor-compile-btn:hover{background:var(--button-bg-hover)}.editor-compile-btn .material-icons{font-size:var(--font-size-normal)}.compilation-status-indicator{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);height:100%;cursor:pointer;transition:background var(--transition-fast)}.compilation-status-indicator:hover{background:var(--button-bg-hover)}.compilation-status-indicator.has-errors{color:var(--theme-error)}.compilation-status-indicator.has-warnings{color:var(--theme-warning)}.compilation-status-indicator.has-success{color:var(--theme-success)}.compilation-status-indicator .material-icons{font-size:var(--font-size-normal)}.compilation-count{font-size:var(--font-size-small-medium);font-weight:600}.compilation-badge{margin-left:auto;background:var(--color-surface);padding:var(--spacing-xs) var(--spacing-xs);font-size:var(--font-size-small);font-weight:600}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.editor-menu-items{display:flex;align-items:center;height:100%;width:100%}.editor-menu-dropdown-item-disabled{width:100%;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-small-medium);font-style:italic;text-align:center}.editor-menu-font-size{display:flex;align-items:center;gap:var(--spacing-sm)}.editor-font-size-controls{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-xs)}.editor-font-size-btn{background:transparent;border:none;color:var(--button-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-large);transition:background var(--transition-fast);padding:0}.editor-font-size-btn:hover{background:var(--button-bg-hover)}.editor-font-size-value{min-width:3rem;text-align:center;font-size:var(--font-size-small-medium);color:var(--color-text)}.editor-main-content{flex:1;display:flex;overflow:hidden;min-width:0}.editor-main-content.flow-mode{position:relative}.editor-main-content.flow-mode .editor-section{width:100%!important}.editor-exit-flow-mode-btn{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:1000;background:var(--color-background);border:var(--border-width) solid var(--color-border);color:var(--color-text);cursor:pointer;width:calc(var(--font-size-xxl) * 1.5);height:calc(var(--font-size-xxl) * 1.5);display:flex;align-items:center;justify-content:center;transition:background var(--transition-normal),transform var(--transition-normal)}.editor-exit-flow-mode-btn:hover{background:var(--button-bg-hover);transform:scale(1.05)}.editor-exit-flow-mode-btn .material-icons{font-size:var(--font-size-xl)}.editor-file-tree-wrapper{background:var(--color-background);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.editor-icon-btn{background:var(--button-bg);color:var(--button-text);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;transition:background var(--transition-normal)}.editor-icon-btn:hover{background:var(--button-bg-hover)}.editor-file-tree{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.file-tree-search{position:relative;border-bottom:var(--divider-width) solid var(--color-border);background:var(--color-background);flex-shrink:0}.file-tree-search-input{width:100%;border:none;padding:var(--spacing-xs) var(--spacing-sm);padding-right:calc(var(--spacing-sm) + var(--font-size-base) + var(--spacing-xs));background:var(--color-background);color:var(--color-text);font-size:var(--font-size-small-medium);border-radius:var(--border-radius);transition:border-color var(--transition-normal)}.file-tree-search-input:focus{outline:none}.file-tree-search-clear{position:absolute;right:calc(var(--spacing-sm) + var(--spacing-xs));top:50%;transform:translateY(-50%);cursor:pointer;color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;width:calc(var(--font-size-base) + var(--spacing-xs));height:calc(var(--font-size-base) + var(--spacing-xs));border-radius:var(--border-radius);transition:background var(--transition-normal),color var(--transition-normal)}.file-tree-search-clear:hover{background:var(--button-bg-hover);color:var(--color-text)}.file-tree-search-clear .material-icons{font-size:var(--font-size-base)}.file-tree-search-results{flex:1;overflow-y:auto;overflow-x:hidden}.file-tree-search-results-header{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border-bottom:var(--divider-width) solid var(--color-border);flex-shrink:0}.file-tree-search-results-count{font-size:var(--font-size-small);color:var(--color-text-muted);font-weight:500}.file-tree-search-result{padding:var(--spacing-sm) var(--spacing-md);border-bottom:var(--divider-width) solid var(--color-border);cursor:pointer;transition:background var(--transition-normal);flex-shrink:0}.file-tree-search-result:hover,.file-tree-search-result.active{background:var(--button-bg-hover)}.file-tree-search-result-file{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.file-tree-search-result-file .material-icons{font-size:var(--font-size-base);color:var(--color-text);flex-shrink:0}.file-tree-search-result-name{font-size:var(--font-size-small-medium);font-weight:500;color:var(--color-text);flex-shrink:0}.file-tree-search-result-path{font-size:var(--font-size-small);color:var(--color-text-muted);margin-left:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.file-tree-search-result-context{display:flex;gap:var(--spacing-xs);font-size:var(--font-size-small);color:var(--color-text-muted);line-height:1.4}.file-tree-search-result-line{flex-shrink:0;font-weight:500}.file-tree-search-result-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-tree-search-result-text mark{background:var(--color-highlight);color:var(--color-text);padding:0;font-weight:500}.file-tree-content{flex:1;overflow-y:auto;overflow-x:hidden}.file-tree-loading{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-small)}.file-tree-loading-text{padding:var(--spacing-sm) 0}.editor-file-item{padding:var(--spacing-xs);display:flex;align-items:center;cursor:pointer;border:var(--border-width) solid transparent;min-width:0;transition:background var(--transition-normal)}.editor-file-item:hover,.editor-file-item.active{background:var(--button-bg-hover)}.editor-file-name{flex:1;margin-left:var(--spacing-xs);font-size:var(--font-size-small-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-empty-files{padding:var(--spacing-xxl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-normal)}.editor-resizer{width:var(--divider-width);background:var(--color-border);cursor:col-resize;flex-shrink:0}.editor-resizer:hover{background:var(--theme-accent)}.editor-section{display:flex;flex-direction:column;background:var(--color-background);min-width:0;overflow:visible}.editor-preview-wrapper{flex:1;min-width:0;background:var(--color-background);display:flex;flex-direction:column;overflow:hidden;contain:layout style paint}.editor-versions-modal{max-width:700px;max-height:80vh;display:flex;flex-direction:column}.editor-versions-modal .modal-body{flex:1;overflow-y:auto;padding:var(--spacing-xl)}.editor-versions-loading,.editor-versions-empty{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-muted)}.editor-versions-list{display:flex;flex-direction:column;gap:0;border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.editor-version-item{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);border-bottom:var(--divider-width) solid var(--color-border);transition:background var(--transition-normal)}.editor-version-item:last-child{border-bottom:none}.editor-version-item:hover{background:var(--button-bg-hover)}.editor-version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.editor-version-actions{display:flex;gap:var(--spacing-sm)}.editor-version-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.editor-version-number{font-weight:600;font-size:var(--font-size-normal);color:var(--color-text);font-family:monospace}.editor-version-date{font-size:var(--font-size-small);color:var(--color-text-muted);flex:1}.editor-version-name{font-size:var(--font-size-large);color:var(--color-text);margin-bottom:var(--spacing-xs)}.editor-diff-btn,.editor-revert-btn,.editor-copy-btn,.editor-restore-new-btn{padding:var(--spacing-sm) var(--spacing-lg);border:var(--border-width) solid var(--color-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-small-medium);transition:background var(--transition-normal)}.editor-diff-btn:hover,.editor-revert-btn:hover,.editor-copy-btn:hover,.editor-restore-new-btn:hover{background:var(--button-bg-hover)}.editor-diff-btn .material-icons,.editor-revert-btn .material-icons,.editor-copy-btn .material-icons,.editor-restore-new-btn .material-icons{font-size:var(--font-size-large)}.editor-version-preview{font-family:monospace;font-size:var(--font-size-small);color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word;padding:var(--spacing-md);background:var(--color-background);border:var(--border-width) solid var(--color-border);max-height:10rem;overflow-y:auto}.editor-llm-selection{display:flex;flex-direction:column;gap:var(--spacing-sm)}.editor-llm-selection label{display:block;font-weight:600;color:var(--color-text);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide);font-size:var(--font-size-small-medium)}.editor-model-select{width:100%;padding:var(--spacing-md);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-normal);background:var(--color-background);color:var(--color-text);box-sizing:border-box}.editor-model-select:focus{outline:none;border:var(--border-width) solid var(--color-border);background:var(--button-bg-hover)}.editor-model-select:disabled{color:var(--color-text-muted);cursor:not-allowed}.model-description{font-size:var(--font-size-small);color:var(--color-text-muted);margin-top:var(--spacing-xs);margin-bottom:0}.editor-diff-modal{width:80vw;height:80vh;max-width:80vw;max-height:80vh;display:flex;flex-direction:column}.editor-diff-modal .modal-body{flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column}.editor-diff-loading{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-muted)}.editor-diff-container{display:flex;flex-direction:column;flex:1;overflow:hidden}.editor-diff-header{display:grid;grid-template-columns:1fr 1fr;border-bottom:var(--divider-width) solid var(--color-border);background:var(--color-background)}.editor-diff-header-panel{padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;border-right:var(--divider-width) solid var(--color-border)}.editor-diff-header-panel:last-child{border-right:none}.editor-diff-panel-title{font-weight:600;font-size:var(--font-size-normal);color:var(--color-text)}.editor-diff-panel-date{font-size:var(--font-size-small);color:var(--color-text-muted)}.editor-diff-content{flex:1;overflow-y:auto;font-family:Courier New,monospace;font-size:var(--font-size-small);line-height:1.6}.editor-diff-line-unchanged,.editor-diff-line-removed,.editor-diff-line-added{display:grid;grid-template-columns:5ch 5ch 2ch 1fr;gap:var(--spacing-sm);padding:2px var(--spacing-md);min-height:1.6em;align-items:start}.editor-diff-line-number{text-align:right;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-size:var(--font-size-small);padding-right:var(--spacing-sm)}.editor-diff-line-number.old,.editor-diff-line-number.new{color:var(--color-text-muted)}.editor-diff-line-marker{text-align:center;font-weight:700;-webkit-user-select:none;user-select:none;font-size:var(--font-size-small)}.editor-diff-line-content{white-space:pre;word-wrap:normal;overflow-x:auto;padding-left:var(--spacing-xs)}.editor-diff-line-unchanged{background:transparent}.editor-diff-line-unchanged .editor-diff-line-marker{color:var(--color-text-muted)}.editor-diff-line-unchanged .editor-diff-content-unchanged{color:var(--color-text)}.editor-diff-line-removed{background:#dc35451a}.editor-diff-line-removed .editor-diff-line-marker{color:#dc3545}.editor-diff-line-removed .editor-diff-content-removed{color:var(--color-text);text-decoration:line-through;opacity:.7}.editor-diff-line-added{background:#28a7451a}.editor-diff-line-added .editor-diff-line-marker{color:#28a745}.editor-diff-line-added .editor-diff-content-added{color:var(--color-text)}.file-tree-node,.file-tree-folder{min-width:0}.file-tree-folder-header{padding:var(--spacing-xs) var(--spacing-sm);display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;border:var(--border-width) solid transparent;min-width:0;transition:background var(--transition-normal)}.file-tree-folder-header:hover{background:var(--button-bg-hover)}.file-tree-folder-header .folder-icon{font-size:var(--font-size-large);color:var(--color-text);flex-shrink:0}.file-tree-folder-name{flex:1;font-size:var(--font-size-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text)}.file-tree-folder-children{min-width:0}.change-directory-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.change-directory-hint{font-size:var(--font-size-small);color:var(--color-text-muted);margin:0}.latex-preview-error{padding:var(--spacing-md);border:var(--border-width) solid var(--color-error-border);background:var(--color-error-bg);border-radius:var(--border-radius);margin:var(--spacing-md)}.compilation-error-header{margin-bottom:var(--spacing-md)}.compilation-error-title{color:var(--color-error);font-size:var(--font-size-large);margin:0 0 var(--spacing-xs) 0;font-weight:600}.compilation-error-summary{color:var(--color-text);margin:0;font-size:var(--font-size-normal);line-height:1.4}.compilation-error-details{margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:var(--color-background-alt);border-radius:var(--border-radius-sm);border-left:3px solid var(--color-error)}.error-section-title{color:var(--color-error);font-size:var(--font-size-normal);font-weight:600;margin:0 0 var(--spacing-xs) 0}.error-list{margin:var(--spacing-xs) 0 0 0;padding-left:var(--spacing-md);list-style-type:none}.error-item{color:var(--color-text);font-family:var(--font-family-mono, "Courier New", monospace);font-size:var(--font-size-small);margin:var(--spacing-xs) 0;padding:var(--spacing-xs);background:var(--color-error-bg-light);border-radius:var(--border-radius-sm);border-left:2px solid var(--color-error)}.compilation-error-log{margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:var(--color-background-alt);border-radius:var(--border-radius-sm)}.compilation-error-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.retry-btn,.toggle-log-btn{padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--color-border);background:var(--color-background);color:var(--color-text);border-radius:var(--border-radius-sm);cursor:pointer;font-size:var(--font-size-small-medium);transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs)}.retry-btn:hover:not(:disabled),.toggle-log-btn:hover{background:var(--button-bg-hover);border-color:var(--color-accent)}.retry-btn:disabled{opacity:.5;cursor:not-allowed}.retry-btn{border-color:var(--color-success);color:var(--color-success)}.retry-btn:hover:not(:disabled){background:var(--color-success-bg)}.projects-view{height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.projects-view .menu-label{text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.projects-view .projects-container{flex:1;overflow:auto;padding:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.projects-view .projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.projects-view .projects-header h2{margin:0;font-size:var(--font-size-xxl);font-weight:600;text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide)}.projects-view .projects-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.projects-view .search-bar{margin-bottom:var(--spacing-sm);flex:1;min-width:12rem;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);border:var(--border-width) solid var(--color-border);background:var(--color-background)}.projects-view .search-bar .material-icons{font-size:var(--font-size-large);color:var(--color-text-muted)}.projects-view .search-input{flex:1;border:none;background:transparent;color:var(--color-text);font-size:var(--font-size-medium);outline:none}.projects-view .search-input::placeholder{color:var(--color-text-muted)}.projects-view .sort-controls{margin-bottom:1em;display:flex;align-items:center}.projects-view .sort-controls label{font-size:var(--font-size-small-medium);color:var(--color-text);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide);margin-right:var(--spacing-lg)}.projects-view .sort-toggle{display:flex;border:var(--border-width) solid var(--color-border);background:var(--color-background)}.projects-view .sort-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;background:transparent;color:var(--color-text);cursor:pointer;font-size:var(--font-size-small-medium);text-transform:var(--text-transform-uppercase);letter-spacing:var(--letter-spacing-wide);transition:background var(--transition-normal);border-right:var(--divider-width) solid var(--color-border)}.projects-view .sort-btn:last-child{border-right:none}.projects-view .sort-btn:hover{background:var(--button-bg-hover)}.projects-view .sort-btn.active{background:var(--button-bg-hover);color:var(--button-text)}.projects-view .loading,.projects-view .empty-state{text-align:center;padding:var(--spacing-xxl);color:var(--color-text-muted)}.projects-view .projects-grid,.projects-view .projects-skeleton{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.projects-view .project-card,.projects-project-card{background:var(--color-background);border:var(--border-width) solid var(--color-border);display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0}.projects-view .project-card-content,.projects-project-card-content{padding:var(--spacing-md);cursor:pointer;flex:1;user-select:none;-webkit-user-select:none}.projects-view .project-card-content:hover,.projects-project-card-content:hover{background:var(--button-bg-hover)}.projects-view .project-card-content h3,.projects-project-card-content h3{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-xl);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-view .description,.projects-description{color:var(--color-text-muted);margin:var(--spacing-xs) 0;font-size:var(--font-size-medium)}.projects-view .meta,.projects-meta{font-size:var(--font-size-small);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.projects-view .project-actions,.projects-project-actions{display:flex;border-top:var(--divider-width) solid var(--color-border);min-width:0;overflow:hidden}.projects-view .rename-btn,.projects-view .delete-btn,.projects-download-btn,.projects-rename-btn,.projects-delete-btn{flex:1;min-width:0;padding:var(--spacing-sm);background:var(--color-background);border:none;border-right:var(--divider-width) solid var(--color-border);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-normal);transition:background var(--transition-normal);overflow:hidden}.projects-view .rename-btn span:last-child,.projects-view .delete-btn span:last-child,.projects-download-btn span:last-child,.projects-rename-btn span:last-child,.projects-delete-btn span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.projects-view .delete-btn,.projects-delete-btn{border-right:none}.projects-view .rename-btn:hover,.projects-view .download-btn:hover,.projects-download-btn:hover,.projects-rename-btn:hover{background:var(--button-bg-hover)}.projects-view .delete-btn:hover,.projects-delete-btn:hover{background:var(--button-bg-hover);color:var(--color-text)}@media(max-width:480px){.projects-view .rename-btn span:last-child,.projects-view .delete-btn span:last-child,.projects-download-btn span:last-child,.projects-rename-btn span:last-child,.projects-delete-btn span:last-child{display:none}.projects-view .rename-btn,.projects-view .delete-btn,.projects-download-btn,.projects-rename-btn,.projects-delete-btn{padding:var(--spacing-sm);gap:0}}.not-found{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.not-found h1{font-size:var(--font-size-huge);margin:0}
