:root{--bg:#071117;--bg-panel:#0a1a22db;--bg-panel-strong:#08161cf5;--line:#7dc8e329;--text:#f4fbff;--muted:#9ab7c3;--accent:#7ae2ff;--accent-strong:#f95738;--accent-alt:#c2ff5f;--shadow:0 24px 64px #00000047;--font-display:"Avenir Next Condensed","Trebuchet MS","Segoe UI",sans-serif;--font-mono:"SFMono-Regular","Consolas","Liberation Mono",monospace}*{box-sizing:border-box}html{background:radial-gradient(circle at top,#2d6e8c47,#0000 28%),linear-gradient(#102330 0%,#08131a 55%,#060f15 100%)}body{min-height:100vh;color:var(--text);font-family:var(--font-display),sans-serif;background:radial-gradient(circle at 20% 15%,#7ae2ff1f,#0000 24%),radial-gradient(circle at 80% 0,#f957381f,#0000 26%);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button:disabled,input:disabled{cursor:not-allowed;opacity:.58}.site-chrome{width:min(1280px,100vw - 24px);margin:0 auto;padding:20px 0 56px}.topbar{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#040f15b8;border-radius:28px;flex-direction:column;gap:18px;padding:18px 20px;display:flex;position:sticky;top:12px}.brand-lockup{gap:8px;display:grid}.brand-mark{letter-spacing:.08em;text-transform:uppercase;font-size:1.4rem;font-weight:700}.brand-copy{color:var(--muted);max-width:42rem;margin:0}.topnav{flex-wrap:wrap;gap:10px;display:flex}.topnav a{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:10px 14px}.page-stack{gap:24px;padding:24px 0 0;display:grid}.hero-section,.content-grid,.room-grid{gap:20px;display:grid}.hero-section{grid-template-columns:1.4fr 1fr;align-items:stretch}.hero-copy,.hero-panel,.surface-card,.panel-card,.arena-shell{border:1px solid var(--line);background:var(--bg-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);border-radius:28px}.hero-copy,.hero-panel,.surface-card,.panel-card{padding:24px}.hero-copy h1,.surface-card h1,.surface-card h2,.panel-card h1,.panel-card h2{margin:0;line-height:.98}.hero-copy h1{max-width:10ch;font-size:clamp(2.5rem,6vw,5rem)}.hero-copy p,.surface-card p,.panel-card p,.field small,.preset-card span,.future-card p,.metric-card span{color:var(--muted)}.hero-panel{background:linear-gradient(#153a4acc,#09181fd6),linear-gradient(#0000,#f9573814);gap:18px;display:grid}.metric-grid,.future-grid{gap:14px;display:grid}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.future-card,.preset-card,.visibility-card,.scoreboard-row,.result-row{background:#08171fbf;border:1px solid #7dc8e324;border-radius:20px}.metric-card,.future-card{gap:8px;padding:18px;display:grid}.future-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.surface-card,.panel-card,.hero-copy{gap:18px;display:grid}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-family:var(--font-mono),monospace}.pill-row{flex-wrap:wrap;gap:12px;display:flex}.status-row,.action-stack{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-pill,.status-meta{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.82rem}.status-pill.connected{color:var(--accent-alt)}.status-pill.connecting{color:var(--accent)}.status-pill.offline{color:#ffb4a6}.button{background:linear-gradient(135deg,var(--accent)0%,#2fa4dd 100%);color:#07202b;cursor:pointer;border:0;border-radius:999px;padding:12px 18px;font-weight:700}.button.secondary{border:1px solid var(--line);color:var(--text);background:0 0}.preset-stack,.bullet-stack,.result-stack{gap:12px;display:grid}.preset-card,.visibility-card{text-align:left;width:100%;color:var(--text);gap:8px;padding:16px;display:grid}.preset-card.active,.visibility-card.active{border-color:#7ae2ff6b;box-shadow:inset 0 0 0 1px #7ae2ff2e}.room-grid{grid-template-columns:minmax(290px,360px) minmax(0,1fr);align-items:start}.control-panel,.play-column{gap:20px;display:grid}.hero-card{background:radial-gradient(circle at 100% 0,#c2ff5f1f,#0000 28%),linear-gradient(#14323dd1,#0a1a22db)}.field{gap:8px;display:grid}.field input{border:1px solid var(--line);width:100%;color:var(--text);background:#051218d1;border-radius:16px;padding:12px 14px}.field input[type=range]{padding:0}.visibility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.arena-shell{gap:14px;padding:16px;display:grid}.hud-strip,.arena-aside{gap:12px;display:grid}.hud-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.hud-strip>div,.info-panel{background:#061218b8;border:1px solid #7dc8e324;border-radius:20px;gap:6px;padding:14px;display:grid}.arena-stage{min-height:520px;position:relative}.arena-stage canvas{touch-action:manipulation;background:#06131a;border:1px solid #7dc8e329;border-radius:22px;width:100%;display:block}.touch-flap{z-index:5;color:#fff7f3;background:#f95738eb;border:0;border-radius:999px;padding:12px 16px;font-weight:700;position:absolute;bottom:14px;right:14px}.event-list{color:var(--muted);gap:8px;margin:0;padding-left:18px;display:grid}.scoreboard-overlay{background:#06131af0;border:1px solid #7ae2ff33;border-radius:24px;gap:14px;padding:18px;display:grid;position:absolute;inset:auto 20px 20px}.scoreboard-overlay.compact{inset:auto 20px 20px}.scoreboard-table,.result-stack{gap:10px;display:grid}.scoreboard-row,.result-row{color:var(--muted);grid-template-columns:32px minmax(0,1fr) repeat(4,auto);align-items:center;gap:12px;padding:12px 14px;display:grid}.result-row{grid-template-columns:28px minmax(0,1fr) auto auto}@media (max-width:960px){.hero-section,.content-grid,.room-grid,.future-grid{grid-template-columns:1fr}.hud-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.site-chrome{width:min(100vw - 16px,1280px);padding-top:12px}.topbar,.hero-copy,.hero-panel,.surface-card,.panel-card{border-radius:22px;padding:18px}.metric-grid,.visibility-grid,.hud-strip{grid-template-columns:1fr}.hero-copy h1,.surface-card h1,.panel-card h1{line-height:1.02}.scoreboard-row{grid-template-columns:28px minmax(0,1fr) auto}.scoreboard-row span:nth-of-type(2),.scoreboard-row span:nth-of-type(3){display:none}}
