:root{--bg: #1b1b2f;--panel: #262645;--text: #f1f1f8;--muted: #a9a9c8;--accent: #ffd166;--accent-text: #1b1b2f;--danger: #ff7b7b;--radius: 8px;--bar-bg: #1f1f24;--bar-btn: #2c2c33;--bar-btn-hover: #3a3a44;--bar-off: #e5484d;--bar-text: #f2f2f2;--bar-muted: #9a9aa5;--bar-size: 48px;--bar-clearance: 92px}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}#root{width:100%;display:grid;place-items:center;padding:16px}h1{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:1rem;line-height:1.6;margin:0 0 1rem}.card{width:min(420px,100%);background:var(--panel);padding:24px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px}form{display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.9rem}label.toggle{flex-direction:row;align-items:center;gap:8px;color:var(--text)}input[type=email],input:not([type]),input[type=text]{padding:10px;border-radius:var(--radius);border:1px solid var(--muted);background:var(--bg);color:var(--text);font:inherit}button,.button{padding:10px 16px;border:0;border-radius:var(--radius);background:var(--accent);color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}button:disabled{opacity:.5;cursor:default}.button.secondary{background:transparent;color:var(--text);border:1px solid var(--muted)}.error{color:var(--danger);margin:0}.preview{width:100%;aspect-ratio:4 / 3;background:#000;border-radius:var(--radius);object-fit:cover}.preview.placeholder{display:grid;place-items:center;color:var(--muted)}body.in-game{overflow:hidden;display:block;min-height:0}body.in-game #root{display:block;padding:0}.game-root{position:fixed;top:0;right:0;bottom:0;left:0}.game-root canvas{display:block}.hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.hud>*{pointer-events:auto}.banner{position:absolute;top:12px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 24px);text-align:center;background:var(--accent);color:var(--accent-text);padding:6px 16px;border-radius:var(--radius);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1b1b2feb;padding:16px}.avatar-picker{position:absolute;bottom:calc(100% + 14px);left:0;width:296px;max-width:calc(100vw - 24px);z-index:25;box-shadow:0 6px 24px #00000073;background:var(--panel);padding:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px}.avatar-picker h2{margin:0;font-size:.9rem}.avatar-grid{display:grid;grid-template-columns:repeat(4,58px);gap:8px}.avatar-option{padding:0;width:58px;height:76px;background:var(--bg);border:2px solid transparent;display:grid;place-items:center}.avatar-option.selected{border-color:var(--accent)}.avatar-face{display:block;width:54px;height:72px;background-size:162px 288px;background-position:0 0;image-rendering:pixelated}.video-strip{position:fixed;top:8px;left:50%;transform:translate(-50%);display:flex;gap:8px;max-width:90vw;overflow-x:auto;z-index:20}.video-tile{position:relative;width:160px;height:100px;border-radius:8px;overflow:hidden;background:#222;border:3px solid transparent;flex:none}.video-tile.speaking{border-color:#3ddc84}.video-tile video{width:100%;height:100%;object-fit:cover}.video-placeholder{display:grid;place-items:center;width:100%;height:100%;color:#fff;font-size:2rem}.video-name{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:4px;background:#0009;color:#fff;font-size:.75rem}.video-screen-btn{position:absolute;top:4px;right:4px;font-size:.7rem}.screen-big{position:fixed;top:8%;right:6%;bottom:8%;left:6%;z-index:30;background:#000;display:flex;flex-direction:column;align-items:center}.screen-big-video{flex:1;min-height:0;max-width:100%}.focus-timer,.zone-actions{position:absolute;left:12px;background:var(--panel);padding:6px 12px;border-radius:var(--radius);display:flex;align-items:center;gap:8px}.focus-timer{top:12px}.hud-dock{position:absolute;left:12px;bottom:var(--bar-clearance);z-index:5;max-width:calc(100vw - 24px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}.hud-dock:empty{display:none}.hud-dock>.zone-actions{position:static}.zone-actions{flex-wrap:wrap;max-width:320px}body:has(.bar-notices>*) .hud-dock{bottom:calc(var(--bar-clearance) + 84px)}.chat-panel[hidden]{display:none}.chat-panel{position:absolute;top:12px;right:12px;bottom:var(--bar-clearance);width:280px;max-width:calc(100vw - 24px);background:var(--panel);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:8px}.chat-tabs{display:flex;gap:4px}.chat-tabs [aria-selected=true]{background:var(--accent);color:var(--accent-text)}.chat-messages{flex:1;overflow-y:auto;font-size:.85rem}.chat-messages p{margin:0 0 8px;overflow-wrap:anywhere}.chat-messages time{opacity:.6;font-size:.75rem}.toasts{position:fixed;top:56px;left:12px;z-index:40;width:360px;max-width:calc(100vw - 24px);display:flex;flex-direction:column;gap:8px}.toast{background:var(--panel);padding:8px 12px;border-radius:var(--radius);display:flex;align-items:center;flex-wrap:wrap;gap:8px;box-shadow:0 6px 24px #00000059}.toast button.secondary{background:transparent;color:var(--text);border:1px solid var(--muted)}.toast-poke>span{flex-basis:100%;font-weight:600}.toast-flash{justify-content:center;font-size:.9rem}.player-menu{position:fixed;background:var(--panel);padding:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:6px;z-index:10}.profile-menu{position:absolute;bottom:calc(100% + 14px);left:0;width:232px;max-width:calc(100vw - 24px);z-index:25;box-shadow:0 6px 24px #00000073;background:var(--panel);padding:16px;border-radius:var(--radius);display:flex;flex-direction:column;gap:12px}.profile-menu form{display:flex;flex-direction:column;gap:8px}.admin table{width:100%;border-collapse:collapse}.admin th,.admin td{text-align:left;padding:4px 8px}.admin-invite{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.banner-capture{top:120px;z-index:25;background:#b3261e;color:#fff}.meetings table{width:100%;border-collapse:collapse}.meetings th,.meetings td{text-align:left;padding:4px 8px}.meeting audio{width:100%}.meeting-transcript{list-style:none;padding:0}.device-menu-anchor{position:relative;display:inline-flex}.device-menu{position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%);min-width:220px;max-width:320px;padding:6px;border-radius:8px;background:#1b1b2f;color:#fff;box-shadow:0 6px 24px #0006;display:flex;flex-direction:column;gap:6px;z-index:25}.device-menu-section{display:flex;flex-direction:column}.device-menu-title{font-size:.7rem;text-transform:uppercase;opacity:.7;padding:2px 6px}.device-menu-empty{font-size:.8rem;opacity:.7;padding:4px 6px}.device-menu-item{text-align:left;background:transparent;color:inherit;border:0;padding:4px 6px;border-radius:4px;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.device-menu-item:hover,.device-menu-item:focus-visible{background:#ffffff1f}.video-tile.self{border-color:#ffffff40}.device-menu-item:disabled{opacity:.6;cursor:default}.minimap{background:#111120c7;border-radius:12px;padding:6px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 4px 16px #00000059}.minimap.collapsed{padding:2px}.minimap-toggle{font-size:.7rem;padding:2px 8px}.minimap svg{display:block;cursor:pointer;max-width:calc(100vw - 48px);height:auto}.minimap-zone{fill:none;stroke:#c8c8d773;stroke-width:.75}.minimap-my-zone{fill:#ffffff0f;stroke:#fff;stroke-width:1.5}.minimap-range{fill:#3ddc840f;stroke:#ffffffb3;stroke-width:1}.minimap-player{fill:#e8e8f0}.minimap-player.dim{opacity:.35}.minimap-me{stroke:#0f3d22;stroke-width:1}.minimap-hit{fill:transparent}.minimap-person{cursor:pointer}.bottom-bar-wrap{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 16px)}.bar-notices{display:flex;flex-direction:column;align-items:center;gap:8px}.bar-notices:empty{display:none}.bar-notices .banner{position:static;transform:none}.bottom-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;max-width:100%;background:var(--bar-bg);padding:8px 10px;border-radius:22px;box-shadow:0 6px 24px #00000073}.bar-btn{position:relative;display:inline-grid;place-items:center;flex:none;width:var(--bar-size);height:var(--bar-size);padding:0;border-radius:14px;background:var(--bar-btn);color:var(--bar-text);font-weight:600}button.bar-btn:hover{background:var(--bar-btn-hover)}.bar-btn:focus-visible,.pop-item:focus-visible,.reaction-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bar-btn.off{color:var(--bar-off)}.bar-btn.on{background:#3d3d6b;color:var(--accent)}.bar-btn.on.rec{color:var(--bar-off)}.bar-btn .icon{width:24px;height:24px}.bar-group{display:inline-flex;align-items:center;gap:2px}.bar-btn.device-caret{width:26px;background:transparent;color:var(--bar-muted)}.bar-btn.device-caret .icon{width:16px;height:16px}.bar-sep{width:1px;height:32px;background:var(--bar-btn-hover);margin:0 4px;flex:none}.bar-me{background:#9be3b5;color:#1d3a28;font-size:1.25rem}button.bar-me:hover{background:#b4ecc8}.bar-me.guest{width:auto;display:inline-flex;gap:8px;padding:0 14px}.bar-name{font-size:.9rem;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{position:absolute;right:-3px;bottom:-3px;width:14px;height:14px;border-radius:50%;border:3px solid var(--bar-bg);background:#3fbf6a}.status-dot.busy{background:var(--bar-off)}.status-dot.focus{background:#ff8c42}.status-dot.break{background:#c58f5a}.status-dot.away{background:#8a8a99}.status-dot.inline{position:static;display:inline-block;width:10px;height:10px;border:0;margin-right:4px}.bar-anchor{position:relative;display:inline-flex;flex:none}.bar-pop{position:absolute;bottom:calc(100% + 14px);left:0;z-index:25;background:var(--bar-bg);color:var(--bar-text);border-radius:12px;padding:8px;box-shadow:0 6px 24px #00000080;display:flex;flex-direction:column;min-width:220px;max-width:calc(100vw - 24px)}.pop-head{color:var(--bar-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 2px}.pop-item{display:block;width:100%;text-align:left;background:transparent;color:inherit;font-weight:400;padding:7px 10px;border-radius:8px;text-decoration:none;font-size:.9rem}.pop-item:hover{background:#33333c}.pop-item.static{color:var(--bar-muted);cursor:default}.pop-item.static:hover{background:transparent}.reaction-menu{flex-direction:row;gap:4px;min-width:0;left:50%;transform:translate(-50%)}.reaction-item{background:transparent;padding:4px 6px;font-size:1.5rem;line-height:1;border-radius:8px}.reaction-item:hover{background:#33333c}@media (max-width: 640px){:root{--bar-size: 40px;--bar-clearance: 84px}.bottom-bar{gap:4px;padding:6px 8px;border-radius:18px}.bar-btn{border-radius:12px}.bar-btn.device-caret{width:22px}.bar-sep{margin:0 2px}.bar-name{display:none}}@media (max-width: 480px){.bottom-bar{position:relative}.device-menu-anchor{position:static}.device-menu{left:0;right:0;transform:none;min-width:0;max-width:none}}@media (max-width: 420px){:root{--bar-size: 36px;--bar-clearance: 124px}.bar-sep{display:none}}
