:root{--bg:#fbfbfa;--panel:#f2f1ee;--line:#dddbd5;--fg:#1d1d1b;--muted:#75736c;--accent:#2f5d50;--accent-fg:#fff;--ok:#2e7d32;--warn:#b26a00;--err:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1c1e;--panel:#232427;--line:#36383c;--fg:#e8e6e1;--muted:#9a978f;--accent:#6fb39d;--accent-fg:#10221c}}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);margin:0}button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer;border-radius:6px;padding:4px 10px}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button[disabled]{opacity:.6;cursor:progress}input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:5px 8px}.muted{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.row input{flex:1;min-width:0}.landing{max-width:640px;margin:8vh auto;padding:0 16px}.landing h1{letter-spacing:-.02em;margin:0 0 4px;font-size:32px}.landing .sub{color:var(--muted);margin-top:0}.landing label{color:var(--muted);flex-direction:column;gap:4px;margin:24px 0 16px;display:flex}.landing h2{margin-top:32px;font-size:15px}.recent{padding:0;list-style:none}.recent a{color:var(--fg);font-weight:500}.project{flex-direction:column;height:100vh;display:flex}header{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;padding:6px 12px;display:flex}.brand{color:var(--accent);font-weight:700;text-decoration:none}.logo{letter-spacing:-.01em;white-space:nowrap;font-family:Latin Modern Roman,CMU Serif,Georgia,Times New Roman,serif;font-weight:700}.logo .e{text-transform:none;margin:0 -.08em 0 -.13em;position:relative;top:.22em}.title{background:0 0;border-color:#0000;width:22ch;font-weight:600}.title:hover:not([readonly]),.title:focus{border-color:var(--line);background:var(--bg)}.spacer{flex:1}.badge{background:var(--warn);color:#fff;border-radius:4px;padding:1px 6px;font-size:12px}.status{color:var(--muted);font-size:12px}.status:before{content:"●";margin-right:4px}.status.online:before{color:var(--ok)}.status.connecting:before{color:var(--warn)}.status.offline:before{color:var(--err)}.peers{gap:3px;display:flex}.peer{color:#fff;text-transform:uppercase;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}main{flex:1;min-height:0;display:grid}aside{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-height:0;display:flex}aside .tools{flex-wrap:wrap;gap:6px;padding:8px;display:flex}.filetree{flex-direction:column;flex:1;min-height:0;display:flex}.filetree .where{min-height:0;padding:0 10px 4px}.files li.dir .path{font-weight:500}.files li.folder-sel{box-shadow:inset 2px 0 0 var(--accent)}.files li.drop{background:color-mix(in srgb, var(--accent) 28%, transparent)}.files{flex:1;margin:0;padding:0 0 8px;list-style:none;overflow:auto}.files li{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;display:flex}.files li:hover{background:color-mix(in srgb, var(--fg) 6%, transparent)}.files li.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.files .icon{width:1em;color:var(--muted);text-align:center}.files .path{text-overflow:ellipsis;flex:1;overflow:hidden}.files .acts{gap:2px;display:none}.files li:hover .acts{display:flex}.files .acts button{color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:11px}aside .hint{padding:8px 10px;font-size:12px}.editor{border-right:1px solid var(--line);min-width:0;min-height:0;overflow:hidden}.editor .cm-editor{height:100%;font-size:14px}.editor .cm-scroller{font-family:ui-monospace,SF Mono,Menlo,monospace}.binary{flex-direction:column;gap:8px;height:100%;padding:16px;display:flex}.binary img{object-fit:contain;background:repeating-conic-gradient(#ccc 0 25%, #fff 0 50%) 0 0 / 16px 16px;align-self:start;max-width:100%;max-height:80%}.binary iframe{border:1px solid var(--line);flex:1}.right{flex-direction:column;min-width:0;min-height:0;display:flex}.pdfbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.pdf{background:#7d7d7d;flex-direction:column;flex:1;align-items:center;gap:12px;padding:12px;display:flex;overflow:auto}.pdf canvas{background:#fff;max-width:100%;box-shadow:0 1px 4px #0006;height:auto!important}.logbox{flex-direction:column;flex:none;min-height:60px;display:flex}.logbox[hidden]{display:none}.hsplit{cursor:row-resize;background:var(--line);touch-action:none;outline:none;flex:none;height:5px;position:relative}.hsplit:after{content:"";position:absolute;inset:-4px 0}.hsplit:hover,.hsplit:focus-visible{background:var(--accent)}.log{background:var(--panel);white-space:pre-wrap;flex:1;min-height:0;margin:0;padding:8px;font-size:12px;overflow:auto}body.resizing-v{cursor:row-resize;-webkit-user-select:none;user-select:none}body.resizing-v canvas,body.resizing-v .cm-editor{pointer-events:none}.pdfbar .spacer{flex:1}.pdfbar{gap:6px}.pdfbar button.on{border-color:var(--accent)}.err{color:var(--err)}dialog.share{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;width:min(640px,92vw)}dialog.share label{color:var(--muted);margin:12px 0 4px;font-size:12px;display:block}dialog::backdrop{background:#00000059}main{grid-template-columns:220px 5px minmax(0,1fr) 5px minmax(260px,45%)}main>*{min-width:0}.split{cursor:col-resize;background:var(--line);touch-action:none;outline:none;position:relative}.split:after{content:"";position:absolute;inset:0 -4px}.split:hover,.split:focus-visible,body.resizing .split:active{background:var(--accent)}main.no-left>aside,main.no-left>.split:first-of-type,main.no-right>.right,main.no-right>.split:last-of-type{visibility:hidden;overflow:hidden}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing iframe,body.resizing canvas,body.resizing .cm-editor{pointer-events:none}aside,.editor{border-right:none}.pane-toggle{padding:2px 8px}.pane-toggle.off{color:var(--muted)}@media (max-width:900px){.right,.split,.pane-toggle:last-child{display:none}}.progress{background:var(--panel);border-bottom:1px solid var(--line);height:22px;font-size:12px;position:relative}.progress .bar{background:color-mix(in srgb, var(--accent) 35%, transparent);width:0;transition:width .2s;position:absolute;inset:0 auto 0 0}.progress span{padding:0 8px;line-height:22px;position:relative}.progress.busy .bar{background:repeating-linear-gradient(-45deg, color-mix(in srgb, var(--accent) 30%, transparent) 0 10px, color-mix(in srgb, var(--accent) 15%, transparent) 10px 20px);background-size:28px 28px;animation:1s linear infinite stripes}@keyframes stripes{to{background-position:28px 0}}dialog.dlg{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:10px;width:min(620px,94vw);max-height:90vh;padding:18px 22px;overflow:auto}dialog.dlg h3{margin:0 0 4px}dialog.dlg h5{color:var(--muted);margin:12px 0 6px;font-size:12px}dialog.dlg h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:18px 0 6px;font-size:13px}.radios{flex-direction:column;gap:6px;display:flex}.radio{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.radio:has(input:checked){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.radio span{flex-direction:column;display:flex}.radio input{margin-top:3px}.field{color:var(--muted);flex-direction:column;gap:4px;margin:10px 0;font-size:12px;display:flex}.check{align-items:center;gap:8px;margin:10px 0;display:flex}.grid{grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px;display:grid}select{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:6px;padding:4px 6px}.cmds pre{background:var(--panel);white-space:pre-wrap;word-break:break-all;border-radius:6px;padding:8px;font-size:12px}.row.end{justify-content:flex-end;margin-top:18px}details{margin-top:12px}.right .tabs{border-bottom:1px solid var(--line);background:var(--panel);gap:2px;padding:4px 6px 0;display:flex}.right .tab{color:var(--muted);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:4px 12px}.right .tab.active{background:var(--bg);color:var(--fg);border-color:var(--line);margin-bottom:-1px}.right .pane{flex-direction:column;flex:1;min-height:0;display:flex}.right .pane[hidden]{display:none}.assistant{flex-direction:column;height:100%;min-height:0;display:flex}.ai-bar{border-bottom:1px solid var(--line);align-items:center;gap:6px;padding:6px 8px;display:flex}.ai-bar select{max-width:44%}.ai-bar .model{flex:1;min-width:0}.ai-log{flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow:auto}.ai-user{background:color-mix(in srgb, var(--accent) 16%, transparent);white-space:pre-wrap;border-radius:10px 10px 2px;align-self:flex-end;max-width:88%;padding:6px 10px}.ai-turn{flex-direction:column;gap:6px;display:flex}.ai-text{overflow-wrap:anywhere;line-height:1.5}.ai-text pre,.ai-think pre{background:var(--panel);white-space:pre-wrap;border-radius:6px;padding:8px;font-size:12px;overflow:auto}.ai-text code{background:var(--panel);border-radius:4px;padding:0 4px;font-size:12px}.ai-think summary{cursor:pointer;color:var(--muted);font-size:12px}.ai-think pre{color:var(--muted);max-height:240px;margin:4px 0 0}.ai-tool{color:var(--muted);border-left:2px solid var(--line);padding:2px 8px;font-size:12px}.ai-tool.ok{border-color:var(--ok)}.ai-tool.err{border-color:var(--err)}.ai-tool.pending{border-color:var(--warn)}.ai-note,.ai-warn,.ai-err{background:var(--panel);color:var(--muted);border-radius:6px;padding:6px 8px;font-size:12px}.ai-warn{color:var(--warn)}.ai-err{color:var(--err)}.ai-review{border:1px solid var(--line);border-radius:8px;overflow:hidden}.ai-review .title{background:var(--panel);padding:6px 8px;font-size:12px;font-weight:600}.ai-review .row.end{margin:0;padding:6px 8px}.ai-review.accepted{border-color:var(--ok)}.ai-review.rejected{border-color:var(--err);opacity:.7}.diff{max-height:320px;font:12px/1.45 ui-monospace,SF Mono,Menlo,monospace;overflow:auto}.dl{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 8px 0 0;display:flex}.dl .ln{text-align:right;width:3.5em;color:var(--muted);-webkit-user-select:none;user-select:none;flex:none;padding-right:8px}.dl.del{background:color-mix(in srgb, var(--err) 14%, transparent)}.dl.add{background:color-mix(in srgb, var(--ok) 16%, transparent)}.dl.skip{color:var(--muted);padding-left:8px;font-style:italic}.ai-compose{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 8px;display:flex}.ai-compose textarea{font:inherit;resize:vertical;border:1px solid var(--line);background:var(--bg);min-height:3em;color:var(--fg);border-radius:6px;flex:1;padding:6px 8px}.ai-compose .row{align-items:flex-end}.ctx{font-size:11px}.small{font-size:12px}.check.small{gap:4px;margin:0}button.danger{color:var(--err);border-color:color-mix(in srgb, var(--err) 50%, var(--line))}button.danger:hover{background:color-mix(in srgb, var(--err) 10%, transparent)}.recent li{border-bottom:1px solid var(--line);flex-direction:column;gap:3px;padding:10px 0;display:flex}.recent .top{align-items:center;gap:8px;min-width:0;display:flex}.recent .pname{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.recent .pcode{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:0 4px;font:11px ui-monospace,SF Mono,Menlo,monospace}.recent li.dupe .pcode{color:var(--fg);border-color:var(--warn)}.recent .tag{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:0 6px;font-size:11px}.recent .tag.ro{color:var(--warn)}.recent .details{overflow-wrap:anywhere;font-size:12px}.recent .icon{color:var(--muted);background:0 0;border:none;padding:0 4px}.recent .icon:hover{color:var(--fg)}.recent .forget:hover{color:var(--err)}.landing h2 small{font-weight:400}.risk{background:color-mix(in srgb, var(--warn) 16%, var(--bg));border-bottom:1px solid color-mix(in srgb, var(--warn) 45%, var(--line));justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;font-size:13px;display:flex}.risk[hidden]{display:none}.risk .actions{flex:none;gap:6px;display:flex}.status.warn:before,.status.warn{color:var(--warn)}.recent .tag.warn{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, var(--line))}.radio.choice{text-align:left;width:100%;font:inherit;color:inherit}
