/* Whirlane layout. Game colours live in game.js (SKINS). (c) 2026 CyberMax. */
:root{--game:#5CF2FF;--game2:#FF4D6D}
.headline h1 .num{color:var(--muted);font-weight:700;font-size:.62em}
.tag{margin:0 0 12px}
.stage{display:flex;justify-content:center;margin-top:12px}
#c{width:100%;max-width:min(560px,calc(100vh - 220px));min-width:280px;aspect-ratio:1;border-radius:24px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:pointer;box-shadow:var(--shadow)}
.under{justify-content:center;margin:12px 0}
.over{margin:12px 0}.over h2{margin:0 0 4px}
.board{margin:14px 0}.lb-head{justify-content:space-between}.lb-head h2{margin:0}
.lb{margin:10px 0;padding-left:28px;font-variant-numeric:tabular-nums}.lb li{padding:4px 0;border-bottom:1px solid var(--line)}.lb li b{float:right}.lb li.me{font-weight:800;color:var(--acc)}
#lb-form input{font:inherit;font-weight:800;text-transform:uppercase;width:5.5em;padding:8px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);letter-spacing:.15em}
.skins{justify-content:center;margin:8px 0}
.skins button{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);cursor:pointer;position:relative}
.skins button[aria-pressed=true]{border-color:var(--ink)}
.skins button.locked::after{content:"🔒";position:absolute;right:-6px;bottom:-6px;font-size:12px}
.new-twist{background:var(--acc);color:var(--acc-ink);border-radius:8px;padding:1px 8px;font-weight:800;font-size:13px}
.lvmap{margin:10px 0}#goal{min-height:24px;color:var(--muted);margin:10px 0 0;font-size:14px;gap:2px 12px}#goal b{color:var(--ink)}
.under kbd{font:inherit;font-weight:800;border:1px solid var(--line);border-radius:5px;padding:0 4px}
/* 3D arena (scene3d.js): the WebGL canvas sits behind the 2D canvas, which keeps the HUD text, taps and focus. */
.cmx3d-wrap{position:relative;width:100%;max-width:min(760px,calc(100vh - 280px));min-width:280px;aspect-ratio:1;border-radius:26px;overflow:hidden;background:#0B0D1A;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 24px 70px rgba(10,8,40,.55)}
.cmx3d-wrap>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;min-width:0!important;border-radius:0!important;box-shadow:none!important}
.cmx3d-wrap>canvas.cmx3d{opacity:0;transition:opacity .35s ease}.cmx3d-wrap>canvas.cmx3d.on{opacity:1}
