:root{--bg:#efeae0;--card:#ffffff;--ink:#2a2540;--muted:#6e6884;--line:#e4def0;--accent:#6f58ff;--accent-ink:#ffffff;--wait:#ffc93c;--wait-ink:#5a3f00;--wait-soft:#fff3cc;--block:#ef5a43;--block-soft:#ffe1db;--ok:#2f9e6a;--ok-soft:#dcf3e6;--run:#3d7bd9;--run-soft:#e0ebfb;--p2:#f28c28;--rest:#a19cb3;--shadow:0 10px 30px #2a254022,0 2px 6px #2a254018;--f-display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--f-text:"Figtree","Segoe UI",system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17151f;--card:#24212f;--ink:#f1eefa;--muted:#a9a3c0;--line:#383349;--accent:#9a8aff;--accent-ink:#17151f;--wait-soft:#4a3b12;--wait-ink:#ffe8a3;--block-soft:#4d231d;--ok-soft:#183b2b;--run-soft:#1d2d47;--shadow:0 10px 30px #00000066,0 2px 6px #00000055;color-scheme:dark}}:root[data-theme=dark]{--bg:#17151f;--card:#24212f;--ink:#f1eefa;--muted:#a9a3c0;--line:#383349;--accent:#9a8aff;--accent-ink:#17151f;--wait-soft:#4a3b12;--wait-ink:#ffe8a3;--block-soft:#4d231d;--ok-soft:#183b2b;--run-soft:#1d2d47;--shadow:0 10px 30px #00000066,0 2px 6px #00000055;color-scheme:dark}[hidden]{display:none!important}body,html{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-text);font-size:15px;line-height:1.4;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:12px;box-sizing:border-box}button,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{position:relative;height:100%;min-height:520px;border-radius:18px;overflow:hidden;background:#cfe3a6;box-shadow:var(--shadow)}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:-webkit-grab;cursor:grab}#scene:active{cursor:-webkit-grabbing;cursor:grabbing}.labels{inset:0;pointer-events:none;overflow:hidden}.labels,.lbl{position:absolute}.lbl{left:0;top:0;transform:translate(-50%,-100%);display:flex;align-items:center;gap:6px;pointer-events:auto;cursor:pointer;background:var(--card);color:var(--ink);border-radius:999px;padding:3px 10px 3px 4px;font-weight:600;font-size:13px;white-space:nowrap;box-shadow:0 3px 10px #2a254026;border:0}.lbl.nobadge{padding-left:10px}.lbl .b{min-width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--wait);color:#3a2800;padding:0 5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lbl .b.red{background:var(--block);color:#fff}.lbl .b.run{background:var(--run-soft);color:var(--run)}.lbl .b.rk{background:var(--ink);color:var(--card)}.q .who{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.q .rk{min-width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--card);display:grid;place-items:center;font-size:12px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.q .pr{font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px;background:var(--card);color:var(--ink)}.q .pr.block{background:var(--block);color:#fff}.q .pr.calm{color:var(--muted)}.chip.first{background:var(--ink);color:var(--card)}.lbl.agent{padding:3px 10px 3px 3px;font-weight:600}.lbl.agent .dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700}.lbl.agent small{font-weight:500;color:var(--muted);font-size:12px}.lbl.agent.ask{background:var(--wait);color:#3a2800}.lbl.agent.ask small{color:#5a3f00}.lbl.agent.block{background:var(--block);color:#fff}.lbl.agent.block small{color:#ffe1db}.alb{position:absolute;left:0;top:0;display:flex;align-items:center;gap:5px;border:0;padding:2px 8px 2px 2px;border-radius:999px;background:#ffffffe6;color:#2a2540;box-shadow:0 2px 6px #00000030;pointer-events:auto;white-space:nowrap;font-size:11.5px;line-height:1.15}.alb.idle{padding-left:8px;background:#ffffffb8}.alb .num{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.alb .who2{display:flex;align-items:baseline;gap:4px}.alb b{font-weight:700}.alb small{font-size:10.5px;color:#6e6884}.alb:hover{background:#fff}.lbl.focus{outline:3px solid var(--accent);outline-offset:1px}.lbl .go{background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:1px 8px;font-size:12px;margin-left:2px}.pin{position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;border:3px solid #fff;color:#fff;font-weight:800;font-size:15px;display:grid;place-items:center;pointer-events:auto;box-shadow:0 3px 10px #2a254040;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;padding:0}.pin.idle{width:16px;height:16px;border-width:2px;opacity:.85}.pin:hover{filter:brightness(1.08)}.panel.chatmode{grid-template-rows:auto 1fr auto}.chathead{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px}.chathead .big{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--f-display);font-weight:800;font-size:20px}.chat{gap:8px}.msg{max-width:86%;padding:9px 13px;border-radius:16px;font-size:14.5px;line-height:1.4;display:grid;grid-gap:5px;gap:5px}.msg.agent{background:var(--line);border-bottom-left-radius:4px;justify-self:start}.msg.me{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:4px;justify-self:end;font-weight:600}.msg.sys{justify-self:center;color:var(--block);font-size:13px;background:var(--block-soft)}.msg .mtag{justify-self:start;font-size:11px;font-weight:700;border-radius:99px;padding:1px 8px;background:var(--card);color:var(--ink)}.msg .mmeta{color:var(--muted);font-size:13px;white-space:pre-line}.msg .gobtn{justify-self:start;border:0;border-radius:99px;background:var(--ink);color:var(--card);font-weight:700;font-size:13px;padding:5px 12px}.replies{border-top:1px solid var(--line);padding:12px 18px 14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.replies a,.replies button{border:0;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;background:var(--line);color:var(--ink);text-decoration:none}.replies button.reco{background:var(--accent);color:var(--accent-ink)}.replies button:disabled{opacity:.5}.replies .lnk{background:none;color:var(--accent);padding-inline:4px}.ask{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.replies .sugq{background:none;border:1px solid var(--line);padding:5px 11px;font-size:12.5px;font-weight:600;color:var(--muted)}.replies .sugq:hover{color:var(--ink);border-color:var(--muted)}.askf{flex:1 1 100%;display:flex;gap:6px}.askf input{flex:1 1;min-width:0;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 14px;font:inherit;font-size:14px}.askf button{flex:none}.msg a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}.msg .keep{justify-self:start;border:0;background:none;color:var(--accent);font-weight:700;font-size:12.5px;padding:0;text-decoration:underline}.replies textarea{flex:1 1 100%;min-height:64px;border-radius:12px;border:1px solid var(--line);background:var(--card);padding:8px 10px;resize:vertical}.fade{position:absolute;inset:0;background:#1b1724;opacity:0;pointer-events:none;transition:opacity .22s;z-index:6}.fade.on{opacity:1}.enter{padding:9px 16px;justify-self:start;font-size:14px}.back,.enter{border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700}.back{padding:5px 12px;font-size:13px}.lbl.done{opacity:.8;font-weight:500}.lbl.hide-name .n{display:none}.lbl.hide-name{padding:3px}.dist{left:0;top:0;transform:translate(-50%,-50%);font-family:var(--f-display);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#2a254099;pointer-events:none;white-space:nowrap}.dist,.summary{position:absolute}.summary{left:14px;top:14px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:12px 16px 14px;display:grid;grid-gap:6px;gap:6px;max-width:min(430px,calc(100% - 28px));z-index:3}.summary h1{font-family:var(--f-display);font-weight:800;font-size:24px;line-height:1;margin:0;letter-spacing:-.01em}.summary .sub{color:var(--muted);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:0;border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip.wait{background:var(--wait-soft);color:var(--wait-ink)}.chip.block{background:var(--block-soft);color:var(--block)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.calm{background:var(--line);color:var(--muted);cursor:default}.chip:not(.calm):hover{filter:brightness(.96)}.tools{position:absolute;right:14px;top:14px;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;z-index:3;max-width:calc(100% - 28px)}.tb{background:var(--card);border:0;border-radius:999px;box-shadow:var(--shadow);padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px}.tb.primary{background:var(--accent);color:var(--accent-ink)}.tb .sw{width:26px;height:15px;border-radius:99px;background:var(--line);position:relative;transition:background .15s}.tb .sw:after{content:"";position:absolute;top:2px;left:2px;width:11px;height:11px;border-radius:50%;background:var(--card);transition:transform .15s;box-shadow:0 1px 2px #0003}.tb[aria-pressed=true] .sw{background:var(--ok)}.tb[aria-pressed=true] .sw:after{transform:translateX(11px)}.tb kbd{font-family:var(--f-text);font-size:11px;opacity:.7;border:1px solid;border-radius:4px;padding:0 4px}.fresh{border-radius:999px;padding:7px 12px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fresh,.zoom{background:var(--card);box-shadow:var(--shadow)}.zoom{position:absolute;right:14px;bottom:14px;display:grid;grid-gap:4px;gap:4px;border-radius:14px;padding:4px;z-index:3}.zoom button{width:34px;height:34px;border:0;background:none;border-radius:10px;font-size:18px;font-weight:600}.zoom button:hover{background:var(--line)}.hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:var(--card);color:var(--muted);border-radius:999px;box-shadow:var(--shadow);padding:6px 14px;font-size:12px;white-space:nowrap;z-index:2}@media (max-width:720px){.hint{display:none}}.panel{position:absolute;top:14px;right:14px;bottom:14px;width:min(400px,calc(100% - 28px));background:var(--card);border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr;z-index:5;overflow:hidden}.panel header{padding:16px 18px 12px;border-bottom:1px solid var(--line);display:grid;grid-gap:6px;gap:6px;position:relative}.panel .close{position:absolute;right:12px;top:12px;width:32px;height:32px;border-radius:50%;border:0;background:var(--line);font-size:16px}.panel .kind{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.panel h2{font-family:var(--f-display);font-weight:800;font-size:22px;margin:0;padding-right:40px;line-height:1.1;text-wrap:balance}.panel .meta{color:var(--muted);font-size:13px}.scroll{overflow:auto;padding:14px 18px 18px;display:grid;grid-gap:18px;gap:18px;align-content:start}.sec{display:grid;grid-gap:8px;gap:8px}.sec h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.prog{display:grid;grid-gap:6px;gap:6px}.bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden;display:flex}.bar i{display:block;height:100%}.prog .txt{font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fl{display:grid;grid-gap:4px;gap:4px}.fl a,.fl div{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;color:inherit;text-decoration:none;padding:5px 0;border-bottom:1px dashed var(--line)}.fl a:hover .fn{text-decoration:underline}.fn{min-width:0;overflow-wrap:anywhere}.pill{flex:none;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.wait{background:var(--wait-soft);color:var(--wait-ink)}.pill.block{background:var(--block-soft);color:var(--block)}.pill.run{background:var(--run-soft);color:var(--run)}.pill.calm{background:var(--line);color:var(--muted)}.team{grid-gap:8px;gap:8px}.mb,.team{display:grid}.mb{grid-template-columns:30px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center}.av{width:30px;height:30px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;position:relative}.av,.av.q:after{border-radius:50%}.av.q:after{content:"";position:absolute;right:-2px;top:-2px;width:10px;height:10px;background:var(--wait);border:2px solid var(--card)}.mb b{font-weight:600}.mb span{display:block;font-size:13px;color:var(--muted)}.q{border-radius:14px;padding:12px 14px;display:grid;grid-gap:8px;gap:8px;background:var(--wait-soft)}.q.block{background:var(--block-soft)}.q .who{font-size:12px;font-weight:700;color:var(--muted)}.q .say{font-size:15px;font-weight:600;line-height:1.35}.q .why{font-size:13px;color:var(--muted);white-space:pre-line}.acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.acts a,.acts button{border:0;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600;background:var(--card);color:var(--ink);text-decoration:none;box-shadow:0 1px 3px #2a25401f}.acts button.reco{background:var(--accent);color:var(--accent-ink)}.acts button:disabled{opacity:.5;cursor:default}.acts .go{background:none;box-shadow:none;color:var(--accent);padding-inline:4px}.q textarea{width:100%;box-sizing:border-box;min-height:64px;border-radius:10px;border:1px solid var(--line);background:var(--card);padding:8px 10px;resize:vertical}.done{font-size:14px;font-weight:600;color:var(--ok)}.err{font-size:13px;color:var(--block)}.empty{color:var(--muted);font-size:14px;margin:0}.group{display:grid;grid-gap:8px;gap:8px}.group>b{font-family:var(--f-display);font-weight:700;font-size:16px}.nogl{position:absolute;inset:0;display:grid;place-content:center;grid-gap:10px;gap:10px;padding:24px;text-align:center;background:var(--bg)}@media (max-width:720px){.summary h1{font-size:20px}.summary{right:14px;max-width:none}.tools{top:auto;bottom:14px;left:14px;right:70px;justify-content:flex-start}.fresh,.tools .tb .lab{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.login{min-height:100%;display:grid;place-items:center}.login form{background:var(--card);border-radius:18px;box-shadow:var(--shadow);padding:28px;display:grid;grid-gap:10px;gap:10px;width:min(340px,100%)}.login h1{font-family:var(--f-display);font-weight:800;font-size:26px;margin:0 0 6px}.login label{font-size:13px;font-weight:600;color:var(--muted)}.login input{border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 12px;font:inherit}.login button{border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:10px 16px;margin-top:6px}.login .err{color:var(--block);font-size:13px;margin:0}.live{width:9px;height:9px;border-radius:50%;background:#2fd67a;box-shadow:0 0 0 0 #2fd67a99;animation:breathe 1.6s ease-out infinite;flex:none}.lbl .live{margin-left:2px}.alb.busy{background:#eafff2e6}.alb.busy small{color:#1d8a4f;font-weight:600}.alb .live{margin-left:4px}@keyframes breathe{0%{box-shadow:0 0 0 0 #2fd67a99}80%{box-shadow:0 0 0 7px #2fd67a00}to{box-shadow:0 0 0 0 #2fd67a00}}@media (prefers-reduced-motion:reduce){.live{animation:none}}.msg .mlinks{display:flex;flex-wrap:wrap;gap:6px}.msg .mlinks a{background:var(--card);color:var(--ink);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;text-decoration:none}.msg .mlinks a:hover{background:var(--accent);color:var(--accent-ink)}.msg .cmd{display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--card);border-radius:12px;padding:6px 6px 6px 12px}.msg .cmd code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;font-weight:700;flex:1 1 auto;min-width:0;overflow-wrap:anywhere;-webkit-user-select:all;-moz-user-select:all;user-select:all}.msg .cmd button{border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink);padding:5px 12px}.msg .cmd a,.msg .cmd button{font-weight:700;font-size:12.5px}.msg .cmd a{color:var(--accent);text-decoration:none;padding:0 6px}.msg .gobtn.soft{background:var(--card);color:var(--ink)}.state{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.35}.state b{display:block;font-size:13.5px}.state .sdot{width:10px;height:10px;border-radius:50%;margin-top:4px}.state.st-live{background:#e2f8ea;color:#16583a}.state.st-live .sdot{background:#2fd67a;animation:breathe 1.6s ease-out infinite}.state.st-wait{background:var(--wait-soft);color:var(--wait-ink)}.state.st-wait .sdot{background:var(--wait)}.state.st-stop{background:var(--line);color:var(--ink)}.state.st-stop .sdot{background:var(--rest)}.state.st-ok{background:var(--ok-soft);color:var(--ok)}.state.st-ok .sdot{background:var(--ok)}.state .scmd{margin-top:6px;border:0;border-radius:999px;background:var(--ink);color:var(--card);font-family:ui-monospace,Menlo,monospace;font-weight:700;font-size:12px;padding:4px 10px}.nowcard{border-radius:14px;background:var(--line);padding:12px 14px;display:grid;grid-gap:6px;gap:6px}.nowt{display:flex;justify-content:space-between;gap:8px;align-items:center}.nowt b{font-size:15px}.nows{font-size:13px;color:var(--muted)}.nowcard .mlinks{display:flex;flex-wrap:wrap;gap:6px}.nowcard .mlinks a{background:var(--card);color:var(--ink);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;text-decoration:none}@media (prefers-reduced-motion:reduce){.state.st-live .sdot{animation:none}}@media (max-width:720px){.summary .state{font-size:12px}}.acts button.enter{padding:9px 16px;font-size:14px}.acts button.enter,.lbl.add{background:var(--accent);color:var(--accent-ink)}.lbl.add{padding:5px 12px;border:2px dashed #ffffffaa}.newp{grid-gap:12px;gap:12px}.fld,.newp{display:grid}.fld{grid-gap:5px;gap:5px}.fld span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fld input,.fld select{border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px 12px;font:inherit;font-size:14px}.fld small{font-size:12px;color:var(--muted)}.newp .enter{justify-self:start}.msg .steps{margin:0;padding-left:20px;display:grid;grid-gap:6px;gap:6px;font-size:14px}.msg .steps a{font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap}