:root{--paper: #f6f2ea;--paper-raised: #fffdf8;--paper-sunk: #efe9dd;--paper-hi: #fff;--doc-paper: #fdfcf9;--on-accent: #fdfcf9;--ink: #211c17;--ink-soft: #6a6155;--ink-faint: #6f665a;--line: #e6ded0;--line-strong: #d8cdb8;--accent: #b23a25;--accent-deep: #8f2c1b;--accent-soft: #f5e7e1;--agent: #1f6f6b;--agent-soft: #e2efed;--on-agent: #fdfcf9;--syn-heading: #8f2c1b;--syn-keyword: #b23a25;--syn-function: #1f6f6b;--syn-variable: #3a5f5c;--syn-string: #6b7a34;--syn-math: #1f6f6b;--syn-raw: #7a5a2a;--syn-number: #8a5a1a;--syn-comment: #9a9082;--syn-escape: #15605c;--syn-label: #6f4a9e;--syn-list: #b23a25;--ok: #2f7d4f;--warn: #95680a;--err: #b23a25;--shadow-1: 0 1px 2px rgba(45, 34, 22, .04), 0 1px 3px rgba(45, 34, 22, .05);--shadow-2: 0 2px 5px rgba(45, 34, 22, .05), 0 10px 26px rgba(45, 34, 22, .07);--shadow-doc: 0 1px 3px rgba(45, 34, 22, .12), 0 16px 36px rgba(45, 34, 22, .13);--radius: 8px;--radius-sm: 5px;--chrome: #fffdf8;--chrome-opaque: #fffdf8;--chrome-border: rgba(33, 28, 23, .12);--radius-pill: 999px;--blur-chrome: 14px;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-ui: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-ui);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{display:flex;flex-direction:column;height:100%;background:var(--paper);position:relative}.skip-link{position:absolute;top:.4rem;left:.4rem;z-index:100;padding:.4rem .8rem;font:inherit;font-weight:600;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent-deep);border-radius:var(--radius-sm);cursor:pointer;transform:translateY(-220%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0);outline:2px solid var(--accent-deep);outline-offset:2px}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}}.app button:focus-visible,.app a:focus-visible,.app input:focus-visible,.app textarea:focus-visible,.app select:focus-visible,.app summary:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}.topbar{display:flex;align-items:center;gap:.85rem;padding:.55rem 1.1rem;border-bottom:1px solid var(--line-strong);background:linear-gradient(180deg,var(--paper-raised),var(--paper));box-shadow:var(--shadow-1);position:relative;z-index:5}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--accent),transparent 38%);opacity:.5}.brand{display:inline-flex;align-items:baseline;gap:.45rem;font-family:var(--font-display);font-size:1.32rem;font-weight:600;letter-spacing:.01em;color:var(--ink)}.brand:before{content:"";width:1.15em;height:1.15em;align-self:center;background:url(/mark.svg) center / contain no-repeat;transform:translateY(.5px)}.status{color:var(--ink-soft);font-size:.82rem;font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:.18rem .55rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--paper-raised);white-space:nowrap}.compile-notice{font-size:.78rem;line-height:1.2;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--line-strong);max-width:30rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compile-notice--egress{color:var(--ink);background:var(--accent-soft);border-color:var(--accent)}.compile-notice--blocked{color:var(--warn);background:var(--accent-soft);border-color:var(--warn)}.topbar button,.diff-actions button,.settings-actions button,.agent-input button,.model-bar button{font:inherit;font-size:.82rem;padding:.38rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease,transform 80ms ease,box-shadow .12s ease}.topbar button:hover,.diff-actions button:hover,.settings-actions button:hover,.agent-input button:hover,.model-bar button:hover{border-color:var(--ink-faint);background:color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:none}.topbar button:active,.diff-actions button:active,.settings-actions button:active,.agent-input button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.topbar button.icon-btn{padding:.38rem .5rem;min-width:2rem;line-height:1}.open-btn{margin-left:auto;padding:.38rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;font-size:.82rem;background:transparent;color:var(--ink);transition:background .12s ease,border-color .12s ease}.open-btn:hover{border-color:var(--ink-faint);background:color-mix(in srgb,var(--ink) 8%,transparent)}.example-picker{margin-left:auto}[data-testid=export-pdf]{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}[data-testid=export-pdf]:hover:not(:disabled){background:#fbeae4;border-color:var(--accent)}.example-picker{display:inline-flex;align-items:center;gap:.4rem}.example-picker-label{font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--ink-soft)}.example-picker-select{font:inherit;font-size:.82rem;padding:.34rem .7rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.example-picker-select:hover{border-color:var(--ink-faint);background:color-mix(in srgb,var(--ink) 8%,transparent)}.example-picker-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.collab-chip,.presence{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--accent-deep);padding:.2rem .55rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft)}.topbar button.collab-chip-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:var(--accent-deep);padding:.2rem .55rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);cursor:pointer}.topbar button.collab-chip-btn:hover{color:var(--accent-deep);background:var(--paper-hi);border-color:var(--accent-deep)}.presence{color:var(--ink-soft);border-color:var(--line-strong);background:var(--paper-raised);text-transform:none;letter-spacing:.01em;font-variant-numeric:tabular-nums}.presence-dots{display:inline-flex}.presence-dot{width:.62rem;height:.62rem;border-radius:50%;border:1.5px solid var(--paper-raised);margin-left:-.28rem;box-shadow:0 0 0 1px #0000000f}.presence-dot:first-child{margin-left:0}.share-bar{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.85rem;color:var(--ink-soft);background:var(--accent-soft);border-bottom:1px solid var(--accent)}.share-bar-label{font-weight:600;color:var(--accent-deep);white-space:nowrap}.share-bar-link{flex:1 1 auto;min-width:0;font-family:ui-monospace,monospace;font-size:.8rem;padding:.3rem .55rem;color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius-pill, 6px)}.share-bar button{font:inherit;font-size:.78rem;font-weight:600;padding:.26rem .7rem;color:var(--accent-deep);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background .14s ease,border-color .14s ease}.share-bar button:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:var(--accent)}.panes{--col-editor: 1fr;--col-center: 1.12fr;--col-sidebar: .92fr;display:grid;grid-template-columns:var(--col-editor) var(--col-center) var(--col-sidebar);flex:1;min-height:0}.panes>.editor,.panes>.center,.panes>.sidebar,.panes>.project-files-pane{animation:rise .38s cubic-bezier(.2,.7,.2,1) both}.panes>.center{animation-delay:60ms}.panes>.sidebar{animation-delay:.12s}.panes>.editor,.panes>.center,.panes>.sidebar,.panes>.project-files-pane{min-width:0}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pane-splitter{position:relative;cursor:col-resize;background:transparent;z-index:4;touch-action:none;-webkit-user-select:none;user-select:none}.pane-splitter-grip{position:absolute;inset:0 auto 0 50%;width:1px;transform:translate(-.5px);background:var(--line-strong);transition:background .12s ease,width .12s ease,box-shadow .12s ease}.pane-splitter:hover .pane-splitter-grip,.panes-dragging .pane-splitter .pane-splitter-grip{width:3px;background:var(--accent);box-shadow:0 0 0 1px #b23a252e}body.panes-dragging{cursor:col-resize;-webkit-user-select:none;user-select:none}.pane-collapse{font:inherit;font-size:.9rem;line-height:1;padding:.2rem .45rem;border:1px solid transparent;border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);cursor:pointer}.pane-collapse:hover{color:var(--accent);background:color-mix(in srgb,var(--ink) 8%,transparent)}.model-bar-actions{display:inline-flex;gap:.35rem;align-items:center}.project-files-head{display:flex;justify-content:flex-end;padding:.35rem .4rem 0}.panes.is-sidebar-collapsed>.sidebar,.panes.is-files-collapsed>.project-files-pane{overflow:hidden;border:none;padding:0;min-width:0}.pane-expand{position:absolute;bottom:1rem;z-index:6;font:inherit;font-size:.78rem;padding:.4rem .7rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);cursor:pointer;box-shadow:var(--shadow-1)}.pane-expand:hover{background:#fbeae4}.pane-expand-sidebar{right:1rem}.pane-expand-files{left:1rem}.app[data-focus=true] .panes>.sidebar,.app[data-focus=true] .panes-project>.project-files-pane{display:none}.app[data-focus=true] .panes .pane-splitter{display:none}.app[data-focus=true] .panes:not(.panes-project){grid-template-columns:var(--col-editor) var(--col-center)!important}.app[data-focus=true] .panes-project{grid-template-columns:var(--col-editor) var(--col-center)!important}.app[data-focus=true] .pane-expand,.app[data-focus=true] .shell-dock{display:none}.editor{border-right:1px solid var(--line-strong);height:100%;overflow:hidden;background:var(--paper-raised)}.center{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line-strong)}.sidebar{display:flex;flex-direction:column;min-height:0;overflow:auto;background:var(--paper-sunk)}.cm-editor{height:100%;background:var(--paper-raised);font-size:13.5px}.cm-editor .cm-gutters{background:var(--paper-raised);color:var(--ink-soft);border-right:1px solid var(--line)}.cm-editor .cm-activeLineGutter,.cm-editor .cm-activeLine{background:#b23a250d}.cm-editor .cm-cursor{border-left-color:var(--accent)}.cm-editor.cm-focused{outline:none}.cm-editor ::selection{background:#b23a2529}.cm-attribution{background-color:color-mix(in srgb,var(--attr-color) 10%,transparent);box-shadow:inset 0 -1px color-mix(in srgb,var(--attr-color) 55%,transparent)}.preview{flex:1;overflow:auto;padding:1.6rem;background:radial-gradient(120% 60% at 50% 0%,var(--paper-raised),var(--paper-sunk)) fixed;display:flex;flex-direction:column;align-items:center}.preview-page{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.preview-page :where(svg){max-width:100%;height:auto;background:var(--doc-paper);border-radius:2px;box-shadow:var(--shadow-doc)}.preview-empty{color:var(--ink-faint);font-style:italic;font-family:var(--font-display);font-size:1.05rem;margin-top:3rem}.diagnostics{margin:0;padding:.5rem .9rem;list-style:none;border-top:1px solid var(--line-strong);background:var(--paper-raised);max-height:32%;overflow:auto;font-family:var(--font-mono);font-size:.8rem;line-height:1.5}.diag{border-left:2px solid transparent;padding:.12rem 0 .12rem .5rem}.diag-error{color:var(--err);border-left-color:var(--err)}.diag-warning{color:var(--warn);border-left-color:var(--warn)}.diag-jump{all:unset;display:block;width:100%;box-sizing:border-box;cursor:pointer;color:inherit;font:inherit;text-align:left}.diag-jump:hover:not(:disabled){text-decoration:underline}.diag-jump:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:2px}.diag-jump:disabled{cursor:default}.shell-rail .diag .diag-quickfix{opacity:0;transition:opacity .14s ease}.shell-rail .diag:hover .diag-quickfix,.shell-rail .diag:focus-within .diag-quickfix{opacity:1}@media (hover: none){.shell-rail .diag .diag-quickfix{opacity:1}}@media (prefers-reduced-motion: reduce){.shell-rail .diag .diag-quickfix{transition:none}}.model-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid var(--line);font-size:.82rem;color:var(--ink-soft)}.model-bar strong{color:var(--ink)}.settings{display:flex;flex-direction:column;gap:.55rem;padding:.85rem;border-bottom:1px solid var(--line);background:var(--paper-raised);font-size:.83rem}.settings-row{display:flex;flex-direction:column;gap:.2rem}.settings-row label,.settings-row>span:first-child{color:var(--ink-soft);font-size:.76rem}.settings-row input,.settings-row select{font:inherit;padding:.32rem .45rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-hi);color:var(--ink)}.settings-row input:focus,.settings-row select:focus,.agent-input textarea:focus{outline:2px solid rgba(178,58,37,.28);outline-offset:1px;border-color:var(--accent)}.settings-privacy{margin:.2rem 0;color:var(--ink-soft);font-size:.78rem;line-height:1.45;padding:.4rem .55rem;background:var(--paper-sunk);border-radius:var(--radius-sm);border-left:2px solid var(--line-strong)}.settings-actions{display:flex;gap:.45rem;flex-wrap:wrap}[data-testid=provider-save]{border-color:var(--accent);color:#fff;background:var(--accent)}[data-testid=provider-save]:hover:not(:disabled){background:var(--accent-deep)}.settings-probe{font-size:.8rem}.settings-probe.ok{color:var(--ok)}.settings-probe.err{color:var(--err)}.agent{display:flex;flex-direction:column;min-height:0;padding:.85rem;gap:.65rem}.agent-input{display:flex;flex-direction:column;gap:.45rem}.agent-input textarea{width:100%;font-family:inherit;font-size:.86rem;resize:vertical;padding:.5rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--ink)}.agent-input button{align-self:flex-start;border-color:var(--agent);color:var(--on-agent);background:var(--agent);padding-inline:1.1rem}.agent-input button:hover:not(:disabled){background:color-mix(in srgb,var(--agent) 86%,#000)}.agent-trace{margin:0;padding:.5rem .6rem;list-style:none;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.78rem;line-height:1.5;max-height:14rem;overflow:auto}.agent-trace .trace{padding:.12rem 0;color:var(--ink-soft)}.agent-trace .trace-assistant_text{color:var(--ink)}.agent-trace .trace-error{color:var(--err)}.agent-trace .trace-run_finished{color:var(--agent);font-weight:600}.agent-error{color:var(--err);font-size:.83rem;padding:.45rem .55rem;background:var(--accent-soft);border-radius:var(--radius-sm);border-left:2px solid var(--accent)}.diff-review{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper-raised);overflow:hidden;box-shadow:var(--shadow-1)}.diff-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .7rem;border-bottom:1px solid var(--line);font-size:.82rem;background:var(--paper-sunk)}.diff-actions{display:inline-flex;gap:.4rem}[data-testid=accept]{border-color:var(--ok);color:#fff;background:var(--ok)}[data-testid=accept]:hover{background:#266a42}[data-testid=reject]{color:var(--ink-soft)}.diff-body{margin:0;padding:.6rem .7rem;overflow:auto;max-height:16rem;font-family:var(--font-mono);font-size:.78rem;line-height:1.5;white-space:pre;background:var(--paper-raised)}.diff-add{display:block;background:#2f7d4f1f;color:#1f6440}.diff-del{display:block;background:#b23a251a;color:var(--accent-deep)}.diff-ctx{display:block;color:var(--ink-soft)}.diff-refine{display:flex;gap:.4rem;align-items:center;padding:.5rem .7rem;border-bottom:1px solid var(--line);background:var(--paper-sunk)}.diff-refine-input{flex:1 1 auto;font:inherit;font-size:.82rem;padding:.35rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink)}.diff-refine-input:focus{outline:none;border-color:var(--ink-faint)}.diff-refine button{font:inherit;font-size:.82rem;padding:.35rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer}.diff-refine button:hover:not(:disabled){border-color:var(--ink-faint);background:color-mix(in srgb,var(--ink) 8%,transparent)}.mcp-proposals{margin:.5rem .75rem 0;display:grid;gap:.5rem}.mcp-proposals-head{margin:0;font-size:.78rem;color:var(--agent);font-weight:600}.mcp-proposals-overflow{color:var(--ink-soft);font-weight:400}.mcp-proposal{border-left:2px solid var(--agent);padding-left:.5rem;display:grid;gap:.35rem}.mcp-proposal-meta{margin:0;font-size:.8rem;color:var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.mcp-proposal-file{font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft)}.sidebar ::-webkit-scrollbar,.preview::-webkit-scrollbar,.agent-trace::-webkit-scrollbar,.diff-body::-webkit-scrollbar,.diagnostics::-webkit-scrollbar{width:10px;height:10px}.sidebar ::-webkit-scrollbar-thumb,.preview::-webkit-scrollbar-thumb,.agent-trace::-webkit-scrollbar-thumb,.diff-body::-webkit-scrollbar-thumb,.diagnostics::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}@media (prefers-reduced-motion: reduce){.panes>*{animation:none}}.panes-project{--col-files: .5fr;--col-editor: 1fr;--col-center: 1.12fr;--col-sidebar: .92fr;grid-template-columns:var(--col-files) var(--col-editor) var(--col-center) var(--col-sidebar)}.agent-target{margin:.5rem .75rem 0;font-size:.8rem;color:var(--ink-soft, #6b6358)}.agent-provider-hint{margin:.5rem .75rem 0;font-size:.76rem;line-height:1.5;color:var(--ink-faint, #8a8a86)}.project-files-pane{border-right:1px solid var(--line-strong);background:var(--paper-raised);overflow:auto;min-height:0}.project-files{list-style:none;margin:0;padding:.5rem 0}.project-files li{margin:0}.project-file{display:block;width:100%;text-align:left;border:none;background:none;padding:.4rem .9rem;font-family:ui-monospace,monospace;font-size:.85rem;color:var(--ink);cursor:pointer}.project-file:hover{background:color-mix(in srgb,var(--ink) 6%,transparent)}.project-file.is-active{background:color-mix(in srgb,var(--ink) 6%,transparent);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.project-file-main{color:var(--accent)}.project-file-row{display:flex;align-items:center;gap:.25rem}.project-file-row .project-file{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-ops{display:inline-flex;gap:.15rem;padding-right:.4rem;opacity:0;transition:opacity .14s ease}.project-file-row:hover .project-file-ops,.project-file-row:focus-within .project-file-ops{opacity:1}@media (hover: none){.project-file-ops{opacity:1}}@media (prefers-reduced-motion: reduce){.project-file-ops{transition:none}}.project-file-ops button{border:none;background:none;color:var(--ink-soft);cursor:pointer;font-size:.75rem;padding:.1rem .25rem;border-radius:3px}.project-file-ops button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--accent)}.project-file-rename{flex:1;margin:.2rem .6rem;font-family:ui-monospace,monospace;font-size:.85rem;padding:.25rem .4rem}.project-tree-children{list-style:none;margin:0;padding:0}.project-tree-group{margin:0}.project-file-row{padding-left:calc(var(--tree-depth, 0) * .85rem)}.project-folder{display:flex;align-items:center;gap:.3rem;font-weight:600;color:var(--ink)}.project-folder-caret{display:inline-flex;width:.8rem;justify-content:center;color:var(--ink-soft);font-size:.7rem;transition:transform .12s ease}@media (prefers-reduced-motion: reduce){.project-folder-caret{transition:none}}.project-folder-row .project-file-ops button{font-weight:400}.project-files-pane .notice{margin:.4rem .6rem}.project-new-file{display:flex;gap:.3rem;padding:.5rem .6rem;border-top:1px solid var(--line-strong)}.project-new-file input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:.8rem;padding:.3rem .4rem;color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,transparent);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.project-new-file input::placeholder{color:var(--ink-faint)}.project-new-file input:focus{outline:2px solid rgba(178,58,37,.28);outline-offset:1px;border-color:var(--accent)}.project-new-file button{font:inherit;font-size:.8rem;padding:.3rem .65rem;color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-pill);cursor:pointer;transition:background .12s ease,border-color .12s ease}.project-new-file button:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 8%,transparent);border-color:var(--ink-faint)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--chrome: rgba(255, 253, 248, .88)}}
