:root{color-scheme:dark;--cyan:#43edfa;--pink:#ff58cf;--gold:#ffd86b;--ink:#070b14;font:16px/1.5 Arial,sans-serif;background:var(--ink);color:#edf6ff}
.power-status{position:absolute;top:87px;left:8px;right:8px;text-align:center;color:#b5fff1;background:#081626dc;border-radius:7px;padding:5px;font:bold 11px/1.5 Arial,sans-serif;pointer-events:none}
.stage:has(.overlay:not([hidden])) .power-status{display:none}
.stage .selection-sheet .controls-copy{font-size:12px;line-height:1.6}
.stage .selection-sheet>p{margin:4px 0}
.stage .hero-card img{height:80px}
.stage .hero-grid{margin:8px 0}
.stage .selection-sheet h2{font-size:14px;margin-bottom:6px}
@media(max-width:540px) and (max-height:740px){body .arcade-layout .stage{height:calc(100svh - 330px);min-height:300px}}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#20213a 0%,#070b14 65%);min-height:100dvh}button,a,input{touch-action:manipulation}button{font:700 .875rem/1.4 Arial,sans-serif;min-height:46px;padding:11px 16px;border:1px solid #6a7893;background:#101e30;color:#edf6ff;border-radius:10px;cursor:pointer}button:disabled{opacity:.65;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button:hover:not(:disabled){border-color:var(--cyan)}[hidden]{display:none!important}
.runner-shell{max-width:900px;margin:auto;padding:14px 20px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.topbar h1{font-family:'Press Start 2P',monospace;font-size:clamp(.85rem,3vw,1.4rem);line-height:1.7;margin:0;color:var(--cyan);text-shadow:0 0 16px #00efff70}.back-link{font-size:.875rem;font-weight:700;color:#d8e7f7;text-decoration:none}.hud{display:flex;align-items:center;gap:30px;padding:10px 16px;border:1px solid #42516a;border-radius:12px 12px 0 0;background:#0d1423}.hud div{display:grid}.hud span{font-size:.75rem;color:#b4c6de;letter-spacing:.04em}.hud strong{font-family:'Press Start 2P',monospace;font-size:1.125rem;line-height:1.7;color:var(--gold)}.hud button{margin-left:auto;font-size:.75rem;padding:8px 12px}
.stage{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;max-height:calc(100dvh - 235px);min-height:430px;border:1px solid #42516a;border-top:0;background:radial-gradient(ellipse at 50% 15%,#292142,#080e1a 65%);border-radius:0 0 12px 12px}.stage canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:18px;background:#050915c9;backdrop-filter:blur(7px)}.selection-sheet{text-align:center;width:100%;max-width:700px;margin:auto}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--pink);margin:0 0 12px}h2{font:clamp(.875rem,2.5vw,1.2rem)/1.6 'Press Start 2P',monospace;margin:0 0 10px}.selection-sheet>p{margin:10px 0;color:#c7d6e7}.hero-grid{border:0;padding:0;margin:22px 0 14px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.hero-card{position:relative;cursor:pointer;display:grid;grid-template-rows:1fr auto;padding:5px;border:2px solid #3d4c66;border-radius:11px;background:#070c17;overflow:hidden}.hero-card:has(input:checked){border-color:var(--cyan);box-shadow:0 0 16px #00efff35;background:#173040}.hero-card:focus-within{outline:2px solid var(--gold);outline-offset:3px}.hero-card img{width:100%;height:clamp(95px,15vw,160px);object-fit:cover;object-position:50% 12%;border-radius:6px}.hero-card span{font-weight:700;font-size:.875rem;line-height:1.3;padding:8px 0 4px}.hero-card input{position:absolute;right:8px;top:8px;accent-color:var(--cyan);width:18px;height:18px}.primary{background:var(--cyan);color:#041019;border-color:var(--cyan);font-weight:800;min-width:220px}.controls-copy{line-height:1.8}.controls-copy b{padding-left:10px;color:white}#loadStatus{font-size:.75rem;color:#b5c3d6}.menu-sheet{max-width:420px;width:100%;padding:28px;text-align:center;background:#0a1223;border:1px solid #586883;border-radius:18px;box-shadow:0 20px 60px #0007}.menu-sheet button{width:100%;margin:6px 0}.menu-sheet p{color:#c1cfe3}.final-score{display:block;font:2.5rem/1.5 'Press Start 2P',monospace;color:var(--gold);margin-top:20px}.event-message{position:absolute;left:10px;right:10px;top:15px;text-align:center;color:#fff;font-weight:700;text-shadow:0 2px 4px #000;pointer-events:none;min-height:24px}.touch-controls{display:flex;justify-content:center;gap:10px;margin-top:12px}.touch-controls button{flex:1;max-width:180px;min-height:48px;font-size:1rem}.help-line{text-align:center;font-size:.875rem;color:#bdcbe0;margin:12px 0}.syndicate-guide{margin:24px 0 0;padding:16px;border-top:1px solid #33435d;color:#c1cee1}.syndicate-guide summary{cursor:pointer;font-weight:700;font-size:.875rem}#enemyGuide{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}#enemyGuide img{width:100%;height:115px;object-fit:cover;object-position:top;border-radius:8px}#enemyGuide p{font-size:.875rem;text-align:center;margin:6px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stage{width:100%}.event-message{top:auto;bottom:10px;font-size:14px}.action-cue{position:absolute;top:12px;left:12px;right:12px;max-width:450px;margin:auto;padding:10px 14px;background:#081221ee;border:1px solid #6ee9c3;border-radius:10px;text-align:center;pointer-events:none;color:#afffe0}.action-cue strong{display:block;font:800 clamp(14px,3vw,18px)/1.35 Arial,sans-serif;min-height:25px}.action-cue[data-state=ready]{color:#ffe197;border-color:#ffc859}.action-cue[data-state=now]{color:#fff;border-color:#ff8fa7;background:#522139f2}.approach-meter{display:block;height:5px;margin-top:8px;overflow:hidden;background:#ffffff20;border-radius:5px}.approach-meter>span{display:block;height:100%;background:currentColor;width:0;transform-origin:left}
@media(min-width:700px){.stage{min-height:560px}.runner-shell{max-width:820px}}
@media(max-width:540px){.runner-shell{padding:10px 10px 20px}.topbar{gap:8px}.topbar button{padding:9px;font-size:.75rem}.hud{gap:18px;padding:8px 12px}.hud strong{font-size:.95rem}.hud span{font-size:.7rem}.hud button{font-size:.7rem;padding:7px}.stage{min-height:460px;max-height:none;height:calc(100svh - 210px);aspect-ratio:auto}.overlay{padding:14px 10px}.hero-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.hero-card img{height:96px;object-position:50% 8%}.hero-card span{font-size:.875rem}.hero-card:nth-last-child(-n+2){transform:translateX(50%)}.selection-sheet>p{font-size:.875rem;margin:8px 0}.selection-sheet h2{font-size:.85rem}.eyebrow{font-size:.7rem}.touch-controls{gap:6px}.touch-controls button{font-size:.875rem;padding:9px 6px}.controls-copy{font-size:.875rem}.primary{min-width:200px}#enemyGuide{grid-template-columns:repeat(3,1fr)}}
@media(max-height:500px) and (orientation:landscape){.runner-shell{max-width:900px}.stage{height:380px;min-height:380px;max-height:none}.hero-card img{height:110px}.hero-grid{grid-template-columns:repeat(5,1fr);margin:12px 0}.hero-card:nth-last-child(-n+2){transform:none}.selection-sheet>p{margin:6px 0}.overlay{padding:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Arcade panels surround the existing v5 stage without changing its playfield. */
.arcade-layout{display:grid;grid-template-columns:230px minmax(0,780px) 230px;gap:20px;max-width:1320px;margin:auto;padding:22px 20px 32px;align-items:start}.arcade-layout .runner-shell{width:100%;max-width:780px;padding:0;min-width:0}.arcade-panel{padding:20px 16px;border:1px solid var(--cyan);border-radius:12px;background:#081321;box-shadow:0 0 16px #43edfa12;color:#bfd0e5;font-size:.875rem;overflow-wrap:anywhere}.arcade-panel h2{font-size:.78rem;line-height:1.9;color:var(--cyan);text-shadow:0 0 12px #43edfa35}.arcade-panel p{margin:12px 0}.arcade-panel button{font-size:.7rem;width:100%;min-height:42px}.arcade-links{display:grid;gap:13px;border-top:1px solid #315264;margin-top:20px;padding-top:20px}.arcade-links a{color:var(--cyan);font-weight:700;text-decoration:none;font-size:.75rem}.arcade-links a:hover{text-decoration:underline}.board-note{font-size:.75rem;line-height:1.65;color:#9bb3cb}.leaderboard-table{border-collapse:collapse;width:100%;font-size:.72rem;font-variant-numeric:tabular-nums;margin:18px 0;table-layout:fixed}.leaderboard-table th{text-align:left;color:var(--gold);font-size:.58rem;padding:7px 2px;border-bottom:1px solid #356171}.leaderboard-table td{padding:9px 2px;border-bottom:1px solid #213348;vertical-align:top}.leaderboard-table th:first-child{width:10%}.leaderboard-table th:nth-child(2){width:42%}.leaderboard-table th:nth-child(3),.leaderboard-table th:nth-child(4){width:24%;text-align:right}.leaderboard-table td:nth-child(3),.leaderboard-table td:nth-child(4){text-align:right}.controls-guide{list-style:none;padding:0;margin:20px 0}.controls-guide li{margin:12px 0}.controls-guide b{color:var(--gold)}.arcade-panel .cats-heading{margin-top:30px}.guide-panel #enemyGuide{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.guide-panel #enemyGuide img{height:108px;object-fit:contain;background:#0d1b2c}.guide-panel #enemyGuide p{font-size:.7rem;line-height:1.5;color:#e0eafa}.score-form{margin:18px 0;padding:16px 0;border-block:1px solid #2c4b60;text-align:left}.score-form label{display:block;font-size:.7rem;font-weight:700;color:var(--cyan);letter-spacing:.04em}.score-form input{width:100%;min-height:44px;margin:8px 0;padding:9px 12px;border:1px solid #5c829d;border-radius:7px;background:#07101b;color:#fff;font:700 1rem Arial,sans-serif;text-transform:uppercase}.score-form input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.score-form small{display:block;font-size:.72rem;line-height:1.5;color:#adbed5}.score-form #scoreStatus{font-size:.78rem;line-height:1.5;margin:6px 0 0}.menu-sheet{margin:auto}.score-form button{min-height:42px}.scores-panel{margin-top:60px}.guide-panel{margin-top:60px}
@media(max-width:1120px){.arcade-layout{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;gap:20px}.arcade-layout .runner-shell{grid-column:1/-1;grid-row:1}.scores-panel,.guide-panel{margin-top:0}.guide-panel #enemyGuide{grid-template-columns:repeat(3,minmax(0,1fr))}.leaderboard-table{font-size:.8rem}.leaderboard-table th{font-size:.68rem}}
@media(max-width:540px){.arcade-layout{display:flex;flex-direction:column;padding:10px 10px 24px;gap:20px}.arcade-layout .runner-shell{order:0}.arcade-panel{width:100%}.scores-panel{order:1}.guide-panel{order:2}.menu-sheet{padding:20px 18px}.score-form{margin:12px 0;padding:12px 0}.final-score{margin-top:10px;font-size:2rem}}
.arcade-panel h2{font-size:.875rem}.arcade-panel button,.arcade-links a,.leaderboard-table{font-size:.875rem}.leaderboard-table th,.guide-panel #enemyGuide p{font-size:.75rem}
@media(min-width:1121px){.arcade-layout{grid-template-columns:270px minmax(0,780px) 230px;max-width:1360px}}

/* The grid item's inherited auto margins were vertically centering the game. */
.arcade-layout{padding-top:10px}
.arcade-layout .runner-shell{margin:0;align-self:start}
.arcade-layout .scores-panel,.arcade-layout .guide-panel{margin-top:0}
.arcade-layout .topbar{margin-bottom:8px}
.arcade-layout .stage{max-height:calc(100dvh - 320px);min-height:420px}
@media(max-width:540px){.arcade-layout .stage{height:calc(100svh - 360px);min-height:460px;max-height:none}}
.chunky-bonus{position:absolute;left:8px;right:8px;top:27%;z-index:4;text-align:center;pointer-events:none;animation:chunky-pop 1.8s ease-out both}
.chunky-bonus strong{display:block;color:#ffe368;font:clamp(24px,5vw,48px)/1.35 'Press Start 2P',monospace;text-shadow:3px 3px #12101d,-2px -2px #12101d,0 0 22px #ffb500}
.chunky-bonus span{display:inline-block;margin-top:12px;padding:7px 12px;border:1px solid #ffdc73;border-radius:8px;background:#081221ed;color:#fff2ba;font:700 14px/1.4 Arial,sans-serif}
@keyframes chunky-pop{0%{opacity:0;transform:scale(.86)}12%{opacity:1;transform:scale(1.04)}24%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.chunky-bonus{animation:none}}

/* Keep choosing and replaying inside the playfield, including small phones. */
.hero-card img{height:100px}
.hero-grid{margin:12px 0;gap:6px}
.selection-sheet>p{margin:6px 0}
.score-entry{margin:12px 0;text-align:left;border-block:1px solid #2c4b60}
.score-entry summary{padding:12px 0;cursor:pointer;color:var(--cyan);font-size:14px;font-weight:700}
.score-entry .score-form{margin:0;padding:0 0 8px;border:0}
.menu-sheet{padding:18px;max-width:360px}
.menu-sheet p{margin:7px 0;font-size:14px}
.menu-sheet .eyebrow{font-size:11px}
.final-score{font-size:28px;margin-top:8px}
.overlay{overscroll-behavior:contain}
@media(max-width:540px){
  .hero-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:10px 0}
  .hero-card{padding:3px;border-radius:8px}
  .hero-card img{height:74px}
  .hero-card span{font-size:11px;padding:5px 0;min-height:36px;display:grid;place-content:center}
  .hero-card input{width:14px;height:14px;right:3px;top:3px}
  .hero-card:nth-last-child(-n+2){transform:none}
  .selection-sheet .controls-copy{font-size:12px;line-height:1.6}
  .selection-sheet h2{font-size:12px}
  .selection-sheet .eyebrow{font-size:10px}
  .overlay{padding:10px 8px}
  .menu-sheet{padding:14px 12px}
  .menu-sheet h2{font-size:13px}
  .menu-sheet button{margin:4px 0}
  .arcade-layout .stage{height:clamp(380px,calc(100svh - 325px),520px);min-height:380px}
  .topbar .back-link{display:none}
  .hud{gap:10px;padding:7px 10px}
  .touch-controls{margin-top:8px}
  .help-line{font-size:12px;margin:8px 0}
}
