:root{
  --accent-h:268;
  --font-sans:'Geist','Noto Sans Thai','Sarabun',system-ui,-apple-system,sans-serif;
  --font-mono:'Fira Code',ui-monospace,Menlo,monospace;
  --bg:oklch(.98 .004 250);--bg-deep:oklch(.965 .004 250);--panel:#fff;--panel-2:oklch(.982 .004 250);--hdr:oklch(.952 .006 250);--elevated:oklch(.962 .005 250);--hover:oklch(.945 .008 250);
  --border:oklch(.91 .008 250);--border-2:oklch(.85 .01 250);--hairline:oklch(.91 .008 250/.5);
  --text:oklch(.2 .02 270);--text-2:oklch(.32 .022 270);--muted:oklch(.46 .02 265);--faint:oklch(.53 .014 265);--ghost:oklch(.74 .01 265);
  --accent:oklch(.52 .18 var(--accent-h));--accent-d:oklch(.42 .18 var(--accent-h));--accent-ink:var(--accent-d);--accent-bg:oklch(.52 .18 var(--accent-h)/.10);--accent-fg:oklch(.99 .01 var(--accent-h));
  --warm:oklch(.72 .15 50);--warm-bg:oklch(.72 .15 50/.12);--warm-ink:oklch(.55 .15 50);
  --rose:oklch(.62 .18 15);--rose-bg:oklch(.62 .18 15/.08);--rose-ink:oklch(.52 .19 18);
  --info:oklch(.62 .14 230);--info-bg:oklch(.62 .14 230/.10);--info-ink:oklch(.5 .13 235);
  --green:oklch(.62 .14 160);--green-bg:oklch(.62 .14 160/.10);--green-ink:oklch(.5 .13 160);
  --plum:oklch(.55 .18 305);--plum-bg:oklch(.55 .18 305/.10);--plum-ink:oklch(.48 .18 305);
  --term-bg:oklch(.285 .018 265);--term-fg:oklch(.9 .01 265);
  --diff-add:oklch(.62 .14 160/.10);--diff-del:oklch(.62 .18 15/.07);
  --task-0:oklch(.62 .12 205);--task-1:oklch(.62 .14 150);--task-2:oklch(.62 .17 50);--task-3:oklch(.62 .16 300);--task-4:oklch(.62 .17 20);--task-5:oklch(.62 .15 250);--task-6:oklch(.62 .13 85);--task-7:oklch(.62 .15 350);--task-8:oklch(.62 .02 260);
  --shadow-1:0 1px 2px oklch(.2 .04 270/.04);--shadow-2:0 12px 32px oklch(.2 .04 270/.06);
  --scrim:oklch(.13 0 0/.32);
  --r-1:10px;--r-2:16px;--r-3:22px;
  --ease-soft:cubic-bezier(.2,.8,.2,1);
  --fast:.12s;--medium:.16s;--slow:.22s;
}
[data-theme=dark]{
  --bg:oklch(.13 .004 60);--bg-deep:oklch(.10 .004 60);--panel:oklch(.17 .004 60);--panel-2:oklch(.21 .004 60);--hdr:oklch(.09 .003 60);--elevated:oklch(.25 .005 60);--hover:oklch(.30 .005 60);
  --border:oklch(.28 .005 60);--border-2:oklch(.40 .006 60);--hairline:oklch(.28 .005 60/.6);
  --text:oklch(.97 .008 80);--text-2:oklch(.88 .008 80);--muted:oklch(.72 .01 70);--faint:oklch(.64 .01 70);--ghost:oklch(.40 .008 60);
  --accent:oklch(.72 .18 var(--accent-h));--accent-d:oklch(.62 .18 var(--accent-h));--accent-ink:oklch(.78 .14 var(--accent-h));--accent-bg:oklch(.72 .18 var(--accent-h)/.18);--accent-fg:oklch(.15 .05 var(--accent-h));
  --warm-bg:oklch(.72 .15 50/.16);--warm-ink:oklch(.8 .13 58);
  --rose-bg:oklch(.62 .18 15/.14);--rose-ink:oklch(.7 .16 18);
  --info-bg:oklch(.62 .14 230/.16);--info-ink:oklch(.75 .11 230);
  --green-bg:oklch(.62 .14 160/.15);--green-ink:oklch(.73 .14 160);
  --plum-bg:oklch(.55 .18 305/.18);--plum-ink:oklch(.74 .13 305);
  --term-bg:oklch(.11 .004 60);
  --diff-add:oklch(.62 .14 160/.14);--diff-del:oklch(.62 .18 15/.12);
  --shadow-1:0 1px 2px oklch(0 0 0/.35);--shadow-2:0 12px 32px oklch(0 0 0/.55);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--font-sans);font-size:13px;line-height:1.55;color:var(--text);background:var(--bg);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow:hidden}
button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}
.mono{font-family:var(--font-mono);letter-spacing:0}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.em{color:var(--text)}
.sp{flex:1}
.ic{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
.sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);margin:0}
.empty{padding:30px 16px;text-align:center;color:var(--faint);font-size:12px;display:flex;flex-direction:column;align-items:center;gap:8px}
.empty.err{color:var(--rose-ink)}

.app{display:grid;grid-template-rows:44px 1fr 30px;grid-template-columns:52px 1fr;height:100vh;height:100dvh}
.topbar{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:0 10px 0 15px;background:var(--panel-2);border-bottom:1px solid var(--hairline)}
.logo{width:22px;height:22px;border-radius:7px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;box-shadow:0 0 0 3px var(--accent-bg)}
.logo .ic{width:14px;height:14px;stroke-width:2.2}
.brand{letter-spacing:-.015em;font-size:13px}
.crumb{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px}
.crumb .ic{width:12px;height:12px;color:var(--ghost)}
.crumb .em{color:var(--text)}
.tpill{height:26px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border-radius:999px;background:var(--elevated);border:1px solid var(--hairline);font-size:12px;color:var(--text-2);cursor:pointer;white-space:nowrap}
.tpill:hover{background:var(--hover)}
.tpill .dot{width:7px;height:7px;border-radius:50%;background:var(--sq,var(--accent))}
kbd{font-family:var(--font-mono);font-size:10px;padding:1px 5px;border-radius:5px;background:var(--panel);border:1px solid var(--border);color:var(--muted)}
.ib{width:28px;height:28px;border-radius:9px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:background var(--fast),color var(--fast)}
.ib:hover{background:var(--hover);color:var(--text)}
.ib:disabled{opacity:.4;cursor:not-allowed}

