:root{color-scheme:light dark;--bg: #fbfbfa;--panel: #f3f3f0;--fg: #1a1a18;--muted: #6b6b66;--accent: #3b6ea5;--border: #dcdcd6;--hover: #e8e8e3;--warn: #b4442e;--ok: #3f7d4e;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--bg: #17171a;--panel: #1e1e22;--fg: #ececea;--muted: #9a9a94;--accent: #7aa7d8;--border: #33333a;--hover: #2a2a30;--warn: #e8826b;--ok: #7fc28f}}*{box-sizing:border-box}html,body,#root{height:var(--app-height, 100%)}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;overscroll-behavior:none;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}button{padding:.3rem .65rem;border:1px solid var(--border);border-radius:6px;background:transparent;cursor:pointer}button:hover:not(:disabled){background:var(--hover)}button:disabled{opacity:.55;cursor:default}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}button.danger:hover:not(:disabled){border-color:var(--warn);color:var(--warn)}button.small{padding:.1rem .5rem;font-size:.8rem;white-space:nowrap}input,select{min-width:0;padding:.3rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}code{font-family:var(--mono);font-size:.9em}.hint{color:var(--muted);font-size:.875rem;margin:.4rem 0}.error{color:var(--warn);font-size:.875rem;margin:.4rem 0;overflow-wrap:anywhere}.center{margin:auto;padding:2rem;text-align:center;max-width:34rem}.login{display:flex;flex-direction:column;gap:.6rem;width:min(22rem,100%);padding-top:18vh;text-align:left}.login h1{margin:0 0 .6rem}.login label{font-size:.875rem;color:var(--muted)}.foot-actions{display:flex;justify-content:space-between}.foot-actions button:last-child{margin-left:auto}.app{display:grid;grid-template-columns:var(--columns);height:100%}.resizer{position:relative;z-index:1;width:7px;margin:0 -3px;cursor:col-resize;touch-action:none}.resizer:after{content:"";position:absolute;top:0;right:3px;bottom:0;left:3px;background:var(--border)}.resizer:hover:after,.resizer.dragging:after,.resizer:focus-visible:after{top:0;right:2px;bottom:0;left:2px;background:var(--accent)}.resizer:focus-visible{outline:none}.sidebar,.side{display:flex;flex-direction:column;min-height:0;background:var(--panel);overflow-y:auto}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.bar{display:flex;align-items:center;gap:.75rem;padding:.45rem .9rem;border-bottom:1px solid var(--border)}.crumbs{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.save{font-size:.8rem;color:var(--muted);white-space:nowrap}.save.error{color:var(--warn)}.toggle{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--muted)}.modes{display:flex}.modes button{border-radius:0;margin-left:-1px;text-transform:capitalize;font-size:.8rem}.modes button:first-child{border-radius:6px 0 0 6px;margin-left:0}.modes button:last-child{border-radius:0 6px 6px 0}.modes button.active{background:var(--hover);font-weight:600}.panel-toggle{padding:.2rem .55rem}.panel-toggle[aria-pressed=false]{color:var(--muted)}.bar .wide-only{display:flex;gap:.75rem}.crumbs .wide-only{display:inline;font-weight:400;color:var(--muted)}.narrow-only,.backdrop{display:none}.banner{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin:0;padding:.5rem .9rem;border-bottom:1px solid var(--border)}.banner button{border:0;padding:0 .4rem}.panes{flex:1;display:grid;min-height:0}.panes.split{grid-template-columns:minmax(0,var(--editor)) auto minmax(0,var(--preview))}@media (min-width: 901px){.hide-left .sidebar,.hide-left .resizer.left,.hide-right .side,.hide-right .resizer.right{display:none}}.vaults{display:flex;gap:.4rem;padding:.6rem;border-bottom:1px solid var(--border)}.vaults select{flex:1;font-weight:600}.sidebar-foot{position:sticky;bottom:0;padding:.4rem .6rem;border-top:1px solid var(--border);background:var(--panel)}.sidebar-foot button{border-color:transparent;background:none;color:var(--muted);font-size:.8rem}.tree{flex:1;padding-bottom:2rem}.tree-head{display:flex;gap:.4rem;padding:.6rem}.tree-head button{flex:1;font-size:.8rem}.tree ul{list-style:none;margin:0;padding:0}.tree .hint,.tree .empty{padding:0 .7rem;color:var(--muted);font-size:.8rem}.row{display:flex;align-items:center;padding-right:.3rem}.row:hover,.row:focus-within{background:var(--hover)}.row.selected{background:var(--hover);box-shadow:inset 2px 0 0 var(--accent)}.row.drop{outline:2px dashed var(--accent);outline-offset:-2px}.row button{border:0;border-radius:4px}.row-name{flex:1;min-width:0;padding:.2rem .3rem;overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis}.row-name:hover:not(:disabled){background:transparent}.row-icon{display:inline-block;width:1rem;color:var(--muted)}.row-actions,.row-more{display:none}.row-menu{margin:0 .5rem .3rem 1.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg)}.row-menu button{width:100%;border:0;text-align:left}.row:hover .row-actions,.row:focus-within .row-actions{display:flex}.row-actions button{padding:0 .3rem;color:var(--muted)}.row-actions button:hover:not(:disabled){color:var(--fg)}.panel{padding:.8rem;border-bottom:1px solid var(--border)}.panel h2{display:flex;justify-content:space-between;margin:0 0 .5rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.count{font-variant-numeric:tabular-nums}.todos{list-style:none;margin:0;padding:0}.todo{display:flex;align-items:start;gap:.4rem;padding:.35rem 0;border-top:1px solid var(--border)}.todo:first-child{border-top:0}.todo-text{flex:1;min-width:0;padding:0;border:0;text-align:left;font-size:.875rem;overflow-wrap:anywhere}.todo-text:hover:not(:disabled){background:transparent;text-decoration:underline}.todo-kind{display:block;font-size:.7rem;color:var(--warn)}.todo.marker .todo-kind,.todo.ungenerated-image .todo-kind{color:var(--accent)}.steps{margin:.6rem 0 0;padding:0;list-style:none;font-size:.85rem}.steps li{padding:.15rem 0;overflow-wrap:anywhere}.steps li:before{content:"✓ ";color:var(--ok)}.steps li.failed:before{content:"✕ ";color:var(--warn)}.steps li.failed{color:var(--warn)}.remote{display:flex;align-items:center;gap:.4rem;margin-top:.8rem;font-size:.8rem}.remote label{color:var(--muted)}.remote input{flex:1;font-size:.8rem}.assistant{flex:1;display:flex;flex-direction:column;min-height:0}.assistant h2{display:flex;justify-content:space-between;align-items:center;margin:0;padding:.5rem .8rem;border-bottom:1px solid var(--border);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.assistant h2 button{font-size:.75rem;padding:.1rem .5rem}.assistant-empty{padding:.8rem}.chat-log{flex:1;display:flex;flex-direction:column;gap:.6rem;min-height:0;padding:.8rem;overflow-y:auto;font-size:.9rem}.msg{flex-shrink:0;max-width:100%;padding:.5rem .7rem;border-radius:8px;overflow-wrap:anywhere}.msg.user{align-self:flex-end;max-width:90%;background:color-mix(in srgb,var(--accent) 16%,var(--panel));white-space:pre-wrap}.msg.assistant{border:1px solid var(--border);background:var(--bg)}.msg.failed{color:var(--warn)}.msg-body>:first-child{margin-top:0}.msg-body>:last-child{margin-bottom:0}.msg-body pre{overflow-x:auto;font-size:.8rem}.msg-body a{color:var(--accent)}.msg-sources{list-style:none;margin:0 0 .5rem;padding:0;font-size:.8rem}.src{padding:.1rem 0;color:var(--muted)}.src.ok:before{content:"✓ ";color:var(--ok)}.src.err{color:var(--warn)}.src.err:before{content:"✕ "}.src a{color:var(--fg)}.src .host{color:var(--muted)}.msg details{margin-top:.5rem}.msg summary{cursor:pointer;font-size:.8rem;color:var(--muted)}.msg-raw summary{color:var(--warn)}.msg-raw pre,.diff{margin:.4rem 0 0;padding:.4rem 0;max-height:22rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);overflow:auto;font-family:var(--mono);font-size:.78rem;line-height:1.45;white-space:pre-wrap}.msg-raw pre{padding:.4rem .6rem}.diff span{display:block;padding:0 .6rem}.diff .add{background:color-mix(in srgb,var(--ok) 18%,transparent)}.diff .del{background:color-mix(in srgb,var(--warn) 16%,transparent);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--warn) 50%,transparent)}.diff .hunk{color:var(--muted);text-align:center}.msg-actions{display:flex;gap:.4rem;margin-top:.5rem}.chat-form{display:flex;gap:.4rem;align-items:end;padding:.6rem;border-top:1px solid var(--border)}.chat-form textarea{flex:1;resize:vertical;min-height:2.4rem;padding:.4rem .5rem;font:inherit;font-size:.9rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#00000073}.dialog{display:flex;flex-direction:column;gap:.7rem;width:min(30rem,100%);max-height:100%;overflow-y:auto;padding:1.2rem;border:1px solid var(--border);border-radius:10px;background:var(--bg);box-shadow:0 1rem 3rem #0000004d}.dialog h2{margin:0;font-size:1.1rem}.dialog fieldset{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:0;border:0}.dialog .choice{display:flex;align-items:center;gap:.45rem}.dialog .indent{display:flex;flex-direction:column;gap:.45rem;margin-left:1.5rem}.dialog .result{font-size:.875rem}.dialog .result p{margin:.2rem 0}.dialog .result ul{margin:.2rem 0;padding-left:1.2rem;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.editor{min-height:0;overflow:hidden}.editor .cm-editor{height:100%;background:transparent}.editor .cm-editor.cm-focused{outline:none}.editor .cm-scroller{font-family:var(--mono);font-size:.9rem;line-height:1.6}.editor .cm-content{padding:1.2rem 1.4rem 40vh}.cm-ghost{color:var(--muted);opacity:.75;white-space:pre-wrap}.preview{min-height:0;overflow-y:auto;padding:1.2rem 1.6rem 40vh;font-size:1rem;line-height:1.65;overflow-wrap:break-word}.panes.read .preview{padding-inline:max(1.6rem,calc(50% - 22rem))}.preview>:first-child{margin-top:0}.preview h1,.preview h2,.preview h3{line-height:1.25;letter-spacing:-.01em}.preview h1{font-size:1.7rem}.preview h2{font-size:1.3rem;margin-top:2rem}.preview a{color:var(--accent)}.preview a.broken{color:var(--warn);text-decoration-style:dashed}.preview img,.viewer{max-width:100%;height:auto;border-radius:6px}.preview pre{padding:.8rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--panel);overflow-x:auto;font-size:.85rem}.preview :not(pre)>code{padding:.1em .3em;border-radius:4px;background:var(--panel)}.preview blockquote{margin-inline:0;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted)}.preview table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.preview th,.preview td{padding:.35rem .7rem;border:1px solid var(--border)}.preview hr{border:0;border-top:1px solid var(--border)}.preview .task-list-item{list-style:none;margin-left:-1.3rem}.preview pre.mermaid.drawn{border:0;background:none;text-align:center}.preview pre.mermaid svg{max-width:100%;height:auto}.preview pre.mermaid[data-error]:after{content:"Mermaid: " attr(data-error);display:block;margin-top:.6rem;color:var(--warn);white-space:pre-wrap}.script-island{margin:1rem 0}.script-island iframe{display:block;width:100%;border:0}.script-island.off{padding:.4rem .7rem;border:1px dashed var(--border);border-radius:6px;color:var(--muted);font-size:.85rem}.admonition{--tone: var(--accent);margin:1rem 0;padding:0 .9rem;border:1px solid color-mix(in srgb,var(--tone) 35%,var(--border));border-left:4px solid var(--tone);border-radius:6px;background:color-mix(in srgb,var(--tone) 6%,var(--bg))}.admonition:is(.tip,.hint,.success,.check,.done,.example){--tone: var(--ok)}.admonition:is(.warning,.caution,.attention,.important,.question,.help,.faq){--tone: #b7791f}.admonition:is(.danger,.error,.failure,.fail,.bug){--tone: var(--warn)}.admonition:is(.quote,.cite,.abstract,.summary,.tldr){--tone: var(--muted)}.admonition-title{margin:0 -.9rem;padding:.35rem .9rem;background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone);font-weight:600}summary.admonition-title{cursor:pointer}.admonition>:last-child:not(.admonition-title){margin-bottom:.7rem}.hljs-comment,.hljs-quote{color:var(--muted);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in,.hljs-type{color:var(--accent)}.hljs-string,.hljs-attr,.hljs-symbol{color:var(--ok)}.hljs-number,.hljs-literal,.hljs-title{color:var(--warn)}.missing,.gen-placeholder{display:inline-flex;align-items:center;gap:.6rem;padding:.4rem .7rem;border:1px dashed var(--warn);border-radius:6px;color:var(--warn);font-size:.875rem}.gen-placeholder{border-color:var(--accent);color:var(--fg)}.gen-prompt{font-style:italic}@media (max-width: 900px){.app{grid-template-columns:minmax(0,1fr)}.resizer,.wide-only,.bar .wide-only,.crumbs .wide-only{display:none}.narrow-only{display:revert}.panel-toggle[aria-pressed=false]{color:inherit}.bar{gap:.4rem;padding:.4rem .5rem;padding-top:calc(.4rem + env(safe-area-inset-top));padding-inline:calc(.5rem + env(safe-area-inset-left)) calc(.5rem + env(safe-area-inset-right))}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:#0006}.sidebar,.side{display:none;position:fixed;top:0;bottom:0;z-index:10;width:min(20rem,85vw);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 0 2rem #0000004d}.sidebar{left:0;padding-left:env(safe-area-inset-left)}.side{right:0;padding-right:env(safe-area-inset-right)}.side:has(.assistant){width:min(26rem,92vw)}.drawer-files .sidebar,.drawer-side .side{display:flex}.drawer-head{display:flex;justify-content:flex-end;padding:.4rem .6rem;border-bottom:1px solid var(--border)}.settings{display:flex;gap:1rem;padding:.3rem .3rem .5rem}.settings .toggle{font-size:.875rem}.panes.split{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.panes.split .editor{border-bottom:1px solid var(--border)}.editor .cm-content,.preview{padding:.9rem 1rem 40vh}.panes.read .preview{padding-inline:max(1rem,calc(50% - 22rem))}}@media (max-width: 600px){.side,.side:has(.assistant){width:100vw}.modes button{padding-inline:.5rem}.save{font-size:0}.save:before{content:"●";font-size:.7rem;color:var(--ok)}.save.dirty:before,.save.saving:before{color:var(--muted)}.save.error:before{color:var(--warn)}}@media (pointer: coarse){button,select,input:not([type=checkbox],[type=radio]){min-height:2.75rem}.bar button,.vaults button{min-width:2.75rem}.modes button{min-width:0}input[type=checkbox],input[type=radio]{width:1.2rem;height:1.2rem}input,select,textarea,.chat-form textarea,.remote input,.editor .cm-scroller{font-size:16px}.row .row-actions,.row:hover .row-actions,.row:focus-within .row-actions{display:none}.row-more{display:block;color:var(--muted)}.row-name{padding-block:.6rem}.todo-text{min-height:0;padding-block:.4rem}.assistant h2 button,button.small{min-height:2.2rem}.chat-form{padding-bottom:calc(.6rem + env(safe-area-inset-bottom))}.cm-ghost{text-decoration:underline dotted}}@media (hover: none){button:hover:not(:disabled){background:transparent}button.primary:hover:not(:disabled){background:var(--accent);filter:none}.modes button.active:hover{background:var(--hover)}.row:hover{background:transparent}.row.selected:hover{background:var(--hover)}}
