:root{--bg: #fafaf7;--pane: #ffffff;--ink: #1b1b1b;--muted: #7a7a72;--line: #e4e2da;--hover: #f3f2ec;--cap: #0b3d91;--cap-bg: #eaf0fb;--xref: #6b2fa0;--xref-bg: #f2eafa;--error: #c62828;--warn: #b26a00;--example: #2e6b2e;--string: #8a4b1f;--code-bg: #efede6;--drop: #0b3d91;--font-ui: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:15px}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}.app{display:flex;flex-direction:column;height:100%}.bar{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--line);background:var(--pane)}.brand{font-weight:700;letter-spacing:.02em}.version{margin-left:.35rem;font-size:.72em;font-variant-numeric:tabular-nums;color:var(--muted);cursor:default}.crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:.25rem;overflow:hidden;white-space:nowrap;font-size:.9em}.crumbs button{color:var(--muted);padding:.15rem .3rem;border-radius:4px;max-width:14rem;overflow:hidden;text-overflow:ellipsis}.crumbs button:hover{background:var(--hover)}.crumbs button.current{color:var(--ink);font-weight:600}.sep{color:var(--line)}.zoom{color:var(--muted);font-family:var(--font-mono);font-size:.85em}.harness{font-size:.75em;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:.15rem .5rem;border:1px solid var(--line);border-radius:999px}.harness.on{color:var(--example);border-color:var(--example)}.bar>button{font-size:.85em;padding:.25rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--bg)}.main{flex:1;min-height:0;overflow:auto;padding:.75rem 1rem 4rem}.explorer{max-width:56rem}.row{display:flex;align-items:center;gap:.35rem;min-height:2rem;padding-right:.5rem;border-radius:4px;border:1px solid transparent}.row:hover{background:var(--hover)}.row.editing{background:var(--pane);border-color:var(--line)}.row.drop{border-color:var(--drop);background:var(--cap-bg)}.row.dragging{opacity:.4}.row.code{color:var(--muted);font-family:var(--font-mono);font-size:.85em;min-height:1.6rem}.row.code.busy .icon{animation:pulse 1s infinite alternate}@keyframes pulse{0%{opacity:.3}to{opacity:1}}.accept-bar{display:flex;gap:.35rem;margin-left:.75rem}.accept-bar button{font-family:var(--font-ui);font-size:.9em;padding:.15rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.accept-bar button.accept{background:var(--cap);border-color:var(--cap);color:#fff}.actions button.generate{color:var(--cap)}.actions button.generate:disabled{opacity:.4;cursor:default}.code-block{margin:.15rem .5rem .6rem 0;padding:.6rem .8rem;font-family:var(--font-mono);font-size:.82em;line-height:1.5;background:var(--pane);border:1px solid var(--line);border-radius:4px;overflow-x:auto;white-space:pre}.dl-add{background:#e6f4e6;color:var(--example)}.dl-del{background:#fdecea;color:var(--error);text-decoration:none}.gen-error{margin:.15rem .5rem .6rem 0;padding:.6rem .8rem;font-family:var(--font-mono);font-size:.8em;color:var(--error);background:#fdecea;border-radius:4px;white-space:pre-wrap}.chevron{width:1.2rem;color:var(--muted);text-align:center;flex:none}.chevron:disabled{cursor:default}.icon{width:1.4rem;height:1.4rem;line-height:1.4rem;text-align:center;border-radius:4px;flex:none;font-size:.85em}.kind-class>.icon{color:var(--cap)}.kind-state>.icon{color:var(--example)}.kind-function>.icon{color:var(--xref);font-style:italic}.kind-block>.icon,.kind-rule>.icon{color:var(--muted)}.kind-rule>.title{color:var(--muted)}.icon:hover{background:var(--cap-bg)}.title{flex:1;min-width:0;padding:.25rem .3rem;cursor:default;line-height:1.5;overflow-wrap:anywhere}.kind-class>.title{font-size:1.15em}.kind-function>.title{font-size:1.05em}.kind{margin-left:.6em;font-size:.7em;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cap{font-weight:600;color:var(--cap);background:var(--cap-bg);padding:0 .3em;border-radius:3px}.kind-class .title>.cap,.kind-function .title>.cap,.kind-state .title>.cap{background:transparent;padding:0;color:var(--ink)}.cap-xref{color:var(--xref);background:var(--xref-bg)}.reserved{color:var(--muted);font-weight:600;letter-spacing:.02em;text-decoration:underline dotted;text-underline-offset:.2em}.dim{color:var(--muted)}.value{font-family:var(--font-mono);font-size:.9em}.placeholder{color:var(--muted);font-style:italic}.diag-error{text-decoration:underline wavy var(--error);text-decoration-skip-ink:none;text-underline-offset:3px}.diag-warn{text-decoration:underline dotted var(--warn);text-underline-offset:3px}.fields{flex:1;min-width:0;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.fields input{font:inherit;padding:.2rem .4rem;border:1px solid var(--line);border-radius:4px;background:var(--pane);color:var(--ink);min-width:6rem;width:10rem}.fields input.wide{flex:1;width:auto}.fields input:focus{outline:2px solid var(--cap-bg);border-color:var(--cap)}.actions{display:flex;gap:.1rem;flex:none;opacity:0}.row:hover>.actions,.row:focus-within>.actions{opacity:1}.actions button{width:1.6rem;height:1.6rem;border-radius:4px;color:var(--muted);font-size:.9em}.actions button:hover{background:var(--cap-bg);color:var(--cap)}.actions button.danger:hover{background:#fdecea;color:var(--error)}.menu{display:flex;gap:.35rem;flex-wrap:wrap;padding:.25rem .5rem .4rem}.menu button{font-size:.85em;padding:.2rem .55rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.menu button:hover{border-color:var(--cap);color:var(--cap)}.menu button.dim{border-color:transparent}.diagnostics{list-style:none;padding:.75rem .5rem;margin:1.5rem 0 0;font-size:.85em;border-top:1px solid var(--line);max-width:56rem}.diagnostics li{text-decoration:none}.diagnostics li.diag-error button{color:var(--error)}.diagnostics li.diag-warn button{color:var(--warn)}.diagnostics button{text-align:left;padding:.15rem .3rem;border-radius:4px}.diagnostics button:hover{background:var(--hover)}.textpanel{display:flex;flex-direction:column;gap:.5rem;height:100%;max-width:56rem}.numbered-text{position:relative;display:flex;flex:1;min-height:50vh}.ln-gutter{position:relative;flex:none;width:3rem;overflow:hidden;font-family:var(--font-mono);font-size:14px;line-height:1.6;color:var(--muted);-webkit-user-select:none;user-select:none}.ln-gutter>span{position:absolute;right:.6rem}.ln-copy{position:absolute;top:0;left:0;box-sizing:border-box;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.textpanel textarea{flex:1;min-height:50vh;font-family:var(--font-mono);font-size:14px;line-height:1.6;padding:1rem;border:1px solid var(--line);border-radius:4px;background:var(--pane);color:var(--ink);resize:none;-moz-tab-size:2;tab-size:2}.textbar{display:flex;align-items:center;gap:.75rem}.textbar button{font-size:.9em;padding:.3rem .8rem;border:1px solid var(--cap);border-radius:4px;background:var(--cap);color:#fff}.hint{color:var(--muted);font-size:.85em}@media (max-width: 760px){.bar{flex-wrap:wrap;gap:.5rem}.crumbs{order:10;flex-basis:100%}.main{padding:.5rem .5rem 4rem}.row{flex-wrap:wrap;padding-right:.25rem}.actions{opacity:1}.actions button{width:2rem;height:2rem}.fields input{width:8rem}.kind{display:none}}.exportpanel{display:flex;flex-direction:column;gap:.9rem;max-width:56rem}.exportpanel>.hint{display:block}.file{display:flex;flex-direction:column;gap:.3rem}.filebar{display:flex;align-items:center;gap:.75rem}.filename{font-family:var(--font-mono);font-weight:600}.filebar button{font-size:.85em;padding:.15rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.exportpanel .code-block{margin:0}.kind-page>.icon{color:var(--xref)}.kind-page>.title{font-weight:600}.layout{display:grid;grid-template-columns:minmax(9rem,14rem) minmax(0,1fr);gap:1rem;align-items:start}.layout.with-panel{grid-template-columns:minmax(9rem,14rem) minmax(0,1fr) minmax(0,1fr)}@media (max-width: 899px){.layout,.layout.with-panel{grid-template-columns:1fr}}.tabs{display:none}@media (max-width: 899px){.tabs{display:flex;border-top:1px solid var(--line);background:var(--pane)}.tabs button{flex:1;padding:.6rem .25rem;margin-top:-1px;border-top:2px solid transparent;color:var(--muted)}.tabs button.on{border-top-color:var(--cap);color:var(--ink);font-weight:600}.layout:not(.tab-tree)>.folder,.layout:not(.tab-structure)>.editor,.layout.tab-tree>.panel,.layout.tab-structure>.panel,.layout .panel-tabs{display:none}.layout .panel{position:static;max-height:none}}.editor{min-width:0}.editorbar{display:flex;align-items:center;gap:.75rem;padding-bottom:.4rem;margin-bottom:.4rem;border-bottom:1px solid var(--line)}.folder{display:flex;flex-direction:column;gap:.1rem;min-width:0}.folder-row{text-align:left;padding:.25rem .5rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-row:hover{background:var(--hover)}.folder-row.open{background:var(--hover);font-weight:600}.folder-row.project{margin-bottom:.3rem}.folder-row.dim,.folder-row.dir{color:var(--muted)}.folder-cap{color:var(--cap);font-size:.8em}.folder-row.sub{font-size:.9em}.folder-head{display:flex;align-items:center;gap:.2rem;margin-bottom:.3rem}.folder-head .folder-row.project{flex:1;min-width:0;margin-bottom:0}.folder-refresh{padding:.1rem .4rem;color:var(--muted)}.ctx-why{padding:.2rem .6rem;max-width:22rem;color:var(--muted);font-size:.85em;white-space:normal}.hint.pick{padding:1rem}.convert-said{padding:.3rem .6rem;border-left:2px solid var(--cap);margin-bottom:.4rem}.folder-site{font-size:.85em;padding:0 .5rem .4rem}.folder-add{display:flex;gap:.3rem;padding:.5rem}.folder-add button{font-size:.8em;color:var(--muted);padding:.1rem .4rem;border:1px dashed var(--line);border-radius:4px}.line.member{cursor:pointer}.panel{position:sticky;top:0;max-height:calc(100vh - 4rem);overflow:auto;display:flex;flex-direction:column;gap:.9rem;padding:.25rem 0 1rem;min-width:0}.panel .files{display:flex;flex-direction:column;gap:.9rem}.panel-note{color:var(--muted);font-size:.9em}.panel-tabs{position:sticky;top:0;z-index:1;display:flex;gap:.25rem;border-bottom:1px solid var(--line);background:var(--bg)}.panel-tabs button{padding:.3rem .7rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--muted)}.panel-tabs button.on{border-bottom-color:var(--cap);color:var(--ink);font-weight:600}.chat{display:flex;flex-direction:column;gap:.5rem}.chat-msg{padding:.4rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--pane)}.chat-msg.human{background:var(--cap-bg);border-color:var(--cap-bg)}.chat-meta{display:flex;gap:.5rem;color:var(--muted);font-size:.8em}.chat-about{color:var(--cap)}.chat-about.gone{color:var(--muted);text-decoration:line-through}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere}.chat-box{position:sticky;bottom:0;display:flex;flex-direction:column;gap:.3rem;padding:.5rem 0 .25rem;border-top:1px solid var(--line);background:var(--bg)}.chat-to{color:var(--muted);font-size:.85em}.chat-to b{color:var(--ink)}.chat-box textarea{width:100%;box-sizing:border-box;resize:vertical;padding:.35rem .45rem;font:inherit;border:1px solid var(--line);border-radius:4px;background:var(--pane);color:var(--ink)}.chat-send{justify-content:flex-end;margin-left:0}.chat-send button:disabled{opacity:.4;cursor:default}.panel-cancel{margin-left:.4rem;padding:0 .5rem;border:1px solid var(--line);border-radius:4px;background:var(--pane);color:var(--ink);font-size:.9em}.panel-count{margin-left:.35rem;padding:0 .4rem;border-radius:999px;background:var(--cap-bg);color:var(--cap);font-size:.8em;font-weight:600}.panel-note .pulse{color:var(--cap);animation:pulse 1s infinite alternate}.proposal{border:1px solid var(--cap);border-radius:6px;padding:.5rem .6rem;background:var(--pane)}.proposal .filebar{margin-bottom:.4rem}.code-popup-anchor{position:sticky;top:2.4rem;z-index:3;height:0}.code-popup{max-height:70vh;overflow:auto;padding:.5rem .6rem;border:1px solid var(--cap);border-radius:6px;background:var(--bg);box-shadow:0 6px 24px #0000002e}.code-popup .filebar{margin-bottom:.4rem}.explained{margin:.35rem 0 .2rem;padding:.35rem .5rem;border-left:2px solid var(--cap);background:var(--pane);white-space:pre-wrap;font-size:.9em}@media (max-width: 899px){.code-popup-anchor{top:.4rem}}.generating{animation:dear-generating 1.4s ease-in-out infinite}@keyframes dear-generating{0%,to{background-color:transparent}50%{background-color:var(--cap-bg)}}@media (prefers-reduced-motion: reduce){.generating{animation:none;background-color:var(--cap-bg)}}.code-block.filebody{margin:0;max-height:70vh;overflow:auto}.code-block.numbered{display:flex;align-items:flex-start;padding-left:0}.code-block.numbered>.gutter{position:sticky;left:0;z-index:1;flex:none;padding:0 .6rem 0 .7rem;text-align:right;color:var(--muted);background:var(--pane);border-right:1px solid var(--line);white-space:pre;-webkit-user-select:none;user-select:none}.code-block.numbered>pre{flex:1 0 auto;margin:0;padding:0 0 0 .8rem;font:inherit;white-space:pre}.code-block .line{display:block}.code-block .line.hl{background:var(--cap-bg);box-shadow:-.8rem 0 0 var(--cap-bg),.8rem 0 0 var(--cap-bg)}.code-block .line.hl-block{box-shadow:-.8rem 0 0 var(--cap),.8rem 0 0 var(--cap-bg)}.code-block .line.hl-block.stale{box-shadow:-.8rem 0 0 var(--warn),.8rem 0 0 var(--cap-bg)}.blockinfo{display:inline-flex;align-items:center;gap:.4rem;font-size:.85em;color:var(--muted)}.blockinfo.stale{color:var(--warn)}.pnodes{font-family:var(--font-ui);font-size:.95em;white-space:normal}.pnode{display:flex;align-items:center;gap:.4rem;min-height:1.7rem}.pnode .icon{width:1.2rem;text-align:center;color:var(--muted)}.row>.prompticon{margin-left:auto;width:1.6rem;height:1.6rem;border-radius:4px;color:var(--muted);opacity:0}.row:hover>.prompticon,.row:focus-within>.prompticon,.row.focus>.prompticon,.row>.prompticon.has,.row>.prompticon.open{opacity:1}.row>.prompticon.has{color:var(--cap)}.row>.prompticon.open{background:var(--hover)}.row.focus{border-color:var(--line)}.describe{display:flex;gap:.5rem;align-items:flex-start;padding:.25rem .5rem .5rem 2.6rem}.describe textarea{flex:1;font:inherit;padding:.4rem .6rem;border:1px solid var(--cap);border-radius:4px;background:var(--pane);resize:vertical;min-height:2.6rem}.describe-side{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start}.describe-side .accept{font-size:.9em;padding:.25rem .7rem;border-radius:4px;background:var(--cap);color:#fff;border:1px solid var(--cap)}.describe-side .accept:disabled{opacity:.4}.empty-describe{margin:.25rem 0 1rem;padding:.75rem;border:1px dashed var(--line);border-radius:6px}.empty-describe .describe{padding-left:0}.ctx{position:fixed;z-index:20;min-width:12rem;padding:.3rem;background:var(--pane);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 24px #0000001f;display:flex;flex-direction:column}.ctx button{text-align:left;padding:.3rem .7rem;border-radius:4px;font-size:.92em}.ctx button:hover{background:var(--hover)}.ctx button.danger{color:var(--error)}.ctx button:disabled{color:var(--muted);background:none;cursor:default}.ctx-group{border-top:1px solid var(--line);margin-top:.25rem;padding-top:.25rem;display:flex;flex-direction:column}.nodeprompt{padding-top:0;padding-right:.5rem;padding-bottom:.3rem}.nodeprompt-box{position:relative}.nodeprompt-bar{display:flex;justify-content:flex-end;gap:.35rem;padding-top:.25rem}.nodeprompt-bar button{font-size:.85em;padding:.15rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.nodeprompt-bar button.primary{border-color:var(--cap);color:var(--cap)}.nodeprompt-bar button:disabled{opacity:.4;cursor:default}.nodeprompt textarea{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:.9em;padding:.25rem .5rem;border:1px solid transparent;border-left:2px solid var(--cap);border-radius:0 4px 4px 0;background:var(--pane);color:var(--ink);resize:none;overflow:hidden}.nodeprompt textarea:placeholder-shown{border-left-color:var(--line)}.nodeprompt textarea:focus{outline:none;border-color:var(--cap)}.projmenu{position:relative}.projmenu-button{font-weight:600;padding:.15rem .5rem;border:1px solid var(--line);border-radius:4px;max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projmenu-list{position:absolute;top:calc(100% + .25rem);left:0;max-height:70vh;overflow-y:auto}.projmenu-list input{font:inherit;font-size:.92em;padding:.3rem .5rem;border:1px solid var(--cap);border-radius:4px}.projmenu-list button.current{font-weight:600}.projmenu-row{display:flex;align-items:stretch}.projmenu-row>button:first-child{flex:1}.projmenu-list button.projmenu-remove{flex:none;color:var(--muted)}.conflict{margin-top:.5rem}.usagebar{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;justify-content:space-between;padding:.3rem 1rem;border-top:1px solid var(--line);background:var(--pane);color:var(--muted);font-size:.8em}.usage-session{color:var(--ink)}.strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);background:var(--pane)}.strip>.calls{border-top:none}.progress{padding:.2rem 1rem;border-left:1px solid var(--line);color:var(--muted);font-size:.8em;max-height:9em;overflow:auto}.strip-head{padding:.1rem 0;color:var(--ink);font-weight:600}.progress-task{padding:.1rem 0;color:var(--ink)}.progress-task.dim{color:var(--muted)}.progress-task.failed{color:var(--error)}.progress-line{display:none}@media (max-width: 899px){.strip{grid-template-columns:minmax(0,1fr)}.strip>.progress{display:none}.progress-line{display:flex;align-items:center;gap:.4rem;padding:.35rem 1rem;border-top:1px solid var(--line);background:var(--pane);font-size:.85em}.progress-line-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.calls{padding:.2rem 1rem;border-top:1px solid var(--line);background:var(--pane);color:var(--muted);font-size:.8em;max-height:9em;overflow:auto}.call{padding:.1rem 0}.call.running{color:var(--ink)}.running-calls{border-top:none;padding:.2rem 0 0;max-height:none}.call.failed{color:var(--error)}.call-tail,.call-side{padding-left:1rem;white-space:pre-wrap;overflow-wrap:anywhere;max-height:2.6em;overflow:hidden}@media (min-width: 900px){.main.split{display:flex;flex-direction:column;overflow:hidden;padding-bottom:.75rem}.main.split .layout{flex:1;min-height:0;grid-template-rows:minmax(0,1fr);align-items:stretch}.main.split .folder,.main.split .editorbody{min-height:0;overflow-y:auto}.main.split .editor{min-height:0;display:flex;flex-direction:column}.main.split .editorbody{flex:1;padding-bottom:3rem}.main.split .panel-code .filebody{max-height:none}.main.split .panel{position:static;max-height:none;min-height:0}}.diskstate{color:var(--muted);font-size:.8em}.diskbar{display:flex;align-items:center;gap:.6rem;padding:.35rem 1rem;background:#fff4e0;border-bottom:1px solid var(--line);font-size:.9em}.diskbar.error{background:#fdecea;color:var(--error)}.diskbar button{padding:.1rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.ctx a.ctx-link{padding:.3rem .7rem;border-radius:4px;font-size:.92em;color:var(--cap);text-decoration:none}.ctx a.ctx-link:hover{background:var(--hover)}details.file>summary{cursor:pointer}details.file>summary .filename:before{content:"▸ ";color:var(--muted)}details.file[open]>summary .filename:before{content:"▾ "}.doc{position:relative;padding:.9rem 1.1rem 2rem 3.2rem;max-width:62rem}.doc .ln{position:absolute;left:0;width:2.4rem;text-align:right;font-family:var(--font-mono);font-size:.8em;color:var(--muted);-webkit-user-select:none;user-select:none;pointer-events:none}.doc .ln-col{position:absolute;left:0;width:2.4rem;margin-top:.3rem;padding-top:.45rem;text-align:right;font-family:var(--font-mono);font-size:.8em;line-height:calc(.92 * 1.55 / .8);white-space:pre;color:var(--muted);-webkit-user-select:none;user-select:none;pointer-events:none}.doc-head{display:flex;align-items:center;gap:.35rem}.doc input{font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid transparent;padding:.1rem .15rem;width:14ch}.doc input:hover{border-bottom-color:var(--line)}.doc input:focus{outline:none;border-bottom-color:var(--cap)}.doc input.wide{width:100%}.doc input.doc-head-text{font-family:var(--font-mono);font-size:1.05em;color:var(--cap);font-weight:600;max-width:100%}.doc-decl{margin-left:1.1rem}.doc-fn{margin-top:1.1rem;padding-left:.35rem;border-left:2px solid transparent}.doc-fn.focus{border-left-color:var(--cap-bg);background:var(--cap-bg)}.doc-sig{display:flex;align-items:center;gap:.15rem}.doc-sig input.doc-sig-text{font-family:var(--font-mono);font-size:.92em;color:var(--cap);font-weight:600;max-width:100%}.doc-tag{margin-left:.4rem;font-size:.7em;text-transform:uppercase;letter-spacing:.04em;color:var(--example)}.doc-tag.doc-export{text-transform:none;letter-spacing:0;font-family:var(--font-mono);font-size:.75em}.doc-fn.locked .doc-sig-text,.doc-head.locked .doc-head-text{font-weight:600}.doc-locked-tag{color:var(--ink)}.doc-gives{margin-left:.4rem;font-size:.8em;color:var(--muted)}.doc-examples-line{display:flex;align-items:center;gap:.4rem;margin:.15rem 0 .35rem 1.5rem}.lock-note{margin:.25rem 0;font-size:.85em;color:var(--warn, #b26a00)}.doc-examples.good{color:var(--example, #2e6b2e)}.doc-examples.bad{color:var(--error, #c62828)}.doc-run{margin-left:.4rem;font-size:.75em}.doc-del{margin-left:.2rem;padding:0 .3rem;color:var(--muted);opacity:0;border-radius:3px}.doc-sig:hover .doc-del,.doc-del:focus-visible{opacity:1}.doc-del:hover{color:var(--error);background:var(--hover)}.doc-body{display:block;width:100%;margin:.3rem 0 0 1.55rem;padding:.45rem .6rem;font-family:var(--font-mono);font-size:.92em;line-height:1.55;color:var(--ink);background:none;border:0;border-left:2px solid transparent;border-radius:0;resize:vertical;-moz-tab-size:2;tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto}.doc-body:hover{border-left-color:var(--line)}.doc-body:focus{outline:none;border-left-color:var(--cap)}.doc-body::placeholder{color:var(--muted)}.doc-edit{position:relative;min-height:1.6em;resize:none;cursor:text}.doc-edit.read-only{cursor:default}.doc-edit.empty:before{content:attr(data-placeholder);position:absolute;color:var(--muted);pointer-events:none}::highlight(dear-cap){color:var(--cap, #0b3d91);background-color:var(--cap-bg, #eaf0fb)}::highlight(dear-xref){color:var(--xref, #6b2fa0);background-color:var(--xref-bg, #f2eafa)}::highlight(dear-reserved){color:var(--muted, #7a7a72);text-decoration:underline dotted}::highlight(dear-keyword){color:var(--example, #2e6b2e)}::highlight(dear-string){color:var(--string, #8a4b1f)}::highlight(dear-value){color:var(--example, #2e6b2e);background-color:var(--value-bg, #eef6ee)}::highlight(dear-unread){color:var(--muted, #7a7a72);text-decoration:underline dashed var(--warn, #b26a00)}::highlight(dear-open){text-decoration:underline dotted var(--warn, #b26a00)}::highlight(dear-pronoun){text-decoration:underline dotted var(--muted)}::highlight(dear-yesno){color:var(--example, #2e6b2e)}::highlight(dear-instruction){color:var(--muted)}::highlight(dear-comment){color:var(--muted);text-decoration:underline dotted var(--muted)}::highlight(dear-code){color:var(--ink);background-color:var(--code-bg, #efede6)}::highlight(dear-pass){background-color:var(--value-bg, #eef6ee)}::highlight(dear-fail){text-decoration:underline wavy var(--error, #c62828)}::highlight(dear-cannot){text-decoration:underline dotted var(--warn, #b26a00)}::highlight(dear-untested){text-decoration:underline dashed var(--muted)}::highlight(dear-error){color:var(--error, #c62828);text-decoration:underline wavy var(--error, #c62828)}::highlight(dear-warn){color:var(--example, #2e6b2e);text-decoration:underline dotted var(--warn, #b26a00)}.doc-hover{position:fixed;z-index:30;max-width:340px;padding:.35rem .55rem;font-size:.85em;line-height:1.45;color:var(--muted);background:var(--pane);border:1px solid var(--line);border-radius:5px;box-shadow:0 4px 14px #0000001f;pointer-events:none;white-space:pre-wrap}.doc-hover-what{color:var(--ink);font-family:var(--font-mono)}.doc-hover-error .doc-hover-what{color:var(--error);font-family:var(--font-ui)}.doc-hover-warn .doc-hover-what,.doc-hover-open .doc-hover-what{color:var(--warn);font-family:var(--font-ui)}.doc-hover-reserved .doc-hover-what{font-family:var(--font-ui)}.doc input.field-error{text-decoration:underline wavy var(--error);text-underline-offset:3px}.doc input.field-warn{text-decoration:underline dotted var(--warn);text-underline-offset:3px}.doc-add{display:flex;gap:.4rem;margin:1.4rem 0 0 1.55rem}.doc-add button{font-size:.85em;padding:.15rem .6rem;color:var(--muted);border:1px solid var(--line);border-radius:4px;background:var(--pane)}.doc-add button:hover{color:var(--ink);background:var(--hover)}.wordsdiff{margin:0;padding:.4rem .6rem;border-bottom:1px solid var(--line);background:var(--bg);font-family:var(--font-ui);font-size:.85em;white-space:pre-wrap;overflow-wrap:anywhere}.doc-ask{position:fixed;z-index:31;max-width:340px;padding:.4rem .55rem;font-size:.85em;line-height:1.45;color:var(--muted);background:var(--pane);border:1px solid var(--line);border-radius:5px;box-shadow:0 4px 14px #0000001f}.doc-ask-what{color:var(--warn);font-family:var(--font-ui);margin-bottom:.3rem}.doc-ask-names{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.35rem}.doc-ask-names button{padding:.1rem .45rem;font-family:var(--font-mono);color:var(--cap);background:var(--cap-bg);border:1px solid transparent;border-radius:4px}.doc-ask-names button:hover{border-color:var(--cap)}.doc-ask-names button.picked{border-color:var(--cap);background:var(--cap);color:var(--pane)}.doc-ask-row{display:flex;align-items:center;gap:.5rem}.doc-ask-typed{font:inherit;font-family:var(--font-mono);width:11em;padding:.1rem .35rem;color:var(--ink);background:var(--pane);border:1px solid var(--line);border-radius:4px}.doc-ask-no{color:var(--muted);text-decoration:underline dotted}.doc-ask-no:hover{color:var(--ink)}.doc-ask-hint{margin-top:.3rem;font-size:.9em}.held-file{margin-bottom:.5rem}.held-one{margin-bottom:.75rem;padding-left:.35rem;border-left:2px solid transparent}.held-one.focus{border-left-color:var(--cap-bg)}.legend{margin-top:.5rem;font-size:.8em;line-height:1.4}.legend p{margin:.25rem 0}.held-why{margin:.25rem 0 0;padding-left:1.1rem}.held-why li{margin:.1rem 0}.held-line{font-family:var(--font-mono);color:var(--ink)}.assumed{padding:.3rem .75rem;border-bottom:1px solid var(--line);font-size:.85em}.assumed-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.assumed-text{color:var(--warn)}.assumed.aside .assumed-text{color:var(--muted)}.assumed-words{margin-top:.3rem;width:100%;font:inherit;font-family:var(--font-mono);padding:.15rem .4rem;color:var(--ink);background:var(--pane);border:1px solid var(--line);border-radius:4px}.assumed-options{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.3rem}.assumed-options button{padding:.1rem .45rem;font-family:var(--font-mono);color:var(--cap);background:var(--cap-bg);border:1px solid transparent;border-radius:4px;text-align:left}.assumed-options button:hover,.assumed-options button.picked{border-color:var(--cap)}.assumed-options button.assumed-more{font-family:var(--font-ui);color:var(--muted);background:none;text-decoration:underline dotted}.assumed-options button.assumed-more:hover{color:var(--ink);border-color:transparent}.assumed-error{color:var(--error)}.signin{display:inline-flex;flex-direction:column;gap:.15rem}.signin-row{display:inline-flex;gap:.35rem}.signin input{width:9rem;font:inherit;font-size:.85em;padding:.2rem .4rem;border:1px solid var(--line);border-radius:4px}.signin button{font-size:.85em;padding:.2rem .6rem;border:1px solid var(--cap);border-radius:4px;background:var(--cap);color:#fff}.signin button:disabled{opacity:.5}.signin-error{color:var(--error);font-size:.8em}.gear{font-size:1.1em;line-height:1;color:var(--muted)}.gear:hover{color:var(--ink)}.settings{top:2.6rem;right:1rem;width:min(30rem,calc(100vw - 2rem));max-height:calc(100vh - 4rem);overflow:auto;padding:.5rem .75rem .6rem;gap:.5rem;font-size:.9em}.settings-head,.settings-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.settings-head{font-weight:600}.settings-scope{padding:.4rem .75rem 0}.settings-group{display:flex;flex-direction:column;gap:.3rem;padding:.35rem 0;border-top:1px solid var(--line)}.settings-title{color:var(--muted);font-size:.85em;text-transform:uppercase;letter-spacing:.04em}.settings label{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.settings input,.settings select{font:inherit;font-family:var(--font-mono);padding:.15rem .4rem;color:var(--ink);background:var(--pane);border:1px solid var(--line);border-radius:4px;min-width:14em}.settings .ctx button,.settings button{text-align:left}.naming-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem;z-index:50}.naming{background:var(--pane);border:1px solid var(--line);border-radius:6px;padding:.8rem 1rem;width:min(34rem,100%);display:flex;flex-direction:column;gap:.5rem}.naming-head{font-weight:600}.naming-row{display:grid;grid-template-columns:2.5rem 1fr 9rem;align-items:center;gap:.5rem}.naming-code{font-family:var(--font-mono)}.naming-row input{font:inherit;padding:.2rem .4rem;border:1px solid var(--line);border-radius:4px;min-width:0}.naming-error{color:var(--error);font-size:.85em}.naming-bar{display:flex;justify-content:flex-end;gap:.4rem}.naming-bar button{font-size:.85em;padding:.15rem .6rem;border:1px solid var(--line);border-radius:4px;background:var(--pane)}.naming-bar button.primary{border-color:var(--cap);color:var(--cap)}.naming-bar button:disabled{opacity:.4;cursor:default}.doc-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;margin:0 0 .2rem 2.6rem;padding:0;border:0;background:none;text-align:left;font:inherit;font-family:var(--font-ui);font-size:.85em;color:var(--muted);cursor:pointer}.doc-desc:disabled{cursor:default}.doc-desc.above{margin:.4rem 0 0 2.6rem;font-family:var(--font-mono)}.doc-style .doc-style{margin-left:1.5rem}.doc-state-descs{margin:.1rem 0 .4rem}.behind-mark{margin-left:.35rem;color:var(--warn)}.doc-tag.doc-behind{color:var(--warn);font-size:.85em;text-transform:none;letter-spacing:0}.filebar .behind{color:var(--warn);font-size:.85em}.behind-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.2rem .5rem}.behind-name{font-family:var(--font-mono);font-size:.9em}.behind-why{flex:1;min-width:8rem;font-size:.85em;color:var(--muted)}.behind-all{padding:.3rem .5rem}