.rail{grid-row:2;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;background:var(--panel-2);border-right:1px solid var(--hairline)}
.rb{position:relative;width:34px;height:34px;border-radius:9px;border:0;background:transparent;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:background var(--fast),color var(--fast)}
.rb:hover{background:var(--hover);color:var(--text)}
.rb.on{background:var(--accent-bg);color:var(--accent-ink)}
.rb .ic{width:16px;height:16px}
.rb .badge{position:absolute;top:2px;right:1px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--warm);color:#1a0d00;font:9.5px/15px var(--font-mono);text-align:center;box-shadow:0 0 0 2px var(--panel-2)}
.rb .badge:empty{display:none}
.rb .tip{position:absolute;left:44px;top:50%;transform:translateY(-50%) translateX(-4px);background:var(--text);color:var(--bg);font-size:11.5px;padding:3px 9px;border-radius:999px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--fast),transform var(--fast);z-index:30}
.rb:hover .tip{opacity:1;transform:translateY(-50%)}
.rail hr{width:22px;border:0;border-top:1px solid var(--border);margin:6px 0}

.ws{grid-row:2;grid-column:2;position:relative;overflow:hidden;background:var(--bg)}
.screen{position:absolute;inset:8px;display:none;gap:8px;min-height:0}
.screen.on{display:grid;animation:rr-rise var(--slow) var(--ease-soft)}

.strip{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:0 12px;background:var(--panel-2);border-top:1px solid var(--hairline);font-size:11.5px;color:var(--muted);overflow:hidden;white-space:nowrap}
.strip .em{font-family:var(--font-mono);color:var(--text-2)}
.strip .tokwarn{display:inline-flex;flex:0 1 auto;min-width:0;max-width:45%}
.strip .tokwarn>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}
.banner.tokwarn{margin-bottom:10px}
.banner.tokwarn-main{display:none}
@media (max-width:1280px){.banner.tokwarn-main{display:flex}}
.runchip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--text-2);padding:0 8px;height:22px;border-radius:999px;cursor:pointer}
.runchip:hover{background:var(--hover)}
.mb{width:44px;height:4px;border-radius:999px;background:var(--elevated);overflow:hidden;flex:none}
.mb>i{display:block;height:100%;border-radius:inherit;background:var(--sc,var(--accent));transition:width .6s var(--ease-soft)}

.pane{background:var(--panel);border:1px solid var(--hairline);border-radius:var(--r-2);box-shadow:var(--shadow-1);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden;transition:border-color var(--medium),box-shadow var(--medium)}
.pane.focus{border-color:oklch(from var(--accent) l c h/.55);box-shadow:0 0 0 3px var(--accent-bg),var(--shadow-1)}
.ph{height:34px;flex:none;display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;background:var(--hdr);border-bottom:1px solid var(--hairline);color:var(--muted)}
.ph .t{font-size:13px;color:var(--text);white-space:nowrap}
.ph .ic{color:var(--faint)}
.pb{padding:12px;min-height:0}
.scroll{overflow:auto;min-height:0}
.scroll::-webkit-scrollbar{width:10px;height:10px}
.scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:3px solid var(--panel)}

.btn{height:30px;padding:0 13px;border-radius:999px;background:var(--elevated);border:1px solid var(--hairline);color:var(--text-2);font-size:12.5px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;transition:background var(--fast),transform var(--fast),box-shadow var(--fast)}
.btn:hover{background:var(--hover)}
.btn:active{transform:scale(.97)}
.btn:focus-visible,.ib:focus-visible,.rb:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-bg)}
.btn.sm{height:24px;padding:0 10px;font-size:11.5px;gap:5px}
.btn.sm .ic{width:12px;height:12px}
.btn.ac{background:var(--accent);color:var(--accent-fg);border-color:transparent}
.btn.ac:hover{background:var(--accent-d)}
.btn.warn{background:var(--warm-bg);color:var(--warm-ink);border-color:transparent}
.btn.danger{color:var(--rose-ink)}
.btn.dfill{background:var(--rose);color:#fff;border-color:transparent}
.btn.ghost{background:transparent;border-color:transparent}
.btn.ghost:hover{background:var(--hover)}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}
.seg{display:inline-flex;gap:2px;padding:2px;border-radius:999px;background:var(--elevated)}
.seg button{height:24px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:11.5px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:color 140ms,background 180ms}
.seg button:hover{color:var(--text)}
.seg button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--hairline)}
.seg button .n{font-family:var(--font-mono);font-size:10px;color:var(--faint)}
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:10.5px;line-height:1.25;white-space:nowrap;background:var(--elevated);color:var(--muted)}
.p-accent{background:var(--accent-bg);color:var(--accent-ink)}
.p-warm{background:var(--warm-bg);color:var(--warm-ink)}
.p-rose{background:var(--rose-bg);color:var(--rose-ink)}
.p-info{background:var(--info-bg);color:var(--info-ink)}
.p-green{background:var(--green-bg);color:var(--green-ink)}
.p-plum{background:var(--plum-bg);color:var(--plum-ink)}
.chip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:7px;font-size:11px;background:var(--elevated);color:var(--text-2);white-space:nowrap}
.gchip{box-shadow:inset 0 0 0 1.5px var(--gc)}
.sq{width:8px;height:8px;border-radius:2px;flex:none;display:inline-block}
.sw{width:30px;height:18px;border-radius:999px;background:var(--border-2);position:relative;border:0;cursor:pointer;flex:none;transition:background var(--medium)}
.sw::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px oklch(0 0 0/.25);transition:transform var(--medium) var(--ease-soft)}
.sw.on{background:var(--accent)}
.sw.on::after{transform:translateX(12px)}
.sw:disabled{opacity:.55;cursor:not-allowed}
.inp{height:28px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);padding:0 9px;font-size:12px;outline:none;min-width:0}
.inp:focus{border-color:oklch(from var(--accent) l c h/.55);box-shadow:0 0 0 3px var(--accent-bg)}
.inp.tarea{height:auto;min-height:84px;padding:8px 9px;line-height:1.6;resize:vertical;font-family:inherit}
.btn:disabled,.ib:disabled{opacity:.5;cursor:not-allowed}

