@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular-Latin1.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-SemiBold-Latin1.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans Condensed;src:url(/fonts/IBMPlexSansCondensed-Medium-Latin1.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular-Latin1.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-primary:#22222e;--color-background:#fafafc;--color-surface:#f2f1f8;--color-surface-raised:#eae7f5;--color-text:#22222e;--color-muted:#78798c;--color-border:#e3e1f0;--color-accent:#5b3df5;--color-accent-hover:#4527d1;--color-accent-soft:#eae7f5;--color-accent-ink:#fff;--color-danger:#d0362a;--color-danger-soft:#fbe2de;--color-backdrop:#22222e59;--color-accent-secondary:#0e8f92;--color-accent-secondary-soft:#dff3f2;--color-accent-tertiary:#c97a12;--color-accent-tertiary-soft:#fbebd3;--color-hue-0:#4b2fd6;--color-hue-0-soft:#eae7f5;--color-hue-1:#0b7275;--color-hue-1-soft:#dff3f2;--color-hue-2:#9a5c08;--color-hue-2-soft:#fbebd3;--color-hue-3:#96307f;--color-hue-3-soft:#f7e4f2;--color-hue-4:#357a41;--color-hue-4-soft:#e2f2e4;--color-hue-5:#b04a26;--color-hue-5-soft:#fae7de;--color-code-bg:#1f1b2e;--color-code-text:#e4e4f0;--color-code-keyword:#c792ea;--color-code-string:#7fd9c4;--color-code-comment:#6f6b8c;--color-code-function:#82aaff;--color-code-number:#f78c6c;--font-ui:"IBM Plex Sans Condensed", sans-serif;--font-body:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace;--radius-sm:2px;--radius-pill:999px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:15px;line-height:1.6}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}.app-feedback{border-bottom:1px solid var(--color-border);color:var(--color-danger);font-family:var(--font-ui);align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.app-feedback span{flex:1}.app-feedback button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.tree-row{white-space:nowrap;text-overflow:ellipsis;align-items:center;height:24px;padding:0 8px;display:flex;overflow:hidden}.tree-row-main{min-width:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;align-self:stretch;overflow:hidden}.tree-row button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.tree-row:hover,.tree-row.selected{background:var(--color-surface-raised)}@media (width<=700px){.tree-row{height:40px}}.hue-0{--hue-fg:var(--color-hue-0);--hue-soft:var(--color-hue-0-soft)}.hue-1{--hue-fg:var(--color-hue-1);--hue-soft:var(--color-hue-1-soft)}.hue-2{--hue-fg:var(--color-hue-2);--hue-soft:var(--color-hue-2-soft)}.hue-3{--hue-fg:var(--color-hue-3);--hue-soft:var(--color-hue-3-soft)}.hue-4{--hue-fg:var(--color-hue-4);--hue-soft:var(--color-hue-4-soft)}.hue-5{--hue-fg:var(--color-hue-5);--hue-soft:var(--color-hue-5-soft)}.tag-pill{border-radius:var(--radius-pill);background:var(--hue-soft);color:var(--hue-fg);border:1px solid #0000;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.tag-pill[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink)}.tag-pill:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.folder-glyph{width:14px;height:14px;fill:var(--hue-fg);flex:none;margin-right:4px}.folder-disclosure{width:16px;height:16px;color:var(--color-muted);background:0 0;border:none;flex:none;padding:0;font-size:11px;line-height:1}.folder-disclosure:disabled{opacity:.4;cursor:default}.folder-disclosure:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.markdown-preview{font-family:var(--font-body);color:var(--color-text);flex:1;padding:16px 24px;font-size:15px;line-height:1.6;overflow-y:auto}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{font-family:var(--font-ui);margin:1.4em 0 .5em;font-weight:600;line-height:1.3}.markdown-preview h1:first-child,.markdown-preview h2:first-child,.markdown-preview h3:first-child{margin-top:0}.preview-heading{align-items:baseline;gap:6px;display:flex}.fold-toggle{width:18px;height:18px;color:var(--color-muted);background:0 0;border:none;flex:none;padding:0;font-size:12px;line-height:1}.fold-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.markdown-preview p{margin:.8em 0}.markdown-preview a,.wiki-link-resolved{color:var(--color-accent)}.wiki-link-missing{color:var(--color-accent);-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.wiki-link-ambiguous{color:var(--color-danger);cursor:help}.markdown-preview blockquote{border-left:2px solid var(--color-border);color:var(--color-muted);margin:.8em 0;padding:0 12px}.callout{border-left:3px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);margin:.8em 0;padding:8px 12px}.callout-title{font-family:var(--font-ui);color:var(--color-text);margin:0 0 .4em;font-weight:600}.callout-note{border-left-color:var(--color-muted);background:var(--color-surface-raised)}.callout-info{border-left-color:var(--color-accent);background:var(--color-accent-soft)}.callout-tip{border-left-color:var(--color-accent-secondary);background:var(--color-accent-secondary-soft)}.callout-warning{border-left-color:var(--color-accent-tertiary);background:var(--color-accent-tertiary-soft)}.callout-danger{border-left-color:var(--color-danger);background:var(--color-danger-soft)}.markdown-preview hr{border:none;border-top:1px solid var(--color-border);margin:1.5em 0}.markdown-preview table{border-collapse:collapse;width:100%;margin:1em 0;font-size:14px}.markdown-preview th,.markdown-preview td{border:1px solid var(--color-border);text-align:left;padding:6px 10px}.markdown-preview th{background:var(--color-surface);font-family:var(--font-ui)}.markdown-preview ul.contains-task-list{padding-left:.2em;list-style:none}.markdown-preview li.task-list-item{align-items:baseline;gap:6px;display:flex}.markdown-preview li.task-list-item input[type=checkbox]{margin:0}.markdown-preview code{font-family:var(--font-mono);background:var(--color-surface);color:var(--color-accent);border-radius:var(--radius-sm);padding:.15em .35em;font-size:.9em}.markdown-preview pre{background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:pre;margin:1em 0;padding:12px 14px;overflow-x:auto}.markdown-preview pre code{color:var(--color-code-text);background:0 0;padding:0;font-size:13px;line-height:1.5}.mermaid-diagram{margin:1em 0;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-loading{color:var(--color-muted);margin:1em 0;padding:12px 14px;font-size:.9em}.mermaid-error{border-left:3px solid var(--color-danger);background:var(--color-surface);border-radius:var(--radius-sm);margin:1em 0;padding:12px 14px}.mermaid-error p{color:var(--color-danger);margin:0 0 .5em}.mermaid-error pre{margin:0}.markdown-preview .token.comment,.markdown-preview .token.prolog,.markdown-preview .token.doctype,.markdown-preview .token.cdata{color:var(--color-code-comment)}.markdown-preview .token.keyword,.markdown-preview .token.selector,.markdown-preview .token.atrule{color:var(--color-code-keyword)}.markdown-preview .token.string,.markdown-preview .token.attr-value,.markdown-preview .token.char{color:var(--color-code-string)}.markdown-preview .token.function,.markdown-preview .token.class-name{color:var(--color-code-function)}.markdown-preview .token.number,.markdown-preview .token.boolean,.markdown-preview .token.constant{color:var(--color-code-number)}.markdown-preview .token.punctuation,.markdown-preview .token.operator{color:var(--color-code-text)}.editor-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-background);align-items:center;gap:4px;height:40px;padding:0 8px;display:flex;overflow-x:auto}.toolbar-button{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:flex}.toolbar-button:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border)}.toolbar-button:disabled{opacity:.5;cursor:not-allowed}.toolbar-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.toolbar-button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent)}.toolbar-separator{background:var(--color-border);flex:none;width:1px;height:20px;margin:0 4px}.right-rail{border-left:1px solid var(--color-border);background:var(--color-background);flex-direction:column;flex:none;width:320px;min-height:0;display:flex}.right-rail-tabs{border-bottom:1px solid var(--color-border);flex:none;display:flex}.right-rail-tabs button{background:var(--color-background);color:var(--color-muted);font-family:var(--font-ui);border:none;border-bottom:2px solid #0000;flex:1;padding:8px;font-size:13px}.right-rail-tabs button.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.right-rail-tabs button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.right-rail-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.right-rail .outline-panel,.right-rail .graph-panel{border-left:none;flex:1;width:auto}.graph-panel{border-left:1px solid var(--color-border);background:var(--color-background);flex:none;width:320px;display:flex;position:relative}.graph-panel-canvas{touch-action:none;flex:1;width:100%;height:100%}.graph-panel-node-list{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.outline-panel{border-left:1px solid var(--color-border);width:240px;font-family:var(--font-ui);flex:none;padding:8px 0;font-size:13px;overflow-y:auto}.outline-empty{color:var(--color-muted);padding:4px 12px}.outline-list{margin:0;padding:0;list-style:none}.outline-item{width:100%;color:var(--color-text);text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:4px 12px;display:block;overflow:hidden}.outline-item:hover{background:var(--color-surface)}.outline-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.command-palette-overlay{background:var(--color-backdrop);position:fixed;inset:0}.command-palette-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-direction:column;width:min(560px,100vw - 32px);max-height:60vh;display:flex;position:fixed;top:15vh;left:50%;overflow:hidden;transform:translate(-50%)}.command-palette{flex-direction:column;min-height:0;display:flex}.command-palette-input{border:none;border-bottom:1px solid var(--color-border);font-family:var(--font-ui);background:var(--color-background);color:var(--color-text);outline:none;padding:12px 14px;font-size:15px}.command-palette-list{padding:6px;overflow-y:auto}.command-palette [cmdk-group-heading]{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);padding:6px 8px 2px;font-size:11px}.command-palette [cmdk-item]{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-text);cursor:pointer;padding:8px;font-size:14px}.command-palette [cmdk-item][aria-selected=true]{background:var(--color-surface)}.command-palette [cmdk-empty]{color:var(--color-muted);font-family:var(--font-body);padding:12px 8px;font-size:14px}.import-url-backdrop{background:var(--color-backdrop);z-index:10;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.import-url-dialog{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:min(420px,100vw - 32px);margin-top:15vh;padding:16px}.import-url-title{font-family:var(--font-ui);color:var(--color-text);margin:0 0 12px;font-size:15px}.import-url-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font-family:var(--font-body);background:var(--color-background);color:var(--color-text);padding:8px 10px;font-size:14px}.import-url-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.import-url-error{color:var(--color-danger);font-family:var(--font-body);margin-top:8px;font-size:13px}.import-url-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.import-url-actions button{border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-ui);background:var(--color-background);color:var(--color-text);cursor:pointer;padding:6px 12px;font-size:13px}.import-url-actions button[type=submit]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.import-url-actions button:disabled{opacity:.6;cursor:default}.editor-shell{flex:1;min-width:0;min-height:0;display:flex}.editor-layout{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.editor-header{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;padding:8px;display:flex}.editor-path-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;font-family:var(--font-mono);background:var(--color-background);color:var(--color-text);flex:1;padding:6px;font-size:13px}.editor-save-button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-text);padding:6px 10px}.editor-status{font-family:var(--font-ui);text-align:right;min-width:52px;font-size:13px}.editor-error{color:var(--color-danger);font-size:12px;font-family:var(--font-ui);padding:4px 8px}.editor-body{flex:1;min-height:0;display:flex}.editor-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.editor-textarea{resize:none;font-family:var(--font-mono);background:var(--color-surface);color:var(--color-text);border:none;outline:none;flex:1;padding:16px;font-size:14px;line-height:1.6}.app-shell{background:var(--color-background);flex-direction:column;height:100%;display:flex}.app-topbar{border-bottom:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:12px;padding:8px;display:flex}.app-version{color:var(--color-muted);font-family:var(--font-ui);font-size:12px}.app-user{color:var(--color-muted);font-family:var(--font-ui);font-size:13px}.app-logout{color:var(--color-muted);background:0 0;border:none}.app-workspace{flex:1;min-height:0;display:flex}.app-focus .app-workspace{padding-top:8px}.app-empty{color:var(--color-muted);font-family:var(--font-body);flex:1;justify-content:center;align-items:center;display:flex}.attach-bar{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:6px;height:32px;padding:0 8px;display:flex;overflow-x:auto}.attach-chip{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);height:24px;font-family:var(--font-ui);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;font-size:12px;display:flex}.attach-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.attach-chip-btn{width:18px;height:18px;color:var(--color-muted);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.attach-chip-btn:hover:not(:disabled){color:var(--color-text);background:var(--color-surface)}.attach-chip-btn:disabled{opacity:.5;cursor:not-allowed}.attach-chip-btn:focus-visible{outline:2px solid var(--color-accent)}.login-divider{color:var(--color-muted);font-family:var(--font-ui);align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.login-google-button{background:var(--color-background);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-ui);padding:8px;font-size:13px}.login-google-button:hover:not(:disabled){background:var(--color-surface)}.login-google-button:disabled{opacity:.6;cursor:not-allowed}.login-google-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}html,body{overflow-x:hidden}.explorer{border-right:1px solid var(--color-border);width:260px;min-width:0}.app-bar{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;height:40px;padding:0 8px;display:none}.app-bar-button{width:32px;height:32px;color:var(--color-text);border-radius:var(--radius-sm);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:flex}.app-bar-button:hover{background:var(--color-surface)}.app-bar-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.app-bar-title{min-width:0;font-family:var(--font-ui);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:600;overflow:hidden}.drawer-backdrop{background:var(--color-backdrop);z-index:40;position:fixed;inset:0}.phone-split-toggle{border-bottom:1px solid var(--color-border);display:flex}.phone-split-toggle button{background:var(--color-background);color:var(--color-muted);font-family:var(--font-ui);border:none;border-bottom:2px solid #0000;flex:1;padding:8px;font-size:13px}.phone-split-toggle button.active{color:var(--color-text);border-bottom-color:var(--color-accent)}.outline-sheet-backdrop{background:var(--color-backdrop);z-index:60;position:fixed;inset:0}.outline-sheet{background:var(--color-background);border-top:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;z-index:61;max-height:60vh;padding-bottom:8px;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.outline-sheet-header{border-bottom:1px solid var(--color-border);font-family:var(--font-ui);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.outline-sheet-close{color:var(--color-muted);background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}@media (width<=1099px){.app-bar{display:flex}.outline-panel{display:none}.explorer-drawer{z-index:50;background:var(--color-background);width:min(280px,86vw);position:fixed;top:0;bottom:0;left:0}}@media (width<=699px){.explorer{width:100%}.explorer-drawer{width:100%;position:static}.editor-header{flex-wrap:wrap}.editor-toolbar{-webkit-overflow-scrolling:touch}.app-bar-button{width:40px;height:40px}}
