:root{color-scheme:light dark;--bg: #f6f7f9;--panel: #ffffff;--ink: #14171a;--muted: #5b6570;--line: #dfe3e8;--accent: #5b3fd6;--ok: #148a3c;--warn: #b25a00;--err: #b3261e}@media(prefers-color-scheme:dark){:root{--bg: #14171a;--panel: #1c2024;--ink: #eef1f4;--muted: #98a2ad;--line: #2c3238;--accent: #9d8bff}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;justify-content:center;padding:24px 16px}.app{width:min(560px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:16px}h1{margin:0;font-size:20px;color:var(--accent);letter-spacing:-.01em}header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.state{margin:0;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.state[data-state=ready],.state[data-state=listening]{color:var(--ok)}.state[data-state=connecting],.state[data-state=speaking],.state[data-state=confirming]{color:var(--warn)}.state[data-state=error],.state[data-state=disconnected]{color:var(--err)}.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}button.icon{flex:0 0 auto;padding:7px 11px;font-size:14px;display:inline-flex;align-items:center;gap:6px}button.icon .lbl{font-size:12.5px;font-weight:500}@media(max-width:520px){button.icon .lbl{display:none}button.icon{padding:7px 9px}}button{flex:1;padding:12px 16px;border-radius:999px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent}button.primary{background:var(--accent);color:#fff}button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}button:disabled{opacity:.5;cursor:not-allowed}.token{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.token input{padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:14px}.hub{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.hub.link[data-tone=bad] #link-detail{color:var(--err)}.hub.link[data-tone=back] #link-detail{color:var(--ok)}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex:none}.dot[data-alive=true]{background:var(--ok)}.dot[data-alive=false]{background:var(--err)}.dot[data-alive=polling]{background:var(--warn)}.transcript{display:flex;flex-direction:column;gap:8px;overflow-x:hidden;height:46vh;min-height:180px;overflow-y:auto;overscroll-behavior:contain}.turn{padding:9px 12px;border-radius:10px;font-size:14px;white-space:pre-wrap;max-width:100%;overflow-wrap:anywhere}.turn.you{background:var(--bg);border:1px solid var(--line)}.turn.assistant{background:color-mix(in srgb,var(--accent) 10%,transparent)}.turn.agent{background:color-mix(in srgb,var(--ok) 10%,transparent)}.turn.system{font-size:12.5px;color:var(--muted);font-style:italic;padding:2px 4px}.turn .who{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:2px}.turn .grade{font-weight:400;text-transform:none;letter-spacing:0}.turn .snip{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.turn .snip .snipbtn{flex:none;min-height:32px;min-width:34px;padding:4px 10px;border-radius:8px;font-size:13px;line-height:1.5;background:var(--panel);color:var(--muted);border:1px solid var(--line)}.turn .snip .snipbtn.said{color:var(--ok);border-color:var(--ok)}.turn .snip .snipbtn.failed{color:var(--err);border-color:var(--err)}.turn .snip .snipbtn:disabled{opacity:1}footer{border-top:1px solid var(--line);padding-top:10px;font-size:12.5px;color:var(--muted)}.pending{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-radius:10px;font-size:13.5px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);white-space:pre-wrap}.pending strong{color:var(--warn)}button#mute[data-muted=true]{background:color-mix(in srgb,var(--err) 15%,transparent);border-color:var(--err);color:var(--err)}.chat{margin:0;font-size:13px;font-weight:600;color:var(--accent)}.note .player{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 6px;max-width:100%}.note .player button{flex:none;padding:4px 8px;border-radius:8px;font-size:13px;background:var(--panel);color:var(--ink);border:1px solid var(--line)}.note .player button.play{width:40px;font-size:15px}.note .player input[type=range]{flex:1 1 120px;min-width:0;accent-color:var(--accent)}.note .player .time{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.note.playing{border-left:3px solid var(--accent)}.note .notetext{font-size:13px;color:var(--muted);max-height:7em;overflow-y:auto;white-space:pre-wrap}.note .notetext{position:relative;display:block;overflow:auto;resize:vertical;height:7.5em;max-height:none;min-height:3em}.note.expanded .notetext{height:55vh}.note .notetext .w{border-radius:3px;padding:0 1px;cursor:pointer}.note .notetext .w.said{color:var(--ink);opacity:.55}.note .notetext .w.on{background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--ink);opacity:1;font-weight:600}.note .notetext .w:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.note .player input[type=range],.work{cursor:pointer}.work .pulse{width:7px;height:7px;border-radius:50%;flex:none;background:currentColor;animation:tick 2.5s ease-in-out infinite}@keyframes tick{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.work .sound{font-size:11px;opacity:.6;margin-left:auto}.work{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent)}.work .ico{display:flex;align-items:center;justify-content:center;width:20px;height:18px;flex:none}.work .ico>span{display:none}.work[data-kind=listen] .eq,.work[data-kind=speak] .eq,.work[data-kind=play] .eq,.work[data-kind=agent] .dots{display:flex}.work[data-kind=think] .orbit,.work[data-kind=render] .bar,.work[data-kind=send] .arrow{display:block}.work .eq{align-items:flex-end;gap:3px;height:16px}.work .eq i{width:3px;height:100%;border-radius:2px;background:var(--accent);transform-origin:bottom;animation:eq 1.1s ease-in-out infinite}.work .eq i:nth-child(1){animation-delay:0s}.work .eq i:nth-child(2){animation-delay:.13s}.work .eq i:nth-child(3){animation-delay:.26s}.work .eq i:nth-child(4){animation-delay:.39s}.work .eq i:nth-child(5){animation-delay:.52s}@keyframes eq{0%,to{transform:scaleY(.25);opacity:.55}50%{transform:scaleY(1);opacity:1}}.work .dots{align-items:center;gap:3px}.work .dots i{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:dots 1.4s ease-in-out infinite}.work .dots i:nth-child(2){animation-delay:.2s}.work .dots i:nth-child(3){animation-delay:.4s}@keyframes dots{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}.work .orbit{position:relative;width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--warn) 30%,transparent)}.work .orbit i{position:absolute;top:-3px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--warn);transform-origin:3px 12px;animation:orbit 1.6s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.work .bar{position:relative;width:20px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--ok) 22%,transparent);overflow:hidden}.work .bar i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;background:var(--ok);transform-origin:left;animation:fill 1.3s ease-in-out infinite}@keyframes fill{0%{transform:scaleX(.05)}70%{transform:scaleX(1)}to{transform:scaleX(1);opacity:.2}}.work .arrow{position:relative;width:20px;height:10px}.work .arrow i{position:absolute;top:1px;left:0;width:0;height:0;border:4px solid transparent;border-left-color:var(--accent);animation:fly .9s ease-in infinite}@keyframes fly{0%{left:0;opacity:0}30%{opacity:1}to{left:13px;opacity:0}}.work[data-kind=think]{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 36%,transparent)}.work[data-kind=render]{background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}@media(prefers-reduced-motion:reduce){.work .ico *{animation:none!important}.work .eq i{transform:scaleY(.7)}}button#mute-mic[data-muted=true],button#mute-henny[data-muted=true]{background:color-mix(in srgb,var(--err) 15%,transparent);border-color:var(--err);color:var(--err)}.controls{flex-wrap:wrap}.controls button{min-width:44%}.say{display:flex;gap:8px}.say input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);font-size:15px}.say input:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}.say button{flex:0 0 auto;min-width:0;padding:10px 18px}.say .camera{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;cursor:pointer;font-size:1.2em;background:var(--surface-2, transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.say .camera[data-busy=true]{opacity:.5;pointer-events:none}.note .quote{align-self:flex-start;margin-top:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);color:var(--ink)}.note .notetext::selection,.note .notetext .w::selection{background:color-mix(in srgb,var(--accent) 35%,transparent)}.findings{border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin:.4rem 0;background:var(--panel)}.findings header{display:flex;align-items:center;gap:.4rem;padding:0 4px}.findings header strong{flex:1}.findings header span{opacity:.7;font-variant-numeric:tabular-nums}.findings header button{border:0;background:none;color:inherit;cursor:pointer;font-size:1rem;padding:0 .2rem}.findings.folded ol{display:none}.findings ol{margin:.4rem 0 0;padding:2px 4px;list-style:none;display:flex;flex-direction:column;gap:.3rem;max-height:32vh;overflow-y:auto;overscroll-behavior:contain}.findings.hide-done li.done{display:none}.findings .linky{font-size:12px;color:var(--muted);text-decoration:underline;background:none;border:0;cursor:pointer;padding:0 .2rem}.findings li{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem}.findings li .tick{order:-1}.findings li .what{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.findings .tick{flex:0 0 16px;width:16px;min-width:16px;height:16px;min-height:16px;margin-top:2px;padding:0;border-radius:50%;border:1.5px solid var(--line);background:var(--bg);color:var(--ok, #4a9e5c);font-size:11px;line-height:1;cursor:pointer}.findings .tick:hover{border-color:var(--accent)}.findings li.done .tick{border-color:#4a9e5c}.findings li{line-height:1.35}.findings li.done .what{opacity:.45;text-decoration:line-through}.findings li.working{border-left:3px solid #d9a441;padding-left:.4rem;margin-left:-.7rem}.findings li.fixed{border-left:3px solid #4a9e5c;padding-left:.4rem;margin-left:-.7rem}.findings li .sent{opacity:.6;font-size:.85em;margin-left:.35rem}#sleep[data-asleep=true]{background:var(--panel);border-color:#d9a441;color:#d9a441}.findings li .act.approve{border-color:var(--accent);color:var(--accent);opacity:1}.findings li.suggestion .what{font-style:italic}.findings li .act.edit:hover{opacity:1}.findings .editbox{flex:1 0 100%;width:100%;min-width:0;min-height:4.5em;margin-top:4px;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--accent);border-radius:6px;padding:3px 6px;resize:vertical}button.danger{flex:0 0 auto;padding:7px 11px;font-size:13px;border-color:color-mix(in srgb,#c2452d 45%,var(--line));color:#c2452d}.findings header .tick.all{margin:0;border-style:dashed}.findings header .tick.all[data-all=true]{border-style:solid;border-color:#4a9e5c}.findings li .act.edit{border:0;background:none;opacity:1;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.agentmenu{position:fixed;z-index:20;min-width:220px;max-height:250px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #00000038;padding:4px}.agentmenu .head{font-size:12px;color:var(--muted);padding:6px 8px 4px}.agentmenu .empty{font-size:12.5px;color:var(--muted);padding:8px}.agentmenu button{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;flex:none;text-align:left;padding:8px 10px;border-radius:8px;border:0;background:none;color:inherit;font-size:13.5px;font-weight:500}.agentmenu button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.agentmenu .meta{font-size:11px;color:var(--muted);font-weight:400}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:2px}.tabs .tab{flex:0 0 auto;padding:7px 14px;border:0;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;background:none;color:var(--muted);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tabs .tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.tabs .badge{min-width:17px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;line-height:17px;text-align:center}.app[data-tab=list] .transcript,.app[data-tab=list] .say,.app[data-tab=talk] .findings{display:none}.app[data-tab=list] .findings ol{max-height:56vh}.controls{gap:6px}button.primary,button.secondary,button.icon,button.danger{border-radius:10px;transition:background-color .12s ease,border-color .12s ease,transform .06s ease}button.primary{box-shadow:0 1px color-mix(in srgb,var(--accent) 60%,#000)}button.icon,button.danger{background:var(--panel);border:1px solid var(--line);font-weight:500;color:var(--ink)}button.icon:hover,button.danger:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}button.icon:active,button.danger:active,button.primary:active{transform:translateY(1px)}button.icon[data-muted=true]{border-color:#c2452d;color:#c2452d}#sleep[data-asleep=true]{border-color:#d9a441;color:#d9a441}.findings li,.findings header{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.findings .editbox{-webkit-user-select:text;user-select:text}.findings li.failed{border-left:3px solid #c2452d;padding-left:.4rem;margin-left:-.7rem}.findings li .act.nope{border:0;background:none;color:#c2452d;font-size:15px;opacity:.8;display:inline-flex;align-items:center;justify-content:center}.findings li .act.nope:hover{opacity:1}.pending-actions{display:flex;gap:8px;margin-top:8px}.pending-actions button{flex:1 1 auto;padding:9px 12px;font-size:14px}.findings li .act.edit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.findings li .act.edit:hover{color:var(--accent)}.findings li .what .comment{display:block;margin-top:3px;padding-left:8px;border-left:2px solid var(--line);font-size:12.5px;color:var(--muted)}.findings li .act.comment{color:var(--muted);border:0;background:none;display:inline-flex;align-items:center;justify-content:center}.findings li .act.comment:hover{color:var(--accent)}.findings li .act.comment svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}@keyframes busySpin{to{transform:rotate(360deg)}}@keyframes busyGlow{0%,to{background-color:color-mix(in srgb,var(--accent) 6%,transparent)}50%{background-color:color-mix(in srgb,var(--accent) 20%,transparent)}}.findings li.busy,.findings.busy{animation:busyGlow .8s ease-in-out infinite;border-radius:8px}.findings li.busy .tick,.findings.busy header .tick{border-color:var(--accent);border-top-color:transparent;animation:busySpin .7s linear infinite}.findings li.busy .act,.findings.busy .act{pointer-events:none;opacity:.4}.findings li.busy .what{opacity:1}.findings header .act.plus{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;min-width:30px;min-height:26px;font-size:17px;line-height:1;padding:0 0 2px;cursor:pointer}.findings header .act.plus:hover{border-color:var(--accent);color:var(--accent)}.findings .editbox.newitem{border-color:var(--accent);margin:2px 0 6px}.findings li>.tick,.findings li>.act{flex:0 0 30px;width:30px;min-width:30px;height:30px;min-height:30px;margin:-4px 0 0}.findings li>.tick{margin-top:1px;width:18px;min-width:18px;height:18px;min-height:18px;flex-basis:18px}.findings li .act.placeholder{visibility:hidden;pointer-events:none}.findings li .act.nope{font-size:14px}.findings li>.what{margin-left:2px}.work .sound{cursor:pointer;padding:2px 6px;border-radius:6px;border:1px solid transparent}.work .sound:hover{border-color:var(--line)}.work{cursor:default}.findings li>.act{flex:0 0 30px;width:30px;height:26px;min-width:30px;min-height:26px;margin:0;padding:0;border:0;background:none;display:inline-flex;align-items:center;justify-content:center}.findings li>.tick{flex:0 0 18px;width:18px;height:18px;min-width:18px;min-height:18px;margin:4px 2px 0 0}.findings li>.what{margin-left:2px;padding-top:2px}.agentmenu,.agentmenu *{-webkit-user-select:none;user-select:none}.findings li .working{order:-2;flex:0 0 auto;align-self:flex-start;margin-top:1px;font-size:11.5px;font-weight:600;color:#fff;background:var(--accent);border-radius:999px;padding:2px 8px}.findings li .journey{display:block;margin-top:4px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.findings li .journey.waiting{color:var(--accent);font-weight:600}.update{position:sticky;top:0;z-index:30;width:100%;flex:none;padding:10px 12px;border:0;border-radius:10px;background:#d9a441;color:#1b1b1b;font-size:13.5px;font-weight:700;cursor:pointer;animation:busyGlow 2.4s ease-in-out infinite}.controls select#model{flex:0 1 auto;max-width:100%;min-height:34px;padding:4px 8px;border-radius:8px;font-size:12.5px;background:var(--panel);color:var(--muted);border:1px solid var(--line)}button#debug[data-on=true]{background:color-mix(in srgb,var(--warn) 18%,transparent);border-color:var(--warn);color:var(--warn)}button#dropnow[data-on=true],button#pauseall[data-on=true]{background:color-mix(in srgb,var(--err) 20%,transparent);border-color:var(--err);color:var(--err)}button#gps[data-on=true]{background:color-mix(in srgb,var(--ok) 18%,transparent);border-color:var(--ok);color:var(--ok)}.note.edge{border-left:3px solid var(--warn)}.note.edge .who{color:var(--warn)}.note.edge .player button.give{border-color:var(--warn);color:var(--warn);font-weight:600}.note.edge.playing{border-left-color:var(--warn)}.note.edge.settled{opacity:.55}.note.edge.settled .player button{opacity:.5}.hub.build{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;opacity:.75}.hub.build #build-id{cursor:pointer}.hub.build[data-stale=true]{opacity:1}.hub.build[data-stale=true] #build-id{color:var(--warn);font-weight:600}.seg{display:inline-flex;flex:0 0 auto;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.seg .chip{border:0;border-radius:0;margin:0;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--muted);background:transparent;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.seg .chip+.chip{border-left:1px solid var(--line)}.seg .chip:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 7%,transparent)}.seg .chip[data-on=true]{color:#fff;background:var(--accent)}.seg .chip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}button.tucked{display:none}.controls[data-more=true] button.tucked:not([hidden]){display:inline-flex}button#more[data-open=true]{border-color:var(--accent);color:var(--accent)}.spend{border:0;background:transparent;padding:0 2px;font:inherit;font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted);cursor:pointer}.spend:hover{color:var(--ink);text-decoration:underline}.spend[data-level=warm]{color:var(--warn)}.spend[data-level=hot]{color:var(--err);font-weight:600}.seg .chip .narrow{display:none}.seg{max-width:100%}@media(max-width:560px){.seg .chip .wide{display:none}.seg .chip .narrow{display:inline}.seg .chip{padding:7px 10px;font-size:12px}}.hub.costs{display:block;font-size:12px}.hub.costs table{width:100%;border-collapse:collapse}.hub.costs td{padding:3px 0;vertical-align:baseline}.hub.costs td.model{color:var(--fg);overflow-wrap:anywhere}.hub.costs td.usd{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:10px}.hub.costs td.model .detail{display:block;margin-top:2px;font-size:11px;opacity:.7;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hub.costs tr[data-top=true] td.usd{font-weight:600}.hub.costs td.model{position:relative}.hub.costs td.model .bar{display:block;height:2px;margin-top:2px;border-radius:2px;background:var(--warn);opacity:.55}.hub.costs .costs-foot{margin:6px 0 0;opacity:.75;line-height:1.35}.hub.costs tr[data-today=true] td{border-bottom:1px solid var(--line, rgba(128,128,128,.25));padding-bottom:6px}.hub.costs tr[data-today=true] td.model{color:var(--muted)}