.g{width:10px;height:10px;border-radius:50%;flex:none;display:inline-block;position:relative;box-sizing:border-box}
.g.queued,.g.idle{border:1px solid var(--faint);opacity:.38;transform:scale(.7)}
.g.stopped{border:1.5px solid var(--muted);opacity:.7}
.g.running{border:1.6px solid var(--accent);border-right-color:transparent;animation:spin .9s linear infinite}
.g.needs{border:2px solid var(--warm);animation:halo 1.6s ease-in-out infinite}
.g.error{background:var(--rose)}
.g.error::after{content:'!';position:absolute;inset:0;color:#fff;font:7.5px/10px var(--font-sans);text-align:center}
.g.done{background:var(--green)}
.g.paused{border:2px solid var(--plum)}

.bar{height:6px;border-radius:999px;background:var(--elevated);overflow:hidden}
.bar>i{display:block;height:100%;border-radius:inherit;background:var(--sc,var(--accent));transition:width .8s var(--ease-soft)}
.bar.run>i{background-image:repeating-linear-gradient(135deg,var(--accent) 0 5px,var(--accent-d) 5px 10px);background-size:14.14px 14.14px;animation:stripes 1s linear infinite}

.dl{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:12px;margin:0}
.dl dt{color:var(--faint)}
.dl dd{margin:0;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.untrusted{border:1px dashed oklch(from var(--warm) l c h/.6);border-radius:var(--r-1);padding:8px 10px;background:var(--warm-bg);display:flex;flex-direction:column;gap:4px}
.untrusted .sec{color:var(--warm-ink)}
.untrusted div{font-size:12px;color:var(--text-2);white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}

#sc-session{grid-template-columns:260px minmax(0,1fr) 300px}
.srow{min-height:44px;display:flex;align-items:center;gap:9px;padding:6px 10px;border-radius:var(--r-1);cursor:pointer;margin:0 6px;transition:background var(--fast)}
.srow:hover{background:var(--hover)}
.srow.on{background:var(--accent-bg)}
.srow .nm{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .sb{font:10.5px var(--font-mono);color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srow .mid{flex:1;min-width:0;display:flex;flex-direction:column}
.sgroup{padding:10px 16px 4px;display:flex;align-items:center;gap:7px}
.sgroup i{width:7px;height:7px;border-radius:50%}
.tabs{display:flex;gap:2px;height:100%;align-items:center}
.tab{height:26px;padding:0 11px;border-radius:999px;border:0;background:transparent;color:var(--muted);font-size:12.5px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:color 140ms,background 180ms,box-shadow 180ms}
.tab:hover{color:var(--text)}
.tab.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow-1),inset 0 0 0 1px var(--hairline)}
.tab .ic{color:inherit}
.tab .n{font:10px var(--font-mono);color:var(--faint)}
.sbody{flex:1;min-height:0;position:relative;display:flex;flex-direction:column}
.tview{display:none;flex:1;min-height:0;flex-direction:column}
.tview.on{display:flex}
.tx{flex:1;min-height:0;overflow:auto;padding:16px 18px 24px;display:flex;flex-direction:column;gap:12px}
.tx>*{max-width:780px;width:100%;margin:0 auto;flex:none}
.banner{background:var(--info-bg);color:var(--info-ink);border-radius:12px;padding:9px 12px;font-size:12px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.banner.rose{background:var(--rose-bg);color:var(--rose-ink)}
.banner.warm{background:var(--warm-bg);color:var(--warm-ink)}
.banner.green{background:var(--green-bg);color:var(--green-ink)}
.banner.plum{background:var(--plum-bg);color:var(--plum-ink)}
.banner.muted{background:var(--elevated);color:var(--muted)}
.banner .ic{flex:none}
.banner>span{min-width:0;word-break:break-word}
.msg{display:flex;flex-direction:column}
.msg .who{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;display:flex;align-items:center;gap:6px}
.msg .who .t{text-transform:none;letter-spacing:0;font-family:var(--font-mono)}
.msg.user .body{background:var(--elevated);border-radius:14px;padding:9px 12px;color:var(--text-2);font-size:12.5px;white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto}
.msg.ai .body{font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word}
.msg.think .body{font-size:12px;color:var(--muted);white-space:pre-wrap;word-break:break-word;border-left:2px solid var(--border-2);padding-left:10px;max-height:200px;overflow:auto}
.sidechain{border-left:2px solid var(--plum);padding-left:12px}
.sidechain .who{color:var(--plum-ink)}
.tool{border:1px solid var(--hairline);border-radius:12px;background:var(--panel-2);overflow:hidden;display:flex;flex-direction:column}
.tool.err{border-color:oklch(from var(--rose) l c h/.35)}
.th{height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;flex:none}
.th .nm{font:11px var(--font-mono);background:var(--elevated);padding:2px 7px;border-radius:6px;color:var(--text-2)}
.th .cmd{font:11.5px var(--font-mono);color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th .du{font:11px var(--font-mono);color:var(--faint)}
.th .ch{color:var(--faint);transition:transform var(--medium) var(--ease-soft)}
.tool.open .th .ch{transform:rotate(90deg)}
.tb{display:none;padding:0 10px 10px;flex-direction:column;gap:8px}
.tool.open .tb{display:flex}
.term{background:var(--term-bg);color:var(--term-fg);border-radius:8px;padding:8px 10px;font:11.5px/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:300px}
.term .e{color:oklch(.74 .15 18)}
.term .o{color:oklch(.78 .13 160)}
.term .d{color:oklch(.65 .01 265)}
.diff{border-radius:8px;overflow:auto;max-height:340px;font:11.5px/1.65 var(--font-mono);border:1px solid var(--hairline);display:flex;flex-direction:column}
.diff div{padding:0 10px;white-space:pre}
.diff .a{background:var(--diff-add);color:var(--green-ink)}
.diff .r{background:var(--diff-del);color:var(--rose-ink)}
.diff .h{background:var(--elevated);color:var(--faint)}
.composer{margin:0 14px 14px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:var(--shadow-1);display:flex;flex-direction:column;transition:border-color var(--medium),box-shadow var(--medium);flex:none}
.composer:focus-within{border-color:oklch(from var(--accent) l c h/.55);box-shadow:0 0 0 3px var(--accent-bg)}
.composer textarea{width:100%;border:0;background:transparent;resize:none;padding:11px 14px 4px;outline:none;font-size:13px;min-height:44px;max-height:140px}
.composer .cb{display:flex;align-items:center;gap:6px;padding:6px 8px 8px 10px}
.cpill{height:28px;padding:0 10px;border-radius:999px;background:var(--elevated);display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--text-2);white-space:nowrap;overflow:hidden;max-width:260px}
.cpill i{width:7px;height:7px;border-radius:50%;background:var(--sc,var(--accent));flex:none}
.composer.locked{opacity:.7}
.composer.locked textarea{pointer-events:none}
.roundbtn{width:30px;height:30px;border-radius:999px;border:0;display:grid;place-items:center;cursor:pointer;background:var(--accent);color:var(--accent-fg);transition:transform var(--fast),background var(--fast);flex:none}
.roundbtn:hover{background:var(--accent-d)}
.roundbtn:active{transform:scale(.94)}
.roundbtn:disabled{opacity:.4;cursor:not-allowed}
.roundbtn.stop{background:var(--elevated);color:var(--rose-ink);border:1px solid var(--hairline)}
.roundbtn.queue{width:auto;padding:0 12px 0 10px;display:inline-flex;gap:6px;font-size:12px}
.stoppill{height:28px;padding:0 12px;border-radius:999px;border:1px solid oklch(from var(--rose) l c h/.4);background:var(--rose-bg);color:var(--rose-ink);font-size:12px;cursor:pointer;flex:none}
.stoppill:disabled{opacity:.4;cursor:not-allowed}
.shead{position:sticky;top:0;z-index:3;display:flex;flex-direction:column;background:var(--panel);border-bottom:1px solid var(--hairline);flex:none}
.shead .shrow{border-bottom:0;height:auto;min-height:38px;gap:8px;flex-wrap:wrap;padding-top:3px;padding-bottom:3px}
.shead .shrow+.shrow{border-top:1px solid var(--hairline)}
.shead .tabs{height:auto}
.mchip{height:22px;padding:0 8px;border-radius:999px;background:var(--elevated);color:var(--muted);font:10.5px/22px var(--font-mono);white-space:nowrap;display:inline-block}
#sCust.on,#sLease.on{background:var(--accent-bg);color:var(--accent-ink,var(--text));border-color:transparent}
.modepill{box-shadow:inset 0 0 0 1px oklch(from var(--accent) l c h/.45)}
#sessPane.mode .composer{border-color:oklch(from var(--accent) l c h/.7);box-shadow:0 0 0 3px var(--accent-bg)}
.stophint{font-size:11px;color:var(--rose-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.parentfold{border:1px dashed var(--border-2);border-radius:12px;background:var(--panel-2);flex:none}
.parentfold>summary{list-style:none;min-height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;font-size:12px;color:var(--muted)}
.parentfold>summary::-webkit-details-marker{display:none}
.parentfold>summary .ch{color:var(--faint);transition:transform var(--medium) var(--ease-soft)}
.parentfold[open]>summary .ch{transform:rotate(90deg)}
.parentfold[open]{display:flex;flex-direction:column;gap:14px;padding-bottom:12px}
.parentfold[open]>:not(summary){margin:0 10px}
.turn{display:flex;flex-direction:column;gap:10px}
.turn:empty{display:none}
.tx>.turn .msg.ai{max-width:740px}
.msg.bubble{align-self:flex-end;max-width:80%;align-items:flex-end}
.msg.bubble .body{background:var(--panel-2);border:1px solid var(--hairline);border-radius:18px 18px 6px 18px;color:var(--text)}
.msg.bubble.owner .body{border-color:oklch(from var(--accent) l c h/.35)}
.msg.ai.stopped{opacity:.75}
.msg .who .tag{text-transform:none;letter-spacing:0;color:var(--rose-ink);background:var(--rose-bg);border-radius:999px;padding:1px 7px}
.tbadge{font:10.5px var(--font-mono);border-radius:999px;padding:1px 7px;background:var(--elevated);color:var(--muted);white-space:nowrap;flex:none}
.tbadge.run{background:var(--accent-bg);color:var(--accent-ink,var(--text))}
.tbadge.rose{background:var(--rose-bg);color:var(--rose-ink)}
.clipnote{font:10.5px var(--font-mono);color:var(--warm-ink)}
.fold,.tgroup{border:1px solid var(--hairline);border-radius:12px;background:var(--panel-2)}
.fold>summary,.tgroup>summary{list-style:none;height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;font-size:12px;color:var(--muted)}
.fold>summary::-webkit-details-marker,.tgroup>summary::-webkit-details-marker{display:none}
.fold>summary .ch,.tgroup>summary .ch{color:var(--faint);transition:transform var(--medium) var(--ease-soft)}
.fold[open]>summary .ch,.tgroup[open]>summary .ch{transform:rotate(90deg)}
.tgroup>summary .nm{font:11px var(--font-mono);flex:1;min-width:0}
.fold>.fb{display:flex;flex-direction:column;gap:8px;padding:0 8px 8px}
.tgroup[open]{display:flex;flex-direction:column;gap:6px;padding-bottom:6px}
.tgroup>.tool{margin:0 6px;border-radius:10px}
.tool.subagent{border-color:oklch(from var(--plum) l c h/.35)}
.tool.subagent .th .nm{display:inline-flex;align-items:center;gap:5px;color:var(--plum-ink)}
.subres{font-size:12.5px;color:var(--text-2)}
.chipthink{align-self:flex-start;font-size:11px;color:var(--muted);background:var(--elevated);border-radius:999px;padding:2px 9px}
.hair{display:flex;align-items:center;gap:8px;font:10.5px var(--font-mono);color:var(--faint)}
.hair::before,.hair::after,.stopdiv::before,.stopdiv::after{content:'';flex:1;height:1px;background:var(--hairline)}
.stopdiv{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--rose-ink)}
.stopdiv::before,.stopdiv::after{background:oklch(from var(--rose) l c h/.35)}
.turnfoot{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font:11px var(--font-mono);color:var(--faint);padding-top:2px}
.turnfoot .tf-ok{color:var(--green-ink)}
.turnfoot .tf-err,.turnfoot.err{color:var(--rose-ink)}
.turnfoot .tf-stop{color:var(--rose-ink)}
.statusline{margin:0 16px 6px;min-height:18px;font-size:12px;color:var(--muted);flex:none}
.statusline.err{color:var(--rose-ink)}
.statusline.shim{background:linear-gradient(90deg,var(--muted) 0%,var(--text) 45%,var(--muted) 90%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 1.8s linear infinite}
@keyframes shim{from{background-position:100% 0}to{background-position:-100% 0}}
.custpane{display:none;min-width:0}
#sc-session.cust{grid-template-columns:260px minmax(0,1fr) 380px}
#sc-session.cust .sright{display:none}
#sc-session.cust .custpane{display:flex;flex-direction:column}
.custnote{padding:6px 14px 0}
.custlog{flex:1;min-height:0;padding:10px 12px;display:flex;flex-direction:column;gap:10px}
.custthread{display:flex;flex-direction:column;gap:10px}
.custthread .bub.team,.custthread .bub.agent{align-self:flex-end}
.custact{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}
.custdrafts{border:1px dashed var(--border-2);border-radius:12px;padding:6px 8px;display:flex;flex-direction:column;gap:8px}
.custdrafts>summary{cursor:pointer;font-size:12px;color:var(--muted)}
.custdrafts .bub{opacity:.8}
.custbox{flex:none;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-top:1px solid var(--hairline)}
.custconf{white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--hairline);border-radius:12px;padding:10px 12px;font-size:13px;max-height:320px;overflow:auto}
.files{display:flex;flex-direction:column;gap:2px}
.frow{display:grid;grid-template-columns:1fr auto 44px;gap:8px;align-items:center;height:28px;padding:0 6px;border-radius:7px;font-size:11.5px;cursor:pointer}
.frow:hover{background:var(--hover)}
.frow span{font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-2)}
.frow small{font:10.5px var(--font-mono)}
.frow small .p{color:var(--green-ink)}.frow small .m{color:var(--rose-ink)}
.fbar{display:flex;height:4px;border-radius:999px;overflow:hidden;background:var(--elevated)}
.fbar .p{background:var(--green)}.fbar .m{background:var(--rose)}
.check{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 0;color:var(--text-2)}
.check .r{margin-left:auto;font:10.5px var(--font-mono);color:var(--faint)}
.lease{border-radius:var(--r-1);border:1px solid var(--hairline);padding:10px;background:var(--panel-2);display:flex;flex-direction:column}
.lease .who{display:flex;align-items:center;gap:8px;font-size:12.5px}
.lease .who .av{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--elevated);color:var(--muted);flex:none}
.lease .who .mid{flex:1;min-width:0;display:flex;flex-direction:column}
.lease.mine{border-color:oklch(from var(--accent) l c h/.45);background:oklch(from var(--accent) l c h/.07)}
.lease.mine .who .av{background:var(--accent);color:var(--accent-fg)}
.lease.other{border-color:oklch(from var(--warm) l c h/.45);background:var(--warm-bg)}
.lease .acts{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.mirror{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:4;display:none}
.mirror.on{display:flex;animation:toast-in .18s var(--ease-soft)}
.menu{position:absolute;top:30px;right:0;z-index:20;min-width:220px;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--r-1);box-shadow:var(--shadow-2);padding:4px;display:none;flex-direction:column}
.menu.on{display:flex;animation:toast-in .14s var(--ease-soft)}
.menu button{height:32px;border:0;background:transparent;border-radius:7px;display:flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;font-size:12.5px;color:var(--text-2);text-align:left}
.menu button:hover{background:var(--hover)}
.menu button.danger{color:var(--rose-ink)}
.menu button:disabled{opacity:.4;cursor:not-allowed}
.rel{position:relative;display:flex}

.afoot{flex:none;display:flex;gap:6px;align-items:center;padding:10px 12px;border-top:1px solid var(--hairline);background:var(--panel-2)}

#sc-settings{grid-template-columns:repeat(2,minmax(0,1fr));overflow:auto;align-content:start;grid-auto-rows:min-content}
.setrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--hairline);font-size:12.5px}
.setrow:first-child{border-top:0}
.setrow .d{flex:1;min-width:0;display:flex;flex-direction:column}
.setrow .d small{display:block;font-size:11px;color:var(--muted);word-break:break-all}

