
:root{color-scheme:light;--bg:#f6f7f9;--panel:#fff;--surface:#eef0f3;--fg:#16181d;--muted:#5a606c;--line:#e1e4e9;--line-strong:#cdd1d8;--input-border:#80868f;--accent:#0e7268;--accent-fg:#fff;--accent-soft:#e3f2f0;--danger:#b42318;--danger-fg:#fff;--danger-soft:#fcebe9;--ok:#16793a;--ok-soft:#e5f4ea;--warn:#865500;--warn-soft:#faf0da;--focus:#0e7268;--shadow:#10182814}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#0d0f12;--panel:#14171c;--surface:#1a1e24;--fg:#e6e8ec;--muted:#9aa1ac;--line:#262b33;--line-strong:#353b45;--input-border:#69717d;--accent:#3ad3bf;--accent-fg:#04201c;--accent-soft:#0f2c29;--danger:#ff8e82;--danger-fg:#2b0a06;--danger-soft:#341613;--ok:#62d48c;--ok-soft:#11291b;--warn:#efb851;--warn-soft:#2e2411;--focus:#3ad3bf;--shadow:#00000066}}
@font-face{font-family:"Plex Sans";src:url("/static/fonts/plex-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("/static/fonts/plex-sans-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plex Sans";src:url("/static/fonts/plex-sans-600.woff2") format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Plex Mono";src:url("/static/fonts/plex-mono-400.woff2") format("woff2");font-weight:400;font-display:swap}
:root{--sans:"Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1.0625rem;--text-xl:1.375rem;--radius-sm:5px;--radius:8px;--radius-lg:12px;--elev-1:0 1px 2px var(--shadow);--elev-2:0 1px 2px var(--shadow),0 8px 24px -8px var(--shadow)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;font:400 var(--text-md)/1.55 var(--sans);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
main{width:100%;max-width:60rem;margin:0 auto;padding:2rem 1.5rem 3rem;flex:1}
main.narrow{max-width:30rem}
h1,h2,h3{line-height:1.25;font-weight:600;letter-spacing:-.01em}
h1{font-size:var(--text-xl);margin:0 0 .4rem;letter-spacing:-.02em}
h2{font-size:var(--text-lg);margin:0 0 .75rem}
h3{font-size:var(--text-md);margin:1.5rem 0 .5rem}
p{margin:0 0 .75rem}
a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent);text-underline-offset:3px}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
code,pre{font-family:var(--mono);font-size:.8125rem}
:not(pre)>code{padding:.05rem .35rem;border-radius:4px;background:var(--surface);border:1px solid var(--line)}
pre{padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}
.muted{color:var(--muted)}.small{font-size:var(--text-sm)}
.icon{width:1.1rem;height:1.1rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--fg);text-decoration:none;font-weight:600;font-size:.95rem;letter-spacing:-.01em}
.brand .icon{width:1.6rem;height:1.6rem;stroke-width:2}
.brand .brand-tile{fill:var(--accent);stroke:none}
.brand .brand-mark{stroke:var(--accent-fg);stroke-width:2}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.app{display:grid;grid-template-columns:15.5rem minmax(0,1fr);grid-template-rows:auto 1fr auto;background:linear-gradient(to right,var(--surface) calc(15.5rem - 1px),var(--line) calc(15.5rem - 1px) 15.5rem,var(--bg) 15.5rem)}
body.app>.sidebar{grid-column:1;grid-row:1/-1;align-self:start}
body.app>main,body.app>.site-footer,body.app>.topbar{grid-column:2}
body.app>.topbar{grid-row:1}body.app>main{grid-row:2}body.app>.site-footer{grid-row:3}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);z-index:30}
.sidebar-head{padding:1rem 1rem .75rem}
.site-nav{flex:1;overflow-y:auto;padding:.25rem .75rem 1rem;display:grid;align-content:start;gap:.75rem}
.nav-group{display:grid;gap:1px}
.nav-label{margin:0 0 .25rem;padding:0 .5rem;font-size:var(--text-xs);font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.nav-link{display:flex;align-items:center;gap:.65rem;padding:.3rem .5rem;border-radius:var(--radius-sm);color:var(--fg);text-decoration:none;font-size:var(--text-md)}
.nav-link .icon{color:var(--muted);width:1.05rem;height:1.05rem}
.nav-link:hover{background:color-mix(in srgb,var(--fg) 6%,transparent)}
.nav-link:hover .icon{color:var(--fg)}
.nav-link[aria-current=page]{background:var(--panel);font-weight:500;box-shadow:var(--elev-1),inset 0 0 0 1px var(--line)}
.nav-link[aria-current=page] .icon{color:var(--accent)}
.sidebar-foot{border-top:1px solid var(--line);padding:.75rem .75rem 1rem;display:grid;gap:.6rem}
.sidebar-foot form{margin:0}
.who{display:flex;align-items:center;gap:.6rem;min-width:0;padding:0 .25rem}
.avatar{flex:none;width:1.9rem;height:1.9rem;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:var(--text-sm)}
.who-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar{display:none;align-items:center;gap:.75rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}
.topbar.public{display:flex;padding:.75rem 1.5rem}
.menu-button{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);color:var(--fg);cursor:pointer}
.drawer-toggle{display:none;position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.drawer-toggle:focus-visible~.topbar .menu-button{outline:2px solid var(--focus);outline-offset:2px}
.drawer-scrim{display:none}
@media (max-width:64rem){
body.app{display:block;background:var(--bg)}
body.app>.topbar{display:flex}
.drawer-toggle{display:block}
.sidebar{position:fixed;inset:0 auto 0 0;width:min(18rem,85vw);transform:translateX(-102%);visibility:hidden;transition:transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s;box-shadow:var(--elev-2)}
.sidebar-head{display:none}
.site-nav{padding-top:1rem}
.drawer-toggle:checked~.sidebar{transform:none;visibility:visible;transition:transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s}
.drawer-toggle:checked~.drawer-scrim{display:block;position:fixed;inset:0;z-index:25;background:color-mix(in srgb,#000 40%,transparent)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.page-head{margin-bottom:1.5rem}
.page-desc{color:var(--muted);margin:.25rem 0 0;max-width:44rem}
.eyebrow{font-family:var(--mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.6rem}
.hero{padding:1.5rem 0 1rem;max-width:44rem}
.hero h1{font-size:clamp(1.75rem,3.5vw,2.4rem);letter-spacing:-.03em}
.hero .lede{font-size:var(--text-lg);color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1);padding:1rem 1.5rem;margin:0 0 1rem}
.card>:last-child{margin-bottom:0}
.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.75rem}
.card-head h2{margin:0}
.card-foot{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:1rem -1.5rem -1rem;padding:.75rem 1.5rem;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 45%,var(--panel));border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.grid>.card{margin:0}
.list{list-style:none;margin:0;padding:0}
.list>li{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;padding:.7rem 0;border-top:1px solid var(--line)}
.list>li:first-child{border-top:0;padding-top:0}
.list form{margin:0}
.list>li.empty{display:block}
.btn .icon,button .icon{width:1rem;height:1rem}
.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.1rem;padding:.35rem .9rem;font:500 var(--text-md)/1.2 var(--sans);color:var(--fg);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--elev-1);cursor:pointer;text-decoration:none}
.btn:hover,button:hover{background:var(--surface);border-color:var(--input-border)}
.btn.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}
.btn.primary:hover,button.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--fg))}
.btn.danger,button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line-strong))}
.btn.danger:hover,button.danger:hover{background:var(--danger);border-color:var(--danger);color:var(--danger-fg)}
.btn.ghost,button.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}
.btn.block,button.block{width:100%}
.btn.small,button.small{min-height:1.75rem;padding:.2rem .6rem;font-size:var(--text-sm)}
.stack{display:grid;gap:.6rem}
label{display:grid;gap:.3rem;font-weight:500;font-size:var(--text-sm)}
.field{display:grid;gap:.3rem;margin-bottom:1rem;align-content:start}
.field .hint{color:var(--muted);font-size:var(--text-sm);font-weight:400}
.row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
input:where([type=text],[type=password],[type=url]),select{width:100%;min-height:2.2rem;padding:.4rem .65rem;font:400 var(--text-md)/1.4 var(--sans);color:var(--fg);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}
input:hover,select:hover{border-color:var(--input-border)}
input:focus-visible,select:focus-visible{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 25%,transparent)}
select{appearance:none;padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.mono{font-family:var(--mono);font-size:var(--text-sm)}
textarea{width:100%;min-height:3.5rem;padding:.45rem .65rem;font:400 var(--text-sm)/1.5 var(--mono);color:var(--fg);background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-sm);resize:vertical}
input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem;margin:0}
dl.kv{display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;margin:0 0 .75rem;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
dl.kv>dt{padding:.5rem 1rem;color:var(--muted);font-size:var(--text-sm);border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 55%,var(--panel))}
dl.kv>dd{margin:0;padding:.5rem 1rem;border-top:1px solid var(--line);min-width:0}
dl.kv>dt:first-of-type,dl.kv>dt:first-of-type+dd{border-top:0}
dl.kv-stat{grid-template-columns:minmax(0,1fr) minmax(6rem,max-content)}
dl.kv-stat>dd{overflow-wrap:normal;word-break:normal;text-align:right;font-variant-numeric:tabular-nums;max-width:16rem}
.grid-wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));margin:0 0 1rem}
.kpis{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));margin:0 0 1rem}
.kpi{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}
.kpi-value{font-size:1.6rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi-label{color:var(--muted);font-size:var(--text-sm)}
.kpi-warn .kpi-value{color:#d97706}
.bar{display:flex;height:.9rem;border-radius:999px;overflow:hidden;background:var(--line);margin:.25rem 0 .75rem}
.bar-seg{display:block;height:100%}
.legend{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:0;padding:0;font-size:var(--text-sm)}
.legend li{display:flex;align-items:center;gap:.4rem}
.swatch{display:inline-block;width:.7rem;height:.7rem;border-radius:3px}
.st-done{background:#16a34a}.st-blocked{background:#d97706}.st-max_steps{background:#a855f7}.st-model_error{background:#dc2626}.st-outcome_unknown{background:#64748b}.st-stopped_by_user{background:#0ea5e9}.st-other{background:#94a3b8}
.card-foot button{margin:0}
.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.05rem .5rem;border-radius:999px;font-size:var(--text-xs);font-weight:500;border:1px solid var(--line);background:var(--surface);color:var(--muted);white-space:nowrap}
.pill::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}
.pill.ok{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.pill.warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.alert{padding:.7rem 1rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);margin:0 0 1rem}
.alert.ok{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.alert.error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}
.alert.warn{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.legal{max-width:46rem;line-height:1.7}
.legal table{border-collapse:collapse;font-size:var(--text-sm);margin:1rem 0;width:100%}
.legal th,.legal td{border:1px solid var(--line-strong);padding:.35rem .6rem;vertical-align:top;text-align:left}
.legal th{background:var(--surface)}
.table-wrap{overflow-x:auto;margin:0 -.25rem}
table.data{border-collapse:collapse;width:100%;font-size:var(--text-sm)}
table.data th,table.data td{padding:.4rem .6rem;border-top:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}
table.data td.wrap{white-space:normal;overflow-wrap:anywhere}
table.data th{color:var(--muted);font-weight:500;border-top:0}
details>summary{cursor:pointer;color:var(--accent)}
.btn[aria-current=true]{background:var(--accent-soft);border-color:var(--accent)}
.site-footer{padding:1rem 1.5rem 1.5rem;color:var(--muted);font-size:var(--text-sm)}
.site-footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;max-width:60rem;margin:0 auto;padding-top:1rem;border-top:1px solid var(--line)}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--fg)}
@media (max-width:40rem){main{padding:1.25rem 1rem 2rem}}
