.sidebar{width:var(--sidebar-width);height:100vh;background-color:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--border-primary)}.sidebar-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.sidebar-nav{flex:1;padding:var(--space-4)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-lg);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:all var(--transition-fast)}.nav-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background-color:var(--color-primary);color:var(--text-inverse)}.nav-icon{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center}.nav-icon svg{width:18px;height:18px}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:var(--space-3)}.theme-toggle-container{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-2)}.theme-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.ios-toggle{position:relative;display:inline-block;width:44px;height:26px}.ios-toggle input{opacity:0;width:0;height:0}.ios-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#4d4f58;transition:var(--transition-base);border-radius:26px}.ios-toggle-slider:before{position:absolute;content:"";height:22px;width:22px;left:2px;bottom:2px;background-color:#fff;transition:var(--transition-base);border-radius:50%;box-shadow:0 2px 4px #0003}.ios-toggle input:checked+.ios-toggle-slider{background-color:var(--color-primary)}.ios-toggle input:checked+.ios-toggle-slider:before{transform:translate(18px)}.ios-toggle-slider:hover{background-color:#5a5c65}.ios-toggle input:checked+.ios-toggle-slider:hover{background-color:var(--color-primary-hover)}.version{font-size:var(--font-size-xs);color:var(--text-tertiary);text-align:center}.tabs-container{margin-left:var(--space-6);padding-left:var(--space-3);border-left:2px solid var(--border-primary);margin-top:var(--space-1);margin-bottom:var(--space-2)}.tab-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);transition:all var(--transition-fast);cursor:pointer;position:relative}.tab-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.tab-item.active{background-color:var(--color-primary);color:var(--text-inverse)}.tab-icon{font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tab-icon svg{width:14px;height:14px}.tab-status{display:flex;align-items:center;justify-content:center;flex-shrink:0}.unsaved-status{width:6px;height:6px;border-radius:50%;background:#ffc107;opacity:.9}.saved-status{width:6px;height:6px;border-radius:50%;background:#4caf50;opacity:.9}.generating-status{font-size:12px;line-height:1;animation:pulse 1.5s ease-in-out infinite}.tab-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{background:none;border:none;color:inherit;font-size:20px;line-height:1;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);cursor:pointer;opacity:.6;transition:all var(--transition-fast);flex-shrink:0}.tab-close:hover{opacity:1;background-color:#0003}.tab-item.active .tab-close:hover{background-color:#fff3}.delete-confirmation-popup{position:absolute;right:-200px;top:0;z-index:1000;animation:slideInFromRight .2s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.delete-popup-content{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:0 4px 12px #0000004d;width:200px}.delete-popup-content p{margin:0 0 var(--space-3) 0;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4;text-align:center}.delete-popup-actions{display:flex;gap:var(--space-2);justify-content:center}.delete-popup-cancel,.delete-popup-delete{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;border:1px solid;flex:1}.delete-popup-cancel{background:var(--bg-secondary);border-color:var(--border-primary);color:var(--text-secondary)}.delete-popup-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.delete-popup-delete{background:#f4433626;border-color:#f443364d;color:#f44336}.delete-popup-delete:hover{background:#f4433640;border-color:#f44336}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.tab-item.generating{position:relative}.tab-item.generating:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);animation:pulse 1.5s ease-in-out infinite}.markmap-viewer{background:transparent;border-radius:12px;padding:1rem;box-shadow:0 4px 6px #0000001a;width:100%;height:100%;min-height:500px;position:relative;overflow:hidden}.markmap-viewer svg{width:100%;height:100%;display:block}.markmap-viewer svg .markmap-foreign div,.markmap-viewer svg foreignObject div,.markmap-viewer foreignObject div{color:#e0ded4!important}.markmap-viewer svg text,.markmap-viewer svg tspan{fill:#fff!important}.markmap-viewer.light-mode svg .markmap-foreign div,.markmap-viewer.light-mode svg foreignObject div{color:#1a1d23!important}.empty-state{display:flex;align-items:center;justify-content:center}.empty-content{text-align:center;color:#666}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-content h3{margin-bottom:.5rem;color:#333}.loading-state{display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.loading-text{font-size:1.2rem;color:#3498db;font-weight:500}.error-state{display:flex;align-items:center;justify-content:center}.error-message{text-align:center;color:#e74c3c}.error-message h3{margin-bottom:.5rem}.markmap-loading-overlay{position:absolute;top:10px;left:10px;z-index:10}.loading-badge{background:#3498dbe6;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;box-shadow:0 2px 8px #00000026;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.markmap-toolbar{position:absolute;top:10px;right:10px;background:#ffffffe6;border-radius:8px;padding:.5rem;box-shadow:0 2px 4px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:768px){.markmap-viewer{padding:.5rem}.markmap-container{min-height:300px}.empty-icon{font-size:3rem}.loading-text{font-size:1rem}}.custom-select{display:inline-block;position:relative}.custom-select-trigger{display:flex;align-items:center;gap:.5rem;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;outline:none;transition:color var(--transition-fast)}.custom-select-trigger:hover{color:var(--text-primary)}.custom-select-value{white-space:nowrap}.custom-select-arrow{width:10px;height:6px;transition:transform var(--transition-fast)}.custom-select.open .custom-select-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--bg-primary);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000;max-height:300px;overflow-y:auto}.custom-select-option{padding:.75rem 1rem;cursor:pointer;transition:background var(--transition-fast);color:var(--text-primary);font-size:var(--font-size-sm)}.custom-select-option:hover{background:var(--bg-hover)}.custom-select-option.selected{background:var(--bg-secondary);color:var(--accent-color);font-weight:var(--font-weight-medium)}.custom-select-dropdown::-webkit-scrollbar{width:6px}.custom-select-dropdown::-webkit-scrollbar-track{background:var(--bg-secondary)}.custom-select-dropdown::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.custom-select-dropdown::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.animated-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none;background:transparent}.squares-layer{position:absolute;top:0;left:0;width:100%;height:100%}.square{position:absolute;border:2px solid rgba(0,122,204,.15);border-radius:12px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:rotateAndMove 25s infinite ease-in-out}.square-1{width:300px;height:300px;top:10%;left:5%;animation-delay:0s;animation-duration:25s;border-color:#007acc33}.square-2{width:250px;height:250px;top:50%;right:10%;animation-delay:-8s;animation-duration:30s;border-color:#6496ff26}.square-3{width:200px;height:200px;bottom:15%;left:15%;animation-delay:-16s;animation-duration:35s;border-color:#3264c82e}.square-4{width:280px;height:280px;top:8%;right:8%;animation-delay:-24s;animation-duration:28s;border-color:#5082dc29}@keyframes rotateAndMove{0%,to{transform:rotate(0) scale(1) translateY(0);border-radius:12px}25%{transform:rotate(90deg) scale(1.1) translateY(-20px);border-radius:30px}50%{transform:rotate(180deg) scale(.9) translateY(0);border-radius:50%}75%{transform:rotate(270deg) scale(1.15) translateY(20px);border-radius:20px}}.md-editor-body{flex:1;display:flex;overflow:hidden;background:#1a1a1a}[data-theme=light] .md-editor-body{background:#f9fafb}.editor-line-numbers{padding:var(--space-4) var(--space-3);background:#0d0d0d;color:#6e7681;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-primary);white-space:pre;overflow-y:auto;overflow-x:hidden;min-width:50px;scrollbar-width:none;-ms-overflow-style:none}.generate-page{height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);position:relative}.settings-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.settings-modal{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:760px;max-height:80vh;display:flex;flex-direction:column}.settings-modal.rag-settings-modal{height:64vh;max-height:64vh}.ols-debug-modal{max-width:980px}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-primary)}.settings-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-content{flex:1;min-height:0;padding:var(--space-6);overflow-y:auto}.setting-group{margin-bottom:var(--space-6)}.setting-group label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.prompt-editor-layer{position:relative;min-height:280px;max-height:420px;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:#1a1a1a;overflow:hidden}[data-theme=light] .prompt-editor-layer{background:#f9fafb}.prompt-highlight-overlay{position:absolute;inset:0;padding:var(--space-4);font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-y:auto;overflow-x:hidden;pointer-events:none;color:#e6edf3}[data-theme=light] .prompt-highlight-overlay{color:#111827}.prompt-textarea{width:100%;height:100%;min-height:280px;padding:var(--space-4);border:none;border-radius:0;background:transparent;color:transparent;caret-color:#e6edf3;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:hidden;overflow-y:auto;resize:vertical;box-sizing:border-box;position:relative;z-index:1}.prompt-textarea:focus{outline:none}.prompt-editor-layer:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f62e}[data-theme=light] .prompt-textarea{background:transparent;color:transparent;caret-color:#111827}.prompt-textarea::placeholder{color:#6e7681}[data-theme=light] .prompt-textarea::placeholder{color:#9ca3af}.slider{width:100%;height:4px;border-radius:var(--radius-full);background:var(--bg-tertiary);outline:none;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:none}.hint{display:block;margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary)}.ols-debug-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2) var(--space-4);padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);font-size:var(--font-size-sm);color:var(--text-secondary)}.ols-debug-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ols-debug-block-header label{margin-bottom:0}.ols-debug-block{margin:var(--space-2) 0 0;max-height:260px;overflow:auto;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:#0f172a;color:#dbeafe;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}[data-theme=light] .ols-debug-block{background:#f8fafc;color:#0f172a}@media(max-width:900px){.ols-debug-summary-grid{grid-template-columns:1fr}}.prompt-reset-btn{margin-top:var(--space-3);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.prompt-reset-btn:hover{background:var(--bg-hover);border-color:var(--color-primary)}.placeholder-token{color:#fb923c;font-weight:600}[data-theme=light] .placeholder-token{color:#ea580c}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);position:relative;z-index:1}.welcome-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.8;display:flex;align-items:center;justify-content:center}.welcome-icon svg{width:4rem;height:4rem;stroke:var(--text-primary)}.welcome-screen h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.welcome-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-8)}.provider-buttons{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center}.provider-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1.5px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.provider-btn:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--text-primary)}.provider-btn.active{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.provider-btn.settings-trigger{border-style:dashed}.provider-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.provider-btn:disabled:hover{background:var(--bg-primary);border-color:var(--border-primary);color:var(--text-secondary)}.provider-icon{font-size:var(--font-size-base);display:flex;align-items:center;justify-content:center}.provider-icon svg{width:16px;height:16px}.prompt-input-container{width:100%;max-width:650px;max-height:200px;margin-bottom:var(--space-4)}.claude-input-wrapper{position:relative;display:flex;flex-direction:column;align-items:flex-start;border:2px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-4);padding-bottom:var(--space-6);background:var(--bg-primary);transition:border-color var(--transition-fast)}.claude-input-wrapper:focus-within{border-color:var(--color-primary)}.main-prompt-input{width:100%;padding:0;border:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-lg);outline:none;line-height:1.5;align-self:stretch;min-height:44px}.main-prompt-input::placeholder{color:var(--text-tertiary)}.submit-arrow-button{position:absolute;top:10px;right:15px;background:var(--color-primary);border:none;color:#fff;cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;border-radius:25%;transition:all var(--transition-fast);width:36px;height:36px}.submit-arrow-button:hover{opacity:.85}.submit-arrow-button:active{transform:scale(.95)}.submit-arrow-button svg{width:20px;height:20px;stroke-width:2.5}.model-selector-subtle.custom-select{position:absolute;bottom:var(--space-3);right:var(--space-4)}.model-selector-subtle:hover{color:var(--text-primary)}.result-screen{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;z-index:1}.result-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-primary);position:relative;z-index:50;background:var(--bg-primary)}.result-header-title{display:flex;align-items:center;gap:var(--space-3)}.result-header h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.unsaved-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:#ffc10726;color:#ffc107;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;border:1px solid rgba(255,193,7,.3)}.saved-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:#4caf5026;color:#4caf50;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;border:1px solid rgba(76,175,80,.3)}.header-actions{display:flex;gap:var(--space-3);align-items:center;position:relative;z-index:51}.toggle-markdown-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.toggle-markdown-btn:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.toggle-markdown-btn svg{width:16px;height:16px}.save-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s}.save-btn:hover{background:var(--bg-secondary);border-color:var(--color-primary);color:var(--color-primary)}.save-btn svg{width:16px;height:16px}.markmap-container-page{flex:1;display:flex;overflow:hidden;background:var(--bg-secondary);min-height:0}.markdown-editor-container{flex:1;display:flex;padding:var(--space-4)}.markdown-editor{flex:1;padding:var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-family:Courier New,monospace;font-size:var(--font-size-sm);line-height:1.6;resize:none;outline:none}.loading-container{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.loading-spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8)}.loading-spinner-wrapper .spinner{width:48px;height:48px;border:4px solid var(--border-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.loading-bar{width:200px;height:4px;background:var(--border-primary);border-radius:2px;overflow:hidden}.loading-bar-fill{height:100%;background:var(--color-primary);animation:loading-progress 10s ease-in-out infinite}@keyframes loading-progress{0%{width:0%}50%{width:70%}to{width:100%}}.markdown-editor:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.floating-editor-panel{position:absolute;right:0;top:0;bottom:0;width:500px;background:var(--bg-primary);border-left:1px solid var(--border-primary);display:flex;flex-direction:column;z-index:10;box-shadow:-4px 0 12px #0000004d;animation:slideInFromRight .3s ease-out}.floating-editor-panel .resize-handle{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:ew-resize;background:transparent;z-index:1}.floating-editor-panel .resize-handle:hover{background:var(--color-primary)}.floating-editor-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.editor-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.editor-title svg{color:var(--color-primary)}.editor-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.editor-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-editor-content{flex:1;display:flex;overflow:hidden;background:#1a1a1a}[data-theme=light] .floating-editor-content{background:#f9fafb}.editor-container{flex:1;position:relative;overflow:hidden}.editor-highlight-overlay{position:absolute;inset:0;padding:var(--space-4);font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre;overflow-wrap:normal;word-break:normal;overflow-y:auto;overflow-x:hidden;pointer-events:none;color:#e6edf3}[data-theme=light] .editor-highlight-overlay{color:#111827}.editor-highlight-overlay::-webkit-scrollbar{display:none}.editor-line-numbers{padding:var(--space-4) var(--space-3);background:#0d0d0d;color:#6e7681;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-primary);white-space:pre;overflow-y:scroll;overflow-x:hidden;min-width:50px;scrollbar-width:none;-ms-overflow-style:none}[data-theme=light] .editor-line-numbers{background:#f3f4f6;color:#6b7280}.editor-line-numbers::-webkit-scrollbar{display:none;width:0;height:0}.floating-markdown-editor{position:absolute;inset:0;padding:var(--space-4);background:transparent;color:transparent;caret-color:#e6edf3;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;border:none;outline:none;resize:none;overflow-y:auto;overflow-x:hidden;white-space:pre;overflow-wrap:normal;word-break:normal;z-index:1}[data-theme=light] .floating-markdown-editor{caret-color:#111827}.floating-markdown-editor::selection{background:#3b82f64d}.floating-markdown-editor::placeholder{color:#6e7681}[data-theme=light] .floating-markdown-editor::placeholder{color:#9ca3af}.md-block-comment{color:#6e7681;opacity:.9}.md-markmap-comment{opacity:.9}.md-heading{font-weight:600}.md-heading-marker{font-weight:800}.md-heading-text{font-weight:600}.md-h1{color:#ff6b6b;font-weight:700}.md-h2{color:#4ecdc4;font-weight:700}.md-h3{color:#45b7d1;font-weight:700}.md-h4{color:#96ceb4;font-weight:700}.md-h5{color:#dda15e;font-weight:700}.md-h6{color:#bc6c25;font-weight:700}.md-list-marker{font-weight:700}.md-dynamic-list{color:inherit}.md-list-level-0{color:#ffcb99!important}.md-list-level-1{color:#ffb380!important}.md-list-level-2{color:#f96!important}.md-list-level-3{color:#f86!important}.md-list-level-4{color:#e8947a!important}.md-list-level-5{color:#d4a3b8!important}.md-bold{color:#ffa657;font-weight:700}.md-italic{color:#a5d6ff;font-style:italic}.md-code{color:#a5d6ff;background:#6e768133;border-radius:3px;padding:2px 4px}.md-code-fence{color:#8b949e}.md-link{color:#58a6ff;text-decoration:underline}.md-hr{color:#3d444d}.md-comment{color:#7ee787;font-style:italic}[data-theme=light] .md-block-comment{color:#6b7280}[data-theme=light] .md-h1{color:#dc2626}[data-theme=light] .md-h2{color:#0891b2}[data-theme=light] .md-h3{color:#2563eb}[data-theme=light] .md-h4{color:#059669}[data-theme=light] .md-h5{color:#d97706}[data-theme=light] .md-h6{color:#92400e}[data-theme=light] .md-list-level-0{color:#ea580c!important}[data-theme=light] .md-list-level-1{color:#dc2626!important}[data-theme=light] .md-list-level-2{color:#c2410c!important}[data-theme=light] .md-list-level-3{color:#b91c1c!important}[data-theme=light] .md-list-level-4{color:#991b1b!important}[data-theme=light] .md-list-level-5{color:#7c2d12!important}[data-theme=light] .md-bold{color:#d97706}[data-theme=light] .md-italic{color:#2563eb}[data-theme=light] .md-code{color:#7c3aed;background:#8b5cf61a}[data-theme=light] .md-code-fence{color:#6b7280}[data-theme=light] .md-link{color:#2563eb}[data-theme=light] .md-hr{color:#d1d5db}[data-theme=light] .md-comment{color:#059669}.floating-markdown-editor::-webkit-scrollbar{width:12px}.floating-markdown-editor::-webkit-scrollbar-track{background:#0d0d0d}[data-theme=light] .floating-markdown-editor::-webkit-scrollbar-track{background:#f3f4f6}.floating-markdown-editor::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:6px}[data-theme=light] .floating-markdown-editor::-webkit-scrollbar-thumb{background:#d1d5db}.floating-markdown-editor::-webkit-scrollbar-thumb:hover{background:#4a4a4a}[data-theme=light] .floating-markdown-editor::-webkit-scrollbar-thumb:hover{background:#9ca3af}.new-generation-btn{position:fixed;bottom:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-full);background:var(--color-primary);color:var(--text-inverse);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;box-shadow:var(--shadow-lg);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:5}.new-generation-btn.with-editor{width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.new-generation-btn:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:0 12px 20px -5px #00000026}@media(max-width:768px){.welcome-screen{padding:var(--space-6)}.provider-buttons{width:100%}.provider-btn{flex:1;min-width:100px;justify-content:center}.prompt-input-container{max-width:100%}.input-controls{flex-direction:column;gap:var(--space-2);width:100%}.model-selector-inline{width:100%}.generate-btn-main{width:100%;height:48px}.settings-modal{width:95%;max-height:90vh}.settings-modal.rag-settings-modal{height:72vh;max-height:72vh}.floating-editor-panel{width:100%;left:0;right:0}.editor-line-numbers{min-width:40px;padding:var(--space-3) var(--space-2)}.floating-markdown-editor{font-size:12px}}.custom-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-dialog{background:#1e1e1e;border:1px solid #3a3a3a;border-radius:8px;min-width:350px;max-width:500px;box-shadow:0 10px 40px #0006;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.custom-dialog-header{padding:20px 24px 16px;border-bottom:1px solid #3a3a3a}.custom-dialog-header h3{margin:0;font-size:18px;font-weight:600;color:#fff}.custom-dialog-body{padding:20px 24px}.custom-dialog-body p{margin:0;font-size:14px;line-height:1.6;color:#ccc;white-space:pre-wrap}.custom-dialog-actions{padding:16px 24px 20px;display:flex;gap:12px;justify-content:flex-end}.dialog-btn{padding:8px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-btn-primary{background:#007acc;color:#fff}.dialog-btn-primary:hover{background:#005a9e}.dialog-btn-secondary{background:transparent;color:#ccc;border:1px solid #3a3a3a}.dialog-btn-secondary:hover{background:#2a2a2a;border-color:#4a4a4a}.library-page{height:100vh;display:flex;background-color:var(--bg-primary)}.library-sidebar{width:320px;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;background-color:var(--bg-secondary)}.library-header{padding:var(--space-6);border-bottom:1px solid var(--border-primary)}.library-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.filters{padding:var(--space-4);border-bottom:1px solid var(--border-primary)}.search-bar{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.search-bar input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm)}.search-bar input:focus{outline:none;border-color:var(--color-primary)}.search-bar button{padding:var(--space-2) var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.search-bar button:hover{background:var(--bg-hover);border-color:var(--border-hover)}.status-filters{display:flex;gap:var(--space-2)}.filter-btn{flex:1;padding:var(--space-2);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.filter-btn.active{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.markmap-list{flex:1;overflow-y:auto;padding:var(--space-4)}.markmap-card{padding:var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast)}.markmap-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.markmap-card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.library-context-menu{position:fixed;z-index:2000;min-width:180px;padding:var(--space-2);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-secondary);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-1)}.context-menu-item{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:var(--font-size-sm);text-align:left;padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-fast)}.context-menu-item:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.context-menu-item:disabled{opacity:.5;cursor:not-allowed}.context-menu-item.danger{color:#f87171}.context-menu-item.danger:hover:not(:disabled){background:#ef444424;border-color:#ef444459}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.card-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.status-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-badge.pending{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge.validated{background:var(--color-success);color:var(--text-inverse)}.card-meta{display:flex;gap:var(--space-3);margin-bottom:var(--space-2)}.meta-item{font-size:var(--font-size-xs);color:var(--text-tertiary)}.card-footer{font-size:var(--font-size-xs);color:var(--text-secondary)}.loading,.empty{padding:var(--space-8);text-align:center;color:var(--text-tertiary)}.library-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6);border-bottom:1px solid var(--border-primary)}.header-left{display:flex;align-items:center;gap:var(--space-4)}.viewer-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.status-badge-large{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase}.viewer-content{flex:1;display:flex;position:relative;overflow:hidden;background-color:var(--bg-primary)}.viewer-markmap{flex:1;overflow:hidden;min-width:0}.library-editor-panel{position:absolute;right:0;top:0;bottom:0;display:flex;flex-direction:column;width:500px;background:var(--bg-secondary);border-left:1px solid var(--border-primary);overflow:hidden;z-index:10;box-shadow:-4px 0 12px #0000004d;animation:slideInFromRight .3s ease-out}.library-editor-resize-handle{position:absolute;left:0;top:0;bottom:0;width:8px;cursor:ew-resize;background:transparent;z-index:20;-webkit-user-select:none;user-select:none;touch-action:none}.library-editor-resize-handle:hover,.library-editor-resize-handle.resizing{background:var(--color-primary)}.viewer-content.is-resizing,.viewer-content.is-resizing *{-webkit-user-select:none!important;user-select:none!important}.viewer-content.is-resizing .viewer-markmap{pointer-events:none}.library-editor-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-primary);background:var(--bg-tertiary);gap:var(--space-3)}.library-editor-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.library-editor-status.unsaved{color:#f59e0b}.library-editor-status.saved{color:var(--text-tertiary)}.library-editor-actions{display:flex;gap:var(--space-2)}.library-editor-save-btn{padding:var(--space-1) var(--space-3);border:1px solid rgba(34,197,94,.35);border-radius:var(--radius-sm);background:#22c55e24;color:#4ade80;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.library-editor-save-btn:hover:not(:disabled){background:#22c55e3d;border-color:#22c55e8c}.library-editor-save-btn:disabled{opacity:.5;cursor:default}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.status-badge-large.pending{background:var(--bg-tertiary);color:var(--text-secondary)}.status-badge-large.validated{background:var(--color-success);color:var(--text-inverse)}.header-actions{display:flex;gap:var(--space-3)}.edit-btn,.validate-btn,.delete-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.edit-btn{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-primary)}.edit-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.edit-btn:disabled{opacity:.55;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-tertiary);border-color:var(--border-primary)}.validate-btn{background:#22c55e24;color:#4ade80;border-color:#22c55e59}.delete-btn{background:#ef444424;color:#f87171;border-color:#ef444459}.validate-btn:hover{background:#22c55e38;border-color:#22c55e8c}.delete-btn:hover{background:#ef444438;border-color:#ef44448c}.viewer-info{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-primary);background-color:var(--bg-secondary);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.info-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.info-label{font-weight:var(--font-weight-medium);color:var(--text-secondary)}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-tertiary)}.no-selection-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.5}.no-selection p{font-size:var(--font-size-lg)}.dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);max-width:400px;width:90%;box-shadow:var(--shadow-lg)}.dialog h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.dialog p{font-size:var(--font-size-base);color:var(--text-secondary);margin-bottom:var(--space-6)}.name-input{width:100%;padding:var(--space-3);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-base);margin-bottom:var(--space-6)}.name-input:focus{outline:none;border-color:var(--color-primary)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.dialog-actions button{padding:var(--space-2) var(--space-6);border:1px solid var(--border-primary);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.dialog-actions button:hover{background:var(--bg-hover);border-color:var(--border-hover)}.dialog-actions button.primary{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.dialog-actions button.primary:hover:not(:disabled){background:var(--color-primary-hover)}.dialog-actions button:disabled{opacity:.5;cursor:not-allowed}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end;z-index:2000;pointer-events:none}.toast{padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#fff;box-shadow:var(--shadow-lg);white-space:nowrap;animation:toast-slide-in .25s ease;pointer-events:auto}.toast-success,.toast-info{background:var(--accent-color)}.toast-error{background:#d95f5f}@keyframes toast-slide-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}.app-container{display:flex;height:100vh;overflow:hidden;background-color:var(--bg-app)}.main-content{flex:1;overflow:hidden;display:flex;flex-direction:column}:root{--color-primary: #4a90e2;--color-primary-hover: #5a9ff0;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--bg-primary: #1a1d23;--bg-secondary: #232732;--bg-tertiary: #2d3139;--bg-hover: #2d3139;--bg-active: #3a3f4b;--bg-app: #14161b;--text-primary: #e8eaed;--text-secondary: #9ba1a6;--text-tertiary: #6b7280;--text-inverse: #1a1d23;--text-on-accent: #ffffff;--border-primary: #3a3f4b;--border-secondary: #4a5159;--border-hover: #5a5f69;--border-color: #3a3f4b;--accent-color: #4a90e2;--accent-hover: #5a9ff0;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "Menlo", "Monaco", "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--sidebar-width: 260px;--header-height: 60px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}[data-theme=light]{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #f3f4f6;--bg-active: #e5e7eb;--bg-app: #ffffff;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--text-inverse: #ffffff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-hover: #9ca3af;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}code{font-family:var(--font-mono)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}