.scrim{position:fixed;inset:0;background:var(--scrim);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:none;z-index:50;align-items:flex-start;justify-content:center;padding-top:12vh}
.scrim.on{display:flex;animation:fade-in .16s}
.modal{width:min(520px,calc(100vw - 24px));max-height:80vh;background:var(--panel);border:1px solid var(--hairline);border-radius:var(--r-3);box-shadow:var(--shadow-2);display:flex;flex-direction:column;overflow:hidden;animation:rr-rise .2s var(--ease-soft)}
.mh{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 18px;border-bottom:1px solid var(--hairline)}
.mh .mt{font-size:14px;letter-spacing:-.015em;color:var(--text)}
.mh .mid{flex:1;min-width:0;display:flex;flex-direction:column}
.mbody{padding:16px 18px;overflow:auto;display:flex;flex-direction:column;gap:12px;font-size:12.5px;color:var(--text-2)}
.mbody label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--muted)}
.steps2{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--faint)}
.steps2 span{display:inline-flex;align-items:center;gap:5px}
.steps2 .n{width:18px;height:18px;border-radius:6px;background:var(--elevated);display:grid;place-items:center;font:10px var(--font-mono)}
.steps2 .on .n{background:var(--rose);color:#fff}
.steps2 .ok .n{background:var(--green);color:#fff}
.gate{position:fixed;inset:0;z-index:70;background:var(--bg);display:none;align-items:center;justify-content:center;padding:16px}
.gate.on{display:flex}
.gcard{width:min(420px,100%);background:var(--panel);border:1px solid var(--hairline);border-radius:var(--r-3);box-shadow:var(--shadow-2);padding:22px;display:flex;flex-direction:column;gap:14px}
.gcard .top{display:flex;align-items:center;gap:10px}
.gcard .top .mt{font-size:15px}
.gcard .row{display:flex;gap:8px}
.gcard .row .inp{flex:1;height:32px}
.gcard .hint{font-size:11.5px;color:var(--muted)}
.gcard .er{font-size:12px;color:var(--rose-ink);min-height:18px}
.gcard[hidden]{display:none}
.gcard>.inp{height:34px}
.gcard>.btn{height:34px;justify-content:center}
.gcard .lnk{background:none;border:0;padding:0;color:var(--muted);font-size:12px;cursor:pointer;align-self:flex-start;text-decoration:underline}
.toasts{position:fixed;right:16px;bottom:44px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:60;pointer-events:none}
.toast{background:var(--text);color:var(--bg);border-radius:999px;padding:7px 14px;font-size:12px;box-shadow:var(--shadow-2);display:flex;align-items:center;gap:8px;animation:toast-in .18s var(--ease-soft);max-width:min(560px,90vw)}
.toast.err{background:var(--rose);color:#fff}
.toast .ic{width:13px;height:13px}
.tabbar{display:none}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes halo{0%,100%{box-shadow:0 0 0 0 oklch(from var(--warm) l c h/.0)}50%{box-shadow:0 0 0 4px oklch(from var(--warm) l c h/.22)}}
@keyframes pulse-dot{50%{opacity:.55;transform:scale(.85)}}
@keyframes rr-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes toast-in{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}

.small{font-size:11px}
.err{color:var(--rose-ink)}
.hide{display:none!important}
.g.between{border:2px solid var(--accent);opacity:.9}
.g.between::after{content:'';position:absolute;inset:2px;border-radius:50%;background:var(--accent)}
.live{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block;background:transparent}
.live.on{background:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);animation:pulse-dot 1.6s ease-in-out infinite}
.cochip{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 8px;border-radius:7px;font:11px var(--font-mono);background:var(--elevated);color:var(--text-2);box-shadow:inset 0 0 0 1.5px oklch(from var(--gc) l c h/.55);white-space:nowrap}
.no{font-size:12px;color:var(--text)}
.acts{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;align-items:center}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chk{flex-direction:row!important;align-items:center;gap:8px!important;font-size:12px!important;color:var(--text-2)!important}
.er{font-size:12px;color:var(--rose-ink);min-height:16px}
mark{background:var(--rose-bg);color:var(--rose-ink);border-radius:3px;padding:0 2px}

.next{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;color:var(--text-2);margin-top:4px;min-width:0}
.next .lb{color:var(--faint);flex:none}
.next .tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.next .who{flex:none;font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--elevated);color:var(--muted)}
.next.who-team .who{background:var(--warm-bg);color:var(--warm-ink)}
.next.who-cust .who{background:var(--info-bg);color:var(--info-ink)}
.next.who-run .who{background:var(--accent-bg);color:var(--accent-ink)}
.next.stuck .tx{color:var(--rose-ink)}
.next.stuck .who{background:var(--rose-bg);color:var(--rose-ink)}
.next.big{font-size:13px;margin-top:0}
.next.big .tx{white-space:normal}

#sc-needs{grid-template-columns:minmax(0,1fr) 320px}
.nbody{flex:1;padding:10px 12px 16px;display:flex;flex-direction:column;gap:14px}
.ngroup{display:flex;flex-direction:column;gap:8px;flex:none}
.ngh{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12.5px;color:var(--text)}
.ncard{border:1px solid var(--hairline);border-radius:var(--r-2);background:var(--panel-2);padding:10px 12px;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color var(--fast)}
.ncard:hover{border-color:var(--border-2)}
.ncard.stuck{border-color:oklch(from var(--rose) l c h/.4)}
.ncard .l1,.rqrow .l1{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.ncard .l2,.rqrow .l2{font-size:13px;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ncard .reason{font-size:12px;color:var(--text-2);white-space:pre-wrap;word-break:break-word}
.ncard .acts{margin-top:4px}
.doctor{border-radius:var(--r-1);padding:8px 10px;display:flex;flex-direction:column;gap:6px;font-size:12px;margin-top:10px}
.doctor.ok{background:var(--green-bg);color:var(--green-ink)}
.doctor.bad{background:var(--warm-bg);color:var(--warm-ink)}
.doctor .dh{display:flex;flex-direction:row;align-items:center;gap:8px}
.ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-2)}

#sc-requests{grid-template-columns:minmax(0,1fr)}
.rqbar{display:flex;flex-direction:row;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--hairline);flex:none;overflow-x:auto}
.rqbar.cos{padding-top:6px;padding-bottom:6px}
.rqbar .inp{width:240px}
.chips{flex-wrap:nowrap;flex:none}
.chips button{white-space:nowrap}
.chips .sq{width:7px;height:7px}
#rqClosed.on{background:var(--accent-bg);color:var(--accent-ink)}
.rqlist{flex:1;padding-bottom:12px}
.rqgroup{display:flex;flex-direction:column}
.rqrow{display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--hairline);cursor:pointer;transition:background var(--fast)}
.rqrow:hover{background:var(--hover)}
.rqrow.stuck{background:linear-gradient(90deg,oklch(from var(--rose) l c h/.07),transparent 40%)}
.rqrow>.live{margin-top:6px}
.rqm{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rqrow .l3{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rqa{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding-top:2px}

#sc-request{grid-template-columns:minmax(0,1fr) 340px}
#sc-request .rqtx{display:none}
#sc-request.withtx{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
#sc-request.withtx .rqside{display:none}
#sc-request.withtx .rqtx{display:flex}
.rqtx{flex-direction:column;gap:6px;min-height:0;min-width:0}
.rqtx #sessPane{flex:1}
.txbar{height:30px;flex:none;display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 4px 0 10px;color:var(--muted);font-size:12px}
.txbar .t{color:var(--text)}
.sesshost{display:flex;flex-direction:column;min-height:0;min-width:0}
.sesshost #sessPane{flex:1}
.rqmain{display:flex;flex-direction:column}
.rqh{padding:12px 14px 10px;border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:6px;flex:none}
.rqh .l1{display:flex;flex-direction:row;align-items:center;gap:7px;flex-wrap:wrap}
.rqh .ttl{font-size:16px;letter-spacing:-.015em;color:var(--text);line-height:1.35}
.rqh .l3{font-size:11.5px;color:var(--muted)}
.rqh .nrow{display:flex;flex-direction:row;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-1);background:var(--panel-2);border:1px solid var(--hairline)}
.rqh .nrow .next{flex:1}
.chev{display:flex;flex-direction:row;gap:2px;padding:8px 14px;border-bottom:1px solid var(--hairline);overflow-x:auto;flex:none}
.cv{flex:1;min-width:92px;display:flex;flex-direction:column;gap:1px;padding:5px 10px 5px 14px;background:var(--elevated);color:var(--faint);font-size:11px;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%,8px 50%)}
.cv:first-child{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);border-radius:8px 0 0 8px}
.cv .t{font:10px var(--font-mono);color:inherit;opacity:.8;min-height:14px}
.cv.done{background:var(--green-bg);color:var(--green-ink)}
.cv.on{background:var(--accent);color:var(--accent-fg)}
.rqtl{flex:1;padding:12px 14px 24px;display:flex;flex-direction:column;gap:10px}
.tl{display:flex;flex-direction:column;gap:10px}
.tl-ev{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:11.5px;color:var(--muted);padding:0 4px}
.tl-ev .t{margin-left:auto;font:10.5px var(--font-mono);color:var(--faint);flex:none}
.tl-ev>span:nth-child(2){min-width:0;word-break:break-word}
.pinbox{border:1px solid oklch(from var(--warm) l c h/.45);border-radius:var(--r-2);background:oklch(from var(--warm) l c h/.05);padding:10px;display:flex;flex-direction:column;gap:8px;flex:none}
.pinbox .sec{color:var(--warm-ink)}
.bub{display:flex;flex-direction:column;gap:6px;max-width:760px;width:100%;flex:none;border-radius:14px;padding:9px 12px;background:var(--panel-2);border:1px solid var(--hairline)}
.bub.customer{background:var(--info-bg);border-color:transparent;align-self:flex-start}
.bub.team{background:var(--plum-bg);border-color:transparent}
.bub.agent{background:var(--panel-2)}
.bub.draft{border:1px dashed oklch(from var(--warm) l c h/.7)}
.bub.rejected{opacity:.6}
.bub.inline{max-width:none;padding:8px 10px}
.bub .who{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.bub .who .pill{text-transform:none;letter-spacing:0}
.bub .who .t{text-transform:none;letter-spacing:0;font-family:var(--font-mono)}
.bub .body{font-size:13px;color:var(--text);white-space:pre-wrap;word-break:break-word}
.faint-body{font-size:12px!important;color:var(--muted)!important;white-space:pre-wrap}
.dbar{display:flex;flex-direction:row;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--hairline);flex-wrap:wrap}

