:root{color-scheme:dark;--hud-fg: #e7f0ff;--hud-dim: #6b88b8;--hud-faint: #3b557e;--hud-accent: #5fd4ff;--hud-warn: #ff7676;--hud-good: #7ee787;--hud-danger: #ff4d4d;--bg: #03070f;--panel: rgba(11, 22, 41, .78);--panel-strong: rgba(7, 16, 32, .88);--panel-border: rgba(95, 212, 255, .18);--panel-border-strong: rgba(95, 212, 255, .42);--top-bar-h: 48px;--sheet-collapsed-h: calc(140px + env(safe-area-inset-bottom, 0px)) ;--sheet-mid-h: min(50dvh, 420px);--sheet-expanded-h: min(80dvh, 640px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100dvh;min-height:100vh;background:var(--bg);color:var(--hud-fg);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:none}#app{position:fixed;inset:0}#scene{display:block;width:100%;height:100%;outline:none;position:absolute;inset:0;z-index:0;touch-action:none}button{font:inherit;color:inherit}button:focus-visible,[role=button]:focus-visible,[role=radio]:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--hud-accent);outline-offset:2px}a:focus-visible{outline:2px solid var(--hud-accent);outline-offset:2px}.hud-overlay{position:fixed;inset:0;z-index:10;pointer-events:none}.top-bar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:max(env(safe-area-inset-top,0px),6px) max(env(safe-area-inset-right,0px),12px) 6px max(env(safe-area-inset-left,0px),12px);height:calc(var(--top-bar-h) + max(env(safe-area-inset-top,0px),0px));background:linear-gradient(to bottom,#03070fc7 30%,#03070f00);pointer-events:none;z-index:30}.top-bar>*{pointer-events:auto}.top-bar-title{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;text-align:center;pointer-events:none}.top-bar-label{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--hud-accent);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.top-bar-detail{font-size:12px;color:var(--hud-fg);letter-spacing:.04em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.top-bar-title[data-kind=ai] .top-bar-label{color:var(--hud-warn)}.top-bar-title[data-kind=human] .top-bar-label,.top-bar-title[data-kind=win] .top-bar-label{color:var(--hud-good)}.top-bar-title[data-kind=loss] .top-bar-label{color:var(--hud-warn)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel);color:var(--hud-fg);font-size:13px;letter-spacing:.06em;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;backdrop-filter:blur(10px)}.btn:hover:not(:disabled){border-color:var(--panel-border-strong);transform:translateY(-1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,#5fd4ff40,#5fd4ff0d);border-color:#5fd4ff8c}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5fd4ff73,#5fd4ff1a)}.btn-ghost{background:#0b16298c}.btn-icon{width:40px;height:40px;padding:0;font-size:17px;flex:0 0 auto}.btn-lg{padding:14px 20px;font-size:14px;width:100%}.btn-danger{background:linear-gradient(135deg,#ff4d4d47,#ff4d4d0f);border-color:#ff4d4d8c;color:#ffe9e9}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#ff4d4d66,#ff4d4d1f)}.btn-sm{padding:6px 12px;font-size:11px}.btn-compact{padding:9px 12px;font-size:12px}.btn-badge{display:inline-flex;align-items:center;padding:2px 8px;margin-left:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border-radius:999px;background:#5fd4ff29;color:var(--hud-accent);border:1px solid rgba(95,212,255,.35)}.btn-exit{flex:0 0 auto;padding:8px 14px;font-size:12px;height:40px}.btn-exit-icon{font-size:14px}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-direction:column;height:var(--sheet-expanded-h);background:var(--panel-strong);border-top:1px solid var(--panel-border);border-radius:18px 18px 0 0;backdrop-filter:blur(14px);box-shadow:0 -16px 40px #00000080;pointer-events:auto;transform:translateY(var(--sheet-translate, calc(var(--sheet-expanded-h) - var(--sheet-mid-h))));transition:transform .25s cubic-bezier(.4,0,.2,1);--sheet-current-translate: calc(var(--sheet-expanded-h) - var(--sheet-mid-h))}.bottom-sheet[data-state=collapsed]{--sheet-translate: calc(var(--sheet-expanded-h) - var(--sheet-collapsed-h))}.bottom-sheet[data-state=mid]{--sheet-translate: calc(var(--sheet-expanded-h) - var(--sheet-mid-h))}.bottom-sheet[data-state=expanded]{--sheet-translate: 0px}.bottom-sheet.is-dragging{transition:none;transform:translateY(calc(var(--sheet-translate, 0px) + var(--sheet-drag-px, 0px)))}.bottom-sheet-grip{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:24px;width:100%;background:transparent;border:0;cursor:grab;touch-action:none}.bottom-sheet-grip:active{cursor:grabbing}.bottom-sheet-grip-bar{width:44px;height:4px;border-radius:999px;background:#ffffff2e;transition:background .12s ease}.bottom-sheet-grip:hover .bottom-sheet-grip-bar{background:#ffffff52}.bottom-sheet-summary{flex:0 0 auto;padding:4px 14px 14px}.bottom-sheet-body{flex:1 1 auto;overflow-y:auto;padding:0 14px max(env(safe-area-inset-bottom,0px),14px);display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}.tray-summary{display:flex;flex-direction:column;gap:8px}.tray-summary-current{display:flex;align-items:center;gap:12px;padding:8px 10px;background:#0b16298c;border-radius:12px;min-height:50px}.tray-summary-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.tray-summary-name{font-size:14px;font-weight:600;letter-spacing:.04em}.tray-summary-detail{font-size:10px;color:var(--hud-dim);text-transform:uppercase;letter-spacing:.18em}.tray-summary-hint{font-size:13px;color:var(--hud-fg);letter-spacing:.04em}.tray-summary-actions{display:flex;gap:8px}.tray-summary-actions .btn{flex:1}.tray-chip{width:22px;height:22px;border-radius:6px;background:var(--chip);box-shadow:0 0 0 1px #ffffff2e inset;flex:0 0 auto}.tray-fleet-section{display:flex;flex-direction:column;gap:8px}.tray-fleet-header{display:flex;align-items:baseline;justify-content:space-between}.tray-fleet-title{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--hud-accent)}.tray-fleet-progress{font-size:12px;color:var(--hud-dim);font-variant-numeric:tabular-nums}.tray-fleet{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;font-size:11px}.tray-fleet li{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.tray-fleet li[data-dead=true]{opacity:.35;text-decoration:line-through}.fleet-chip{width:8px;height:8px;border-radius:2px;background:var(--chip)}.fleet-name{flex:1;letter-spacing:.04em}.fleet-count{color:var(--hud-dim);font-variant-numeric:tabular-nums}.legend-accordion,.log-accordion{background:#0b16298c;border:1px solid var(--panel-border);border-radius:12px;overflow:hidden}.legend-summary,.log-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;list-style:none;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--hud-accent);user-select:none;touch-action:manipulation}.legend-summary::-webkit-details-marker,.log-summary::-webkit-details-marker{display:none}.legend-toggle,.log-toggle{font-size:14px;color:var(--hud-dim);transition:transform .18s ease}details[open]>.legend-summary .legend-toggle,details[open]>.log-summary .log-toggle{transform:rotate(180deg)}.legend-body{list-style:none;margin:0;padding:4px 12px 12px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px;font-size:11px}.legend-body li{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#ffffff08;border-radius:8px;border:1px solid rgba(255,255,255,.05);border-left:2px solid var(--hud-faint)}.legend-body li[data-kind=miss]{border-left-color:#88c0ff}.legend-body li[data-kind=hit]{border-left-color:var(--hud-warn)}.legend-body li[data-kind=sunk]{border-left-color:#ffae00}.legend-body li[data-kind=mine]{border-left-color:#ff7e3d}.legend-icon{font-size:14px;line-height:1}.legend-label{flex:1;letter-spacing:.04em}.legend-hint{color:var(--hud-dim);font-size:10px}.log-list{list-style:none;margin:0;padding:4px 12px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--hud-fg);max-height:30dvh;overflow-y:auto;scrollbar-width:thin}.log-list li{padding:4px 6px;border-radius:6px;background:#ffffff05;border-left:2px solid var(--hud-faint)}.log-list li[data-kind^=shot-human-hit],.log-list li[data-kind^=shot-human-sunk]{border-left-color:var(--hud-good)}.log-list li[data-kind^=shot-ai-hit],.log-list li[data-kind^=shot-ai-sunk]{border-left-color:var(--hud-warn)}.log-list li[data-kind=mine]{border-left-color:#ffb347}.log-list li[data-kind=turn-human]{color:var(--hud-accent);border-left-color:var(--hud-accent)}.log-list li[data-kind=turn-ai]{color:var(--hud-warn);border-left-color:var(--hud-warn)}.log-list li[data-kind=over-human]{color:var(--hud-good)}.log-list li[data-kind=over-ai]{color:var(--hud-warn)}.layer-picker{position:fixed;left:12px;right:12px;bottom:calc(var(--sheet-collapsed-h) + 8px);z-index:25;display:flex;gap:6px;padding:6px;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;backdrop-filter:blur(12px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;height:56px;align-items:center;pointer-events:auto;transition:opacity .18s ease,transform .18s ease}.layer-picker::-webkit-scrollbar{display:none}body[data-sheet-state=mid] .layer-picker,body[data-sheet-state=expanded] .layer-picker{opacity:0;transform:translateY(8px);pointer-events:none}.layer-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:6px 12px;border-radius:10px;border:1px solid transparent;background:#ffffff08;color:var(--hud-fg);font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;flex:0 0 auto;scroll-snap-align:start;min-width:64px;height:100%;touch-action:manipulation}.layer-btn[data-theatre=air]{color:#cfe7ff}.layer-btn[data-theatre=surface]{color:#b6f1ff}.layer-btn[data-theatre=sub]{color:#84b6ff}.layer-btn[data-active=true]{background:#5fd4ff2e;border-color:#5fd4ff80;color:#fff}.layer-icon{font-size:14px;line-height:1}.layer-num{font-size:12px;font-weight:600}.layer-name{letter-spacing:.1em;font-size:9px}.layer-toast{position:fixed;top:calc(var(--top-bar-h) + max(env(safe-area-inset-top,0px),12px) + 12px);left:50%;transform:translate(-50%,-8px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 22px;border-radius:16px;background:#0b1629e0;border:1px solid rgba(95,212,255,.35);backdrop-filter:blur(18px);box-shadow:0 0 30px #5fd4ff2e;pointer-events:none;opacity:0;transition:opacity .18s ease,transform .18s ease;z-index:40}.layer-toast[data-visible=true]{opacity:1;transform:translate(-50%)}.layer-toast-eyebrow{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--hud-dim)}.layer-toast-label{font-size:20px;letter-spacing:.18em;color:var(--hud-accent);text-shadow:0 0 18px rgba(95,212,255,.5)}.screen{position:fixed;inset:0;background:#03070fc7;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:auto;animation:screen-in .32s ease;padding:max(env(safe-area-inset-top,0px),16px) 16px max(env(safe-area-inset-bottom,0px),16px);overflow-y:auto}.screen-leave{animation:screen-out .22s ease forwards}.screen-card{max-width:360px;text-align:center;padding:24px 22px 22px;border-radius:18px;background:linear-gradient(180deg,#0b1d3af0,#03070ff0);border:1px solid var(--panel-border-strong);box-shadow:0 20px 60px #0009}.screen-card-narrow{max-width:320px}.screen-card-howto{max-width:460px;text-align:left;position:relative;padding:28px 26px 24px}.screen-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--hud-dim);margin-bottom:8px}.screen-title{font-size:28px;letter-spacing:.18em;color:var(--hud-accent);margin:0 0 6px;text-shadow:0 0 18px rgba(95,212,255,.4)}.screen-title-sm{font-size:22px;letter-spacing:.14em}.screen-sub{margin:0 0 16px;font-size:14px;color:var(--hud-fg);line-height:1.4}.screen-actions{display:flex;gap:8px;margin-top:14px;justify-content:center;flex-wrap:wrap}.screen-actions .btn{min-width:130px}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}@keyframes screen-out{to{opacity:0;transform:translateY(-6px)}}.main-menu{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:max(env(safe-area-inset-top,0px),16px) 16px max(env(safe-area-inset-bottom,0px),16px);background:radial-gradient(circle at 50% 30%,#5fd4ff14,#03070ff2 60%),var(--bg);z-index:90;overflow-y:auto}.main-menu-card{width:100%;max-width:420px;display:flex;flex-direction:column;gap:22px;padding:28px 24px 22px;border-radius:22px;background:linear-gradient(180deg,#0b1d3ad9,#03070feb);border:1px solid var(--panel-border-strong);box-shadow:0 24px 80px #0009}.main-menu-logo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.main-menu-eyebrow{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--hud-dim)}.main-menu-title{font-size:36px;letter-spacing:.22em;margin:6px 0 4px;color:var(--hud-accent);text-shadow:0 0 30px rgba(95,212,255,.45)}.main-menu-tagline{margin:0;font-size:13px;color:var(--hud-fg);letter-spacing:.04em;text-align:center}.difficulty{border:0;padding:0;margin:0}.difficulty-legend{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--hud-dim);padding:0 0 8px}.difficulty-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.difficulty-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;color:inherit;cursor:pointer;text-align:left;touch-action:manipulation}.difficulty-btn:hover:not(:disabled){border-color:var(--panel-border-strong)}.difficulty-btn:disabled,.difficulty-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.difficulty-btn[data-selected=true]{border-color:#5fd4ff8c;background:#5fd4ff1a;box-shadow:0 0 0 1px #5fd4ff2e inset}.difficulty-name{font-size:13px;font-weight:600}.difficulty-desc{font-size:10px;color:var(--hud-dim);letter-spacing:.04em}.difficulty-badge{position:absolute;top:6px;right:6px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#5fd4ff29;border:1px solid rgba(95,212,255,.35);color:var(--hud-accent)}.main-menu-actions{display:flex;flex-direction:column;gap:8px}.main-menu-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--hud-dim)}.main-menu-footer a{color:var(--hud-accent);text-decoration:none}.footer-sep{color:var(--hud-faint)}.howto-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#00000073;color:var(--hud-fg);cursor:pointer;font-size:14px}.howto-close:hover{border-color:var(--panel-border-strong)}.howto-eyebrow{margin-bottom:4px}.howto-art{margin:12px 0 14px;padding:16px;border-radius:14px;background:#0006;border:1px solid rgba(255,255,255,.06);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.4;letter-spacing:.04em;color:var(--hud-fg);white-space:pre-wrap;text-align:center}.howto-body{font-size:13.5px;line-height:1.5;margin-bottom:14px}.howto-dots{display:flex;justify-content:center;gap:6px;margin-bottom:16px}.howto-dot{width:8px;height:8px;border-radius:999px;border:0;background:#ffffff2e;cursor:pointer;padding:0}.howto-dot[data-active=true]{background:var(--hud-accent);box-shadow:0 0 8px #5fd4ff99}.howto-last-extras{margin-bottom:12px}.howto-suppress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--hud-fg);letter-spacing:.04em;cursor:pointer;user-select:none}.howto-suppress input{accent-color:var(--hud-accent)}.howto-nav{display:flex;justify-content:space-between;gap:8px}.howto-nav .btn{flex:1}.online-hud{position:fixed;top:calc(max(env(safe-area-inset-top,0px),0px) + var(--top-bar-h) + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:6px 12px;background:#071020d9;border:1px solid rgba(95,212,255,.32);border-radius:999px;backdrop-filter:blur(10px);z-index:28;font-size:12px;color:var(--hud-fg);pointer-events:auto;max-width:calc(100vw - 24px)}.online-hud-meta{display:flex;align-items:center;gap:8px}.online-hud-dot{width:8px;height:8px;border-radius:999px;background:#5fd97a;box-shadow:0 0 6px #5fd97a99}.online-hud.is-unresponsive .online-hud-dot{background:#f4d35e;box-shadow:0 0 6px #f4d35e99}.online-hud.is-gone .online-hud-dot{background:#ff6b6b;box-shadow:0 0 6px #ff6b6b99}.online-hud-nick{font-weight:600}.online-hud-status{color:#dcebff99}.reconnecting-banner{position:fixed;top:calc(max(env(safe-area-inset-top,0px),0px) + var(--top-bar-h) + 56px);left:50%;transform:translate(-50%);z-index:80;pointer-events:none;animation:reconnecting-banner-in .18s ease}.reconnecting-banner-inner{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;font-size:12px;letter-spacing:.04em;color:#fff5d8;background:#361c06eb;border:1px solid rgba(255,178,71,.6);box-shadow:0 0 0 1px #ffb24733,0 6px 22px #00000080}.reconnecting-banner.is-critical .reconnecting-banner-inner{color:#ffeaea;background:#400c0cf0;border-color:#ff6e6eb3;box-shadow:0 0 0 1px #ff6e6e40,0 6px 22px #0000008c}.reconnecting-banner.is-recovered .reconnecting-banner-inner{color:#e3ffe9;background:#0a3219f0;border-color:#7ee787a6;box-shadow:0 0 0 1px #7ee78738,0 6px 22px #00000080}.reconnecting-banner-dot{width:8px;height:8px;border-radius:999px;background:#ffb247;box-shadow:0 0 8px #ffb247b3;animation:reconnecting-banner-pulse 1.1s ease-in-out infinite}.reconnecting-banner.is-critical .reconnecting-banner-dot{background:#ff6e6e;box-shadow:0 0 8px #ff6e6ecc}.reconnecting-banner.is-recovered .reconnecting-banner-dot{background:#7ee787;box-shadow:0 0 8px #7ee787b3;animation:none}@keyframes reconnecting-banner-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes reconnecting-banner-pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}}.invite-dialog-code{display:inline-block;margin:4px 0;padding:4px 10px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:14px;letter-spacing:.14em;color:var(--hud-accent);background:#5fd4ff1a;border:1px solid rgba(95,212,255,.3);border-radius:8px}.screen-lobby .screen-card{text-align:center}.lobby-code{margin:22px 0 12px;padding:14px 16px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:22px;letter-spacing:.18em;color:var(--hud-accent);background:#5fd4ff0f;border:1px solid rgba(95,212,255,.3);border-radius:12px;user-select:all}.lobby-link-row{display:flex;gap:8px;margin-bottom:18px}.lobby-link-input{flex:1;padding:8px 12px;font-size:12px;font-family:SF Mono,ui-monospace,Menlo,monospace;color:var(--hud-fg);background:#0b16298c;border:1px solid rgba(95,212,255,.25);border-radius:8px;text-overflow:ellipsis}.lobby-link-input:focus{outline:none;border-color:#5fd4ff99}.lobby-helper{margin:12px 0 18px;font-size:12px;line-height:1.4;color:#dcebff8c}.lobby-code-input{display:block;width:100%;margin:18px 0 8px;padding:14px 16px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:18px;letter-spacing:.16em;text-align:center;text-transform:uppercase;color:var(--hud-fg);background:#0b16298c;border:1px solid rgba(95,212,255,.3);border-radius:10px}.lobby-code-input:focus{outline:none;border-color:#5fd4ff99;box-shadow:0 0 0 3px #5fd4ff1f}.lobby-error{margin:4px 0 14px;font-size:12px;color:#ffb4b4}.lobby-chooser-actions{display:grid;gap:10px;margin:22px 0 18px}.lobby-chooser-actions .btn{display:flex;flex-direction:column;gap:4px}.lobby-chooser-hint{font-size:11px;font-weight:400;color:#dcebff8c;letter-spacing:.04em;text-transform:none}.lobby-spinner{display:flex;justify-content:center;gap:8px;margin:22px 0 14px;height:14px}.lobby-spinner-dot{width:10px;height:10px;border-radius:999px;background:#5fd4ff8c;animation:lobby-spin 1.2s ease-in-out infinite}.lobby-spinner-dot:nth-child(2){animation-delay:.18s}.lobby-spinner-dot:nth-child(3){animation-delay:.36s}.lobby-spinner-stopped .lobby-spinner-dot{animation:none;background:#ff646480}@keyframes lobby-spin{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.lobby-status{margin:6px 0 14px;font-size:13px;color:var(--hud-fg)}.lobby-share-row{display:flex;gap:8px;justify-content:center;margin-bottom:14px}.lobby-share-row .btn{flex:1;max-width:160px}.lobby-qr{display:flex;justify-content:center;align-items:center;margin:0 0 16px;padding:12px;background:#ffffff0a;border-radius:12px;min-height:140px}.lobby-qr svg{display:block;width:192px;height:auto;border-radius:8px}.lobby-qr-loading{font-size:12px;color:#dcebff8c;letter-spacing:.04em}.lobby-wait-row{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;margin:4px auto 14px;border-radius:999px;background:#0b16298c;border:1px solid rgba(95,212,255,.2);font-size:12px;color:var(--hud-fg);font-variant-numeric:tabular-nums}.lobby-wait-row .lobby-spinner{margin:0;height:10px;gap:4px}.lobby-wait-row .lobby-spinner-dot{width:6px;height:6px}.lobby-wait-text{letter-spacing:.04em}.lobby-countdown{margin:0 0 12px;font-size:13px;color:var(--hud-accent);font-variant-numeric:tabular-nums;letter-spacing:.04em}@media (min-width: 1280px){.bottom-sheet{top:calc(max(env(safe-area-inset-top,0px),0px) + var(--top-bar-h) + 16px);bottom:16px;right:16px;left:auto;width:320px;height:auto;max-height:calc(100dvh - var(--top-bar-h) - max(env(safe-area-inset-top,0px),0px) - max(env(safe-area-inset-bottom,0px),0px) - 32px);transform:none!important;border-radius:18px;border:1px solid var(--panel-border)}.bottom-sheet.is-dragging{transform:none!important}.bottom-sheet-grip{display:none}.bottom-sheet-summary{padding-top:14px}.layer-picker{left:50%;right:auto;transform:translate(-50%);bottom:max(env(safe-area-inset-bottom,0px),16px);max-width:calc(100vw - 360px);width:auto}body[data-sheet-state=mid] .layer-picker,body[data-sheet-state=expanded] .layer-picker{opacity:1;transform:translate(-50%);pointer-events:auto}}@media (max-height: 480px) and (max-width: 1279px){:root{--sheet-collapsed-h: calc(108px + env(safe-area-inset-bottom, 0px)) ;--sheet-mid-h: min(60dvh, 320px);--sheet-expanded-h: min(86dvh, 380px)}.top-bar-detail{display:none}}
