:root{--night:#090b19;--panel:#111529;--text:#f4f1ff;--muted:#c0c4d8;--line:#353953;--amber:#ffbc7e;--purple:#c2b4ff;--cyan:#9de8ed;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--accent:var(--cyan)}
*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--text);font:1rem/1.7 var(--sans);min-width:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,canvas{touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}button:disabled{opacity:.45;cursor:default}a:hover{color:var(--amber)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.3;margin-bottom:.6rem}h2{font-size:1.4rem}h3{font-size:1.2rem}p{color:var(--muted)}.skip{position:absolute;left:1rem;top:-5rem;z-index:10;background:var(--amber);color:var(--night);padding:.6rem}.skip:focus{top:.5rem}.arcade-header{border-bottom:1px solid var(--line);background:var(--night)}.arcade-bar{max-width:1180px;margin:auto;padding:1rem 2rem;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.arcade-brand{display:flex;align-items:center;gap:.7rem;font:600 1rem var(--mono)}.brand-mark{display:grid;place-items:center;width:2.4rem;height:2.4rem;background:#23223b;border:1px solid #706188;color:var(--amber);box-shadow:3px 3px #46394f;font:600 1.3rem var(--mono)}.arcade-nav{display:flex;gap:.6rem 1.2rem;flex-wrap:wrap;font-size:.9rem}.arcade-nav a{padding:.35rem 0;color:var(--muted)}.arcade-nav a[aria-current]{color:var(--amber)}.arcade-main{width:min(1100px,calc(100% - 4rem));margin:2rem auto 3rem}.eyebrow{color:var(--amber);font:.8rem var(--mono);letter-spacing:.1em;margin-bottom:.7rem}.game-intro{display:flex;gap:1rem;align-items:end;justify-content:space-between;margin-bottom:1.5rem}.game-intro p{margin-bottom:0}.back-link{font-size:.9rem;color:var(--muted);white-space:nowrap;padding:.5rem 0}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;align-items:start}.game-layout.blocks-layout{grid-template-columns:minmax(0,420px) minmax(230px,320px);justify-content:center}.play-column{min-width:0}.board-shell{position:relative;background:#060a16;border:2px solid #5f5877;box-shadow:6px 6px #242039;overflow:hidden;width:100%}.blocks-layout .board-shell{max-width:302px;margin:auto}.game-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:none}.board-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.2rem;background:rgba(6,10,22,.83);pointer-events:none}.board-overlay[hidden]{display:none}.overlay-inner{max-width:24rem}.overlay-kicker{color:var(--accent);font:.75rem var(--mono);letter-spacing:.12em;margin-bottom:1rem}.overlay-title{color:var(--text);font-size:clamp(1.3rem,3vw,2rem);line-height:1.45;margin-bottom:.7rem}.overlay-description{font-size:.95rem;line-height:1.8;margin:0}.game-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.game-button{border:1px solid #625574;background:#1b1a30;color:var(--text);min-height:46px;padding:.55rem 1rem;box-shadow:3px 3px #30263e}.game-button.primary{background:#403144;color:var(--amber);border-color:#a27768}.game-button:hover{border-color:var(--accent)}.side-panel{border-top:2px solid var(--accent);padding-top:1rem}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1.5rem}.score-grid div{min-width:0;border-bottom:1px solid var(--line);padding-bottom:.8rem}.score-grid dt{color:var(--muted);font-size:.85rem}.score-grid dd{margin:.2rem 0 0;font:600 1.6rem/1.3 var(--mono);overflow-wrap:anywhere;color:var(--text)}.instructions{font-size:.9rem;color:var(--muted)}.instructions h2{font-size:1rem;color:var(--text);margin-bottom:.6rem}.instructions ul{padding-left:1.2rem;margin-top:0}.instructions li{margin-bottom:.45rem}.key{display:inline-block;border:1px solid #5d5a74;padding:0 .35rem;color:var(--text);font:.85rem var(--mono);background:#19192c}.game-message{min-height:1.6rem;color:var(--accent);font-size:.9rem;margin:1rem 0 0;overflow-wrap:anywhere}.next-panel{display:flex;align-items:center;gap:1rem;margin:1rem 0 1.5rem}.next-panel p{font-size:.9rem;margin:0}.next-canvas{width:96px;height:96px;background:#090e1e;border:1px solid var(--line);image-rendering:pixelated}.touch-controls{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.3rem;user-select:none}.control-button{min-width:52px;min-height:50px;border:1px solid #665778;background:#201d34;color:var(--text);box-shadow:3px 3px #30243c;padding:.55rem .8rem;font-size:1rem;touch-action:none;user-select:none;-webkit-user-select:none}.control-button.is-held,.control-button:active{background:#51435e;border-color:var(--accent);transform:translate(1px,1px)}.control-button.action{color:var(--amber);border-color:#947062}.control-button.wide{min-width:90px}.tank-pad{display:grid;grid-template-columns:52px 52px 52px;gap:.5rem}.tank-pad .up{grid-column:2}.tank-pad .left{grid-row:2;grid-column:1}.tank-pad .down{grid-row:2;grid-column:2}.tank-pad .right{grid-row:2;grid-column:3}.tank-controls{justify-content:space-between;padding-inline:.5rem;gap:1rem}.tank-controls .fire{min-height:75px;min-width:90px}.touch-note{text-align:center;color:var(--muted);font-size:.8rem;margin:.8rem 0 0}.arcade-footer{max-width:1100px;margin:2rem auto 0;padding:1.5rem 2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.hub-head{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin:2rem 0}.hub-head .hub-copy{max-width:600px}.hub-head p{max-width:34rem}.hub-cat{width:150px;height:150px;object-fit:contain;image-rendering:pixelated}.game-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.game-card{display:flex;flex-direction:column;border:1px solid #5c526e;background:var(--panel);box-shadow:5px 5px #30253f;overflow:hidden;transition:transform .2s,border-color .2s}.game-card:hover{transform:translateY(-5px);border-color:var(--accent)}.game-card-body{padding:1.4rem;display:flex;flex-direction:column;flex:1}.game-card-body p{font-size:.95rem;margin-bottom:1.5rem}.game-card .card-number{font:.75rem var(--mono);color:var(--accent);margin-bottom:.8rem}.game-card h2{color:var(--text);margin-bottom:.65rem}.game-card .card-link{margin-top:auto;color:var(--amber);font-size:.95rem}.game-art{display:block;width:100%;height:auto;background:#0b1022;image-rendering:pixelated}.hub-note{margin-top:2rem;padding:.8rem 0;border-top:1px solid var(--line);font-size:.9rem}.tank-page{--accent:var(--amber)}.stars-page{--accent:var(--purple)}
@media(max-width:800px){.arcade-main{width:calc(100% - 2.5rem);margin-top:1.5rem}.arcade-bar{padding-inline:1.25rem;gap:.9rem}.arcade-nav{gap:.4rem 1rem}.game-layout,.game-layout.blocks-layout{grid-template-columns:1fr;gap:1.5rem}.game-layout.blocks-layout{max-width:500px;margin:auto}.side-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.instructions{grid-column:1/-1}.score-grid{margin-bottom:0;gap:.8rem}.next-panel{margin:0;justify-content:flex-end}.game-shelf{grid-template-columns:1fr}.game-card{display:grid;grid-template-columns:40% 1fr}.game-art{height:100%;object-fit:cover}.hub-cat{width:110px;height:110px}.game-intro{align-items:start}.tank-controls{justify-content:space-around}.arcade-footer{padding-inline:1.25rem}}
@media(max-width:480px){.arcade-nav{width:100%;font-size:.82rem}.arcade-main{width:calc(100% - 2rem)}.game-intro{display:block}.back-link{display:inline-block;margin-top:.6rem}.hub-head{align-items:start;gap:.6rem}.hub-cat{width:70px;height:80px}.hub-head h1{font-size:1.7rem}.hub-head p{font-size:.9rem}.game-card{grid-template-columns:1fr}.game-art{height:auto;max-height:180px;object-fit:cover}.game-card-body{padding:1.1rem}.game-card-body p{margin-bottom:1rem}.touch-controls{gap:.55rem}.control-button{min-width:46px;padding:.5rem .6rem}.touch-controls.blocks-controls .wide{width:100%}.game-actions .game-button{flex:1;min-width:6rem;padding-inline:.6rem}.side-panel{gap:.7rem}.score-grid dd{font-size:1.3rem}.next-panel{flex-direction:column;gap:.3rem;align-items:end}.next-canvas{width:80px;height:80px}.arcade-footer{font-size:.75rem}.overlay-description{font-size:.85rem}.overlay-title{font-size:1.3rem}}
@media(max-width:480px){.blocks-layout .board-shell{max-width:min(100%,240px,27svh)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the first action on the play surface. */
.board-overlay{pointer-events:auto}.overlay-start{margin-top:1.25rem;min-width:8rem}.star-rule{border-left:2px solid var(--amber);padding-left:12px}.star-receipt{display:block;border:1px solid var(--amber);padding:12px;color:var(--amber);margin:16px 0}.star-receipt[hidden]{display:none}
@media(min-width:801px){.arcade-main{margin-top:1.5rem}.game-intro{margin-bottom:1.2rem}.game-intro h1{font-size:2rem}.game-layout:not(.blocks-layout) .board-shell{max-width:min(100%,max(350px,calc((100svh - 295px)*1.25)));margin-inline:auto}.blocks-layout .board-shell{max-width:min(302px,max(190px,calc((100svh - 270px)/2)))}}
@media(max-width:480px){.overlay-inner{width:100%}.overlay-kicker{margin-bottom:.65rem}.overlay-start{margin-top:.8rem}.board-overlay{padding:1rem}.game-intro .eyebrow{display:none}.game-intro h1{font-size:1.65rem}}

/* Optional game settings keep the original easy mode as the first choice. */
.game-difficulty{min-width:0;margin:0 0 1rem;padding:0;border:0}.game-difficulty legend{font-size:.875rem;color:var(--muted);margin-bottom:.5rem}.game-difficulty-options{display:flex;flex-wrap:wrap;gap:.5rem}.game-difficulty-options .game-button{min-width:64px;min-height:44px;padding:.4rem .8rem;font-size:.875rem}.game-difficulty-options .game-button[aria-pressed=true]{border-color:var(--amber);background:#393044;color:var(--amber)}.game-difficulty-description{color:var(--muted);font-size:.8125rem;line-height:1.6;min-height:3.2em;max-width:58ch;margin:.65rem 0 .4rem}.game-difficulty-restart{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem}.game-difficulty-restart .game-button{min-height:44px;padding:.4rem .75rem;font-size:.8125rem}.game-difficulty-help{font-size:.8125rem;line-height:1.6;color:var(--muted);margin:0}.game-difficulty-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:480px){.game-difficulty-restart{align-items:flex-start}.game-difficulty-options .game-button{flex:1}.game-difficulty-description{min-height:4.8em}}
[data-game-stage].is-immersive .game-difficulty{margin-bottom:.5rem}[data-game-stage].is-immersive .game-difficulty-description{font-size:.75rem;min-height:3.2em}[data-game-stage].is-immersive .game-difficulty-help{font-size:.75rem}