.card{border:1px solid var(--border);border-radius:var(--r-1);background:var(--panel);display:flex;flex-direction:column;overflow:hidden}
.card .ch{display:flex;flex-direction:row;align-items:center;gap:7px;padding:7px 10px;background:var(--hdr);border-bottom:1px solid var(--hairline);font-size:12px;color:var(--muted);flex-wrap:wrap}
.card .ch .t{color:var(--text);font-size:12.5px}
.card .cb{padding:8px 10px;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--hairline)}
.card .ch+.cb{border-top:0}
.card .txt{font-size:12.5px;color:var(--text-2);white-space:pre-wrap;word-break:break-word}
.card .staff{background:var(--panel-2)}
.card details>summary{cursor:pointer;font-size:11.5px;color:var(--muted);list-style:none}
.card details>summary::before{content:'▸ ';color:var(--faint)}
.card details[open]>summary::before{content:'▾ '}
.card details[open]{gap:6px}
.scen{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}
.scen li{display:flex;flex-direction:row;gap:8px;font-size:12px;color:var(--text-2)}
.scen .n,.scn .n{width:18px;height:18px;border-radius:6px;background:var(--elevated);display:grid;place-items:center;font:10px var(--font-mono);color:var(--muted);flex:none}
.scens{gap:8px!important}
.scn{display:flex;flex-direction:column;gap:5px;padding:7px 8px;border-radius:8px;background:var(--panel-2);border-left:3px solid var(--border-2)}
.scn.st-pass{border-left-color:var(--green)}
.scn.st-fail{border-left-color:var(--rose)}
.scn.st-team{border-left-color:var(--warm)}
.scn.st-ack{border-left-color:var(--plum)}
.scn .sh{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px}
.scn .tt{flex:1;min-width:0;color:var(--text)}
.scn .note{font-size:11.5px;color:var(--muted);white-space:pre-wrap;word-break:break-word}
.files-l{display:flex;flex-direction:column;gap:1px;font-size:11px;color:var(--text-2)}
.choices{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}
.choice{font-size:11.5px;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--text-2);background:var(--panel)}
.shots,.atts{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}
.shot{width:160px;border:1px solid var(--hairline);border-radius:8px;background:var(--elevated);padding:0;cursor:zoom-in;overflow:hidden;display:flex;flex-direction:column;text-align:left}
.shot img{width:160px;height:100px;object-fit:cover;object-position:top;display:block;background:var(--panel-2)}
.shot .cap{font-size:10.5px;color:var(--muted);padding:3px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot:hover{border-color:var(--border-2)}
.shot.broken img{opacity:.25}
.fchip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--hairline);background:var(--elevated);cursor:pointer;font-size:11.5px;color:var(--text-2);max-width:260px}
.fchip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fchip small{color:var(--faint);font-family:var(--font-mono)}

.jobbox{border:1px solid var(--hairline);border-radius:var(--r-1);background:var(--panel-2);display:flex;flex-direction:column;flex:none;overflow:hidden}
.jobbox.js-running{border-color:oklch(from var(--accent) l c h/.45)}
.jobbox.js-failed{border-color:oklch(from var(--rose) l c h/.4)}
.jh{min-height:34px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 10px;cursor:pointer;flex-wrap:wrap}
.jh .t{font-size:11.5px;color:var(--text-2)}
.jh .ch{color:var(--faint);transition:transform var(--medium) var(--ease-soft)}
.jobbox.open .jh .ch{transform:rotate(90deg)}
.jb{display:none;flex-direction:column;gap:4px;padding:2px 10px 10px}
.jobbox.open .jb{display:flex}
.step{display:flex;flex-direction:column;gap:3px;padding:3px 0;border-top:1px solid var(--hairline)}
.step:first-child{border-top:0}
.step .sr{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;color:var(--text-2);min-height:22px}
.step.st-failed .sr .nm{color:var(--rose-ink)}
.sdet{display:grid;grid-template-columns:auto 1fr;gap:1px 10px;padding-left:18px;font-size:11px}
.sdet .dk{color:var(--faint);font-family:var(--font-mono)}
.sdet .dv{color:var(--text-2);word-break:break-word}
.stepshots{padding-left:18px}
.snode{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:28px;padding:2px 8px 2px calc(8px + var(--dep,0) * 16px);border-radius:7px;cursor:pointer;font-size:12px;color:var(--text-2)}
.snode:hover{background:var(--hover)}
.snode.on{background:var(--accent-bg)}
.snode.sub{cursor:default;font-size:11.5px;color:var(--muted)}
.snode.sub:hover{background:transparent}
.snode .nm{flex:none;font-family:var(--font-mono);font-size:11.5px}
.snode .ptx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11.5px}
.snode .ic{color:var(--faint)}
.kv{margin-top:6px}

