:root{--bg:#0c0c0e;--surface:#131316;--surface-2:#1a1a1e;--surface-3:#222227;--border:#26262c;--border-strong:#34343b;--text:#ececef;--text-2:#b4b4bb;--muted:#7d7d86;--accent:#e8b04b;--accent-hover:#f2c062;--accent-ink:#1c1405;--accent-soft:#e8b04b1f;--accent-line:#e8b04b61;--ok:#4cc38a;--ok-soft:#4cc38a1f;--info:#6aa8ff;--info-soft:#6aa8ff1f;--warn:#f08a4b;--warn-soft:#f08a4b1f;--bad:#f0616d;--bad-soft:#f0616d1f;--code-bg:#0f0f12;--shadow:0 8px 30px #00000059;--radius:10px;--radius-lg:14px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f7f6f3;--surface:#fff;--surface-2:#f3f2ee;--surface-3:#ebe9e3;--border:#e4e1d9;--border-strong:#d3cfc4;--text:#1b1a17;--text-2:#4a4740;--muted:#7b776c;--accent:#d99a26;--accent-hover:#c98a15;--accent-ink:#1c1405;--accent-soft:#d99a2621;--accent-line:#d99a2673;--ok:#1e8a57;--ok-soft:#1e8a571a;--info:#2563c9;--info-soft:#2563c917;--warn:#c25a12;--warn-soft:#c25a121a;--bad:#c8323f;--bad-soft:#c8323f17;--code-bg:#f4f3ef;--shadow:0 8px 30px #281e0a1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f7f6f3;--surface:#fff;--surface-2:#f3f2ee;--surface-3:#ebe9e3;--border:#e4e1d9;--border-strong:#d3cfc4;--text:#1b1a17;--text-2:#4a4740;--muted:#7b776c;--accent:#d99a26;--accent-hover:#c98a15;--accent-ink:#1c1405;--accent-soft:#d99a2621;--accent-line:#d99a2673;--ok:#1e8a57;--ok-soft:#1e8a571a;--info:#2563c9;--info-soft:#2563c917;--warn:#c25a12;--warn-soft:#c25a121a;--bad:#c8323f;--bad-soft:#c8323f17;--code-bg:#f4f3ef;--shadow:0 8px 30px #281e0a1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.55 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650;line-height:1.3}h2{margin:0;font-size:15px;font-weight:600}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}pre,code,.mono{font-family:var(--mono);font-size:12.5px}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:12.5px}.pre{white-space:pre-wrap;word-break:break-word}.row{align-items:center;gap:8px;display:flex}.spacer{flex:1}.btn{border:1px solid var(--border-strong);background:var(--surface-2);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:8px;align-items:center;gap:7px;padding:0 14px;font-weight:550;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-soft)}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.btn-danger{color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.btn-sm{height:28px;padding:0 10px;font-size:12.5px}.btn-block{justify-content:center;width:100%}.icon-btn{width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.field{gap:6px;display:grid}.field-label{color:var(--text-2);font-size:12.5px;font-weight:600}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border-strong);width:100%;transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:8px;padding:9px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.textarea{resize:vertical;line-height:1.55}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.kbd{font-family:var(--mono);border:1px solid var(--border-strong);color:var(--muted);border-radius:5px;padding:0 6px;font-size:10.5px;line-height:1.5;display:inline-block}.chip{background:var(--surface-2);border:1px solid var(--border);height:22px;color:var(--text-2);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.chip-accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.chip-ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 40%, transparent);background:color-mix(in srgb, var(--ok) 12%, transparent)}.banner{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.banner-bad{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 40%, transparent)}.banner-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.status{color:var(--text-2);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.status-running .dot{background:var(--info);box-shadow:0 0 0 3px var(--info-soft);animation:1.6s ease-in-out infinite pulse}.status-running{color:var(--info)}.status-idle .dot,.status-queued .dot{background:var(--accent)}.status-idle,.status-queued{color:var(--accent)}.status-done .dot{background:var(--ok)}.status-done{color:var(--ok)}.status-failed .dot{background:var(--bad)}.status-failed{color:var(--bad)}.status-stopped{color:var(--muted)}@keyframes pulse{50%{box-shadow:0 0 0 6px #0000}}.layout{grid-template-columns:272px 1fr;height:100dvh;display:grid;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;min-height:0;display:flex}.sidebar-head{align-items:center;gap:10px;padding:16px 16px 12px;display:flex}.brand-name{letter-spacing:-.01em;font-size:16px;font-weight:700}.sidebar-actions{gap:8px;padding:0 12px 12px;display:grid}.needs-you{cursor:pointer;text-align:left;border:1px solid var(--accent-line);background:var(--accent-soft);width:100%;color:var(--accent);border-radius:8px;align-items:center;gap:8px;padding:9px 12px;font-weight:600;display:flex}.needs-you:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.sidebar-scroll{flex:1;min-height:0;padding:4px 8px 12px;overflow-y:auto}.group-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:12px 8px 6px;font-size:11px;font-weight:700}.sidebar-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.run-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.run-item{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;gap:3px;padding:8px 10px;display:grid}.run-item:hover{background:var(--surface-2)}.run-item.active{background:var(--surface-2);border-color:var(--border-strong)}.run-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:550;overflow:hidden}.run-sub{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.run-sub .grow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-ink);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{display:none}.main-inner{flex:1;min-height:0;padding:24px 28px;overflow-y:auto}.main-inner>*{max-width:980px;margin-inline:auto}.banners{gap:8px;margin-bottom:16px;display:grid}.page-head{gap:6px;margin-bottom:22px;display:grid}.page-head p{color:var(--muted)}.form{gap:20px;display:grid}.grid2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-label .step{width:18px;height:18px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:50%;place-items:center;margin-right:6px;font-size:11px;font-weight:700;display:inline-grid}.field-label .field-hint{color:var(--muted);margin-left:8px;font-weight:450}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.project-card{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;color:var(--text);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);align-items:center;gap:12px;padding:12px 14px;display:flex}.project-card>svg{color:var(--muted);transition:color var(--dur) var(--ease-out);flex-shrink:0}.project-card:active{transform:scale(.985)}.project-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.project-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.project-card.selected>svg{color:var(--accent)}.project-card-text{flex:1;gap:2px;min-width:0;display:grid}.project-card-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.project-card-meta{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;font-size:11.5px;line-height:1.5}.project-card-check{width:20px;height:20px;color:var(--accent-ink,#1a1406);background:var(--accent);opacity:0;transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:50%;flex-shrink:0;place-items:center;display:grid;transform:scale(.6)}.project-card.selected .project-card-check{opacity:1;transform:scale(1)}.policy-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.policy-card{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.policy-card:active{transform:scale(.985)}.policy-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.policy-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.policy-card-head{align-items:center;gap:8px;font-weight:600;display:flex}.policy-card-head svg{color:var(--accent)}.policy-card p{color:var(--muted);font-size:12.5px;line-height:1.5}.policy-card-head .chip{margin-left:auto}.policy-best{color:var(--text-2);gap:3px;font-size:12.5px;display:grid}.policy-best-label{font-weight:600}.policy-best ul{margin:0;padding-left:18px;line-height:1.5}.policy-card-foot{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.role-summary{gap:0;margin-top:4px;padding:4px 16px;display:grid}.rs-head{border-bottom:1px solid var(--border);padding:12px 0}.rs-head p{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.5}.rs-row{grid-template-columns:170px 1fr;gap:12px;padding:10px 0;font-size:13px;line-height:1.6;display:grid}.rs-row+.rs-row{border-top:1px solid var(--border)}.rs-label{height:21px;color:var(--text-2);align-self:start;align-items:center;gap:7px;font-weight:600;display:flex}.rs-label svg{color:var(--muted)}.rs-ok .rs-label svg{color:var(--ok)}.rs-ask .rs-label svg{color:var(--accent)}.rs-bad .rs-label svg{color:var(--bad)}.rs-value{color:var(--text-2);min-width:0}.rs-value code,.rs-cmd{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:5px;margin:1px 4px 1px 0;padding:0 6px;font-size:11.5px;line-height:1.5;display:inline-block}@media (width<=640px){.rs-row{grid-template-columns:1fr;gap:4px}}.role-tabs{flex-wrap:wrap;gap:6px;display:flex}.role-tab{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;height:30px;color:var(--text-2);border-radius:8px;padding:0 12px;font-weight:550}.role-tab.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.prompt-box{position:relative}.prompt-box .textarea{min-height:170px;padding:14px;font-size:14.5px}.form-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.form-foot .muted{align-items:center;gap:6px;display:flex}.run-view{flex-direction:column;gap:14px;max-width:980px;height:100%;min-height:0;margin-inline:auto;display:flex}.run-view>*{flex-shrink:0}.main-inner:has(.run-view){padding-bottom:16px;overflow:hidden}.run-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.run-header-main{gap:10px;min-width:0;display:grid}.run-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.run-path{font-family:var(--mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.diff{white-space:pre;background:var(--code-bg);max-height:35vh;margin:0;padding:14px;overflow:auto}.diff .add{color:var(--ok)}.diff .del{color:var(--bad)}.diff .hunk{color:var(--info)}.timeline-wrap{flex:auto;min-height:140px;display:flex;position:relative}.timeline{overflow-anchor:none;flex-direction:column;flex:1;gap:12px;min-height:0;padding:4px 14px 16px 0;display:flex;overflow-y:auto}.timeline>*{flex-shrink:0}.timeline{-webkit-mask-image:linear-gradient(#0000 0,#000 14px);mask-image:linear-gradient(#0000 0,#000 14px)}.msg{gap:4px;max-width:100%;display:grid}.msg-meta{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.msg-user{transform-origin:100% 100%;align-self:flex-end;max-width:80%}.msg-user .msg-body{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:12px 12px 4px;padding:10px 14px}.msg-user .msg-meta{justify-content:flex-end}.msg-agent .msg-body{color:var(--text);padding:2px 0}.avatar{background:var(--surface-3);width:18px;height:18px;color:var(--text-2);border-radius:5px;place-items:center;display:inline-grid}.avatar-agent{background:var(--accent);color:var(--accent-ink)}.tool{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.tool>summary{cursor:pointer;align-items:center;gap:8px;min-width:0;padding:7px 12px;list-style:none;display:flex}.tool>summary::-webkit-details-marker{display:none}.tool>summary:hover{background:var(--surface-2)}.tool-name{color:var(--text);font-size:12.5px;font-weight:600}.tool-arg{font-family:var(--mono);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.tool-ico{color:var(--muted);flex:none}.tool-state{flex:none;display:inline-flex}.tool-state.ok{color:var(--ok)}.tool-state.err{color:var(--bad)}.tool-state.wait{color:var(--muted)}.tool-body{border-top:1px solid var(--border);background:var(--code-bg);gap:8px;padding:10px 12px;display:grid}.tool-body pre{white-space:pre-wrap;word-break:break-word;max-height:360px;color:var(--text-2);margin:0;overflow:auto}.tool-body .label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.tool.is-error{border-color:color-mix(in srgb, var(--bad) 35%, var(--border))}.thinking>summary{cursor:pointer;color:var(--muted);align-items:center;gap:6px;font-size:12px;list-style:none;display:inline-flex}.thinking>summary::-webkit-details-marker{display:none}.thinking .pre{border-left:2px solid var(--border-strong);color:var(--muted);margin-top:6px;padding-left:12px;font-size:13px}.note{border:1px solid;border-radius:8px;align-items:flex-start;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.note svg{flex:none;margin-top:2px}.note-deny{color:var(--bad);background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.note-ask{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.note-allow{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 30%, transparent)}.note-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.divider{color:var(--muted);align-items:center;gap:10px;font-size:11.5px;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.turn-end{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;display:flex}.turn-end .sep:before{content:"·";opacity:.7;margin-right:8px}.turn-end.is-error{color:var(--bad)}.approval{border:1px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 0 0 4px var(--accent-soft);overflow:hidden}.approval-head{background:var(--accent-soft);color:var(--accent);align-items:center;gap:10px;padding:12px 16px;font-weight:650;display:flex}.approval-body{gap:10px;padding:14px 16px;display:grid}.approval-body pre{background:var(--code-bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:260px;margin:0;padding:10px 12px;overflow:auto}.approval-foot{justify-content:flex-end;gap:8px;display:flex}.jump-bottom{border:1px solid var(--accent);background:var(--accent);height:32px;color:var(--accent-ink);cursor:pointer;box-shadow:var(--shadow);border-radius:99px;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.composer{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;transition:border-color .12s,box-shadow .12s;display:flex}.composer:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer textarea{resize:none;background:0 0;border:0;flex:1;max-height:200px;padding:6px 0;line-height:1.5}.composer textarea:focus{outline:none}.composer-hint{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding:0 6px;font-size:11.5px;line-height:1.6;display:flex}.composer-hint .kbd{margin:0 2px}.empty{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:48px 16px;display:grid}@media (width<=820px){.layout{grid-template-columns:1fr}.sidebar{z-index:20;width:min(86vw,300px);transition:transform var(--dur-slow) var(--ease-out);box-shadow:var(--shadow);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.layout.nav-open .sidebar{transform:none}.scrim{z-index:15;animation:fade-in var(--dur) var(--ease-out);background:#00000073;position:fixed;inset:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:10px;padding:10px 12px;display:flex}.main-inner{padding:16px}.grid2{grid-template-columns:1fr}.run-header{flex-direction:column}.actions{justify-content:flex-start}.msg-user{max-width:92%}}.dot-ok{background:var(--ok)}.dot-bad{background:var(--bad)}.dot-accent{background:var(--accent)}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.12)}to{opacity:1;transform:none}}@keyframes bubble{0%{opacity:0;transform:translateY(6px)scale(.96)}}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes glow{0%,to{box-shadow:0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 7px var(--accent-soft)}}@keyframes typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.page{height:100%;animation:rise var(--dur-slow) var(--ease-out)}.enter{animation:rise var(--dur-slow) var(--ease-out) both}.msg-user.enter{animation:bubble var(--dur-slow) var(--ease-out) both}.tool.enter .tool-state svg{animation:pop var(--dur-slow) var(--spring) both}.tool,.thinking{interpolate-size:allow-keywords}.tool::details-content{block-size:0;transition:block-size var(--dur-slow) var(--ease-out), content-visibility var(--dur-slow) allow-discrete;overflow:clip}.thinking::details-content{block-size:0;transition:block-size var(--dur-slow) var(--ease-out), content-visibility var(--dur-slow) allow-discrete;overflow:clip}.tool[open]::details-content{block-size:auto}.thinking[open]::details-content{block-size:auto}.tool[open]>.tool-body,.thinking[open]>.pre{animation:drop var(--dur) var(--ease-out)}.tool>summary{transition:background var(--dur-fast)}.tool{transition:border-color var(--dur) var(--ease-out)}.approval{animation:card-in var(--dur-slow) var(--spring) both, glow 2.4s ease-in-out .4s infinite}.needs-you{animation:drop var(--dur-slow) var(--ease-out)}.count{animation:pop var(--dur-slow) var(--spring)}.note.enter,.turn-end.enter,.divider.enter{animation:rise var(--dur) var(--ease-out) both}.banner{animation:drop var(--dur) var(--ease-out)}.diff{animation:drop var(--dur-slow) var(--ease-out)}.jump-bottom{animation:rise var(--dur) var(--ease-out);transition:transform var(--dur-fast) var(--ease-out)}.jump-bottom:hover{transform:translate(-50%)translateY(-1px)}.run-item{transition:background var(--dur-fast), border-color var(--dur)}.run-list li{animation:fade-in var(--dur) var(--ease-out)}.status,.status .dot{transition:color var(--dur), background var(--dur)}.typing{gap:3px;margin-left:2px;display:inline-flex}.typing i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite typing}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.theme-anim,.theme-anim *,.theme-anim :before,.theme-anim :after{transition:background-color var(--dur-slow) var(--ease-in-out), border-color var(--dur-slow) var(--ease-in-out), color var(--dur-slow) var(--ease-in-out), fill var(--dur-slow), stroke var(--dur-slow)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth{place-items:center;min-height:100dvh;padding:24px 16px;display:grid;position:relative;overflow-x:clip}.auth-glow{pointer-events:none;background:radial-gradient(40% 35% at 50% 40%, var(--accent-soft), transparent 70%);animation:14s ease-in-out infinite alternate glow-drift;position:fixed;inset:-30%}@keyframes glow-drift{to{transform:translate(4%,-3%)scale(1.08)}}.auth-theme{z-index:1;align-items:center;gap:8px;display:flex;position:fixed;top:16px;right:16px}.lang-switch{border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:2px;display:flex}.lang-switch button{cursor:pointer;letter-spacing:.04em;height:26px;color:var(--muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);background:0 0;border:0;border-radius:7px;padding:0 9px;font-size:12px;font-weight:650}.lang-switch button:hover{color:var(--text)}.lang-switch button.on{background:var(--accent-soft);color:var(--accent)}.auth-card{background:var(--surface);border:1px solid var(--border);width:min(100%,400px);box-shadow:var(--shadow);animation:card-in var(--dur-slow) var(--ease-out) both;border-radius:18px;gap:16px;padding:28px;display:grid;position:relative}.auth-brand{text-align:center;justify-items:center;gap:8px;margin-bottom:4px;display:grid}.auth-brand svg{animation:pop .5s var(--spring) both}.auth-brand p{font-size:13.5px}.auth-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;display:flex}.auth-note svg{color:var(--accent);flex:none;margin-top:1px}.shake{animation:shake .36s var(--ease-out)}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.btn-lg{height:42px;font-size:14.5px}.input-wrap{position:relative}.input-wrap .input{padding-right:40px}.input-icon{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}button.input-icon:hover{color:var(--text);background:var(--surface-2)}span.input-icon{cursor:default}.code-input{letter-spacing:.2em;text-transform:uppercase}.check{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.meter{align-items:center;gap:10px;display:flex}.meter-bars{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.meter-bars span{background:var(--surface-3);height:4px;transition:background var(--dur) var(--ease-out);border-radius:2px}.meter[data-score="1"] .on{background:var(--bad)}.meter[data-score="2"] .on{background:var(--warn)}.meter[data-score="3"] .on,.meter[data-score="4"] .on{background:var(--ok)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.boot{place-items:center;min-height:100dvh;display:grid}.boot svg{animation:pop .5s var(--spring) both, breathe 1.6s ease-in-out .5s infinite}@keyframes breathe{50%{opacity:.55}}.account{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.avatar-lg{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border:1px solid var(--accent-line);border-radius:8px;flex:none;place-items:center;font-size:12.5px;font-weight:700;display:grid}.account-text{min-width:0;line-height:1.3;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.account-sub{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:11.5px;display:flex;overflow:hidden}.home{gap:22px;display:grid}.hello h1{letter-spacing:-.02em;font-size:28px}.hello h1 span{color:var(--accent)}.hello p{color:var(--muted);margin-top:4px;font-size:14.5px}.cap{display:inline-block}.cap:first-letter{text-transform:uppercase}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kpi{text-align:left;color:var(--text);font:inherit;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);cursor:pointer;transition:border-color var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), background var(--dur-fast);animation:rise var(--dur-slow) var(--ease-out) both;gap:6px;padding:16px;display:grid}.kpi:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.kpi:active:not(:disabled){transform:scale(.985)}.kpi:disabled{cursor:default}.kpi.hot{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft)}.kpi-top{color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.kpi-ico{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.kpi-val{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.kpi-sub{color:var(--muted);font-size:12px}.i-acc{background:var(--accent-soft);color:var(--accent)}.i-info{background:var(--info-soft);color:var(--info)}.i-ok{background:var(--ok-soft);color:var(--ok)}.i-warn{background:var(--warn-soft);color:var(--warn)}.i-bad{background:var(--bad-soft);color:var(--bad)}.home-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.home-side{gap:14px;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);animation:rise var(--dur-slow) var(--ease-out) both;align-content:start;gap:12px;padding:16px;display:grid}.panel-h{align-items:center;gap:8px;display:flex}.panel-h h2{flex:1}.attention{gap:8px;margin:0;padding:0;list-style:none;display:grid}.row-item{background:var(--surface-2);border:1px solid var(--border);animation:rise var(--dur) var(--ease-out) both;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.row-item .t{flex:1;gap:2px;min-width:0;display:grid}.row-item .t b{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}.row-item .t>span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.row-item strong{color:var(--text-2);font-weight:600}.mono-pill{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--border);color:var(--text-2);border-radius:6px;padding:1px 6px;font-size:11.5px}.all-clear{border:1px dashed var(--border-strong);border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.all-clear>div{flex:1}.chart{margin:0}.bars{border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);gap:10px;height:130px;padding-top:18px;display:grid}.bar{outline:none;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex;position:relative}.bar i{background:var(--accent);transform-origin:bottom;width:100%;max-width:28px;animation:grow var(--dur-slow) var(--ease-out) both;transition:filter var(--dur-fast);border-radius:4px 4px 0 0;display:block}.bar i.zero{background:var(--surface-3)}.bar:nth-child(2) i{animation-delay:40ms}.bar:nth-child(3) i{animation-delay:80ms}.bar:nth-child(4) i{animation-delay:.12s}.bar:nth-child(5) i{animation-delay:.16s}.bar:nth-child(6) i{animation-delay:.2s}.bar:nth-child(7) i{animation-delay:.24s}@keyframes grow{0%{transform:scaleY(0)}}.bar em{color:var(--text-2);opacity:0;transition:opacity var(--dur-fast);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:11px;font-style:normal}.bar.today em,.bar:hover em,.bar:focus-visible em{opacity:1}.bar:hover i,.bar:focus-visible i{filter:brightness(1.12)}.bar-label{color:var(--muted);font-size:11px;position:absolute;bottom:-20px}.bar.today .bar-label{color:var(--text-2);font-weight:600}.bar-tip{z-index:2;white-space:nowrap;pointer-events:none;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-2);box-shadow:var(--shadow);opacity:0;transition:opacity var(--dur-fast), transform var(--dur-fast) var(--ease-out);border-radius:8px;padding:6px 9px;font-size:12px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,4px)}.bar-tip b{color:var(--text)}.bar:hover .bar-tip,.bar:focus-visible .bar-tip{opacity:1;transform:translate(-50%)}.bar:first-child .bar-tip{left:0;transform:translateY(4px)}.bar:first-child:hover .bar-tip,.bar:first-child:focus-visible .bar-tip{transform:translate(0)}.bar:last-child .bar-tip{left:auto;right:0;transform:translateY(4px)}.bar:last-child:hover .bar-tip,.bar:last-child:focus-visible .bar-tip{transform:translate(0)}.chart+.kv-list{margin-top:18px}.kv-list{gap:8px;display:grid}.kv{color:var(--text-2);justify-content:space-between;font-size:13px;display:flex}.kv b{color:var(--text);font-variant-numeric:tabular-nums}.meter-h{background:var(--surface-3);border-radius:4px;height:8px;overflow:hidden}.meter-h i{background:var(--accent);transform-origin:0;height:100%;animation:grow-x var(--dur-slow) var(--ease-out) both;border-radius:4px;display:block}.meter-h.warn i{background:var(--warn)}.meter-h.bad i{background:var(--bad)}@keyframes grow-x{0%{transform:scaleX(0)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid{grid-template-columns:1fr}}@media (width<=520px){.hello h1{font-size:24px}.kpi-val{font-size:26px}}.brand-btn{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.nav-link{width:100%;height:34px;color:var(--text-2);cursor:pointer;text-align:left;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:0 10px;font-weight:550;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.auth-version{text-align:center;color:var(--muted);font-size:11.5px;font-family:var(--mono)}.md{overflow-wrap:anywhere;line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre,.md blockquote,.md table{margin:0 0 10px}.md ul,.md ol{padding-left:22px}.md li+li{margin-top:3px}.md h1,.md h2,.md h3,.md h4{margin:16px 0 8px;font-size:15px;line-height:1.35}.md h1{font-size:17px}.md strong{font-weight:650}.md a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md code{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:.88em}.md pre{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55;overflow-x:auto}.md pre code{font-size:inherit;background:0 0;border:0;padding:0}.md blockquote{border-left:3px solid var(--border-strong);color:var(--muted);padding-left:12px}.md table{border-collapse:collapse;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border);text-align:left;padding:4px 10px}.md hr{border:0;border-top:1px solid var(--border);margin:12px 0}.model-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.model-card{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.model-card:active{transform:scale(.985)}.model-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.model-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.model-card-head{gap:1px;display:grid}.model-card-name{font-size:15px;font-weight:650}.model-card-tag{color:var(--accent);font-size:11.5px;font-weight:600}.model-card p{color:var(--muted);font-size:12.5px;line-height:1.5}.model-best{color:var(--text-2);margin:0;padding-left:18px;font-size:12px;line-height:1.5}.effort-row{flex-wrap:wrap;gap:6px;display:flex}.effort-option{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;height:32px;color:var(--text-2);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:8px;padding:0 12px;font-weight:550}.effort-option:hover{border-color:var(--muted)}.effort-option.selected{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.effort-hint{color:var(--muted);min-height:1.5em;font-size:12.5px}.settings{gap:16px;max-width:760px;display:grid}.settings .page-head{margin-bottom:6px}.settings-section{gap:14px;padding:18px;display:grid}.settings-head{align-items:flex-start;gap:12px;display:flex}.settings-head>svg{color:var(--accent);flex-shrink:0;margin-top:3px}.settings-head h2{font-size:15px}.settings-head p{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.5}.settings-saved{animation:rise var(--dur) var(--ease-out) both;flex-shrink:0;margin-left:auto}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.choice{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:48px;color:var(--text);transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur) var(--ease-out);align-items:center;gap:10px;padding:0 14px;display:flex}.choice:active{transform:scale(.985)}.choice:hover{border-color:var(--border-strong);background:var(--surface-2)}.choice:disabled{cursor:progress}.choice.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}.choice>svg:first-child{color:var(--muted)}.choice.selected>svg{color:var(--accent)}.choice-code{letter-spacing:.04em;background:var(--surface-2);border:1px solid var(--border);width:30px;height:22px;color:var(--text-2);border-radius:6px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.choice.selected .choice-code{border-color:var(--accent-line);color:var(--accent)}.choice-name{flex:1;font-weight:600}
