:root,html[data-theme=day]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0c1833;--ink-strong:#0b1220;--ink-soft:#0f172ab8;--ink-faint:#475569b8;--muted:#475569d9;--fog:#e2e8f0;--paper:#f8fafc;--stage:#f1f5f9;--stage-2:#e8edf2;--well:#0a0f14;--line:#64748b59;--line-soft:#94a3b859;--surface:#ffffff8c;--surface-2:#f8fafcb8;--surface-3:#ffffff9e;--panel:#fcfcfde0;--panel-rail:#f1f5f9e6;--composer:#0f172a0a;--accent:#334155;--accent-ink:#f8fafc;--accent-soft:#3341551a;--good:#059669;--danger:#b91c1c;--live:#34d399;--caption-shadow:0 1px 10px #0000008c;--flow-blend:normal;--sw-accent:#475569;--rim:#94a3b866;--body-a:#ffffffb8;--body-b:#cbd5e159;--body-c:#f8fafc;--body-d:#f1f5f9;--body-e:#e2e8f0;color:var(--ink);background:var(--stage);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Roboto,system-ui,-apple-system,sans-serif;line-height:1.45}html[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e2e8f0;--ink-strong:#f8fafc;--ink-soft:#e2e8f0b8;--ink-faint:#94a3b8bf;--muted:#94a3b8e6;--fog:#334155;--paper:#0f172a;--stage:#0b1220;--stage-2:#111827;--well:#070b10;--line:#94a3b847;--line-soft:#94a3b829;--surface:#ffffff0f;--surface-2:#ffffff0a;--surface-3:#ffffff14;--panel:#0f172ac7;--panel-rail:#0f172a9e;--composer:#00000047;--accent:#94a3b8;--accent-ink:#0b1220;--accent-soft:#94a3b824;--good:#34d399;--danger:#f87171;--live:#34d399;--caption-shadow:0 1px 10px #000000a6;--flow-blend:normal;--sw-accent:#94a3b8;--rim:#4755698c;--body-a:#33415573;--body-b:#1e293b8c;--body-c:#0b1220;--body-d:#0a0f14;--body-e:#111827}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:radial-gradient(ellipse 110% 65% at 40% -15%, var(--body-a) 0%, transparent 52%), linear-gradient(168deg, var(--body-c) 0%, var(--body-d) 38%, var(--body-e) 100%);color:var(--ink)}button,input,textarea{font:inherit}.shell{isolation:isolate;grid-template-rows:auto 1fr auto;gap:0;height:100%;min-height:100%;display:grid;position:relative}.shell-mist{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.shell>:not(.shell-mist):not(.chat-stream){z-index:1;position:relative}.mist{filter:blur(72px);opacity:.55;border-radius:50%;position:absolute}.mist-a{background:color-mix(in oklab, var(--fog) 55%, transparent);width:62%;height:48%;animation:48s ease-in-out infinite mist-drift;top:5%;left:-18%}.mist-b{background:#cbd5e166;background:lab(84.7676% -1.76969 -7.1646/.4);width:48%;height:42%;animation:36s ease-in-out -12s infinite reverse mist-drift;top:18%;right:-14%}.mist-c{background:#e2e8f080;background:lab(91.7085% -.971079 -4.63063/.5);width:70%;height:36%;animation:42s ease-in-out -20s infinite mist-drift;bottom:-8%;left:12%}html[data-theme=night] .mist-a{background:#33415559}html[data-theme=night] .mist-b{background:#1e293b66}html[data-theme=night] .mist-c{background:#0f172a80}@keyframes mist-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(4%,-3%)scale(1.04)}}.topbar{color:var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:16px 56px 12px 20px;display:flex;position:relative}.theme-switch{z-index:5;align-items:center;gap:3px;display:inline-flex;position:absolute;top:18px;right:18px}.theme-switch .sw{cursor:pointer;border:1.5px solid #0000;border-radius:2px;width:12px;height:12px;padding:0;line-height:0;display:block}.theme-switch .sw.day{background:#f1f5f9;box-shadow:inset 0 0 0 1px #94a3b8}.theme-switch .sw.night{background:#0a0f14;box-shadow:inset 0 0 0 1px #64748b}.theme-switch .sw.on{border-color:var(--sw-accent)}.brand-block{flex-direction:column;gap:3px;min-width:0;display:flex}.brand{letter-spacing:.06em;color:var(--ink);font-family:Roboto,system-ui,sans-serif;font-size:1.05rem;font-weight:300;line-height:1.1}.brand-sub{letter-spacing:.02em;color:var(--ink-faint);flex-wrap:wrap;align-items:baseline;gap:6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;display:flex}.room-name{text-transform:lowercase;color:var(--ink-soft)}.sep{opacity:.45}.topbar-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mini-check{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface-3);border:1px solid var(--line-soft);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:500;display:inline-flex}.mini-check.loading{border-color:color-mix(in oklab, var(--live) 45%, transparent)}.obj-row{flex-wrap:wrap;gap:5px;display:flex}.chip{appearance:none;border:1px solid var(--line-soft);background:var(--surface-2);color:var(--ink-soft);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:4px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:500}.chip.on{background:color-mix(in oklab, var(--accent) 88%, white);color:var(--accent-ink);border-color:#0000}.chip.stale{opacity:.5}.participant .tile-detect{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.participant .tile-detect .detect-box{fill:#34d3990f;stroke:#94a3b8d9;stroke-width:1.2px;pointer-events:auto;cursor:pointer}.participant .tile-detect .detect-box.locked{fill:#34d3991f;stroke:#34d399f2;stroke-width:1.8px}.participant .tile-detect .detect-box.stale{stroke-dasharray:4 3;opacity:.65}.participant .tile-detect .detect-label{fill:#f8fafceb;pointer-events:auto;cursor:pointer;paint-order:stroke;stroke:#0a0f14b3;stroke-width:2.5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:8px;font-weight:500}.participant .tile-detect .detect-label.locked{fill:#6ee7b7}.main{grid-template-columns:1fr;gap:0;min-height:0;padding:0 10px 4px;display:grid}.stage{background:0 0;border:none;border-radius:0;gap:8px;height:100%;min-height:0;padding:4px 2px;display:grid;overflow:hidden}.stage.grid-1{grid-template-rows:1fr;grid-template-columns:1fr;place-items:stretch stretch}.stage.grid-1 .participant{width:min(100%,1100px);height:100%;margin-inline:auto}.stage.grid-2{grid-template-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}.stage.grid-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(240px,1fr)}.stage.grid-many{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-auto-rows:minmax(180px,1fr);overflow:auto}.lobby{text-align:left;max-width:34rem;color:var(--ink);grid-column:1/-1;margin:auto;padding:32px 20px;animation:.52s both rise}.lobby h1{letter-spacing:.06em;margin:0 0 10px;font-family:Roboto,system-ui,sans-serif;font-size:clamp(1.55rem,3.6vw,2rem);font-weight:300;line-height:1.1}.lobby-kicker{letter-spacing:.02em;color:var(--ink-faint)!important;margin:0 0 10px!important;font-family:IBM Plex Mono,ui-monospace,monospace!important;font-size:11px!important}.lobby-kicker span{color:color-mix(in oklab, var(--ink-faint) 55%, transparent)}.lobby p{color:var(--ink-soft);max-width:32rem;margin:0 0 14px;font-size:14px;line-height:1.55}.lobby-alt{color:var(--ink-faint)!important;font-family:IBM Plex Mono,ui-monospace,monospace!important;font-size:11px!important}.lobby-alt em{color:var(--ink-soft);font-style:normal}.lobby-alt code{font-size:.95em}.lobby-room{letter-spacing:.06em;text-transform:lowercase;color:var(--ink-faint);flex-direction:column;gap:6px;margin:0 0 16px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;display:flex}.lobby-room input{appearance:none;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-strong);letter-spacing:.02em;text-transform:lowercase;border-radius:8px;padding:10px 12px;font-size:13px}.lobby-auth{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.lobby-auth .btn.large{margin-top:0}.lobby-auth.is-loading .btn{opacity:.45;pointer-events:none}.auth-loading{letter-spacing:.02em;width:100%;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;display:inline-flex}.auth-spinner{border:2px solid color-mix(in oklab, var(--ink) 18%, transparent);border-top-color:var(--ink-strong);border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.auth-spinner{border-top-color:color-mix(in oklab, var(--ink) 18%, transparent);border-right-color:var(--ink-strong);animation:none}}button.linkish{appearance:none;color:var(--ink-soft);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.btn{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink-strong);letter-spacing:.04em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:8px 12px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn.primary:hover{filter:brightness(1.06)}.btn.large{border-radius:8px;margin-top:8px;padding:12px 16px;font-size:12px}.btn.compact{background:var(--ink);color:var(--stage);border:none;border-radius:8px;padding:7px 10px;font-size:11px}.participant{background:0 0;border:none;border-radius:10px;flex-direction:column;min-width:0;min-height:0;padding:2px;animation:.48s both rise;display:flex;position:relative;overflow:visible}.participant.hero{animation-delay:40ms}.participant.peer{animation-delay:90ms}.participant.speaking .name{color:#a7f3d0}.participant.speaking .badge.floor{color:var(--live)}.participant.queued .badge.wait{color:#94a3b8}.participant-caption .badge.floor,.participant-caption .badge.wait,.participant-caption .badge.you,.participant.speaking .badge.floor{color:var(--live)}.participant.is-stub{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.floor-strip{color:var(--ink-soft);flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:10px 14px;padding:2px 8px 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;display:flex}.floor-live{color:var(--ink-soft);letter-spacing:.04em;text-transform:lowercase;font-weight:600}.floor-wait{color:var(--ink-faint);font-size:10px}.lobby kbd{border:1px solid var(--line);background:var(--surface-3);border-radius:5px;margin:0 2px;padding:1px 6px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.85em;display:inline-block}.ctrl.ptt.live{background:#05966938;border-color:#34d39973}.ctrl.ptt.wait{background:#64748b24;border-color:#94a3b866}.ctrl.ptt.idle{opacity:.85}.ctrl.ptt:disabled{opacity:.45;cursor:default}.participant-stage{height:100%;min-height:0;box-shadow:none;background:0 0;border:none;border-radius:0;flex:1;position:relative;overflow:hidden}.stage.grid-1 .participant,.stage.grid-2 .participant{min-height:0}.stage.grid-1 .participant-stage,.stage.grid-2 .participant-stage{flex:auto;height:100%;min-height:0}.stage.grid-4 .participant-stage,.stage.grid-many .participant-stage{aspect-ratio:1;flex:none;height:auto;min-height:180px}.participant-stage:after{display:none}.participant .tile{background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.participant .tile-flow{pointer-events:none;width:100%;height:100%;mix-blend-mode:var(--flow-blend);background:0 0;position:absolute;inset:0}.participant-empty{color:#94a3b8a6;letter-spacing:.04em;pointer-events:none;z-index:3;place-items:center;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;display:grid;position:absolute;inset:0}.participant-caption{z-index:5;color:#e2e8f0e0;pointer-events:none;text-shadow:var(--caption-shadow);background:0 0;align-items:center;gap:8px;padding:0;display:flex;position:absolute;bottom:10px;left:10px}.participant-caption .name{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500}.participant-caption .badge{letter-spacing:.08em;text-transform:lowercase;color:#94a3b8bf;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-weight:600}.participant-caption .badge.you{color:var(--live)}.chat-stream{z-index:4;pointer-events:none;flex-direction:column;gap:6px;width:min(280px,42vw);max-height:min(42vh,360px);font-family:IBM Plex Mono,ui-monospace,monospace;display:flex;position:absolute;top:56px;right:14px}.chat-stream-scroll{pointer-events:auto;flex-direction:column;gap:5px;display:flex;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 12% 100%);mask-image:linear-gradient(#0000 0%,#000 12% 100%)}.chat-line{text-align:right;color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:11px;line-height:1.45}.chat-line.self{color:var(--ink-strong)}.chat-who{color:var(--ink-faint);letter-spacing:.02em;text-transform:lowercase;margin-right:6px;font-weight:600;display:inline}.chat-text{display:inline}.chat-at{color:var(--ink-faint);opacity:.7;margin-left:6px;font-size:10px;display:inline}.chat-stream-compose{pointer-events:auto;margin-top:2px}.chat-stream-compose input{appearance:none;border:none;border-bottom:1px solid color-mix(in oklab, var(--line) 55%, transparent);width:100%;color:var(--ink-strong);letter-spacing:.02em;text-align:right;background:0 0;border-radius:0;outline:none;padding:4px 0;font-family:inherit;font-size:11px}.chat-stream-compose input::placeholder{color:var(--ink-faint);text-align:right}.chat-stream-compose input:focus{border-bottom-color:var(--ink-soft)}.callbar{color:var(--ink);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:10px 14px 16px;display:grid}.callbar-meta,.callbar-side{align-items:center;gap:8px;display:flex}.callbar-side{justify-content:flex-end}.callbar-actions{justify-content:center;align-items:center;gap:8px;display:flex}.room-pill{letter-spacing:.1em;text-transform:lowercase;background:var(--surface);border:1px solid var(--line-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:6px;padding:4px 8px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;font-weight:600}.room-pill.credit{letter-spacing:.04em;font-weight:500}.room-pill.credit a{color:inherit;text-underline-offset:2px;text-decoration:underline}.room-pill.credit a:hover{color:var(--ink-strong)}.callbar-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:28vw;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;overflow:hidden}.ctrl{appearance:none;border:1px solid var(--line-soft);background:var(--surface-2);color:var(--ink-strong);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:64px;height:46px;padding:0 12px;display:inline-flex}.ctrl em{letter-spacing:.06em;text-transform:lowercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:9px;font-style:normal;font-weight:500}.ctrl.off{background:#b4231838;border-color:#b4231866}.ctrl.leave{background:var(--danger);border-color:#0000;min-width:76px}.ctrl.join{background:var(--accent);color:var(--accent-ink);border-color:#0000;min-width:76px}.ctrl.ghost{background:0 0}.ctrl.ghost.on{background:var(--surface)}.hidden{display:none!important}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.main{grid-template-columns:1fr}.chat-stream{width:min(240px,48vw);max-height:min(36vh,280px);top:52px;right:10px}.callbar{grid-template-columns:1fr;justify-items:center}.callbar-meta,.callbar-side{justify-content:center;width:100%}.callbar-status{max-width:60vw}.stage.grid-2,.stage.grid-4{grid-template-columns:1fr 1fr}}@media (max-width:560px){.stage.grid-2,.stage.grid-4{grid-template-columns:1fr}.stage.grid-4 .participant-stage,.stage.grid-many .participant-stage{min-height:200px}}:root{font-family:Roboto,system-ui,-apple-system,sans-serif}body{margin:0}
