:root{font:16px/1.55 system-ui,sans-serif;color:#e9f2ff;background:radial-gradient(1200px 500px at 10% -10%,rgba(100,229,216,.16),transparent 55%),#0b1324;color-scheme:dark;--line: #293852;--muted: #a7b9d0;--aqua: #64e5d8;--role: var(--aqua)}*{box-sizing:border-box}body{margin:0}.top,main{max-width:1440px;margin:auto;padding:0 clamp(16px,4vw,55px)}.top{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.top strong{margin-right:16px}.top span,.hero p:first-child,.section-head small,.hint{font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.top .pill{border:1px solid #28756e;border-radius:999px;color:var(--aqua);padding:4px 12px;white-space:nowrap}.hero{padding:24px 0 20px}.hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;margin:8px 0}.hero p{margin:0;color:var(--muted)}.hero p:first-child{color:var(--aqua)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.9fr);gap:16px;align-items:start}.side{display:grid;gap:16px}.panel{border:1px solid var(--line);border-radius:16px;background:#131f33f0;overflow:hidden}.chat{border-color:color-mix(in srgb,var(--role) 65%,var(--line))}.section-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:14px 18px;border-bottom:1px solid var(--line)}h2{margin:0;font-size:1.12rem;flex:1 0 auto}.section-head small{text-align:right;flex:1 1 12rem;min-width:0}#office{position:relative;height:clamp(420px,58vh,680px);background:#10233d}#office canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#office canvas:active{cursor:grabbing}#scene-loading,#scene-fallback{position:absolute;inset:0;z-index:2;display:grid;place-items:center;margin:0;padding:24px;text-align:center;background:#10233d}#scene-loading[hidden],#scene-fallback[hidden]{display:none}#office[data-state=error] canvas{visibility:hidden}.stations,.camera,#exports{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px}.camera{border-top:1px solid var(--line);align-items:center}.camera select,.camera button{width:auto}.stations button[aria-pressed=true]{border-color:var(--aqua);color:var(--aqua);box-shadow:inset 0 0 0 1px var(--aqua)}button,select,input,textarea{font:inherit;color:inherit;border:1px solid #41536e;border-radius:8px;background:#0d192b;padding:7px 10px}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:hover:not(:disabled){border-color:var(--aqua)}:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}form{display:grid;gap:10px;padding:16px 18px}form label{display:grid;gap:4px;font-size:.88rem;color:var(--muted)}form input,form select,form textarea{width:100%;color:#e9f2ff}.primary{background:var(--aqua);color:#082a32;font-weight:750;margin-top:5px}.hint{padding:0 18px 12px}#chat-role{margin:12px 18px 0;font-weight:700}#budget-meters,#budget-result,#owner-state{margin:8px 18px 0;color:var(--muted)}#budget-approve,#owner-logout,#owner-task,#worker-check{margin:12px 18px 0}#budget-panel label{display:grid;gap:4px;margin:12px 18px 0;color:var(--muted);font-size:.88rem}#budget-panel label input{width:100%}#worker-state{margin:8px 18px 16px}#worker-state[data-state=pending]{color:#ffd27a}#worker-state[data-state=error]{color:#ffb4c4}#worker-state[data-state=ok]{color:#d7fff6}#owner-login{padding-bottom:4px}#budget-panel #budget-result{margin-bottom:16px}.notice,.demo-note{margin:12px 16px 0;padding:10px 12px;border:1px solid #8a6a32;border-radius:10px;background:#2a2114;color:#ffe3ad}.notice[data-state=ready]{border-color:#28756e;background:#102824;color:#d7fff6}.chat-log,#chat-log{max-height:min(320px,42vh);overflow:auto;display:flex;flex-direction:column;gap:8px;margin:12px 16px 0;padding-right:2px}.bubble{border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#0e1b31;max-width:100%}.bubble p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{align-self:flex-end;width:fit-content;max-width:92%;background:#123044}.bubble.demo{border-color:#a9843d;background:#2a2114}.bubble.live{border-color:#28756e;background:#102824}.bubble.error{border-color:#8a4458;background:#2a1520}.bubble.system{color:var(--muted)}.badge{display:inline-block;margin-bottom:4px;font-size:.72rem;letter-spacing:.06em;color:#ffd27a}.bubble.live .badge{color:var(--aqua)}.bubble.error .badge,.bubble.pending .badge{color:#ffb4c4}#chat-status{min-height:1.2em;margin:0 18px 14px;color:var(--muted)}.task p,.task ol{margin:0 18px 12px}#status{overflow-wrap:anywhere}#results details.draft{border-color:#a9843d}#progress{padding-left:22px;color:var(--muted)}#progress li[data-state=active],#progress li[data-state=partial]{color:#ffd085}#progress li[data-state=done]{color:var(--aqua)}#progress li[data-state=failed]{color:#ffb4c4}.results{margin:16px 0 35px}#results{padding:0 16px 16px}.muted{color:var(--muted)}details{border:1px solid var(--line);border-radius:8px;margin:9px 0;padding:10px 12px}summary{cursor:pointer}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;margin-bottom:0}.results .demo-note{margin:12px 0}noscript .demo-note{margin:16px}@media(min-width:801px){.grid>.panel{position:sticky;top:12px}}@media(max-width:800px){.grid{grid-template-columns:1fr}.top div span{display:none}.section-head{align-items:flex-start}.section-head small{text-align:left;letter-spacing:.02em}#office{height:min(70vw,520px);min-height:300px}.camera{display:grid;grid-template-columns:1fr 1fr}.camera label,.camera select,#record,#record-status{grid-column:1 / -1}}
