:root{--ground: #05070a;--raised: #101927;--sunk: #0c121c;--line: #1c2a3d;--ink: #e7edf6;--soft: #93a4bf;--faint: #57647c;--you: #5b9dff;--orb: #5fe3d3;--tool: #ff8a5b;--needs: #9b5cff;--rec: #ff2fb0;--fail: #ff5c5c;--strong: #2a3f5c;--orb-soft: #5fe3d31a;--orb-dim: #2a6d64;--hover: #131e2e;--card: 0 16px 48px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ground);color:var(--ink);font:15px/1.55 Urbanist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#app{height:100%;display:flex;flex-direction:column}button{font:inherit;color:inherit}[hidden]{display:none!important}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--orb);outline-offset:2px;border-radius:8px}body:before{content:"";position:fixed;top:-160px;left:50%;transform:translate(-50%);width:min(760px,150vw);height:320px;border-radius:50%;background:radial-gradient(circle,rgba(95,227,211,.1),transparent 68%);pointer-events:none;z-index:0}header.shell,main{position:relative;z-index:1}header.shell{display:flex;align-items:center;gap:12px;padding:16px 20px 14px;border-bottom:1px solid var(--line)}header.shell .lockup{width:auto;height:30px;flex:none}.lockup{display:block}header.shell .status{color:var(--faint);font-size:12.5px;white-space:nowrap}nav.tabs{margin-left:auto;display:flex;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:999px;padding:3px}nav.tabs a{color:var(--soft);text-decoration:none;font-size:13.5px;font-weight:500;padding:5px 14px;border-radius:999px;transition:color .12s,background .12s}nav.tabs a:hover{color:var(--ink);background:var(--hover)}nav.tabs a.active{color:var(--ground);background:var(--orb);font-weight:600}main{flex:1;min-height:0;overflow:auto}section.screen{padding:24px 28px;max-width:920px}h1{font-size:21px;font-weight:600;margin:0 0 8px}p{color:var(--soft);margin:0 0 16px}.card{background:var(--raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--card);padding:20px}div.signin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px}div.signin .lockup{width:min(260px,70vw);height:auto}div.signin p{max-width:380px;text-align:center}button.primary{background:var(--orb);color:var(--ground);border:none;border-radius:9px;font-weight:600;padding:10px 18px;cursor:pointer}button.primary:hover{background:#7ae9db}span.seg{display:flex;gap:2px;background:var(--sunk);border:1px solid var(--line);border-radius:999px;padding:3px}span.seg button{background:none;border:none;color:var(--soft);font-size:12.5px;padding:3px 10px;border-radius:999px;cursor:pointer}span.seg button.picked{color:var(--ground);background:var(--orb);font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}section.live{display:flex;flex-direction:column;gap:18px}section.live h2.sub{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin:6px 0 -4px}.gate{border-color:var(--needs);display:flex;flex-direction:column;gap:12px}.gate h2{margin:0;font-size:15px;font-weight:600;color:#b79cff;display:flex;align-items:center;gap:8px}.gate h2:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--needs);box-shadow:0 0 0 3px #9b5cff2e}.gate .gate-line{margin:0;color:var(--soft);font-size:13.5px}.gate .gate-send{display:flex;flex-direction:column;gap:8px}.gate .to{color:var(--soft);font-size:13px}.gate .subject{color:var(--ink);font-weight:600;font-size:14px}.gate pre{margin:0;padding:10px 12px;border-radius:10px;background:var(--sunk);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px/1.5 ui-monospace,JetBrains Mono,monospace;color:var(--ink);max-height:18em;overflow:auto}.gate .row{display:flex;gap:10px;align-items:center}.gate .until{color:var(--faint);font-size:12.5px}.gate .err{margin:0;color:var(--fail);font-size:13.5px}.gate .hint{margin:0;color:var(--faint);font-size:12px}.now{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--orb);min-height:20px}.now:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orb);animation:nowpulse 2s ease-in-out infinite}.now.idle{color:var(--faint)}.now.idle:before{background:var(--line);animation:none}@keyframes nowpulse{0%,to{box-shadow:0 0 0 3px #5fe3d324}50%{box-shadow:0 0 0 5px #5fe3d30d}}.workers{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.worker{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.worker h3{margin:0;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.worker .name{overflow-wrap:anywhere}.stateword{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--soft);white-space:nowrap}.stateword.working{color:var(--orb);border-color:var(--orb-dim)}.stateword.needs-you{color:#b79cff;border-color:#5a3d8f}.stateword.failed{color:var(--fail);border-color:#6b2b2b}.stateword.done{color:var(--orb);border-color:var(--orb-dim)}.worker .goal{color:var(--ink);font-size:13.5px;overflow-wrap:anywhere}.worker .last{color:var(--faint);font-size:12.5px;font-style:italic;overflow-wrap:anywhere}.worker .need{color:#b79cff;font-size:12.5px;overflow-wrap:anywhere}.worker .meta{color:var(--faint);font-size:12px;display:flex;gap:12px;flex-wrap:wrap}.worker .meta a{color:var(--orb);text-decoration:none;overflow-wrap:anywhere}.worker .meta a:hover{text-decoration:underline;text-underline-offset:.2em}.conv{display:flex;flex-direction:column;gap:16px}.turn{position:relative;margin-left:6px;padding-left:18px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.turn .when{color:var(--faint);font-size:11.5px;font-variant-numeric:tabular-nums}.said{font-size:17px;line-height:1.45;color:#f3f6fb;overflow-wrap:anywhere}.reply{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap}.needs-ev{color:#b79cff;overflow-wrap:anywhere}.needs-ev .evlabel{color:var(--faint)}.failed-line{color:var(--fail);overflow-wrap:anywhere}.taskline{color:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}.noteline{color:var(--faint);font-size:13.5px;overflow-wrap:anywhere}.typed .evlabel{color:var(--faint);font-size:12px}.typed pre,details.toolev pre{margin:0;padding:8px 10px;border-radius:8px;background:var(--sunk);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 ui-monospace,JetBrains Mono,monospace;color:var(--soft);max-height:14em;overflow:auto}details.toolev summary{cursor:pointer;color:var(--tool);font-size:13px;font-weight:500;list-style:none}details.toolev summary:before{content:"▸ ";color:var(--faint)}details.toolev[open] summary:before{content:"▾ "}details.toolev .errword{color:var(--fail)}section.talk{display:flex;flex-direction:column;gap:16px;max-width:640px}button.mic-talk{font-size:16px;font-weight:600;padding:14px 22px;border-radius:14px;border:1px solid var(--line);background:var(--raised);cursor:pointer;transition:border-color .12s,background .12s}button.mic-talk:hover{background:var(--hover)}button.mic-talk.live{border-color:var(--orb-dim);color:var(--orb)}button.mic-talk.speech{border-color:var(--orb);box-shadow:0 0 0 3px #5fe3d31f}.talk-lines{display:flex;flex-direction:column;gap:10px;min-height:120px}.talk-lines .said{font-size:17px;line-height:1.5;color:#f3f6fb;overflow-wrap:anywhere;white-space:pre-wrap}.talk-lines .note{color:var(--orb);font-size:12.5px}.talk-lines .err{color:var(--fail);font-size:13.5px;overflow-wrap:anywhere}section.talk .hint{color:var(--faint);font-size:12px;margin:0}h1{font-size:clamp(24px,4vw,32px);letter-spacing:-.01em;margin:0 0 22px}section.screen{padding:34px 38px;margin:0 auto}.card{border-radius:16px}header.shell{padding:18px 24px 16px}nav.tabs a{letter-spacing:.01em}.card,.worker,.stateword,button,nav.tabs a{transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}button:hover:not(:disabled):not(.mic-talk){transform:translateY(-1px)}.worker:hover{border-color:var(--orb-dim)}section.talk{display:flex;flex-direction:column;align-items:center;text-align:center}.orb-stage{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.orb-face{cursor:pointer;display:block}.orb-word{color:var(--soft);font-size:14px;margin:0;min-height:21px}section.talk .hint{color:var(--faint);font-size:12px;margin:6px 0 0}
