:root{color-scheme:dark;font-family:'Courier New',monospace;color:#fff3ce;background:#100d18;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden;touch-action:none;overscroll-behavior:none;user-select:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #6fffea;outline-offset:5px}#cabinet{height:100dvh;width:100vw;display:grid;place-items:center;background:repeating-linear-gradient(90deg,#100c17 0,#100c17 30px,#171321 31px,#171321 32px)}#stage{width:min(100vw,177.7778dvh);height:min(56.25vw,100dvh);position:relative;overflow:hidden;background:#0b0a11;box-shadow:0 0 100px #b9526529;border:1px solid #b38c5844;container-type:size}canvas{width:100%;height:100%;display:block}#glass{position:absolute;inset:0;pointer-events:none;z-index:4;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#00000019 4px);box-shadow:inset 0 0 7cqw #0008}#screen{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}#screen:empty{pointer-events:none}.panel{padding:2cqw 3cqw;background:#100d18e8;border:1px solid #aa855f;box-shadow:8px 8px 0 #0005;min-width:30cqw}.eyebrow{font-size:1.1cqw;letter-spacing:.3em;color:#d5ac7a;margin-bottom:1cqw}h1,h2{font-size:3.4cqw;line-height:1.1;letter-spacing:.08em;margin:0 0 1.5cqw;text-shadow:3px 3px #382034}button.arcade{background:#171323;border:2px solid #ffe0a9;padding:1.1cqw 2.5cqw;box-shadow:4px 4px 0 #744c48;font-weight:bold;letter-spacing:.12em;font-size:1.5cqw}button.arcade:hover{background:#483348;color:white}.coin{position:absolute;bottom:4cqw;animation:blink 1.2s steps(2,start) infinite;background:#160f22e8!important;color:#fff2c7}.keyhint{position:absolute;bottom:1.5cqw;color:#fff2cfaa;font-size:.9cqw;letter-spacing:.12em}.selection{width:78cqw;padding-top:3cqw}.cards{display:flex;gap:2cqw;justify-content:center;margin:1.4cqw 0 2cqw}.card{width:19cqw;background:linear-gradient(#151320e8,#251a26ee);border:1px solid #96734f;padding:1cqw 1cqw .9cqw;transition:transform .15s,border-color .15s}.card.chosen{border:3px solid #69f4e0;transform:translateY(-.5cqw);box-shadow:0 0 24px #4dd6db30}.card img{height:20cqw;width:100%;object-fit:contain;filter:drop-shadow(4px 5px 0 #0005)}.card strong{display:block;font-size:1.25cqw;margin-top:.7cqw}.ability{display:block;color:#72f8e7;font-size:2.4cqw;height:3cqw}.card .dots{color:#dc91c8;font-size:1.2cqw;letter-spacing:.3em}#hud{position:absolute;inset:1.6cqw 2.2cqw auto;display:flex;justify-content:space-between;pointer-events:none;z-index:6;font-size:1.25cqw;text-shadow:2px 2px #000}#hud b,#hud strong{display:block}#hud b{letter-spacing:.18em;font-size:1cqw}#hud strong{font-size:1.6cqw;letter-spacing:.1em}.pink{color:#ff94cf}.record{text-align:center;position:absolute;left:50%;transform:translateX(-50%)}.hud-right{display:flex;gap:.8cqw;pointer-events:auto}.hud-right button{background:#130f1ec9;border:1px solid #dbb78888;min-width:3.2cqw;height:3cqw;font-weight:bold;font-size:1.5cqw}#bottom{position:absolute;bottom:1.5cqw;left:2.2cqw;right:2.2cqw;display:flex;justify-content:space-between;font-size:1.2cqw;z-index:3;pointer-events:none;letter-spacing:.1em}#lives{color:#ff99cf}#joystick{position:absolute;display:none;z-index:7;width:120px;height:120px;border:2px solid #ffebba80;border-radius:50%;background:#130d2244;pointer-events:none}#joystick i{display:block;position:absolute;left:38px;top:38px;width:40px;height:40px;background:#ffe8b7aa;border-radius:50%}#action{display:none;position:absolute;z-index:7;right:max(4cqw,env(safe-area-inset-right));bottom:max(4cqw,env(safe-area-inset-bottom));width:7cqw;height:7cqw;min-width:56px;min-height:56px;border-radius:50%;border:2px solid #ffaad5;background:#c2488580;font-size:3cqw;touch-action:none}#action:active{background:#ff79bba0}.initials{width:11cqw;background:#080611;border:1px solid #c6a06a;color:#75ffe8;letter-spacing:.3em;text-transform:uppercase;font-size:3cqw;text-align:center;padding:.5cqw;margin:1cqw}.result-score{font-size:3cqw;letter-spacing:.2em;color:#77fce6;margin:1cqw}.final-panel{position:absolute;right:2cqw;bottom:2cqw;min-width:25cqw!important}#loading{position:absolute;inset:0;background:#100d18;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2cqw;letter-spacing:.3em;font-size:4cqw}progress{width:30cqw;height:6px;accent-color:#ef8cc6}#rotate{display:none;position:fixed;inset:0;z-index:50;background:#100d18;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-size:16px;letter-spacing:.1em}#rotate span{font-size:80px;color:#ef8cc6}@media(orientation:portrait){#rotate{display:flex}}@keyframes blink{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.coin{animation:none}#glass{background:none}}

@media(max-width:900px) and (orientation:landscape){.eyebrow,#hud b,#bottom,.keyhint{font-size:12px}.card strong{font-size:12px}.card .dots{font-size:12px}.hud-right button{min-width:36px;height:30px;font-size:18px}button.arcade{font-size:14px}.selection{padding-top:2cqw}.cards{margin:.6cqw 0 1cqw}.card img{height:18cqw}.card .ability{height:2.6cqw}.initials{font-size:24px;min-width:100px}}

#home{font-size:clamp(12px,1cqw,20px);width:auto;padding:0 .7cqw}#home[hidden]{display:none}#objective{position:absolute;bottom:1.4cqw;left:30%;width:40%;z-index:3;background:#100d18e8;border:1px solid #d0ab7380;padding:.7cqw 1cqw;pointer-events:none;text-shadow:1px 1px #000}#objective[hidden]{display:none}.objective-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(12px,1.2cqw,24px);letter-spacing:.05em}.objective-heading strong{color:#8affe4;font-size:clamp(15px,1.55cqw,30px)}#objective-bar{height:8px;background:#564354;margin:.4cqw 0;border:1px solid #ae8a6155}#objective-bar i{display:block;height:100%;width:0;background:#78f5db}#objective-detail{display:block;text-align:center;font-size:clamp(11px,.9cqw,18px);color:#f4d8ad}.objective-preview{font-size:clamp(12px,1.4cqw,26px);color:#f7d8aa;letter-spacing:.07em;margin:.7cqw 0}.objective-preview strong{color:#80ffe4}.objective-preview span{font-size:.8em;margin-left:1em}.secondary{display:block;margin:1.3cqw auto 0;font-size:clamp(12px,1cqw,20px)!important;border-color:#9e8164!important}.record{pointer-events:none}@media(max-width:900px) and (orientation:landscape){#objective{bottom:1cqw;width:42%;left:29%;padding:4px 8px}#objective-bar{height:6px;margin:3px 0}.selection .cards{margin:.5cqw 0}.selection .card img{height:16cqw}.hud-right{gap:4px}#home{min-width:0;padding:0 5px}}

.selection{padding-top:3.8cqw}.selection h2{margin-bottom:.5cqw}.selection .cards{margin:.9cqw 0 .5cqw}.selection .card img{height:14cqw}.selection .card{padding:.7cqw}.selection .ability{height:2cqw}.instructions{background:#130f20e8;border-left:3px solid #80ffe4;padding:.65cqw 1.2cqw;text-align:left;margin:.6cqw auto .9cqw;max-width:70cqw;font-size:clamp(13px,1.1cqw,21px);line-height:1.35}.instructions>strong{color:#8affe4;font-size:clamp(15px,1.4cqw,27px)}.instructions p{margin:.25cqw 0 .4cqw}.controls-help{display:flex;gap:1.2cqw;flex-wrap:wrap;color:#e6bc92;font-size:clamp(12px,1cqw,19px)}#character-note{font-size:clamp(12px,1.1cqw,21px);color:#f6d9b1;margin:.5cqw 0 .8cqw}@media(max-width:900px) and (orientation:landscape){.selection{width:90cqw;padding-top:5cqw}.selection .eyebrow{margin-bottom:.4cqw}.selection h2{font-size:2.6cqw}.selection .objective-preview{margin:.3cqw 0}.instructions{max-width:88cqw;padding:5px 9px;font-size:12px;line-height:1.2;margin:.4cqw auto .7cqw}.instructions>strong{font-size:14px}.controls-help{font-size:11px;gap:6px 16px}.selection .card img{height:9cqw}.selection .card{width:23cqw;padding:.4cqw}.selection .card strong{margin-top:.2cqw}.selection .card .ability{height:1.9cqw}.selection .card .dots{font-size:11px}#character-note{font-size:12px;margin:.4cqw 0}.selection button.arcade{padding:.7cqw 2cqw}}

/* Keep selection actions outside the scrollable content, even on short phones. */
body{touch-action:auto}
canvas{touch-action:none}
#screen.is-select{padding:0;justify-content:stretch;align-items:stretch}
#screen.is-select .selection{position:absolute;inset:max(52px,7cqh) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));width:auto;padding:0;display:flex;flex-direction:column;min-height:0}
.selection-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior:contain;padding:8px 10px;scroll-padding:12px;-webkit-overflow-scrolling:touch}
.selection-footer{flex:0 0 auto;padding:8px 12px;background:#100d18f2;border-top:1px solid #aa855f}
.selection-footer #start{min-height:44px;min-width:160px;padding:8px 24px;font-size:16px}
.selection .instructions{font-size:16px;line-height:1.4;max-width:900px}
.selection .instructions>strong{font-size:18px}
.selection .controls-help,.selection #character-note,.selection .card strong,.selection .card .dots,.selection .eyebrow{font-size:14px}
.selection .card{min-height:44px;flex:1;max-width:270px;min-width:0}
.selection .card strong{overflow-wrap:anywhere}
.selection .cards{max-width:900px;margin:12px auto;align-items:stretch}
.selection .card img{height:clamp(60px,13cqw,220px)}
.selection .objective-preview{font-size:16px}
.selection h2{font-size:clamp(20px,3cqw,60px)}
@media(max-height:500px){
 .selection-scroll{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:6px 16px;align-content:start}
 .selection .eyebrow,.selection h2,.selection .objective-preview,.selection .instructions{grid-column:1;margin:0}
 .selection .cards{grid-column:2;grid-row:1 / 5;width:100%;margin:6px 0;gap:6px;align-self:start}
 .selection #character-note{grid-column:2;grid-row:5;margin:0}
 .selection .card img{height:70px}
 .selection .ability{height:24px}
}

.credits-link{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #aa855f;background:#100d18e8;color:#fff3ce;font-size:14px;letter-spacing:.1em;text-decoration:none}.credits-link:hover{background:#483348}.credits-link:focus-visible{outline:3px solid #6fffea;outline-offset:3px}