.rqside{display:flex;flex-direction:column}
.rqside>.pb,.rqblock>.pb{border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:8px}
.rqblock{display:flex;flex-direction:column;flex:none}
.opsp{flex:none}
.opsh{display:flex;flex-direction:row;align-items:center;gap:7px;color:var(--muted)}
.opsh .t{font-size:12.5px;color:var(--text)}
.opslog{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow:auto;min-height:0}
.opslog:empty{display:none}
.opsmsg{display:flex;flex-direction:column;gap:4px;min-width:0}
.opsmsg .who{font-size:10.5px;color:var(--faint);display:flex;flex-direction:row;align-items:center;gap:6px}
.opsmsg.owner .body{background:var(--elevated);border-radius:12px;padding:7px 10px;color:var(--text-2);font-size:12px;white-space:pre-wrap;word-break:break-word}
.opsmsg.ops .body{font-size:12.5px;color:var(--text);word-break:break-word}
.opsmsg.ops.err .body{color:var(--rose-ink)}
.opsmsg .acts{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}
.opsbar{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.alist2{display:flex;flex-direction:column;gap:5px}
.arow2{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.arow2 .why{font-size:10.5px;color:var(--faint);padding-left:10px}
.offl{display:flex;flex-direction:column;gap:6px}
.offl>summary{cursor:pointer;font-size:11.5px;color:var(--muted);list-style:none}
.offl>summary::before{content:'▸ ';color:var(--faint)}
.offl[open]>summary::before{content:'▾ '}
.cconf{display:flex;flex-direction:column;gap:8px}
.jobgroup{border:1px dashed var(--hairline);border-radius:var(--r-1);display:flex;flex-direction:column;flex:none;overflow:hidden}
.jgh{min-height:30px;display:flex;flex-direction:row;align-items:center;gap:8px;padding:4px 10px;cursor:pointer;flex-wrap:wrap}
.jgh .t{font-size:11.5px;color:var(--text-2)}
.jgh .ch{color:var(--faint);transition:transform var(--medium) var(--ease-soft)}
.jobgroup.open .jgh .ch{transform:rotate(90deg)}
.jgb{display:none;flex-direction:column;gap:6px;padding:2px 8px 8px}
.jobgroup.open .jgb{display:flex}
.md{display:flex;flex-direction:column;gap:2px;white-space:normal!important}
.md .md-h{color:var(--text);margin-top:6px}
.md .md-li{display:flex;flex-direction:row;gap:6px;padding-left:4px}
.md .md-li .mk{color:var(--faint);flex:none}
.md .md-gap{height:6px}
.md code{font:11.5px var(--font-mono);background:var(--elevated);border-radius:5px;padding:0 4px}
.md .md-b{color:var(--text)}
.md pre{margin:4px 0;background:var(--term-bg);color:var(--term-fg);border-radius:8px;padding:8px 10px;font:11.5px/1.6 var(--font-mono);white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:300px}
.prh{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.prlink{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:12px;color:var(--accent-ink);text-decoration:none;padding:4px 0;min-width:0}
.prlink span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prlink:hover{text-decoration:underline}
.prbox{display:flex;flex-direction:column;gap:8px;border:1px solid var(--hairline);border-radius:var(--r-1);background:var(--panel-2);padding:10px;min-width:0}
.prtt{display:flex;flex-direction:row;align-items:baseline;gap:6px;font-size:12.5px;color:var(--text);min-width:0}
.prtt .tx{min-width:0;word-break:break-word}
.prbox .pa,.pfh .pa{color:var(--green-ink)}
.prbox .pd,.pfh .pd{color:var(--rose-ink)}
.prbox a.btn{text-decoration:none}
.cichips{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;align-items:center}
.cichip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid var(--hairline);font-size:10.5px;color:var(--text-2);text-decoration:none;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.cichip .g{width:7px;height:7px;flex:none}
.cichip.red{color:var(--rose-ink)}
a.cichip:hover{background:var(--hover)}
.pfiles{display:flex;flex-direction:column;gap:3px;min-width:0}
.pfile{display:flex;flex-direction:column;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;min-width:0}
.pfh{display:flex;flex-direction:row;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;font-size:11px;min-width:0}
.pfh:hover{background:var(--hover)}
.pfh .fn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}
.pfh .ch{flex:none;color:var(--faint);width:12px;height:12px;transition:transform var(--medium) var(--ease-soft)}
.pfile.open .pfh .ch{transform:rotate(90deg)}
.pfb{display:none;flex-direction:column;gap:4px;padding:0 6px 6px}
.pfile.open .pfb{display:flex}
.pfb .diff{max-height:280px;font-size:10.5px}

.lbox{position:fixed;inset:0;z-index:80;background:oklch(0 0 0/.86);display:none;flex-direction:row;align-items:center;justify-content:center;gap:10px;padding:24px}
.lbox.on{display:flex;animation:fade-in .14s}
.lbf{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.lbf img{max-width:100%;max-height:calc(100% - 30px);object-fit:contain;border-radius:8px;background:#fff}
.lbc{color:#eee;font-size:12px}
.lbox .ib{color:#ddd;width:40px;height:40px;flex:none}
.lbox .ib:hover{background:oklch(1 0 0/.12);color:#fff}
.lbx{position:absolute;top:14px;right:14px}

#sc-credits{grid-template-columns:280px minmax(0,1fr)}
.crbody{flex:1;display:flex;flex-direction:column}
.crbody>.pb{border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:8px}
.cradd{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--hairline)}
.cradd .inp{flex:1;min-width:0;height:28px}
.crcount{padding:2px 16px 6px}
.crlogo{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--r-1);overflow:hidden}
.crlogo img{max-width:100%;max-height:100%;object-fit:contain}
.ph .crlogo{width:22px;height:22px}
.craccess{display:flex;align-items:center;gap:10px}
.craccess .d{flex:1;display:flex;flex-direction:column;gap:2px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px}
.tile{border:1px solid var(--hairline);border-radius:var(--r-1);background:var(--panel-2);padding:8px 12px;display:flex;flex-direction:column}
.tile .lb{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.tile .num{font-size:20px;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.crow2{display:flex;flex-direction:row;align-items:center;gap:10px;height:28px;padding:0 6px;border-radius:7px;font-size:12px;cursor:pointer}
.crow2:hover{background:var(--hover)}
.crow2 .ct,.lrow .ct{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}
.ledger{display:flex;flex-direction:column}
.lrow{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:30px;border-top:1px solid var(--hairline);font-size:12px}
.lrow:first-child{border-top:0}
.lrow .amt{min-width:56px;text-align:right}
.lrow .lk{width:64px;flex:none;display:flex}
.lrow .by{width:110px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lrow .bal{width:96px;flex:none;text-align:right}
.lrow .dt{width:84px;flex:none}
.lrow.lhead{min-height:24px;font-size:10.5px;color:var(--faint)}
.lrow.lhead .ct{color:var(--faint)}
.amt.pos{color:var(--green-ink)}
.amt.neg{color:var(--rose-ink)}
.cform{display:flex;flex-direction:column;gap:10px;max-width:460px}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:var(--muted)}
.sgh{padding:10px 14px 2px;display:flex;flex-direction:row;align-items:center;gap:7px;font-size:11.5px;color:var(--text-2);min-width:0}
.sgh .co{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sgh .rn{flex-shrink:0;white-space:nowrap}
.sjob{padding:3px 14px 1px 28px;display:flex;flex-direction:row;align-items:center;gap:6px;font-size:10.5px;color:var(--faint)}
.srow.child{margin-left:22px}
.tool.prompt .th .nm{background:var(--info-bg);color:var(--info-ink)}
.tool.prompt .tb .term{max-height:420px}
.verify{max-width:780px}

@media (max-width:1400px){#sc-request{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:1280px){#sc-session.cust{grid-template-columns:230px minmax(0,1fr)}#sc-session.cust .custpane{position:fixed;top:48px;right:0;bottom:30px;width:min(420px,100vw);z-index:40;box-shadow:var(--shadow-2)}}
@media (max-width:1280px){#sc-session{grid-template-columns:230px minmax(0,1fr)}#sc-session .sright{display:none}#sc-settings{grid-template-columns:1fr}#sc-needs{grid-template-columns:minmax(0,1fr)}#sc-needs>aside{display:none}}
@media (max-width:1100px){
  #sc-request{grid-template-columns:minmax(0,1fr);overflow:auto;grid-auto-rows:min-content}
  #sc-request .rqmain{min-height:70vh}
  #sc-request.withtx{grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}
  #sc-request.withtx .rqmain{display:none}
  #sc-credits{grid-template-columns:minmax(0,1fr);overflow:auto;grid-auto-rows:min-content}
  #sc-credits>aside{max-height:240px}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr;grid-template-rows:44px 1fr 56px}
  .rail,.strip,.crumb .hide-n,#connPill{display:none}
  .ws{grid-column:1}
  .tabbar{display:flex;flex-direction:row;grid-column:1;background:var(--panel-2);border-top:1px solid var(--hairline);justify-content:space-around;align-items:center}
  .tabbar button{flex:1;height:56px;border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;position:relative;cursor:pointer}
  .tabbar button.on{color:var(--accent-ink)}
  .tabbar .ic{width:18px;height:18px}
  #sc-session{grid-template-columns:1fr}#sc-session .slist{display:none}
  .shead .shrow{gap:6px}
  #sc-session.cust{grid-template-columns:1fr}
  #sc-session.cust .custpane{top:44px;bottom:56px;width:100vw}
  #sModel,#sBranch,#sCost,#sLive,.ckeys{display:none!important}
  .seg{flex:none}.seg button{white-space:nowrap}
  #sChip,#cHint,.composer .cpill.br{display:none}
  .rqbar .inp{width:160px}
  .rqa{display:none}
  .shot,.shot img{width:120px}
  .shot img{height:76px}
  .toasts{right:auto;left:50%;transform:translateX(-50%);bottom:64px;align-items:center}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
