:root,[data-theme=light]{--bg:#f7f7f5;--bg-sidebar:#efefec;--bg-elevated:#fff;--bg-hover:#0000000b;--bg-ribbon:#e9e9e5;--bg-tabs:#f1f1ee;--bg-status:#efefec;--bg-graph:#f4f4f1;--border:#00000014;--text:#222;--text-muted:#666;--text-faint:#8a8a8a;--accent:#5a8f6a;--accent-strong:#4a7c59;--accent-2:#3b7fc4;--accent-soft:#5a8f6a24;--danger:#c44b45;--danger-bg:#f8e8e7;--danger-border:#e8b4b1;--danger-text:#8a2f2b;--success:#3d8f55;--warning:#b3861a;--shadow:0 12px 40px #00000014;--modal-backdrop:#14141247;--code-bg:#0000000d;--pre-bg:#00000009;--connect-grad-1:#5a8f6a2e;--connect-grad-2:#3b7fc41a;--connect-base:linear-gradient(160deg, #f7f7f5 0%, #eef2ef 45%, #f5f6f8 100%);--grid-line:#0000000a;--cta-grad:linear-gradient(180deg, #5a8f6a 0%, #4a7c59 100%);--cta-shadow:0 10px 28px #5a8f6a38;--scrollbar:#00000024;--focus-ring:#5a8f6a8c;--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#1e1e24;--bg-sidebar:#19191f;--bg-elevated:#24242c;--bg-hover:#ffffff0d;--bg-ribbon:#15141a;--bg-tabs:#18171e;--bg-status:#15141a;--bg-graph:#15141a;--border:#ffffff14;--text:#dcddde;--text-muted:#a0a0ab;--text-faint:#6f6f7b;--accent:#7f6df2;--accent-strong:#6a5ae0;--accent-2:#6cb6ff;--accent-soft:#7f6df22e;--danger:#ff7b72;--danger-bg:#3a1d1d;--danger-border:#ff7b72;--danger-text:#ffc1bc;--success:#3fb950;--warning:#e3b341;--shadow:0 24px 60px #00000073;--modal-backdrop:#08080c8c;--code-bg:#ffffff0f;--pre-bg:#00000047;--connect-grad-1:#7f6df238;--connect-grad-2:#3884ff1f;--connect-base:linear-gradient(160deg, #141218 0%, #1b1a22 45%, #121018 100%);--grid-line:#ffffff08;--cta-grad:linear-gradient(180deg, #7f6df2 0%, #6a5ae0 100%);--cta-shadow:0 10px 30px #7f6df247;--scrollbar:#ffffff1f;--focus-ring:#7f6df2a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;min-height:100%;color:var(--text);margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.boot-screen{min-height:100vh;color:var(--text-muted);background:var(--bg);place-items:center;display:grid}.theme-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.4rem .65rem;display:inline-flex}.theme-toggle:hover{color:var(--text);background:var(--bg-hover)}.theme-toggle.icon-only{border:none;border-radius:8px;width:34px;height:34px;padding:0}.connect-screen{background:radial-gradient(1200px 600px at 20% -10%, var(--connect-grad-1), transparent 55%), radial-gradient(900px 500px at 90% 20%, var(--connect-grad-2), transparent 50%), var(--connect-base);place-items:center;min-height:100vh;padding:2rem;display:grid;position:relative;overflow:hidden}.connect-atmosphere{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);pointer-events:none;background-size:48px 48px;animation:28s linear infinite drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 75%);mask-image:radial-gradient(circle,#000 20%,#0000 75%)}@keyframes drift{0%{transform:translate(0,0)}to{transform:translate(-48px,-48px)}}.connect-theme-toggle{z-index:2;position:absolute;top:1.1rem;right:1.1rem}.connect-panel{text-align:center;width:min(420px,100%);animation:.7s cubic-bezier(.22,1,.36,1) both rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.connect-brand{flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.connect-logo{width:56px;height:56px;color:var(--accent);animation:3.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.04)}}.connect-brand h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2.6rem,8vw,3.4rem);font-weight:600}.connect-tagline{color:var(--text-muted);margin:0 0 1.75rem;font-size:1.05rem;line-height:1.55}.connect-auth{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:.85rem;display:flex}.provider-btn{background:var(--bg-elevated);border:1px solid var(--border);width:min(168px,100%);min-height:118px;color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;transition:background .14s,border-color .14s,transform .14s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.provider-btn:hover:not(:disabled){background:var(--bg-hover);border-color:color-mix(in srgb, var(--text) 18%, transparent);transform:translateY(-1px)}.provider-btn:disabled{opacity:.7;cursor:wait}.google-mark{width:28px;height:28px;display:block}.github-mark{width:28px;height:28px;color:var(--text);display:block}.local-mark{color:var(--accent)}.provider-btn-label{flex-direction:column;align-items:center;gap:.1rem;line-height:1.2;display:flex}.provider-btn-kicker{color:var(--text-faint);font-size:.72rem;font-weight:400}.provider-btn-sub{color:var(--text-faint);margin-top:.15rem;font-size:.68rem;font-weight:400}.connect-local-note{color:var(--text-faint);margin:0 0 .85rem;font-size:.8rem;line-height:1.45}.connect-demo-link{color:var(--text-muted);text-underline-offset:.18em;cursor:pointer;background:0 0;border:none;margin:.15rem 0 1.35rem;padding:0;font-size:.95rem;text-decoration:underline;display:inline-block}.connect-demo-link:hover{color:var(--text)}.connect-offline-link{border:1px dashed var(--border);background:var(--bg-elevated);width:100%;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;margin:0 0 1.15rem;padding:.7rem .9rem;font-size:.92rem;display:flex}.connect-offline-link span{color:var(--text-faint);font-size:.78rem}.connect-offline-link:hover:not(:disabled){border-color:var(--accent)}.connect-legal{color:var(--text-faint);margin:0;max-width:34em;margin-inline:auto;font-size:.78rem;line-height:1.5}.connect-error{color:var(--danger);margin-top:1rem;font-size:.88rem;line-height:1.45}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.vault-screen{max-width:720px;min-height:100vh;margin:0 auto;padding:2.5rem 1.5rem 4rem;animation:.5s both rise}.vault-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.vault-kicker{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.85rem}.vault-header h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(2rem,5vw,2.6rem)}.vault-sub{color:var(--text-muted);margin:.5rem 0 0}.vault-create,.vault-search{border-top:1px solid var(--border);margin-bottom:1.75rem;padding-top:1.25rem}.vault-create h2,.vault-search h2{color:var(--text-muted);margin:0 0 .85rem;font-size:.95rem;font-weight:600}.vault-create-row{gap:.6rem;display:flex}.vault-create-row input,.search-field input{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:8px;flex:1;padding:.7rem .85rem}.vault-create-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:0 1rem;font-weight:600;display:inline-flex}.search-field{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-faint);border-radius:8px;align-items:center;gap:.55rem;padding:0 .85rem;display:flex}.search-field input{background:0 0;border:none;padding-left:0}.folder-results{gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.folder-results button{text-align:left;background:var(--bg-elevated);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.65rem;padding:.75rem .9rem;display:flex}.folder-results button:hover{border-color:var(--accent);background:var(--bg-hover)}.folder-results .empty{color:var(--text-faint);padding:.5rem .2rem;font-size:.9rem}.ghost-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:.45rem .8rem}.vault-error{color:var(--danger)}.vault-header-actions{align-items:center;gap:.5rem;display:flex}.kk-context-menu{z-index:400;border:1px solid var(--border);background:var(--bg-elevated);min-width:188px;max-width:min(280px,100vw - 16px);max-height:min(70vh,420px);box-shadow:var(--shadow);color:var(--text);font:inherit;border-radius:8px;flex-direction:column;gap:.1rem;padding:.3rem;font-size:.85rem;display:flex;position:fixed;overflow:auto}.kk-context-menu button{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.42rem .6rem;font-size:.85rem;display:block}.kk-context-menu button:hover:not(:disabled){background:var(--bg-hover)}.kk-context-menu button:disabled{opacity:.45;cursor:default}.kk-context-menu button.danger{color:var(--danger)}.kk-context-menu button.danger:hover:not(:disabled){background:var(--danger-bg)}.kk-context-sep{background:var(--border);height:1px;margin:.25rem .2rem}.kk-context-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:.35rem .6rem .15rem;font-size:.7rem}.file-tree{height:100%;padding:.35rem .25rem 1rem;font-size:.86rem;overflow:auto}.file-tree.empty{color:var(--text-faint);padding:1rem}.tree-row{cursor:context-menu;border-radius:4px;align-items:center;min-height:26px;display:flex;position:relative}.tree-row:hover,.tree-row.active{background:var(--bg-hover)}.tree-row.active{color:var(--text)}.tree-main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.35rem;padding:.2rem .25rem;display:flex}.tree-main span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-spacer{width:14px;display:inline-block}.tree-actions{gap:.1rem;padding-right:.2rem;display:none}.tree-row:hover .tree-actions{display:flex}.tree-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.15rem}.tree-actions button:hover{background:var(--bg-elevated);color:var(--text)}.tree-menu{z-index:20;background:var(--bg-elevated);border:1px solid var(--border);border-radius:6px;min-width:120px;display:grid;position:absolute;top:100%;right:.25rem;box-shadow:0 8px 24px #00000059}.tree-menu button{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:.45rem .7rem}.tree-menu button:hover{background:var(--bg-hover)}.canvas-list{height:100%;padding:.5rem .4rem 1rem;font-size:.86rem;overflow:auto}.canvas-list.empty,.canvas-list-empty{color:var(--text-faint);margin:0;padding:.85rem .6rem;line-height:1.45}.canvas-list-empty code{font-size:.8em}.canvas-list-toolbar{padding:.15rem .35rem .55rem}.canvas-list-toolbar button{border:1px solid var(--border);background:var(--bg-elevated);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.82rem;display:inline-flex}.canvas-list-toolbar button:hover{background:var(--bg-hover)}.canvas-list-row{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:flex-start;gap:.45rem;padding:.45rem .5rem;display:flex}.canvas-list-row:hover,.canvas-list-row.active{background:var(--bg-hover)}.canvas-list-row span{flex-direction:column;gap:.1rem;min-width:0;display:flex}.canvas-list-row strong{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.canvas-list-row em{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-style:normal;overflow:hidden}.global-search{flex-direction:column;gap:.55rem;height:100%;padding:.6rem;display:flex}.global-search input{background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:6px;padding:.55rem .7rem}.global-search ul{margin:0;padding:0;list-style:none;overflow:auto}.global-search button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;gap:.15rem;padding:.55rem .45rem;display:grid}.global-search button:hover{background:var(--bg-hover)}.global-search span{color:var(--text-faint);font-size:.78rem}.global-search p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.4}.graph-view{background:var(--bg-graph);flex-direction:column;height:100%;display:flex}.graph-toolbar{border-bottom:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;padding:.55rem .85rem;font-size:.85rem;display:flex}.graph-toolbar strong{color:var(--text);font-weight:600}.graph-toolbar-actions{align-items:center;gap:.4rem;display:flex}.graph-toolbar button{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font:inherit;background:0 0;border-radius:6px;padding:.15rem .5rem;font-size:.78rem}.graph-toolbar button.active{color:var(--text);border-color:var(--accent);background:var(--accent-soft)}.graph-view canvas{cursor:pointer;flex:1;width:100%}.base-viewer{background:radial-gradient(1200px 500px at 10% -10%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 60%), var(--bg);width:100%;height:100%;min-height:0;color:var(--text);flex-direction:column;display:flex}.base-toolbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated,var(--bg)) 92%, transparent);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.base-view-tabs{flex-wrap:wrap;gap:4px;margin-right:4px;display:flex}.base-view-tab{appearance:none;color:var(--text-muted,var(--muted));font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 10px;font-size:13px}.base-view-tab:hover{background:color-mix(in srgb, var(--text) 6%, transparent);color:var(--text)}.base-view-tab.active{background:color-mix(in srgb, var(--accent) 16%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--text)}.base-toolbar-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.base-tool-btn{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.base-tool-btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.base-tool-btn.active{background:color-mix(in srgb, var(--accent) 14%, transparent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.base-search{border:1px solid var(--border);background:var(--bg);min-width:140px;max-width:220px;color:var(--text);font:inherit;border-radius:6px;padding:4px 8px;font-size:12px}.base-count{color:var(--text-muted,var(--muted));white-space:nowrap;font-size:12px}.base-popover{z-index:20;border:1px solid var(--border);background:var(--bg-elevated,var(--bg));border-radius:8px;min-width:260px;max-width:360px;max-height:320px;padding:10px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 24px #0000002e}.base-popover.filter-panel{flex-direction:column;gap:0;min-width:min(420px,100vw - 32px);max-width:min(480px,100vw - 24px);max-height:min(70vh,520px);padding:0;display:flex}.filter-panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 8px;display:flex}.filter-panel-head strong{font-size:13px;display:block}.filter-panel-head span{color:var(--text-muted,var(--muted));font-size:11px}.filter-section{border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);padding:12px 14px}.filter-section:last-child{border-bottom:none}.filter-section-head{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.filter-section-head strong{font-size:12px;display:block}.filter-section-head p{color:var(--text-muted,var(--muted));margin:2px 0 0;font-size:11px}.filter-conjunction select{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;margin-bottom:8px;padding:6px 8px;font-size:12px}.filter-rows{flex-direction:column;gap:6px;display:flex}.filter-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr) auto;align-items:center;gap:4px;display:grid}.filter-row select,.filter-row input{width:100%;min-width:0;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:5px 6px;font-size:12px}.filter-remove{appearance:none;color:var(--text-muted,var(--muted));cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.filter-remove:hover{color:var(--text);background:color-mix(in srgb, var(--text) 8%, transparent)}.filter-actions,.filter-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.filter-chip{appearance:none;border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 8px;font-size:11px}.filter-chip:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.filter-advanced{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:6px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.filter-hint{color:var(--text-muted,var(--muted));margin:6px 0 0;font-size:11px}@media (width<=520px){.filter-row{grid-template-columns:1fr}.filter-remove{justify-self:end}}.base-tool-wrap{position:relative}.base-popover label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.base-popover textarea,.base-popover input[type=text],.base-popover select{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;margin-top:4px;margin-bottom:8px;padding:6px 8px;font-size:12px}.base-popover h4{margin:0 0 8px;font-size:12px;font-weight:600}.base-body{flex:1;min-height:0;padding:0;overflow:auto}.base-error{color:#c0392b;padding:16px 20px;font-size:13px}.base-table{border-collapse:collapse;width:100%;font-size:13px}.base-table th,.base-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;max-width:280px;padding:8px 12px}.base-table th{background:var(--bg);z-index:1;color:var(--text-muted,var(--muted));cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}.base-table th:hover{color:var(--text)}.base-table tr:hover td{background:color-mix(in srgb, var(--accent) 6%, transparent)}.base-table .cell-link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:none}.base-table .cell-link:hover{text-decoration:underline}.base-table input.cell-edit{width:100%;font:inherit;border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--bg);color:var(--text);border-radius:4px;padding:2px 4px;font-size:13px}.base-summary-row td{color:var(--text-muted,var(--muted));background:color-mix(in srgb, var(--text) 3%, transparent);font-size:12px}.base-group-header{color:var(--text-muted,var(--muted));letter-spacing:.02em;padding:10px 12px 6px;font-size:12px;font-weight:600}.base-list{margin:0;padding:8px 12px 24px;list-style:none}.base-list-item{border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);align-items:baseline;gap:12px;padding:8px 4px;display:flex}.base-list-item button.title{appearance:none;color:var(--accent);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:14px}.base-list-item button.title:hover{text-decoration:underline}.base-list-meta{color:var(--text-muted,var(--muted));flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.base-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:14px;display:grid}.base-card{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated,var(--bg)) 88%, transparent);cursor:pointer;text-align:left;color:inherit;font:inherit;border-radius:10px;padding:14px;transition:border-color .12s,transform .12s}.base-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));transform:translateY(-1px)}.base-card h3{margin:0 0 8px;font-size:15px;font-weight:600}.base-card .card-props{color:var(--text-muted,var(--muted));flex-direction:column;gap:4px;font-size:12px;display:flex}.base-map-stub{text-align:center;color:var(--text-muted,var(--muted));padding:40px 24px;font-size:14px}.base-map-stub strong{color:var(--text)}.base-embed-wrap{border:1px solid var(--border);border-radius:8px;flex-direction:column;max-height:420px;margin:12px 0;display:flex;overflow:hidden}.base-embed-wrap .base-viewer{min-height:200px}.base-source{resize:none;background:var(--bg);width:100%;min-height:0;color:var(--text);border:none;flex:1;padding:16px 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5}.base-empty{text-align:center;color:var(--text-muted,var(--muted));padding:32px 20px;font-size:13px}.canvas-viewer{background:radial-gradient(900px 400px at 20% 0%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%), var(--bg);width:100%;height:100%;min-height:0;color:var(--text);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.canvas-toolbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated,var(--bg)) 92%, transparent);z-index:5;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex}.canvas-toolbar .base-tool-btn,.canvas-tool{appearance:none;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex}.canvas-tool:hover,.canvas-tool.active{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent) 12%, transparent)}.canvas-toolbar-spacer{flex:1}.canvas-zoom-label{color:var(--text-muted,var(--muted));text-align:center;min-width:40px;font-size:11px}.canvas-stage{cursor:grab;touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.canvas-stage.is-panning{cursor:grabbing}.canvas-stage.is-connecting{cursor:crosshair}.canvas-world{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.canvas-grid{background-image:linear-gradient(color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px);opacity:.45;pointer-events:none;background-size:20px 20px;position:absolute;inset:-5000px}.canvas-edges{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.canvas-edges path.edge-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.canvas-edges path.edge-line{fill:none;stroke-width:2px;pointer-events:none}.canvas-edges path.edge-line.selected{stroke-width:2.5px;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--accent) 50%, transparent))}.canvas-edge-label{background:var(--bg);border:1px solid var(--border);color:var(--text);pointer-events:auto;cursor:text;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:160px;padding:2px 6px;font-size:11px;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.canvas-edge-label input{font:inherit;color:inherit;background:0 0;border:none;outline:none;width:120px;font-size:11px}.canvas-node{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-elevated,var(--bg));border-radius:10px;flex-direction:column;min-width:80px;min-height:60px;display:flex;position:absolute;overflow:hidden;box-shadow:0 4px 16px #00000014}.canvas-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 50%, transparent), 0 6px 18px #0000001f;z-index:2}.canvas-node.group{background:color-mix(in srgb, var(--accent) 6%, transparent);z-index:0;border-style:dashed}.canvas-node.group .canvas-node-header{background:color-mix(in srgb, var(--bg) 78%, transparent)}.canvas-node.group .canvas-node-body{pointer-events:none}.canvas-node-header{color:var(--text-muted,var(--muted));border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);cursor:grab;flex-shrink:0;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.canvas-node-header strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.canvas-node-body{cursor:text;-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding:8px 10px;font-size:13px;line-height:1.45;overflow:auto}.canvas-node-body.readonly{cursor:default;-webkit-user-select:none;user-select:none}.canvas-node-body textarea{resize:none;width:100%;height:100%;min-height:80px;color:var(--text);font:inherit;background:0 0;border:none;outline:none;line-height:1.45}.canvas-node-body .md-preview p{margin:0 0 .5em}.canvas-node-body .md-preview p:last-child{margin-bottom:0}.canvas-link-card{flex-direction:column;gap:6px;height:100%;display:flex}.canvas-link-card a{color:var(--accent);word-break:break-all;font-size:12px}.canvas-link-card iframe{border:1px solid var(--border);background:#fff;border-radius:6px;flex:1;width:100%;min-height:80px}.canvas-file-preview{color:var(--text-muted,var(--muted));white-space:pre-wrap;word-break:break-word;font-size:12px}.canvas-image-card{background:color-mix(in srgb, var(--bg) 70%, transparent);place-items:center;height:100%;display:grid;overflow:hidden}.canvas-image-card img{object-fit:contain;pointer-events:none;width:100%;height:100%}.canvas-node.image .canvas-node-body{padding:0}.canvas-port{background:var(--accent);border:2px solid var(--bg);opacity:0;pointer-events:auto;cursor:crosshair;z-index:3;border-radius:50%;width:10px;height:10px;position:absolute}.canvas-node:hover .canvas-port,.canvas-node.selected .canvas-port{opacity:1}.canvas-port.top{top:-5px;left:50%;transform:translate(-50%)}.canvas-port.right{top:50%;right:-5px;transform:translateY(-50%)}.canvas-port.bottom{bottom:-5px;left:50%;transform:translate(-50%)}.canvas-port.left{top:50%;left:-5px;transform:translateY(-50%)}.canvas-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, color-mix(in srgb, var(--accent) 70%, transparent) 50%);opacity:0;width:12px;height:12px;position:absolute;bottom:0;right:0}.canvas-node.selected .canvas-resize,.canvas-node:hover .canvas-resize{opacity:1}.canvas-marquee{border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;z-index:4;position:absolute}.canvas-selection-bar{z-index:6;border:1px solid var(--border);background:var(--bg-elevated,var(--bg));border-radius:8px;gap:4px;padding:4px;display:flex;position:absolute;box-shadow:0 6px 18px #0000001f}.canvas-color-dot{cursor:pointer;border:1px solid #0003;border-radius:50%;width:16px;height:16px;padding:0}.canvas-color-dot.clear{background:0 0;border-style:dashed}.canvas-context{z-index:10;border:1px solid var(--border);background:var(--bg-elevated,var(--bg));border-radius:8px;min-width:180px;padding:4px;position:absolute;box-shadow:0 8px 24px #00000029}.canvas-context button{text-align:left;appearance:none;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 8px;font-size:12px;display:block}.canvas-context button:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.canvas-source{resize:none;background:var(--bg);width:100%;min-height:0;color:var(--text);border:none;flex:1;padding:14px 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.canvas-error{color:#c0392b;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px}.canvas-embed-wrap{border:1px solid var(--border);border-radius:8px;flex-direction:column;height:360px;margin:12px 0;display:flex;overflow:hidden}.canvas-empty-hint{pointer-events:none;color:var(--text-muted,var(--muted));opacity:.7;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.editor-empty{text-align:center;height:100%;color:var(--text-muted);background:var(--bg-elevated);place-content:center;padding:2rem;display:grid}.editor-empty h2{font-family:var(--font-display);color:var(--text);margin:0 0 .5rem}.image-preview{background:var(--bg-elevated);place-items:center;height:100%;padding:1.5rem;display:grid;overflow:auto}.image-preview img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--shadow);border-radius:8px}.image-preview p{color:var(--text-muted)}.editor-pane{background:var(--bg-elevated);width:100%;min-width:0;max-width:100%;height:100%;min-height:0;overflow:hidden}.editor-pane.full,.live-split{width:100%;min-width:0;max-width:100%;height:100%;min-height:0}.live-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid;overflow:hidden}.live-split>.editor-pane,.live-split>.preview-pane{min-width:0;height:100%;min-height:0;overflow:auto}.preview-pane,.reading-scroll,.wysiwyg-editor{background:var(--bg-elevated);min-width:0;max-width:100%;height:100%;min-height:0;overflow:auto}.wysiwyg-editor{flex-direction:column;display:flex;position:relative;overflow:hidden}.wysiwyg-scroll,.reading-scroll{background:var(--bg-elevated);flex:1;width:100%;min-height:0;overflow:auto}.reading-scroll{height:100%}.wysiwyg-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0;align-items:center;gap:.15rem;padding:.35rem .55rem;display:flex}.wysiwyg-toolbar-spacer{flex:1}.wysiwyg-format-fab{z-index:4;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);width:28px;height:28px;color:var(--text-muted);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:.65rem;right:.75rem;box-shadow:0 1px 2px #0000000a}.wysiwyg-format-fab:hover{background:var(--bg-elevated);color:var(--text)}.wysiwyg-toolbar button,.wysiwyg-toolbar-toggle{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.wysiwyg-toolbar button:hover,.wysiwyg-toolbar-toggle:hover{background:var(--bg-hover);color:var(--text)}.workspace.pure-mode .wysiwyg-format-fab{display:none}.wysiwyg-surface{cursor:text;box-sizing:border-box;outline:none;width:100%;max-width:760px;min-height:100%;margin:0 auto;padding:2rem 1.5rem 4rem}.wysiwyg-surface:focus{outline:none}.wysiwyg-surface:empty:before{content:"Start writing…";color:var(--text-faint);pointer-events:none}.preview-pane{border-left:1px solid var(--border);padding:1.25rem 1.5rem 3rem}.reading-view{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:2rem 1.5rem 4rem}.markdown-preview{color:var(--text);overflow-wrap:anywhere;word-break:break-word;line-height:1.65}.markdown-preview img,.wysiwyg-surface img{object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;margin:.85rem 0;display:block}.markdown-preview p:has(>img:only-child){margin:.85rem 0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4{font-family:var(--font-display);margin:1.4em 0 .55em;line-height:1.25}.markdown-preview h1{font-size:1.9rem}.markdown-preview h2{font-size:1.45rem}.markdown-preview p{margin:.75em 0}.markdown-preview code{font-family:var(--font-mono);background:var(--code-bg);border-radius:4px;padding:.1em .35em;font-size:.9em}.markdown-preview pre{background:var(--pre-bg);border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;overflow:auto}.markdown-preview pre code{background:0 0;padding:0}.markdown-preview .internal-link{color:var(--accent);border-bottom:1px solid color-mix(in srgb, var(--accent) 35%, transparent);text-decoration:none}.markdown-preview .internal-link.is-unresolved{color:var(--danger);border-bottom-style:dashed}.markdown-preview .tag{color:var(--accent-2);text-decoration:none}.markdown-preview ul,.markdown-preview ol{padding-left:1.3rem}.markdown-preview blockquote{border-left:3px solid var(--accent);color:var(--text-muted);margin:.8rem 0;padding-left:.9rem}.markdown-preview .cm-embed{border:1px dashed var(--border);color:var(--text-muted);border-radius:8px;margin:.75rem 0;padding:.6rem .75rem}.markdown-preview table.cm-table,.wysiwyg-surface table.cm-table{border-collapse:collapse;table-layout:auto;width:100%;margin:1rem 0 1.25rem;font-size:.95em}.markdown-preview table.cm-table th,.markdown-preview table.cm-table td,.wysiwyg-surface table.cm-table th,.wysiwyg-surface table.cm-table td{border:1px solid var(--border);vertical-align:top;word-break:break-word;min-width:2.5rem;padding:.45rem .7rem}.markdown-preview table.cm-table th,.wysiwyg-surface table.cm-table th{background:color-mix(in srgb, var(--bg-hover) 80%, transparent);font-weight:600}.markdown-preview table.cm-table tr:nth-child(2n) td,.wysiwyg-surface table.cm-table tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg-hover) 35%, transparent)}.wysiwyg-surface table.cm-table th:focus,.wysiwyg-surface table.cm-table td:focus,.wysiwyg-surface table.cm-table th:focus-within,.wysiwyg-surface table.cm-table td:focus-within{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px}.table-context-menu{z-index:80;border:1px solid var(--border);background:var(--bg-elevated);min-width:200px;max-height:min(70vh,420px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:.1rem;padding:.3rem;display:flex;position:fixed;overflow:auto}.table-context-menu button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .55rem;font-size:.85rem;display:block}.table-context-menu button:hover{background:var(--bg-hover)}.table-context-menu .menu-sep{background:var(--border);height:1px;margin:.25rem .2rem}.table-context-menu .menu-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:.35rem .55rem .15rem;font-size:.7rem}.cm-editor{width:100%;max-width:100%;height:100%;font-size:.95rem;overflow:hidden;background:0 0!important}.cm-editor .cm-scroller{font-family:var(--font-mono);width:100%;max-width:100%;line-height:1.6;overflow:auto!important}.cm-editor .cm-content{max-width:100%;padding:1.1rem 1.2rem 3rem}.cm-editor .cm-line{overflow-wrap:anywhere;word-break:break-word}[data-theme=light] .cm-editor{color:var(--text)}[data-theme=light] .cm-editor .cm-gutters{background:var(--bg-elevated);border-right:1px solid var(--border);color:var(--text-faint)}[data-theme=light] .cm-editor .cm-activeLine,[data-theme=light] .cm-editor .cm-activeLineGutter{background:var(--bg-hover)}@media (width<=900px){.live-split{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.preview-pane{border-left:none;border-top:1px solid var(--border)}}.right-sidebar{border-left:1px solid var(--border);background:var(--bg-sidebar);z-index:2;flex-direction:column;flex-shrink:0;width:260px;min-width:0;max-width:40vw;display:flex;position:relative;overflow:hidden}.right-tabs{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.right-tabs button{color:var(--text-muted);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:.55rem .1rem;font-size:.7rem;overflow:hidden}.right-tabs button.active{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.right-body{padding:.75rem;overflow:auto}.right-body h3{color:var(--text-muted);margin:0 0 .65rem;font-size:.82rem;font-weight:600}.right-body ul{margin:0;padding:0;list-style:none}.right-body button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem .2rem}.right-body button:hover{background:var(--bg-hover)}.muted{color:var(--text-faint);font-size:.85rem}.outline-list li{color:var(--text-muted);cursor:context-menu;border-radius:4px;padding:.2rem 0;font-size:.85rem}.outline-list li:hover{background:var(--bg-hover);color:var(--text)}.tag-list button{justify-content:space-between;display:flex}.tag-list span{color:var(--text-faint)}@media (width<=900px){.right-sidebar{display:none}}.modal-backdrop{background:var(--modal-backdrop);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:start center;padding-top:12vh;display:grid;position:fixed;inset:0}.quick-switcher{background:var(--bg-elevated);border:1px solid var(--border);width:min(560px,100vw - 2rem);box-shadow:var(--shadow);border-radius:10px;animation:.18s both rise;overflow:hidden}.quick-switcher input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:0 0;outline:none;padding:.95rem 1rem;font-size:1rem}.quick-switcher ul{max-height:360px;margin:0;padding:.35rem;list-style:none;overflow:auto}.quick-switcher button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:.15rem;padding:.55rem .7rem;display:flex}.quick-switcher button.selected,.quick-switcher button:hover{background:var(--accent-soft)}.quick-switcher small{color:var(--text-faint)}.quick-switcher .empty{color:var(--text-faint);padding:.8rem}.command-palette-backdrop{place-items:start center;padding-top:12vh}.command-palette{background:var(--bg-elevated);border:1px solid var(--border);width:min(640px,100vw - 2rem);box-shadow:var(--shadow);border-radius:10px;animation:.18s both rise;overflow:hidden}.command-palette input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:0 0;outline:none;padding:.95rem 1rem;font-size:1rem}.command-palette ul{max-height:420px;margin:0;padding:.35rem;list-style:none;overflow:auto}.command-palette button{text-align:left;width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .7rem;display:flex}.command-palette button.selected,.command-palette button:hover{background:var(--accent-soft)}.command-name{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.command-pin-mark{color:var(--accent);flex-shrink:0}.command-meta{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.command-palette kbd{font:inherit;color:var(--text-faint);border:1px solid var(--border);border-radius:4px;padding:.1rem .35rem;font-size:.75rem}.command-pin{color:var(--text-faint);border-radius:4px;padding:.15rem;display:inline-flex}.command-pin:hover{color:var(--text);background:var(--bg-hover)}.command-palette .empty{color:var(--text-faint);padding:.8rem}.command-section{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);padding:.55rem .7rem .2rem;font-size:.72rem;font-weight:600}.workspace{background:var(--bg);height:100vh;color:var(--text);grid-template-columns:48px 260px minmax(0,1fr) auto;display:grid;overflow:hidden}.workspace.graph-mode{grid-template-columns:48px minmax(0,1fr) auto}.workspace.pure-mode{grid-template-columns:minmax(0,1fr)}.workspace.left-collapsed:not(.graph-mode):not(.pure-mode){grid-template-columns:48px minmax(0,1fr) auto}.workspace.left-collapsed:not(.graph-mode):not(.pure-mode) .left-sidebar{display:none}.workspace.ribbon-hidden:not(.graph-mode):not(.pure-mode){grid-template-columns:260px minmax(0,1fr) auto}.workspace.ribbon-hidden.left-collapsed:not(.graph-mode):not(.pure-mode),.workspace.graph-mode.ribbon-hidden:not(.pure-mode){grid-template-columns:minmax(0,1fr) auto}.workspace.pure-mode .main-stage{grid-template-rows:1fr}.workspace.pure-mode .wysiwyg-toolbar,.workspace.pure-mode .wysiwyg-format-fab,.workspace.pure-mode.pure-fullscreen .wysiwyg-toolbar{display:none}.pure-exit{z-index:50;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);color:var(--text-muted);cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.8rem;transition:opacity .16s,transform .16s,color .14s,background .14s;display:inline-flex;position:fixed;top:.85rem;right:.85rem;transform:translateY(-4px)}.workspace.pure-mode:hover .pure-exit,.pure-exit:focus-visible{opacity:1;transform:translateY(0)}.pure-exit:hover{color:var(--text);background:var(--bg-elevated)}.ribbon{background:var(--bg-ribbon);border-right:1px solid var(--border);flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .3rem;display:flex}.ribbon button,.left-header button,.view-modes button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.ribbon button.active,.view-modes button.active,.ribbon button:hover,.view-modes button:hover,.left-header button:hover{background:var(--bg-hover);color:var(--text)}.ribbon-spacer{flex:1}.left-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex}.left-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem .75rem;display:flex}.left-header strong{font-size:.9rem;display:block}.left-header span{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.72rem;display:block;overflow:hidden}.main-stage{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;max-width:100%;display:grid;overflow:hidden}.tab-bar{border-bottom:1px solid var(--border);background:var(--bg-tabs);justify-content:flex-start;align-items:stretch;min-width:0;min-height:38px;display:flex;overflow:hidden}.tabs{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent;overscroll-behavior-x:contain;flex:auto;min-width:0;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{height:6px}.tabs::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:999px}.tab{border-right:1px solid var(--border);max-width:min(180px,36vw);color:var(--text-muted);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:.35rem;padding:.45rem .55rem .45rem .8rem;font-size:.84rem;display:flex}.tab>span,.tab-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.tab.renaming{max-width:min(280px,50vw)}.tab-rename-input{border:1px solid var(--accent);background:var(--bg);min-width:5rem;max-width:100%;color:inherit;font:inherit;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 25%, transparent);border-radius:4px;outline:none;flex:auto;margin:-.1rem 0;padding:.1rem .35rem}.tab.active{background:var(--bg);color:var(--text)}.tab-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;flex-shrink:0;font-size:1rem;line-height:1}.view-modes{border-left:1px solid var(--border);background:var(--bg-tabs);z-index:1;flex:none;align-items:center;gap:.15rem;padding:0 .4rem;display:flex}.editor-stage{background:var(--bg-elevated);width:100%;min-width:0;max-width:100%;min-height:0;overflow:hidden}.status-bar{border-top:1px solid var(--border);background:var(--bg-status);min-width:0;color:var(--text-faint);justify-content:space-between;align-items:center;gap:1rem;padding:.25rem .75rem;font-size:.75rem;display:flex}.status-bar>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.save-pill{text-transform:uppercase;letter-spacing:.04em}.save-pill.unsaved{color:var(--warning)}.save-pill.saving{color:var(--accent-2)}.save-pill.saved{color:var(--success)}.save-pill.pending{color:var(--warning)}.save-pill.error{color:var(--danger)}.status-right{flex-shrink:0;align-items:center;gap:.65rem;display:inline-flex}.offline-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--warning)}.sync-pill{color:var(--accent-2);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem}.sync-pill:hover{color:var(--text)}.offline-banner{border-bottom:1px solid var(--border);background:var(--accent-soft);color:var(--text-muted);justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.78rem;display:flex}.offline-banner button{border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:.2rem .5rem;font-size:.75rem}.modal-backdrop{background:var(--modal-backdrop);z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:start center;display:grid;position:fixed;inset:0}.settings-modal{background:var(--bg-elevated);border:1px solid var(--border);width:min(420px,100vw - 2rem);box-shadow:var(--shadow);border-radius:12px;margin-top:18vh;padding:1.25rem}.settings-modal h2{font-family:var(--font-display);margin:0 0 .5rem}.settings-actions{gap:.5rem;margin:1rem 0;display:grid}.settings-actions button{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem;display:inline-flex}.settings-actions button.danger{color:var(--danger)}.settings-hint{color:var(--text-faint);margin:0;font-size:.82rem}.toast-error{background:var(--danger-bg);border:1px solid var(--danger-border);max-width:min(420px,100vw - 2rem);color:var(--danger-text);z-index:120;border-radius:8px;padding:.75rem .9rem;font-size:.85rem;position:fixed;bottom:1rem;right:1rem}@media (width<=800px){.workspace:not(.pure-mode):not(.ribbon-hidden){grid-template-columns:48px 1fr}.workspace:not(.pure-mode).ribbon-hidden{grid-template-columns:1fr}.workspace:not(.pure-mode) .left-sidebar{display:none}}@media print{.ribbon,.left-sidebar,.right-sidebar,.tab-bar,.status-bar,.pure-exit,.toast-error,.modal-backdrop,.quick-switcher,.wysiwyg-toolbar{display:none!important}.workspace,.workspace.graph-mode,.workspace.pure-mode{color:#000!important;background:#fff!important;height:auto!important;display:block!important;overflow:visible!important}.main-stage,.editor-stage{background:#fff!important;height:auto!important;display:block!important;overflow:visible!important}.editor-pane,.live-split,.wysiwyg-editor,.cm-editor{display:none!important}.reading-view{color:#000!important;background:#fff!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}}
