/* 0.2: dedicated launch and gameplay surfaces; no launch UI inside a clipped canvas. */
html{scroll-padding-top:12px}button,a.button{touch-action:manipulation}button[hidden]{display:none!important}
.hub-heading{margin:0 0 22px}.hub-heading h1{font-size:32px}.hub-heading p{margin:8px 0}.standalone-link{display:block;padding:12px 0;color:#a6eaff;font-size:14px;text-align:center}.tag{font-size:12px}
.game-grid .card .art,.launch-screen .launch-art{object-fit:contain;padding:14px;background:radial-gradient(ellipse at center,#34496f,#14203b);box-sizing:border-box}
.original-open{height:100dvh;overflow:hidden}.original-open main{height:100dvh;display:flex;flex-direction:column;padding:6px;max-width:none}.original-player{display:flex;flex-direction:column;flex:1;min-height:0}.original-player iframe{border:0;width:100%;flex:1;min-height:0;background:#090f24}.original-help{font-size:12px;margin:4px;text-align:center}.original-help a{color:#a6eaff;margin-left:12px}
.gamehead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;flex:none}.gamehead h1{font-size:clamp(16px,2.5vw,26px);margin:0;flex:1;text-align:center}.gamehead button{min-height:48px;padding:8px 12px}.gamehead #game-settings{font-size:22px;width:48px}
.game-open>header,.game-open>nav{display:none}.game-open main{padding:12px 16px 24px;max-width:1200px}.game-open .gamehead{position:sticky;top:0;background:#0c1730;z-index:5;padding:5px;border-radius:12px}
.launch-screen{max-width:560px;margin:auto;text-align:center;padding:12px 8px}.launch-art{display:block;width:100%;height:clamp(90px,20dvh,180px);object-fit:cover;border-radius:18px;margin-bottom:18px}.launch-screen h2{margin:12px 0}.big-start{display:flex;width:100%;min-height:64px;font-size:22px}.help{font-size:14px}.launch-screen p{font-size:16px}
.overlay{position:fixed;inset:0;z-index:20;padding:16px;overflow:auto;border-radius:0}.overlay .panel{margin:auto;max-height:calc(100dvh - 32px);overflow:auto}.dialog{z-index:30}
.arcade-open{overflow:hidden;height:100dvh}.arcade-open main{height:100dvh;display:flex;flex-direction:column;max-width:1600px;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));overflow:hidden}.arcade-open .gamehead{position:static;margin-bottom:6px;min-height:48px}
.arcade-game{display:flex;flex-direction:column;flex:1;min-height:0;gap:6px}.arcade-toolbar{display:flex;align-items:center;gap:8px;flex:none}.arcade-toolbar select{flex:1;min-width:0;min-height:44px}.arcade-toolbar button{min-height:44px;padding:8px 12px}.arcade-game .scorebar{font-size:13px;min-height:28px;align-items:center;padding:6px 10px;margin:0;gap:8px;flex:none}.arcade-game .canvas-wrap,.arcade-game .canvas-wrap:has(canvas[width="800"]){display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;max-width:none!important;margin:0;flex:1;border-radius:12px}.arcade-game canvas{width:100%;height:100%;object-fit:contain;min-height:0;aspect-ratio:auto!important}.arcade-game .controls{display:flex;gap:8px;flex:none;margin:0}.arcade-game .controls button{flex:1;min-width:0;min-height:60px;padding:8px;font-size:16px}.arcade-game .statusline{margin:0;min-height:0;font-size:13px}.arcade-game .statusline:empty{display:none}.arcade-game:not(.is-running) .canvas-wrap,.arcade-game:not(.is-running) .controls{display:none}.launch-panel{overflow:auto;padding:20px;max-width:580px;margin:auto;text-align:center}.launch-panel button{min-height:64px;width:100%}.arcade-help{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#081025f0}.arcade-help .panel{max-width:550px}
.keypad:has([data-number]){bottom:0}.game-open .keypad{scroll-margin-bottom:12px}.ledger-wrap{overflow:auto}.game-open .row select{min-height:48px}
.active-crossword-clue{grid-column:1/-1;background:#192c48;border-left:4px solid #f6d875;padding:12px;margin:0;color:#fff5cd}.cross-layout:has(.active-crossword-clue){display:flex;flex-direction:column;max-width:780px;margin:auto}.cross-layout>.keypad{position:static;margin:8px 0}.crossword-clue-list{max-height:240px;overflow:auto;border-top:1px solid #45617e;padding:8px}.crossword-clue-list h2{font-size:18px}.crossword-clue-list .clue{min-height:44px}
@media(max-width:550px){
 header{position:relative}.brand small{font-size:10px}.game-grid{grid-template-columns:1fr}.game-grid .card{display:grid;grid-template-columns:100px 1fr}.game-grid .card .art{width:100px;height:100%;min-height:180px}.game-grid .card .copy{padding:14px}.game-grid .card h2{font-size:20px}.game-grid .card p{font-size:15px;margin-bottom:10px}.game-grid .card button{min-height:56px;font-size:17px}.hub-heading h1{font-size:28px}.game-open main{padding:8px 8px 24px}.arcade-open main{padding:4px 4px max(4px,env(safe-area-inset-bottom))}.gamehead{gap:4px}.gamehead h1{font-size:17px}.arcade-game .controls button{font-size:14px;min-height:60px}.game-open .board{max-width:100%}.cross-layout{gap:12px}.keypad button{min-width:38px;min-height:48px}.launch-screen .launch-art{height:16dvh}.launch-screen p{margin:14px 0}.launch-screen .help{font-size:13px}
}
@media(max-height:500px) and (orientation:landscape){.arcade-open .gamehead{min-height:38px}.arcade-open .gamehead button{min-height:36px}.arcade-toolbar select,.arcade-toolbar button{min-height:36px;padding:5px 10px}.arcade-game .controls button{min-height:44px}.arcade-game .scorebar{font-size:12px;padding:3px 8px}.arcade-game{gap:3px}.launch-art{display:none}.launch-screen{padding:4px}.launch-screen h2{display:none}.big-start{min-height:56px}}
.android-alpha{display:grid;gap:.65rem;justify-items:start;margin:1.1rem 0}.android-alpha a{max-width:100%;white-space:normal;line-height:1.3}.android-alpha small{color:#bbc7da;line-height:1.5}

/* Ordinary catalog pages must remain touch-scrollable after intro/game handoffs. */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-y:auto}
body:not(.game-open):not(.arcade-open):not(.original-open):not(.intro-active){height:auto!important;min-height:100dvh;overflow-y:auto!important;touch-action:pan-y!important}
body:not(.game-open):not(.arcade-open):not(.original-open):not(.intro-active) main{height:auto!important;min-height:calc(100dvh - 90px);overflow:visible!important;touch-action:pan-y!important}
body:not(.game-open):not(.arcade-open):not(.original-open):not(.intro-active) nav,
body:not(.game-open):not(.arcade-open):not(.original-open):not(.intro-active) button,
body:not(.game-open):not(.arcade-open):not(.original-open):not(.intro-active) a{touch-action:manipulation}
