@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--font:"Inter", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius:10px;--radius-sm:6px;--radius-lg:14px;--radius-xl:18px;--transition:.18s ease;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 10px 30px #0000001f, 0 4px 8px #0000000f;--shadow-xl:0 20px 50px #0000002e}[data-theme=dark]{--bg:#0a0a0f;--bg-solid:#0a0a0f;--surface:#111118;--surface-2:#16161f;--surface-3:#1c1c28;--surface-hover:#1f1f2d;--border:#25253a;--border-strong:#35355a;--text:#e4e4ed;--text-soft:#a0a0b8;--text-faint:#5a5a78;--accent:#818cf8;--accent-hover:#6366f1;--accent-soft:#6366f126;--accent-glow:#6366f140;--danger:#f43f5e;--danger-soft:#f43f5e26;--success:#10b981;--success-soft:#10b98126;--warning:#f59e0b;--warning-soft:#f59e0b26;--selection:#6366f14d;--selection-match:#6366f126;--active-line:#6366f10f;--canvas-bg:#0d0d14;--canvas-dot:#ffffff0f;--canvas-grid:#ffffff0a;--scrollbar:#ffffff1a;--scrollbar-hover:#ffffff2e;--syn-heading:#c084fc;--syn-keyword:#818cf8;--syn-operator:#22d3ee;--syn-string:#34d399;--syn-label:#fbbf24;--syn-comment:#52526e;--syn-number:#fb923c;--syn-atom:#f472b6;--syn-variable:#e4e4ed;--syn-property:#38bdf8;--syn-class:#a78bfa;--syn-meta:#8b8ba8;--syn-bracket:#7a7a98;--editor-font-size:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f8f9fc;--bg-solid:#f8f9fc;--surface:#fff;--surface-2:#f0f1f5;--surface-3:#e8e9ef;--surface-hover:#eeeef5;--border:#d8d9e4;--border-strong:#b8b9c8;--text:#1a1a2e;--text-soft:#4a4a6a;--text-faint:#8a8aa4;--accent:#6366f1;--accent-hover:#4f46e5;--accent-soft:#6366f11a;--accent-glow:#6366f126;--danger:#e11d48;--danger-soft:#e11d4814;--success:#059669;--success-soft:#05966914;--warning:#d97706;--warning-soft:#d9770614;--selection:#6366f133;--selection-match:#6366f11a;--active-line:#6366f10a;--canvas-bg:#f0f1f5;--canvas-dot:#00000014;--canvas-grid:#0000000d;--scrollbar:#0000001f;--scrollbar-hover:#0003;--syn-heading:#7c3aed;--syn-keyword:#4f46e5;--syn-operator:#0891b2;--syn-string:#059669;--syn-label:#b45309;--syn-comment:#9ca3af;--syn-number:#ea580c;--syn-atom:#db2777;--syn-variable:#1a1a2e;--syn-property:#0284c7;--syn-class:#7c3aed;--syn-meta:#6b7280;--syn-bracket:#9ca3af;--editor-font-size:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::selection{background:var(--selection)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}#app{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:280px;min-width:280px;max-width:400px;height:100%;transition:margin-left var(--transition), width var(--transition);z-index:30;flex-direction:column;display:flex;overflow:hidden}.sidebar.collapsed{width:280px;margin-left:-280px}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.sidebar-header .logo{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:800;display:flex}.sidebar-header h1{letter-spacing:-.02em;white-space:nowrap;flex:1;font-size:15px;font-weight:700}.sidebar-header h1 span{color:var(--text-soft);margin-left:6px;font-size:12px;font-weight:500}.sidebar-tabs{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:2px;padding:0 4px;display:grid}.sidebar-tab{appearance:none;color:var(--text-faint);cursor:pointer;transition:color var(--transition), border-color var(--transition);white-space:nowrap;text-align:center;text-overflow:ellipsis;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 4px;font-family:inherit;font-size:12px;font-weight:600;overflow:hidden}.sidebar-tab:hover{color:var(--text-soft)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-body{flex:1;overflow:hidden auto}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.sidebar-panel{padding:10px 14px;display:none}.sidebar-panel.active{display:block}.doc-list{flex-direction:column;gap:2px;list-style:none;display:flex}.doc-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.doc-item:hover{background:var(--surface-hover)}.doc-item.active{background:var(--accent-soft);color:var(--accent)}.doc-item .doc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.doc-item .doc-star{opacity:0;transition:opacity var(--transition);cursor:pointer}.doc-item:hover .doc-star,.doc-item .doc-star.active{opacity:1}.doc-item .doc-star.active{color:#fbbf24}.doc-item .doc-actions{opacity:0;transition:opacity var(--transition);gap:2px;display:flex}.doc-item:hover .doc-actions{opacity:1}.template-category{margin-bottom:16px}.template-category h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:6px;font-size:11px;font-weight:700}.template-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.template-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform .12s;padding:10px;font-size:12px}.template-card:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.template-card .tc-icon{margin-bottom:4px;font-size:18px;display:block}.template-card .tc-name{font-weight:600}.template-card .tc-desc{color:var(--text-faint);margin-top:2px;font-size:11px;line-height:1.4}.style-section{margin-bottom:16px}.style-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:8px;font-size:11px;font-weight:700}.style-row{align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.style-row label{color:var(--text-soft);white-space:nowrap;flex:1;font-size:12px}.style-row select,.style-row input[type=number],.style-row input[type=range]{flex:1;min-width:0;max-width:140px}select,input[type=number]{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;color:var(--text);font-size:12px;font-family:var(--font);transition:border-color var(--transition);outline:none;padding:0 8px}select:focus,input[type=number]:focus{border-color:var(--accent)}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8aa4' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}input[type=range]{accent-color:var(--accent);cursor:pointer}input[type=color]{border:2px solid var(--border);cursor:pointer;background:var(--surface-2);border-radius:6px;width:28px;height:28px;padding:1px}.preset-grid{gap:8px;max-width:100%;margin:0 -8px;padding:0 8px 8px;display:flex;overflow-x:auto}.preset-grid::-webkit-scrollbar{height:4px}.preset-grid::-webkit-scrollbar-track{background:0 0}.preset-grid::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.preset-grid::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.preset{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;align-items:center;width:68px;padding:0;display:flex}.preset-swatch{border-radius:var(--radius-sm);border:2px solid var(--border);width:100%;height:36px;transition:border-color var(--transition), transform .12s;display:flex;position:relative;overflow:hidden}.preset:hover .preset-swatch{transform:scale(1.05)}.preset.active .preset-swatch{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.preset-swatch span{flex:1}.preset-name{text-align:center;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;width:100%;margin-top:4px;font-size:10px;overflow:hidden}.color-vars{grid-template-columns:1fr 1fr;gap:6px;display:grid}.color-var-item{color:var(--text-soft);align-items:center;gap:6px;font-size:11px;display:flex}.history-list{flex-direction:column;gap:2px;list-style:none;display:flex}.history-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.history-item:hover{background:var(--surface-hover)}.history-ts{color:var(--text-faint);font-size:11px}.history-label{color:var(--text-soft);flex:1}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;display:flex}.setting-label{color:var(--text-soft)}.toggle{flex-shrink:0;width:38px;height:22px;position:relative}.toggle input{opacity:0;width:0;height:0}.toggle .slider{background:var(--surface-3);cursor:pointer;transition:background var(--transition);border-radius:22px;position:absolute;inset:0}.toggle .slider:before{content:"";width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.slider{background:var(--accent)}.toggle input:checked+.slider:before{transform:translate(16px)}.main-area{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.toolbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;align-items:center;gap:6px;min-height:44px;padding:6px 12px;display:flex}.toolbar-group{align-items:center;gap:4px;display:flex}.toolbar-sep{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.toolbar-spacer{flex:1}.toolbar .doc-title-input{border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-weight:600;font-family:var(--font);min-width:120px;max-width:240px;transition:border-color var(--transition), background var(--transition);background:0 0;border:1px solid #0000;outline:none;padding:4px 8px}.toolbar .doc-title-input:hover{border-color:var(--border);background:var(--surface-2)}.toolbar .doc-title-input:focus{border-color:var(--accent);background:var(--surface-2)}.btn{appearance:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);height:32px;color:var(--text);font-size:12px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), transform 80ms;white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn:active{transform:scale(.97)}.icon-btn{appearance:none;border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-soft);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;display:inline-flex}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.icon-btn:active{transform:scale(.94)}.btn-icon{width:32px;padding:0;font-size:15px}.btn-sm{height:26px;padding:0 8px;font-size:11px}.btn-sm.btn-icon{width:26px;padding:0}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hover)}.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.workspace{flex:1;display:flex;position:relative;overflow:hidden}.workspace.vertical{flex-direction:column}.editor-panel{background:var(--bg);flex-direction:column;min-width:200px;min-height:200px;display:flex;overflow:hidden}.editor-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:2px;padding:0 8px;display:flex}.editor-tab{color:var(--text-faint);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-size:12px;font-weight:600}.editor-tab:hover{color:var(--text-soft)}.editor-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.editor-container{flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.editor-container .cm-editor{height:100%}.quick-insert{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;display:flex;overflow-x:auto}.quick-insert::-webkit-scrollbar{height:3px}.qi-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);font-size:11px;font-family:var(--font);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.qi-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.qi-btn .qi-icon{font-size:13px}.status-bar{background:var(--surface);border-top:1px solid var(--border);color:var(--text-faint);flex-shrink:0;align-items:center;gap:12px;min-height:24px;padding:2px 12px;font-size:11px;display:flex}.status-bar .status-item{align-items:center;gap:4px;display:flex}.status-ok{color:var(--success)}.status-err{color:var(--danger)}.resize-handle{background:var(--border);transition:background var(--transition);z-index:10;flex-shrink:0;position:relative}.resize-handle:hover,.resize-handle.dragging{background:var(--accent)}.workspace:not(.vertical)>.resize-handle{cursor:col-resize;width:4px}.workspace.vertical>.resize-handle{cursor:row-resize;height:4px}.preview-panel{flex-direction:column;flex:1;min-width:200px;min-height:200px;display:flex;position:relative;overflow:hidden}.preview-toolbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;display:flex}.preview-toolbar .zoom-text{color:var(--text-faint);text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-size:11px}.preview-canvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:1;position:relative;overflow:hidden}.preview-canvas.bg-dots{background-color:var(--canvas-bg);background-image:radial-gradient(circle, var(--canvas-dot) 1px, transparent 1px);background-size:20px 20px}.preview-canvas.bg-grid{background-color:var(--canvas-bg);background-image:linear-gradient(var(--canvas-grid) 1px, transparent 1px), linear-gradient(90deg, var(--canvas-grid) 1px, transparent 1px);background-size:20px 20px}.preview-canvas.bg-plain{background-color:var(--canvas-bg)}.preview-canvas.bg-transparent{background-color:var(--canvas-bg);background-image:linear-gradient(45deg, var(--canvas-grid) 25%, transparent 25%, transparent 75%, var(--canvas-grid) 75%), linear-gradient(45deg, var(--canvas-grid) 25%, transparent 25%, transparent 75%, var(--canvas-grid) 75%);background-position:0 0,8px 8px;background-size:16px 16px}.preview-svg-wrap{transform-origin:0 0;transition:none;position:absolute;top:0;left:0}.preview-svg-wrap svg{display:block;max-width:none!important}.preview-error{background:var(--canvas-bg);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:absolute;inset:0}.preview-error .err-icon{font-size:40px}.preview-error .err-msg{font-family:var(--mono);color:var(--danger);text-align:center;max-width:500px;font-size:13px;line-height:1.5}.preview-error .err-line{color:var(--text-faint);cursor:pointer;font-size:12px}.preview-error .err-line:hover{color:var(--accent);text-decoration:underline}.preview-empty{color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex;position:absolute;inset:0}.preview-empty .empty-icon{opacity:.4;font-size:48px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;opacity:0;visibility:hidden;background:#00000080;justify-content:center;align-items:center;transition:opacity .2s,visibility .2s;display:flex;position:fixed;inset:0}.modal-backdrop.open{opacity:1;visibility:visible}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);flex-direction:column;width:min(90vw,580px);max-height:80vh;transition:transform .2s;display:flex;overflow:hidden;transform:scale(.95)}.modal-backdrop.open .modal{transform:scale(1)}.modal-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.modal-header .modal-close{margin-left:auto}.modal-body{flex:1;padding:20px;font-size:13px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.toast-container{z-index:200;pointer-events:none;flex-direction:column-reverse;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-md);pointer-events:auto;max-width:380px;padding:10px 16px;font-size:13px;animation:.2s ease-out toast-in}.toast.success{border-color:var(--success);background:var(--success-soft)}.toast.error{border-color:var(--danger);background:var(--danger-soft)}.toast.warning{border-color:var(--warning);background:var(--warning-soft)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}.dropdown{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-lg);z-index:60;opacity:0;visibility:hidden;padding:4px;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;transform:translateY(-4px)}.dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--text);font-size:12px;font-family:var(--font);cursor:pointer;transition:background var(--transition);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:7px 12px;display:flex}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-soft)}.dropdown-sep{background:var(--border);height:1px;margin:4px 0}.dropdown-item .dd-icon{text-align:center;flex-shrink:0;width:18px}.dropdown-item .dd-shortcut{color:var(--text-faint);margin-left:auto;font-size:11px}.shortcut-table{border-collapse:collapse;width:100%}.shortcut-table td{padding:6px 0;font-size:13px}.shortcut-table td:first-child{color:var(--text-soft)}.shortcut-table td:last-child{text-align:right}kbd{background:var(--surface-3);border:1px solid var(--border);font-size:11px;font-family:var(--mono);text-align:center;border-radius:4px;min-width:22px;padding:2px 6px;display:inline-block}.share-links{flex-direction:column;gap:10px;display:flex}.share-link-row{align-items:center;gap:8px;display:flex}.share-link-row label{color:var(--text-soft);flex-shrink:0;min-width:90px;font-size:12px}.share-link-row input{height:32px;font-size:12px;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:0 10px}.share-link-row input:focus{border-color:var(--accent)}.workspace.mode-editor .preview-panel,.workspace.mode-editor .resize-handle,.workspace.mode-preview .editor-panel,.workspace.mode-preview .resize-handle{display:none}@media (width<=768px){.sidebar{z-index:50;box-shadow:var(--shadow-xl);position:fixed;top:0;left:0}.sidebar.collapsed{margin-left:-280px}.toolbar .hide-mobile{display:none}.toolbar{flex-wrap:wrap;gap:8px;height:auto;padding-top:8px;padding-bottom:8px}.toolbar-spacer{flex-basis:100%;height:0;margin:0;display:block}.toolbar .dropdown-wrap .dropdown{left:0;right:auto}.doc-title-input{flex:1;min-width:100px;max-width:none}.workspace{flex-direction:column!important}.editor-panel{border-bottom:1px solid var(--border);min-height:100px;border-right:none!important}.preview-panel{min-height:100px}.workspace>.resize-handle{cursor:row-resize!important;width:100%!important;height:4px!important}.status-bar{white-space:nowrap;gap:8px;padding:4px 8px;overflow-x:auto}.status-bar::-webkit-scrollbar{display:none}}.doc-thumb{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;flex-shrink:0;width:32px;height:24px;overflow:hidden}.doc-thumb svg{width:100%;height:100%}.fade-in{animation:.3s ease-out fade-in}@keyframes fade-in{0%{opacity:0}}.flex-1{flex:1}.hint{color:var(--text-faint);margin:8px 0;font-size:11.5px;line-height:1.5}.list-empty{color:var(--text-faint);text-align:center;padding:24px 8px;font-size:12px;list-style:none}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing iframe,body.resizing .preview-canvas{pointer-events:none}.sidebar-tab{text-align:center;flex:1;padding-left:2px!important;padding-right:2px!important;font-size:11.5px!important}.btn{gap:6px}.btn-block{justify-content:center;width:100%;height:34px}.btn-ghost-border{color:var(--text-soft);background:0 0;border-style:dashed;margin-top:4px}.btn-primary{background:var(--accent);box-shadow:0 2px 10px -2px var(--accent-glow);border-color:#0000}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 4px 16px -2px var(--accent-glow);border-color:#0000}.link-btn{color:var(--accent);font:inherit;cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border:none;margin-left:auto;font-size:11px}.link-btn:disabled{color:var(--text-faint);opacity:.5;cursor:default}.icon-btn.sm{width:24px;height:24px;font-size:14px}.icon-btn.danger:hover{color:var(--danger);background:var(--danger-soft)}.search-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);height:32px;color:var(--text-faint);transition:border-color var(--transition), box-shadow var(--transition);align-items:center;gap:8px;margin:10px 0;padding:0 10px;display:flex}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-box input{min-width:0;color:var(--text);font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:12.5px}.panel-subtitle{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:6px;margin:4px 2px 6px;font-size:10.5px;font-weight:700;display:flex}.count{background:var(--surface-3);color:var(--text-soft);letter-spacing:0;border-radius:999px;padding:0 6px;font-size:10px}.style-row.compact{margin-bottom:12px}.doc-item{align-items:center;gap:10px;position:relative}.doc-item.selected{background:var(--surface-hover)}.doc-check{cursor:pointer;opacity:0;transition:opacity var(--transition);margin:0}.doc-item:hover .doc-check,.doc-item.selected .doc-check,.doc-check:checked{opacity:1}.doc-icon{background:var(--surface-3);width:28px;height:28px;color:var(--text-soft);border-radius:7px;flex-shrink:0;place-items:center;font-size:13px;display:grid}.doc-item.active .doc-icon{background:var(--accent);color:#fff}.doc-meta{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.doc-meta .doc-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.doc-sub{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.doc-item .doc-star{color:var(--text-faint);background:0 0;border:none;padding:2px;font-size:13px}.doc-item .doc-actions .icon-btn{width:22px;height:22px;font-size:12px}.preset{cursor:pointer;transition:border-color var(--transition), transform var(--transition);background:0 0;border:1.5px solid #0000;border-radius:8px;flex-direction:column;gap:4px;padding:4px;display:flex}.preset:hover{border-color:var(--border-strong);transform:translateY(-1px)}.preset.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.preset .preset-swatch{border:1px solid var(--border);aspect-ratio:auto;border-radius:5px;height:26px;padding:0;display:flex;overflow:hidden}.preset .preset-swatch span{flex:1}.preset .preset-name{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:10px;overflow:hidden}.style-section h3{align-items:center;display:flex}.range-val{color:var(--text-soft);text-align:right;font-variant-numeric:tabular-nums;min-width:34px;font-size:11px}.color-var-item{color:var(--text-soft);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:3px;font-size:11.5px;display:flex}.color-var-item:hover{background:var(--surface-hover)}.color-var-item.custom span:after{content:" •";color:var(--accent)}select:disabled{opacity:.45;cursor:not-allowed}.history-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.history-item .icon-btn{opacity:0;width:22px;height:22px;font-size:11px}.history-item:hover .icon-btn{opacity:1}.history-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px var(--accent-soft);border-radius:50%;flex-shrink:0}.history-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.history-label{color:var(--text);font-size:12.5px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.segmented button{appearance:none;width:30px;height:24px;color:var(--text-faint);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;place-items:center;margin:0;padding:0;font-family:inherit;display:grid}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}[data-theme=dark] .segmented button.active{background:var(--surface-3)}#btn-open-sidebar.active{color:var(--accent)}.dropdown-wrap{position:relative}.dropdown-wrap .dropdown{min-width:250px;top:calc(100% + 6px);right:0}.dropdown-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:6px 12px 2px;font-size:10px;font-weight:700}.dropdown-check{color:var(--text-soft);cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:11.5px;display:flex}.dropdown-check input{accent-color:var(--accent)}.panel-tabs{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:2px;min-height:36px;padding:0 8px;display:flex}.editor-tab{align-items:center;gap:6px;padding:9px 12px;display:inline-flex}.panel-hint{color:var(--text-faint);padding-right:4px;font-size:10.5px}.qi-label{color:var(--text-faint);white-space:nowrap;margin-right:4px;font-size:10.5px}.workspace.mode-editor .editor-panel{flex:auto!important}.zoom-group{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;align-items:center;display:inline-flex}.zoom-group .zoom-text{color:var(--text-soft);text-align:center;font-variant-numeric:tabular-nums;min-width:44px;font-size:11px}.select-sm{height:26px;padding:0 22px 0 8px;font-size:11px}.render-indicator{border:2px solid var(--accent-soft);border-top-color:var(--accent);opacity:0;border-radius:50%;width:14px;height:14px;margin-left:6px;transition:opacity .15s}.render-indicator.active{opacity:1;animation:.7s linear infinite spin}.theme-overlay{z-index:99999;background:var(--surface);opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:fixed;inset:0}.theme-overlay.active{opacity:1;pointer-events:auto}.theme-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:16px;animation:.7s linear infinite spin}.theme-loading-text{color:var(--text-soft);font-size:14px;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}.preview-panel:fullscreen{background:var(--bg)}.preview-canvas.diagram-light{--canvas-bg:#f7f8fb;--canvas-dot:#0f172a1c;--canvas-grid:#0f172a0f}.preview-canvas.diagram-dark{--canvas-bg:#0f1017;--canvas-dot:#ffffff12;--canvas-grid:#ffffff0b}.preview-canvas.panning{cursor:grabbing}.preview-canvas:active{cursor:grab}.preview-svg-wrap{transition:opacity .2s,filter .2s}.preview-canvas.has-error .preview-svg-wrap{opacity:.25;filter:grayscale()}.preview-error{background:var(--surface);border:1px solid var(--danger);border-radius:var(--radius);box-shadow:var(--shadow-lg), 0 0 0 4px var(--danger-soft);cursor:default;justify-content:flex-start;align-items:stretch;gap:6px;max-height:45%;padding:12px 14px;animation:.2s ease-out fade-in;inset:auto 16px 16px}.err-head{color:var(--danger);align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:flex}.preview-error .err-icon{background:var(--danger);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;display:grid}.preview-error .err-msg{text-align:left;white-space:pre-wrap;word-break:break-word;max-width:none;color:var(--text-soft);margin:0;font-size:11.5px;overflow:auto}.preview-error .err-line{background:var(--danger-soft);color:var(--danger);font:inherit;border:none;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:11.5px;font-weight:600}.preview-error .err-line:hover{filter:brightness(1.15);color:var(--danger);text-decoration:none}.dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-ok{background:var(--success);box-shadow:0 0 6px var(--success)}.dot-warn{background:var(--warning)}.dot-err{background:var(--danger);box-shadow:0 0 6px var(--danger)}.status-warn{color:var(--warning)}.type-pill{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 8px;font-weight:600}.share-row{grid-template-columns:130px 1fr;align-items:center;gap:12px;display:grid}.share-label{flex-direction:column;font-size:12.5px;font-weight:600;display:flex}.share-label small{color:var(--text-faint);margin-top:1px;font-size:10.5px;font-weight:400}.share-input{gap:6px;display:flex}.share-input input{min-width:0;height:30px;font:11.5px var(--mono);color:var(--text-soft);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;flex:1;padding:0 10px}.share-input input:focus{border-color:var(--accent)}.share-input .btn{justify-content:center;min-width:76px;height:30px}.setting-value{color:var(--text-faint);font-size:11.5px}.setting-row input[type=number]{width:90px}.shortcut-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);padding:14px 0 6px;font-size:10.5px}.shortcut-table tr:first-child th{padding-top:0}.shortcut-table kbd+kbd{margin-left:3px}.kbd-or{color:var(--text-faint);margin:0 4px}.drop-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;pointer-events:none;background:#0a0a148c;place-items:center;transition:opacity .15s,visibility .15s;display:grid;position:fixed;inset:0}body.dragging-file .drop-overlay{opacity:1;visibility:visible}.drop-card{border-radius:var(--radius-xl);border:2px dashed var(--accent);background:var(--surface);color:var(--text);box-shadow:var(--shadow-xl);flex-direction:column;align-items:center;gap:8px;padding:36px 56px;font-weight:600;display:flex}.drop-card small{color:var(--text-faint);font-weight:400}.drop-icon{color:var(--accent);font-size:34px}.toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--surface-2) 88%, transparent)}.toast.success{background:color-mix(in srgb, var(--surface-2) 80%, var(--success))}.toast.error{background:color-mix(in srgb, var(--surface-2) 80%, var(--danger))}.toast.warning{background:color-mix(in srgb, var(--surface-2) 80%, var(--warning))}@media (width<=768px){.hide-mobile,.panel-hint{display:none!important}.share-row{grid-template-columns:1fr;gap:4px}}
