.input-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.input-dialog{background-color:var(--color-panel);border-radius:8px;box-shadow:0 10px 40px #00000080;width:90%;max-width:500px;animation:slideIn .2s ease-out}.input-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-border-strong)}.input-dialog-header h3{margin:0;font-size:18px;color:var(--color-text-primary)}.input-dialog-close{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.input-dialog-close:hover{background-color:var(--color-border-strong)}.input-dialog-body{padding:24px}.input-dialog-body label{display:block;margin-bottom:8px;font-size:14px;color:var(--color-text-primary);font-weight:500}.input-dialog-description{background-color:var(--color-hover-soft);border:1px solid var(--color-hover-overlay);border-radius:4px;padding:10px 12px;font-size:12px;color:var(--color-text-secondary);margin-bottom:12px;line-height:1.4;font-family:JetBrains Mono,Consolas,Courier New,monospace}.input-dialog-body input{width:100%;padding:10px 12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-strong);border-radius:4px;color:var(--color-text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.input-dialog-body input:focus{border-color:var(--color-accent)}.input-dialog-body input::placeholder{color:var(--color-text-muted)}.input-dialog-body textarea{width:100%;min-height:120px;padding:10px 12px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-strong);border-radius:4px;color:var(--color-text-primary);font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s}.input-dialog-body textarea:focus{border-color:var(--color-accent)}.input-dialog-body textarea::placeholder{color:var(--color-text-muted)}.input-dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--color-border-strong)}.input-dialog-footer button{padding:8px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:var(--color-border-strong);color:var(--color-text-primary)}.btn-confirm:hover:not(:disabled){background-color:var(--color-accent-hover)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.confirm-dialog{background-color:var(--color-panel);border-radius:8px;box-shadow:0 8px 32px #0006;width:90%;max-width:450px;animation:slideUp .2s ease-out}.confirm-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-strong)}.confirm-dialog-title{display:flex;align-items:center;gap:10px}.confirm-dialog-title h3{margin:0;font-size:16px;font-weight:600;color:var(--color-heading)}.warning-icon{color:var(--color-danger-text)}.confirm-dialog-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.confirm-dialog-close:hover{background-color:var(--color-hover-bg);color:var(--color-heading)}.confirm-dialog-body{padding:20px}.confirm-dialog-body p{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--color-border-strong)}.confirm-dialog-footer button{padding:8px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:var(--color-hover-bg);color:var(--color-heading)}.btn-cancel:hover{background-color:var(--color-border-focus)}.btn-confirm{background-color:var(--color-accent);color:var(--color-bg-primary)}.btn-confirm:hover{background-color:var(--color-accent)}.btn-confirm.danger{background-color:var(--color-danger-text);color:var(--color-bg-primary)}.btn-confirm.danger:hover{background-color:var(--color-danger-text)}.image-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1100}.image-preview-dialog{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:8px;box-shadow:0 10px 40px #0009;width:70vw;max-width:960px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.image-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-panel)}.image-preview-header h3{margin:0;font-size:14px;color:var(--color-text-primary);font-weight:600}.image-preview-close{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s}.image-preview-close:hover{background-color:var(--color-hover-overlay)}.image-preview-body{padding:16px;background-color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;overflow:auto}.image-preview-body img{max-width:100%;max-height:100%;border-radius:4px;object-fit:contain}.file-explorer{display:flex;flex-direction:column;height:100%;background-color:var(--color-panel)}.file-explorer-header{padding:12px 16px;border-bottom:1px solid var(--color-border-strong);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.file-explorer-header h3{font-size:13px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0}.header-title-container{display:flex;flex-direction:column;gap:4px}.project-folder-name{font-size:11px;color:var(--color-text-muted);font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-action-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px 6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.header-action-btn:hover{background-color:var(--color-hover-bg);color:var(--color-accent)}.header-action-btn:active{transform:scale(.95)}.file-tree{flex:1;overflow-y:auto;overflow-x:hidden}.file-item{display:flex;align-items:center;padding:6px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.file-item:hover{background-color:var(--color-hover-bg)}.file-item.drop-target{border:1px dashed var(--color-accent);background-color:var(--color-hover-soft)}.file-item.selected{background-color:var(--color-hover-bg)}.expand-icon{display:flex;align-items:center;margin-right:4px;color:var(--color-text-primary)}.file-icon{display:flex;align-items:center;margin-right:8px;color:var(--color-accent)}.file-name{font-size:13px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rename-input{background-color:var(--color-border-strong);border:1px solid var(--color-accent);color:var(--color-text-primary);padding:2px 6px;font-size:13px;outline:none;border-radius:2px;flex:1}.empty-state{padding:24px;text-align:center;color:var(--color-text-muted)}.empty-state p{margin-bottom:8px;font-size:13px}.empty-state .hint{font-size:12px;color:var(--color-text-muted)}.context-menu{position:fixed;background-color:var(--color-panel);border:1px solid var(--color-border-strong);border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000;min-width:180px;padding:4px 0}.context-menu-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;font-size:13px;color:var(--color-text-primary);transition:background-color .15s}.context-menu-item:hover{background-color:var(--color-hover-bg)}.context-menu-item.danger{color:var(--color-danger-text)}.context-menu-item.danger:hover{background-color:var(--color-danger-bg)}.context-menu-separator{height:1px;background-color:var(--color-border-strong);margin:4px 0}.file-tree::-webkit-scrollbar{width:10px}.file-tree::-webkit-scrollbar-track{background-color:var(--color-panel)}.file-tree::-webkit-scrollbar-thumb{background-color:var(--color-border-muted);border-radius:5px}.file-tree::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-strong)}.file-tree.drop-target{outline:2px dashed var(--color-accent);outline-offset:-4px}.editor-container{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-primary)}.editor-header{display:flex;align-items:center;padding:12px 16px;background-color:var(--color-panel);border-bottom:1px solid var(--color-border-strong);flex-shrink:0}.editor-title{font-size:13px;font-weight:500;color:var(--color-text-primary)}.editor-wrapper{flex:1;overflow:hidden}.editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.editor-empty p{font-size:14px}.notification-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.notification-dialog{background-color:var(--color-panel);border-radius:8px;box-shadow:0 8px 32px #0006;width:90%;max-width:400px;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-strong)}.notification-dialog-title{display:flex;align-items:center;gap:10px}.notification-dialog-title h3{margin:0;font-size:16px;font-weight:600;color:var(--color-heading)}.icon-success{color:var(--color-accent)}.icon-error{color:var(--color-danger-text)}.icon-info{color:var(--color-accent)}.notification-dialog-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.notification-dialog-close:hover{background-color:var(--color-hover-bg);color:var(--color-heading)}.notification-dialog-body{padding:20px}.notification-dialog-body p{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.notification-dialog-footer{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--color-border-strong)}.btn-ok{padding:8px 20px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;background-color:var(--color-accent);color:var(--color-bg-primary)}.btn-ok:hover{background-color:var(--color-accent-hover)}.preview{display:flex;flex-direction:column;height:100%;background-color:var(--color-panel);color:var(--color-text-primary)}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-secondary)}.preview-status{display:flex;align-items:center;gap:12px;font-size:14px}.preview-status-indicator{font-size:12px;color:var(--color-accent)}.preview-controls{display:flex;align-items:center;gap:8px}.preview-controls button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--color-border-muted);background-color:var(--color-bg-secondary);color:var(--color-text-primary);border-radius:6px;cursor:pointer;line-height:0;transition:background-color .2s,border-color .2s}.preview-controls button svg{width:16px;height:16px;min-width:16px;min-height:16px;stroke:currentColor;stroke-width:2}.preview-controls button:hover:not(:disabled){background-color:var(--color-hover-bg);border-color:var(--color-accent);color:var(--color-accent)}.preview-controls button:disabled{color:var(--color-text-muted);border-color:var(--color-border-muted);cursor:not-allowed}.preview-controls .preview-zoom{min-width:42px;text-align:center;font-size:12px;color:var(--color-text-secondary)}.preview-body{flex:1;overflow:hidden;background-color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;position:relative}.preview-body iframe{border:none;width:100%;height:100%}.preview-engine-warning{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-warning-bg, rgba(245, 158, 11, .12));color:var(--color-warning-text, #f6c56f);font-size:12px}.pdf-canvas-container{width:100%;height:100%;overflow-y:auto;overflow-x:auto;padding:16px 0;box-sizing:border-box;background-color:var(--color-bg-primary)}.pdf-page-canvas{display:block;margin:0 auto 8px;box-shadow:0 2px 8px #0006}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--color-text-muted);font-size:14px}.preview-error{background-color:var(--color-panel);border-top:1px solid var(--color-border-subtle);padding:16px;color:var(--color-danger-text)}.preview-error h4{margin:0 0 8px;font-size:14px}.preview-error pre{background-color:var(--color-bg-primary);padding:12px;border-radius:6px;border:1px solid var(--color-danger-border);font-family:Monaco,Consolas,monospace;font-size:12px;overflow-x:auto;margin:0}.preview-diagnostics{display:flex;flex-direction:column;gap:6px;margin:10px 0}.preview-diagnostic{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--color-border-subtle);border-radius:6px;background-color:var(--color-bg-secondary);color:var(--color-text-primary);text-align:left;cursor:pointer}.preview-diagnostic:disabled{cursor:default}.preview-diagnostic:not(:disabled):hover{border-color:var(--color-accent);background-color:var(--color-hover-bg)}.preview-diagnostic-severity{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:0}.preview-diagnostic-error .preview-diagnostic-severity{color:var(--color-danger-text)}.preview-diagnostic-warning .preview-diagnostic-severity{color:var(--color-warning-text, #f6c56f)}.preview-diagnostic-location{color:var(--color-text-secondary);font-family:Monaco,Consolas,monospace;font-size:11px}.preview-diagnostic-message{min-width:0;overflow-wrap:anywhere;font-size:12px}.markdown-preview{display:flex;flex-direction:column;height:100%;background-color:var(--color-paper);color:var(--color-paper-text);overflow:hidden}.markdown-header{padding:10px 16px;border-bottom:1px solid var(--color-border-subtle);background-color:var(--color-bg-secondary);font-weight:500;font-size:14px}.markdown-body{flex:1;overflow-y:auto;padding:22px 28px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:24px 0 12px;font-weight:600}.markdown-body p{margin:12px 0;line-height:1.65}.markdown-body pre{background-color:var(--color-surface-alt);padding:12px;border-radius:6px;overflow-x:auto}.markdown-body code{font-family:Monaco,Fira Code,monospace;background-color:var(--color-surface-alt);padding:2px 4px;border-radius:4px}.markdown-body ul,.markdown-body ol{padding-left:20px;margin:12px 0}.markdown-body blockquote{border-left:3px solid var(--color-border-strong);margin:12px 0;padding-left:12px;color:var(--color-text-secondary)}.placeholder-preview{display:flex;align-items:center;justify-content:center;height:100%;background-color:var(--color-bg-primary)}.placeholder-message{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--color-text-muted)}.latex-install{display:flex;justify-content:center;align-items:center;height:100%;background-color:var(--color-bg-primary);color:var(--color-text-primary);text-align:center;padding:32px}.latex-status{max-width:460px;display:flex;flex-direction:column;align-items:center;gap:12px}.latex-status h3{margin:0;font-size:18px}.latex-status p{margin:0;line-height:1.5;color:var(--color-text-secondary)}.latex-install-btn{margin-top:8px;padding:8px 16px;border-radius:6px;border:none;background-color:var(--color-accent);color:var(--color-bg-primary);font-weight:500;cursor:pointer;transition:background-color .2s}.latex-install-btn:hover{background-color:var(--color-accent-hover)}.pdf-viewer{width:100%;height:100%;border:none}.latex-not-installed{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;text-align:center;height:100%;background-color:var(--color-panel);color:var(--color-text-primary)}.latex-not-installed h2{font-size:24px;margin:20px 0 10px;color:var(--color-text-primary)}.latex-not-installed p{margin:10px 0;font-size:14px;color:var(--color-text-muted);max-width:500px}.install-info{font-weight:600;margin-top:20px!important}.latex-options{list-style:none;margin:15px 0 30px;text-align:left;background-color:var(--color-surface-alt);padding:20px 30px;border-radius:8px;border-left:4px solid var(--color-accent)}.latex-options li{margin:10px 0;font-size:14px;color:var(--color-text-muted-strong)}.latex-options strong{color:var(--color-accent)}.install-actions{display:flex;gap:15px;margin:20px 0}.install-btn{padding:12px 24px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s;background-color:var(--color-accent);color:var(--color-bg-primary)}.install-btn:hover{background-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4ec9b04d}.install-btn.secondary{background-color:var(--color-border-strong)}.install-btn.secondary:hover{background-color:var(--color-border-muted)}.install-note{font-size:12px!important;color:var(--color-text-muted)!important;font-style:italic;margin-top:20px!important}.latex-version{font-size:11px;color:var(--color-accent);font-weight:400;margin-left:8px}.compilation-log{margin-top:15px;width:100%}.compilation-log summary{cursor:pointer;padding:8px;background-color:var(--color-bg-tertiary);border-radius:4px;color:var(--color-text-primary);font-size:13px}.compilation-log summary:hover{background-color:var(--color-hover-bg)}.compilation-log pre{margin-top:10px;background-color:var(--color-bg-primary);padding:12px;border-radius:4px;max-height:300px;overflow-y:auto;font-size:11px;color:var(--color-text-primary)}.pdf-page-wrapper{position:relative;display:block;margin:0 auto 8px;line-height:0;box-shadow:0 2px 8px #0006}.pdf-page-wrapper .pdf-page-canvas{display:block;margin:0;box-shadow:none}.pdf-page-wrapper.synctex-enabled:hover{cursor:crosshair}.pdf-synctex-highlight{position:absolute;pointer-events:none;background-color:#ffd54f73;border:2px solid rgba(255,179,0,.9);border-radius:2px;box-shadow:0 0 8px 2px #ffb30059;animation:pdf-synctex-pulse 1.8s ease-out;opacity:0}@keyframes pdf-synctex-pulse{0%{opacity:.9;transform:scale(1.15)}25%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1)}}.preview-last-good{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 10px;margin:6px 0 10px;border:1px solid rgba(70,130,255,.45);border-left:3px solid rgba(70,130,255,.85);background:#4682ff12;border-radius:4px;font-size:12px}.preview-last-good-text{flex:1;min-width:0}.preview-last-good-btn{background:#4682ffd9;color:#fff;border:none;padding:5px 12px;border-radius:3px;cursor:pointer;font-weight:600;font-size:12px;white-space:nowrap}.preview-last-good-btn:hover:not(:disabled){background:#3c73e6}.preview-last-good-btn:disabled{opacity:.6;cursor:not-allowed}.preview-last-good-empty{border-color:#96969659;border-left-color:#969696b3;background:#9696960d;color:#b4b4b4;font-style:italic}.preview-revert-btn{position:relative}.preview-revert-btn .preview-revert-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;pointer-events:none}.preview-revert-btn.has-target .preview-revert-dot{background:#4682fff2}.preview-revert-btn.is-current .preview-revert-dot{background:#50b45ad9}.structure-map-container{display:flex;flex-direction:column;height:100%;background-color:var(--color-bg-primary);overflow:hidden}.structure-map-header{padding:16px 20px;border-bottom:1px solid var(--color-border-strong);background-color:var(--color-panel);flex-shrink:0}.structure-map-header h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.structure-map-controls{display:flex;justify-content:flex-start;margin-bottom:12px}.orientation-toggle{display:flex;gap:0;background-color:var(--color-surface);border-radius:4px;overflow:hidden;border:1px solid var(--color-border-strong)}.orientation-btn{padding:6px 14px;font-size:12px;font-weight:500;background-color:transparent;border:none;color:var(--color-text-muted);cursor:pointer;transition:all .2s;position:relative}.orientation-btn:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background-color:var(--color-border)}.orientation-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text-secondary)}.orientation-btn.active{background-color:var(--color-accent);color:#fff}.orientation-btn.active:hover{background-color:var(--color-accent);opacity:.9}.structure-map-legend{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.legend-color{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-border-strong)}.structure-hint{margin:8px 0 0;font-size:11px;color:var(--color-text-muted);font-style:italic}.structure-map-svg{flex:1;cursor:grab}.structure-map-svg:active{cursor:grabbing}.structure-map-message,.structure-map-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.structure-map-message p{font-size:14px;color:var(--color-text-muted)}.structure-map-error h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--color-text-primary)}.structure-map-error p{margin:8px 0;font-size:14px;color:var(--color-text-muted)}.structure-map-error .hint{margin-top:16px;padding:12px 16px;background-color:var(--color-surface);border-left:3px solid var(--color-accent);border-radius:4px;font-size:13px;color:var(--color-text-secondary)}.node circle{transition:all .3s}.node{cursor:pointer}.node:hover circle{stroke-width:4px;filter:brightness(1.3)}.node-label{pointer-events:none;-webkit-user-select:none;user-select:none;fill:var(--color-text-primary);text-shadow:0 0 3px var(--color-panel),0 0 5px var(--color-panel)}.link{transition:stroke-opacity .3s}:root[data-theme=light] .node-label{fill:#1f242d;text-shadow:0 0 3px rgba(255,255,255,.8),0 0 5px rgba(255,255,255,.8)}:root[data-theme=dark] .node-label{fill:#d4d4d4;text-shadow:0 0 3px rgba(0,0,0,.8),0 0 5px rgba(0,0,0,.8)}@media (max-width: 768px){.structure-map-legend{flex-direction:column;gap:8px}}.help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.help-dialog{background-color:var(--color-panel);border-radius:12px;box-shadow:0 20px 60px #00000080;max-width:800px;max-height:90vh;width:90%;display:flex;flex-direction:column;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.help-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--color-border-strong)}.help-header h2{margin:0;font-size:24px;color:var(--color-accent)}.help-close-btn{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.help-close-btn:hover{background-color:var(--color-border-strong);color:#fff}.help-content{padding:32px;overflow-y:auto;flex:1}.help-section{margin-bottom:32px}.help-section:last-child{margin-bottom:0}.help-section h3{font-size:18px;margin:0 0 16px;color:var(--color-text-primary)}.button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.button-item{display:flex;gap:12px;padding:16px;background-color:var(--color-panel);border-radius:8px;border:1px solid var(--color-border-strong)}.button-item strong{display:block;color:var(--color-accent);margin-bottom:4px;font-size:14px}.button-item p{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.4}.shortcut-grid{display:flex;flex-direction:column;gap:12px}.shortcut-item{display:flex;align-items:center;gap:8px;padding:12px;background-color:var(--color-panel);border-radius:6px;font-size:14px}.shortcut-item kbd{background-color:var(--color-border-strong);border:1px solid #555;border-radius:4px;padding:4px 8px;font-family:Monaco,Consolas,monospace;font-size:12px;color:var(--color-accent);box-shadow:0 2px 4px #0003}.shortcut-item span{color:var(--color-text-muted)}.help-info{margin:8px 0;font-size:14px;color:var(--color-text-primary);line-height:1.6}.help-list{list-style-type:none;padding-left:0;margin:12px 0}.help-list li{padding:6px 0 6px 24px;position:relative;color:var(--color-text-primary);font-size:14px}.help-list li:before{content:"▸";position:absolute;left:8px;color:var(--color-accent)}.highlight{color:var(--color-accent);font-weight:600}.help-footer{padding:16px 32px;border-top:1px solid var(--color-border-strong);text-align:center}.help-footer p{margin:0;font-size:13px;color:var(--color-text-muted)}.help-footer kbd{background-color:var(--color-border-strong);border:1px solid #555;border-radius:3px;padding:2px 6px;font-family:Monaco,Consolas,monospace;font-size:12px;color:var(--color-accent)}.help-content::-webkit-scrollbar{width:8px}.help-content::-webkit-scrollbar-track{background-color:var(--color-panel)}.help-content::-webkit-scrollbar-thumb{background-color:var(--color-border-muted);border-radius:4px}.help-content::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-strong)}.toolbar{display:flex;align-items:center;justify-content:space-between;height:48px;background-color:var(--color-panel);border-bottom:1px solid var(--color-border-strong);padding:0 16px;flex-shrink:0}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:12px}.app-title{font-size:16px;font-weight:600;color:var(--color-accent);margin-right:20px}.app-edition{color:var(--color-text-secondary);font-size:12px;font-weight:500}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-primary);border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.toolbar-btn:hover{background-color:var(--color-border-strong);border-color:var(--color-accent)}.toolbar-btn.active{background-color:#4ec9b02e;border-color:var(--color-accent);color:var(--color-accent)}.compile-btn{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);font-weight:500}.compile-btn:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.current-file{color:var(--color-text-primary);font-size:13px;font-weight:500}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.engine-selector{display:flex;align-items:center;gap:6px;padding:4px 8px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px}.engine-label{font-size:12px;color:var(--color-text-muted);font-weight:500}.engine-select{background-color:var(--color-bg-primary);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:3px;padding:4px 8px;font-size:12px;cursor:pointer;outline:none;transition:all .2s}.engine-select:hover{border-color:var(--color-accent)}.engine-select:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #4ec9b033}.menu-bar{display:flex;align-items:stretch;background-color:var(--color-panel);border-bottom:1px solid var(--color-border-strong);padding:0;height:32px;flex-shrink:0;-webkit-user-select:none;user-select:none;z-index:101}.menu-root{position:relative}.menu-root-button{height:100%;background:transparent;border:none;color:var(--color-text-primary);padding:0 14px;font-size:13px;cursor:pointer;transition:background-color .15s}.menu-root.open .menu-root-button,.menu-root-button:hover{background-color:var(--color-hover-bg)}.menu-dropdown{position:absolute;top:100%;left:0;min-width:220px;background-color:var(--color-panel);border:1px solid var(--color-border-strong);border-radius:4px;box-shadow:0 12px 32px var(--color-shadow);padding:6px 0;display:flex;flex-direction:column;z-index:1200}.menu-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;background:transparent;border:none;color:var(--color-text-primary);padding:6px 16px;font-size:13px;cursor:pointer;transition:background-color .15s;text-align:left}.menu-item:hover:not(:disabled){background-color:var(--color-hover-bg)}.menu-item:disabled{opacity:.4;cursor:default}.menu-icon-slot{width:18px;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary)}.menu-label{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.menu-shortcut{color:var(--color-text-muted-strong);font-size:12px;font-family:Consolas,Courier New,monospace}.menu-separator{height:1px;background-color:var(--color-border-strong);margin:6px 0}.annotation-panel{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-subtle);padding:12px;display:flex;flex-direction:column;gap:12px;flex-shrink:0}.annotation-panel-header{display:flex;align-items:center;justify-content:space-between}.annotation-panel-header h4{margin:0;font-size:13px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase}.annotation-panel-toggle{background:none;border:none;color:var(--color-text-primary);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s}.annotation-panel-toggle:hover{background-color:var(--color-hover-overlay)}.annotation-panel-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.color-picker-label{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;color:var(--color-text-secondary);flex-wrap:wrap}.color-picker-label input{width:32px;height:24px;border:none;background:transparent;cursor:pointer}.color-preset-row{display:flex;align-items:center;gap:6px}.color-preset{width:24px;height:24px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--color-text-contrast);mix-blend-mode:difference;font-weight:700;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 0 0 1px #ffffff40}.color-preset:hover{transform:translateY(-1px)}.color-preset.active{box-shadow:0 0 0 2px #ffffffe6}.annotation-buttons{display:flex;align-items:center;gap:8px}.annotation-visibility-note{padding:12px;margin-bottom:12px;border-radius:6px;background:#4ec9b01a;border:1px solid rgba(78,201,176,.2);color:var(--color-text-secondary);font-size:12px}.annotation-btn{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-primary);padding:6px 12px;font-size:12px;border-radius:4px;cursor:pointer;transition:background-color .15s,border-color .15s}.annotation-btn.primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);font-weight:500}.annotation-btn:hover{background-color:var(--color-hover-bg)}.annotation-btn.primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.annotation-btn:disabled,.annotation-btn.primary:disabled{opacity:.5;cursor:default}.annotation-btn.primary:disabled{background-color:var(--color-border-strong);border-color:var(--color-border-strong);color:var(--color-text-muted)}.annotation-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.annotation-empty{text-align:center;padding:16px;color:var(--color-text-muted);font-size:12px}.annotation-empty .hint{font-size:11px;color:var(--color-text-caption);margin-top:4px}.annotation-item{background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-muted);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:10px}.annotation-item-header{display:flex;align-items:flex-start;gap:10px}.annotation-color{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.annotation-snippet{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-primary)}.annotation-text{font-weight:600;color:var(--color-text-primary)}.annotation-range{font-size:11px;color:var(--color-text-muted-strong)}.annotation-comment-preview{font-size:11px;color:var(--color-text-muted);font-style:italic}.annotation-comment-preview.with-comment{color:var(--color-text-secondary);font-style:normal}.annotation-actions{display:flex;align-items:center;gap:6px}.annotation-icon-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .15s}.annotation-icon-btn:hover:not(:disabled){background-color:var(--color-hover-overlay)}.annotation-icon-btn:disabled{opacity:.4;cursor:default}.tab-bar{display:flex;background:var(--color-panel);border-bottom:1px solid var(--color-bg-primary);overflow-x:auto;overflow-y:hidden;height:35px;min-height:35px;scrollbar-width:thin;scrollbar-color:var(--color-border-muted) var(--color-panel)}.tab-bar::-webkit-scrollbar{height:4px}.tab-bar::-webkit-scrollbar-track{background:var(--color-panel)}.tab-bar::-webkit-scrollbar-thumb{background:var(--color-border-muted);border-radius:2px}.tab-bar::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}.tab{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--color-panel);border-right:1px solid var(--color-bg-primary);cursor:pointer;white-space:nowrap;font-size:13px;color:var(--color-text-secondary);transition:background .15s ease;min-width:100px;max-width:200px;position:relative}.tab:hover{background:var(--color-hover-bg)}.tab.active{background:var(--color-bg-primary);color:var(--color-text-contrast);border-top:2px solid var(--color-accent)}.tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-secondary);opacity:0;transition:all .15s ease;flex-shrink:0}.tab:hover .tab-close,.tab.active .tab-close{opacity:1}.tab-close:hover{background:#ffffff1a;color:var(--color-text-contrast)}.about-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.about-dialog{background:var(--color-panel);border-radius:8px;box-shadow:0 8px 32px #00000080;width:90%;max-width:500px;max-height:80vh;overflow-y:auto;color:var(--color-text-secondary)}.about-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:var(--color-panel);border-bottom:1px solid var(--color-border-strong);border-radius:8px 8px 0 0}.about-header h2{margin:0;font-size:20px;font-weight:600}.about-close{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:all .2s ease}.about-close:hover{background:#ffffff1a}.about-content{padding:24px;text-align:center}.about-logo{display:flex;justify-content:center;margin-bottom:16px}.logo-circle{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));display:flex;align-items:center;justify-content:center;box-shadow:0 12px 22px #00000047}.logo-circle svg{color:var(--color-text-contrast)}.logo-image{width:80px;height:80px;border-radius:16px;box-shadow:0 12px 22px #00000047;object-fit:contain}.logo-circle-placeholder{width:80px;height:80px;border-radius:16px;background:linear-gradient(135deg,#4ec9b0,#3da88f);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 22px #00000047;color:#fff}.about-title{margin:0 0 8px;font-size:24px;font-weight:600}.about-version{margin:0 0 8px;font-size:14px;color:var(--color-text-muted)}.about-description{margin:0 0 24px;font-size:14px;color:var(--color-text-muted)}.about-team{margin:-12px 0 28px;font-size:14px;color:var(--color-text-secondary)}.about-section{margin-bottom:24px;text-align:left}.about-section h4{margin:0 0 12px;font-size:16px;font-weight:600;text-align:center}.about-section ul{list-style:none;padding:0;margin:0}.about-section li{font-size:14px;color:var(--color-text-secondary);position:relative;padding:6px 0 6px 20px}.about-section li:before{content:"•";position:absolute;left:0;color:var(--color-accent);font-weight:700}.about-disclaimer{background:#ffa5001a;border:1px solid rgba(255,165,0,.3);border-radius:6px;padding:16px;margin-bottom:24px;text-align:left}.about-disclaimer h4{margin:0 0 12px;font-size:16px;font-weight:600;color:orange}.about-disclaimer p{margin:0 0 12px;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.about-disclaimer p:last-child{margin-bottom:0}.about-disclaimer strong{font-weight:600}.about-footer{padding-top:16px;border-top:1px solid var(--color-border-strong);font-size:12px;color:var(--color-text-muted)}.about-footer p{margin:0}.check-update-button{background:var(--color-accent);color:var(--color-text-contrast);border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;margin:12px 0}.check-update-button:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.check-update-button:active:not(:disabled){transform:translateY(0)}.check-update-button:disabled{opacity:.6;cursor:not-allowed}.update-status{margin:8px 0;font-size:13px;color:var(--color-text-secondary);font-style:italic}.check-startup-container{margin:12px 0}.check-startup-label{display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.check-startup-checkbox{margin-right:8px;cursor:pointer;width:16px;height:16px;accent-color:var(--color-accent)}.check-startup-label:hover{color:var(--color-text-primary)}.check-startup-label span{transition:color .2s ease}.shortcut-list{list-style:none;padding-left:0}.shortcut-list li{padding:4px 0;color:var(--color-text-secondary);font-size:13px}.shortcut-list kbd{display:inline-block;font-family:Monaco,Menlo,Consolas,monospace;font-size:11px;padding:2px 6px;margin:0 2px;background:var(--color-surface-alt);border:1px solid var(--color-border-muted);border-radius:3px;color:var(--color-text-primary);box-shadow:0 1px 0 var(--color-border-strong)}.annotation-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.annotation-dialog{width:92%;max-width:560px;background-color:var(--color-panel);border-radius:10px;box-shadow:0 16px 48px var(--color-shadow);overflow:hidden;animation:slideIn .22s ease-out}.annotation-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-strong)}.annotation-dialog-header h3{margin:0;font-size:18px;color:var(--color-heading)}.annotation-dialog-close{background:none;border:none;color:var(--color-text-muted);border-radius:4px;display:flex;align-items:center;justify-content:center;padding:6px;cursor:pointer;transition:background-color .2s ease}.annotation-dialog-close:hover{background-color:var(--color-hover-soft)}.annotation-dialog-body{padding:22px 24px 10px;display:flex;flex-direction:column;gap:20px}.annotation-snippet{background-color:var(--color-card-overlay);border:1px solid var(--color-hover-overlay);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;color:var(--color-text-primary);font-size:13px}.snippet-label{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.snippet-text{color:var(--color-text-contrast);font-family:JetBrains Mono,Consolas,Courier New,monospace;font-size:13px}.annotation-field-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px}.optional-label{font-weight:400;color:var(--color-text-muted);font-size:12px}.annotation-color-section{display:flex;flex-direction:column}.annotation-color-grid{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.color-swatch{width:36px;height:36px;border-radius:8px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-contrast);mix-blend-mode:difference;font-weight:700;box-shadow:0 0 0 2px transparent;transition:transform .15s ease,box-shadow .15s ease}.color-swatch:hover{transform:translateY(-1px)}.color-swatch.selected{box-shadow:0 0 0 2px #ffffffd9}.color-picker input[type=color]{width:36px;height:36px;border:none;padding:0;border-radius:8px;background:none;cursor:pointer}.annotation-comment-section textarea{width:100%;min-height:120px;border-radius:6px;border:1px solid var(--color-border-strong);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px;font-family:inherit;padding:12px;resize:vertical;transition:border-color .2s ease}.annotation-comment-section textarea:focus{border-color:var(--color-accent);outline:none}.dialog-hint{display:block;margin-top:6px;font-size:12px;color:var(--color-text-muted)}.annotation-dialog-footer{padding:16px 24px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--color-border-strong);flex-wrap:wrap}.annotation-dialog-footer button,.annotation-dialog-footer .btn-delete{padding:9px 22px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease}.footer-actions{display:flex;gap:12px}.btn-delete{display:inline-flex;align-items:center;gap:6px;background-color:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.btn-delete:hover{background-color:var(--color-danger-border);color:var(--color-danger-text-hover)}.annotation-dialog-footer .btn-cancel{background-color:var(--color-border-strong);color:var(--color-text-primary)}.annotation-dialog-footer .btn-cancel:hover{background-color:var(--color-border-focus)}.annotation-dialog-footer .btn-confirm{background:linear-gradient(135deg,var(--color-accent) 0%,#2db392 100%);color:var(--color-bg-primary)}.annotation-dialog-footer .btn-confirm:hover{transform:translateY(-1px);box-shadow:0 10px 20px #4ec9b040}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 540px){.annotation-dialog{width:96%}.annotation-color-grid{justify-content:flex-start}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.status-bar{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-panel);border-top:1px solid var(--color-border-strong);padding:6px 12px;height:32px;flex-shrink:0;font-size:12px;color:var(--color-text-muted)}.status-bar-left{display:flex;align-items:center;gap:16px;flex:1}.status-bar-center{display:flex;align-items:center;justify-content:center;flex:1;padding:0 20px}.status-bar-right{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}.status-item{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;color:var(--color-text-muted)}.status-item:hover{background-color:var(--color-hover-bg)}.status-label{font-weight:500}.status-value{font-weight:600;padding:2px 6px;border-radius:3px;font-size:11px}.status-value.on{color:#4ade80;background-color:#4ade8026}.status-value.off{color:#f87171;background-color:#f8717126}.status-info{font-size:11px;color:var(--color-text-muted);opacity:.8}.status-message{font-size:12px;color:var(--color-text-primary);font-weight:500;background-color:#4ade8026;padding:4px 12px;border-radius:4px;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.app{display:flex;flex-direction:column;height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.workspace{display:flex;flex-direction:column;flex:1;overflow:hidden}.proposal-bar{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-strong);font-size:12px}.proposal-bar button,.proposal-select{height:26px;border:1px solid var(--color-border-strong);border-radius:4px;background:var(--color-surface);color:var(--color-text-primary);padding:0 8px;font:inherit}.proposal-bar button{cursor:pointer}.proposal-bar button:hover:not(:disabled),.proposal-select:hover{border-color:var(--color-accent)}.proposal-bar button:disabled{opacity:.5;cursor:default}.proposal-bar button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary)}.proposal-link{font-weight:600}.proposal-label,.proposal-badge{color:var(--color-text-muted)}.proposal-badge{padding:2px 6px;border:1px solid var(--color-border-muted);border-radius:999px}.proposal-open{color:var(--color-accent)}.proposal-conflicted{color:var(--color-danger-text)}.proposal-diff{max-height:220px;overflow:auto;padding:12px;border-bottom:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace;font-size:11px;white-space:pre-wrap}.main-container{display:flex;flex:1;overflow:hidden}.editor-stack{display:flex;flex-direction:column;flex:1;overflow:hidden}.editor-stack .editor-container{flex:1}.split-container{display:flex;flex:1;height:100%}.panel{display:flex;flex-direction:column;overflow:hidden;height:100%}.file-explorer-panel{background-color:var(--color-panel);border-right:1px solid var(--color-border-strong)}.panel-toggle{display:flex;gap:6px;padding:8px;border-bottom:1px solid var(--color-border-strong)}.panel-toggle button{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-strong);background:none;color:var(--color-text-primary);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}.panel-toggle button.active{border-color:var(--color-accent);background-color:var(--color-accent-muted, #2f80ed1a);color:var(--color-text-primary)}.panel-toggle button:hover:not(.active){border-color:var(--color-accent);color:var(--color-accent)}.panel-body{flex:1;display:flex;overflow:hidden}.panel-body>*{flex:1}.editor-panel{background-color:var(--color-bg-primary);border-right:1px solid var(--color-border-strong)}.preview-panel{background-color:var(--color-panel)}.gutter{background-color:var(--color-border-strong);background-repeat:no-repeat;background-position:50%;transition:background-color .2s}.gutter:hover{background-color:var(--color-accent)}.gutter.gutter-horizontal{cursor:col-resize;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==)}.gutter.gutter-horizontal:hover{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2NkYGD4zyAOYGCAAcZRTUydOWrmqJmjZg6OmQDw8BnOs5KSvgAAAABJRU5ErkJggg==)}:root{color-scheme:dark;--color-bg-primary: #1e1e1e;--color-bg-secondary: #202020;--color-bg-tertiary: #242424;--color-panel: #2d2d2d;--color-surface: #2a2a2a;--color-surface-alt: #303030;--color-paper: #ffffff;--color-paper-text: #1a1a1a;--color-border-subtle: #2f2f2f;--color-border-muted: #333333;--color-border-strong: #3c3c3c;--color-border-focus: #4a4a4a;--color-text-primary: #d4d4d4;--color-text-secondary: #cfcfcf;--color-text-muted: #9ca3af;--color-text-muted-strong: #8a8a8a;--color-text-caption: #6d6d6d;--color-text-contrast: #f3f4f6;--color-heading: #e0e0e0;--color-hover-bg: #303030;--color-hover-overlay: rgba(255, 255, 255, .08);--color-hover-soft: rgba(255, 255, 255, .05);--color-card-overlay: rgba(255, 255, 255, .04);--color-overlay: rgba(0, 0, 0, .7);--color-shadow: rgba(0, 0, 0, .45);--color-accent: #4ec9b0;--color-accent-hover: #43b29d;--color-danger-bg: rgba(255, 77, 77, .18);--color-danger-border: rgba(255, 77, 77, .35);--color-danger-text: #ff7a7a;--color-danger-text-hover: #ff9a9a;--color-scrollbar-thumb: #3c3c3c;--color-scrollbar-track: #202020}:root[data-theme=dark]{color-scheme:dark;--color-bg-primary: #1e1e1e;--color-bg-secondary: #202020;--color-bg-tertiary: #242424;--color-panel: #2d2d2d;--color-surface: #2a2a2a;--color-surface-alt: #303030;--color-paper: #ffffff;--color-paper-text: #1a1a1a;--color-border-subtle: #2f2f2f;--color-border-muted: #333333;--color-border-strong: #3c3c3c;--color-border-focus: #4a4a4a;--color-text-primary: #d4d4d4;--color-text-secondary: #cfcfcf;--color-text-muted: #9ca3af;--color-text-muted-strong: #8a8a8a;--color-text-caption: #6d6d6d;--color-text-contrast: #f3f4f6;--color-heading: #e0e0e0;--color-hover-bg: #303030;--color-hover-overlay: rgba(255, 255, 255, .08);--color-hover-soft: rgba(255, 255, 255, .05);--color-card-overlay: rgba(255, 255, 255, .04);--color-overlay: rgba(0, 0, 0, .7);--color-shadow: rgba(0, 0, 0, .45);--color-accent: #4ec9b0;--color-accent-hover: #43b29d;--color-danger-bg: rgba(255, 77, 77, .18);--color-danger-border: rgba(255, 77, 77, .35);--color-danger-text: #ff7a7a;--color-danger-text-hover: #ff9a9a;--color-scrollbar-thumb: #3c3c3c;--color-scrollbar-track: #202020}:root[data-theme=light]{color-scheme:light;--color-bg-primary: #eef1f5;--color-bg-secondary: #f7f8fb;--color-bg-tertiary: #e2e6ed;--color-panel: #f5f6f9;--color-surface: #edeff4;--color-surface-alt: #e5e8ef;--color-paper: #fafbfc;--color-paper-text: #14171f;--color-border-subtle: #d2d6de;--color-border-muted: #c3c7d1;--color-border-strong: #b2b7c2;--color-border-focus: #8f96a6;--color-text-primary: #1f242d;--color-text-secondary: #3a404a;--color-text-muted: #6a707c;--color-text-muted-strong: #5b616d;--color-text-caption: #858b96;--color-text-contrast: #12161d;--color-heading: #12161d;--color-hover-bg: #dde2eb;--color-hover-overlay: rgba(15, 20, 30, .08);--color-hover-soft: rgba(15, 20, 30, .05);--color-card-overlay: rgba(15, 20, 30, .04);--color-overlay: rgba(10, 12, 16, .32);--color-shadow: rgba(15, 20, 25, .12);--color-accent: #2a8c78;--color-accent-hover: #237261;--color-danger-bg: rgba(210, 70, 70, .14);--color-danger-border: rgba(210, 70, 70, .32);--color-danger-text: #b3362a;--color-danger-text-hover: #962c22;--color-scrollbar-thumb: #c5c9d2;--color-scrollbar-track: #eceff4}@media (prefers-color-scheme: light){:root:not([data-theme]){--color-bg-primary: #eef1f5;--color-bg-secondary: #f7f8fb;--color-bg-tertiary: #e2e6ed;--color-panel: #f5f6f9;--color-surface: #edeff4;--color-surface-alt: #e5e8ef;--color-paper: #fafbfc;--color-paper-text: #14171f;--color-border-subtle: #d2d6de;--color-border-muted: #c3c7d1;--color-border-strong: #b2b7c2;--color-border-focus: #8f96a6;--color-text-primary: #1f242d;--color-text-secondary: #3a404a;--color-text-muted: #6a707c;--color-text-muted-strong: #5b616d;--color-text-caption: #858b96;--color-text-contrast: #12161d;--color-heading: #12161d;--color-hover-bg: #dde2eb;--color-hover-overlay: rgba(15, 20, 30, .08);--color-hover-soft: rgba(15, 20, 30, .05);--color-card-overlay: rgba(15, 20, 30, .04);--color-overlay: rgba(10, 12, 16, .32);--color-shadow: rgba(15, 20, 25, .12);--color-accent: #2a8c78;--color-accent-hover: #237261;--color-danger-bg: rgba(210, 70, 70, .14);--color-danger-border: rgba(210, 70, 70, .32);--color-danger-text: #b3362a;--color-danger-text-hover: #962c22;--color-scrollbar-thumb: #c5c9d2;--color-scrollbar-track: #eceff4}}*{margin:0;padding:0;box-sizing:border-box}button svg{display:block;flex:0 0 auto;color:currentColor;pointer-events:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:background-color .25s ease,color .25s ease}code{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}#root{width:100vw;height:100vh}.scroll-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;background:var(--color-bg-primary);color:var(--color-text-primary)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong);padding:6px 12px;border-radius:4px;cursor:pointer;font:inherit}button:hover:not(:disabled){background:var(--color-hover-bg)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}button.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}button.danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-text)}button.danger:hover:not(:disabled){color:var(--color-danger-text-hover)}input,select,textarea{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong);padding:6px 10px;border-radius:4px;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.center-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px}.card{background:var(--color-panel);border:1px solid var(--color-border-muted);border-radius:8px;padding:24px;width:100%;max-width:420px;box-shadow:0 4px 20px var(--color-shadow)}.card h1{margin:0 0 4px;font-size:22px;color:var(--color-heading)}.card h2{margin:0 0 12px;font-size:16px;color:var(--color-text-muted);font-weight:400}.card form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.card .row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px}.error{color:var(--color-danger-text);margin-top:8px;min-height:1em}.muted{color:var(--color-text-muted)}.topbar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-muted)}.topbar .grow{flex:1}.topbar .brand{font-weight:600;letter-spacing:.02em;color:var(--color-heading)}.layout{display:grid;grid-template-rows:auto 1fr;height:100vh}table.simple{border-collapse:collapse;width:100%}table.simple th,table.simple td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--color-border-subtle)}table.simple th{color:var(--color-text-muted);font-weight:600}.project-actions,.project-share form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-details{margin-top:18px;padding:16px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-panel)}.project-details h3,.project-details h4{margin:0 0 8px}.project-share,.project-history{margin-top:16px}table.compact{margin-top:8px}table.compact th,table.compact td{padding:5px 8px}.mono{font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.proposal-summary{margin-top:8px;padding:10px;border:1px solid var(--color-border-subtle);border-radius:6px;background:var(--color-bg-secondary)}.proposal-file{display:flex;justify-content:space-between;gap:12px;padding:4px 0}
