@font-face{font-family:Bangers;src:url('assets/bangers.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:'Barlow Condensed';src:url('assets/barlow-condensed.ttf') format('truetype');font-display:swap;font-weight:500 800}
:root{font-family:'Barlow Condensed',system-ui,sans-serif;color:#f7eddd;background:#110e1b;color-scheme:dark;--yellow:#ffdf63;--mint:#94efcf;--pink:#fa87c0;--ink:#171225}
*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100svh;padding:14px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 5%,#34283e,transparent 75%),#110e1b}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:3px}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}
.arcade{width:100%;max-width:1440px;height:calc(100svh - 24px);min-height:500px;max-height:1060px;margin:auto;display:grid;grid-template-rows:44px 59px minmax(180px,1fr) 150px 22px;gap:7px}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}.brand{color:var(--yellow);font:33px/.85 Bangers,Impact,sans-serif;text-decoration:none;letter-spacing:1px;transform:rotate(-2deg)}.brand>span{color:#f4edda}.brand small{display:block;font:600 10px 'Barlow Condensed',sans-serif;letter-spacing:2.8px;margin-top:7px;color:#b7a5c4}.toolbar{display:flex;gap:6px}.utility{display:flex;align-items:center;gap:6px;border:1px solid #5d4c6c;border-radius:6px;background:#211a2e;color:#dbcbe4;padding:7px 13px;font-size:14px;font-weight:600;min-height:40px}.utility>span:first-child{font:22px system-ui}.utility:hover{background:#3d2d49;color:#fff3ce}
.hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 12px;background:#1d172b;border:1px solid #53445e;border-radius:6px;min-width:0}.hero-hud{width:285px;min-width:195px}.health-line{display:flex;align-items:center;gap:10px}.health-line>strong{font:22px Bangers,Impact;color:var(--yellow);letter-spacing:1px}.hearts{display:flex;gap:3px;color:#ff8599;font:18px/1 system-ui}.hearts .empty{color:#584054}.power-line{display:flex;align-items:center;gap:7px;margin-top:4px}.power-line>span{font-size:11px;font-weight:700;color:#cbb6d7;letter-spacing:.5px}.power-track{flex:1;height:6px;background:#493752;border-radius:2px;overflow:hidden}.power-track i{display:block;height:100%;background:var(--mint);transition:width .12s}.power-line b{font-size:11px;color:var(--mint);min-width:33px}.stage-hud{min-width:0;text-align:right;display:flex;flex-direction:column;gap:1px}.stage-hud>span{font-size:14px;font-weight:700;letter-spacing:1px;color:#d6c5d4}.stage-hud strong{font:27px Bangers,Impact;letter-spacing:2px;color:var(--yellow)}
.game-shell{position:relative;isolation:isolate;overflow:hidden;min-height:0;width:100%;background:#19132a;border:2px solid #171225;outline:1px solid #61516d;border-radius:8px;box-shadow:0 10px 45px #0005}canvas{display:block;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 65px #08081742;pointer-events:none;z-index:1}.boss-hud{position:absolute;top:10px;left:25%;right:25%;background:#1a1228e8;border:1px solid #846280;padding:7px 11px;z-index:2;pointer-events:none}.boss-hud>div:first-child{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:14px;letter-spacing:1px;color:#ffb2d1;margin-bottom:5px}#boss-subtitle{font-weight:500;font-size:13px;letter-spacing:0;color:#cbb3d3}.boss-track{height:7px;background:#56304e}.boss-track i{height:100%;display:block;background:#f886b0;transition:width .1s}.chapter{position:absolute;top:10%;left:9%;right:9%;text-align:center;z-index:3;font:clamp(18px,2.4vw,30px) Bangers,Impact;letter-spacing:1px;color:#fff0b0;text-shadow:2px 3px #21132f,0 0 12px #171025;pointer-events:none;opacity:0;transition:opacity .25s}.chapter.visible{opacity:1}.boss-active .chapter{top:22%}.combo{position:absolute;right:20px;top:22%;z-index:2;pointer-events:none;text-align:center;transform:rotate(8deg);text-shadow:3px 3px #261830}.combo b{display:block;font:64px/.85 Bangers,Impact;color:var(--yellow)}.combo span{font:20px Bangers,Impact;color:#f7b6d6}
.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,transparent 12%,#15102544 46%,#171023dc 100%)}.title-panel{width:53%;margin-left:42%;text-align:center;padding:12px}.comic-stamp{font-size:12px;font-weight:700;letter-spacing:2px;color:#ffd972}.comic-stamp span{color:#ff91ba;padding:0 8px}.title-panel h1{font:clamp(58px,7vw,105px)/.83 Bangers,Impact;letter-spacing:2px;color:var(--yellow);margin:17px 0 12px;text-shadow:4px 5px #5b2d59,7px 8px #171225;transform:rotate(-3deg)}.title-panel h1 span{color:#fff0c3}.subtitle{font-size:18px;font-weight:800;letter-spacing:3px;color:#f499c5}.premise{font-size:23px;line-height:1.15;font-weight:600;color:#f1e5e2;margin:14px 0}.level-select{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;margin:12px auto 7px}.level-select select{background:#221a31;color:#ffedcf;border:1px solid #8b7099;border-radius:5px;padding:7px 9px;max-width:100%;font-size:16px;min-height:38px}.rainbow-toggle{display:flex;align-items:center;justify-content:center;gap:8px;margin:7px auto 12px;min-height:36px;border:1px solid #725c7f;border-radius:5px;padding:6px 11px;background:#2a1e37;color:#dccbe6;font-size:15px}.rainbow-toggle b{font-size:12px;color:#b6a0c5;min-width:23px}.rainbow-toggle[aria-pressed=true]{background:linear-gradient(110deg,#6c3449,#655431,#235e54,#443561);color:#fff5cf;border-color:#ecd285}.rainbow-toggle[aria-pressed=true] b{color:#fff0b0}.big-button{border:3px solid #221428;border-radius:5px;background:var(--yellow);color:#241728;font:clamp(22px,2.5vw,32px) Bangers,Impact;letter-spacing:1.3px;padding:11px 24px;box-shadow:4px 5px #131021;min-width:210px;transition:transform .12s}.big-button:hover{transform:translateY(-2px);background:#ffee9a}.big-button:active{transform:translate(2px,3px)}.start-tip{font-size:14px;color:#cfb6d5;margin:12px 0 0}.overlay.dialog{background:#110d20e9;backdrop-filter:blur(4px)}.dialog-panel{text-align:center;padding:18px;max-width:690px}.eyebrow{font-size:14px;letter-spacing:3px;color:#95ebd2;font-weight:700}.dialog-panel h2{font:clamp(32px,4.7vw,62px)/1 Bangers,Impact;letter-spacing:2px;color:#ffe391;margin:14px 0;text-shadow:3px 4px #633e68;transform:rotate(-2deg)}.dialog-panel p{font-size:19px;color:#dfc9e0;margin:14px 0 20px}.dialog-panel .controller-help{font-size:16px;line-height:1.4}.text-button{display:block;background:none;border:0;color:#d4b7dc;margin:14px auto 0;text-decoration:underline;font-size:16px}
/* Every control stays in normal layout below the canvas, including the special. */
.control-deck{display:grid;grid-template-rows:92px 48px;gap:10px;touch-action:none;user-select:none;-webkit-user-select:none}.main-controls{display:flex;gap:18px;align-items:stretch;justify-content:space-between;padding-top:3px}.movement,.actions{display:flex;gap:10px;align-items:stretch}.control{border:2px solid #120d1d;box-shadow:0 4px #08060e,0 0 0 1px #62516d;color:#f5e6ec;background:#43364f;border-radius:13px;padding:8px 12px;display:flex;align-items:center;justify-content:center;gap:5px;touch-action:none;user-select:none;-webkit-user-select:none;min-width:0}.control.direction{font:29px system-ui;width:72px;background:#382e45}.control.jump,.control.whack{width:176px;flex-direction:column}.control.jump{background:#7554a1}.control.whack{background:#ffd566;color:#32202d}.control.jump b,.control.whack b{font:32px/1 Bangers,Impact;letter-spacing:1px;white-space:nowrap}.control small{font-size:12px;font-weight:700;letter-spacing:.6px;white-space:nowrap}.control.held,.control:active{transform:translateY(3px);box-shadow:0 1px #08060e,0 0 0 1px #9585a4;filter:brightness(1.15)}.keyboard-guide{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;max-width:340px;color:#b39cbf;font-size:14px}.keyboard-guide>span{white-space:nowrap}kbd{font:11px system-ui;border:1px solid #675372;border-radius:3px;padding:2px 4px;margin-right:3px;color:#dbc4e1}.equipment-shelf{display:flex;align-items:stretch;justify-content:space-between;gap:14px;border-top:1px solid #4c3c58;padding-top:5px}.loadout{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.loadout strong{font:20px Bangers,Impact;letter-spacing:.8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e1c5e5}.loadout span{font-size:12px;font-weight:700;letter-spacing:.7px;color:#baa4c6}.loadout.rainbow strong,.loadout.rainbow span{color:#ffeb95}.special-slot{display:flex;align-items:center;justify-content:center;width:235px;flex-shrink:0;height:42px}.special-slot>span{font-size:14px;color:#94829f}.control.special{position:static;width:100%;height:42px;min-height:42px;background:#96ebcf;color:#163b34;border-radius:7px;box-shadow:0 3px #08060e;gap:9px;padding:5px 10px}.control.special b{font:23px Bangers,Impact;white-space:nowrap}.control.special small{font-size:11px}.control.special[hidden]+*{display:none}footer{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:#ac98b9;min-width:0}#controller-status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html:fullscreen body{padding:0}html:fullscreen .arcade,.arcade.immersive{background:#110e1b;padding:8px;max-width:none;max-height:none;height:100svh;min-height:0}.arcade.immersive{position:fixed;inset:0;z-index:100}
@media(max-width:900px){.keyboard-guide{display:none}.title-panel{width:58%;margin-left:36%}.title-panel h1{font-size:70px}.premise{font-size:20px}.start-tip{display:none}.control.jump,.control.whack{width:170px}}
@media(max-width:600px){body{padding:8px max(7px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}.arcade{height:calc(100svh - 8px - max(8px,env(safe-area-inset-bottom)));grid-template-rows:40px 55px minmax(180px,1fr) 150px 18px;gap:6px}.brand{font-size:27px}.brand small{font-size:8px;letter-spacing:1.8px;margin-top:5px}.utility{padding:4px 9px;min-height:36px}.button-text{display:none}.toolbar{gap:5px}.hud{padding:5px 8px;gap:8px}.hero-hud{width:195px;min-width:175px}.health-line{gap:6px}.health-line>strong{font-size:20px}.hearts{font-size:14px;gap:1px}.power-line{gap:5px}.power-line>span{font-size:9px}.power-line b{font-size:10px;min-width:29px}.stage-hud{max-width:132px}.stage-hud>span{font-size:11px;line-height:1.05;letter-spacing:.4px}.stage-hud strong{font-size:23px}.main-controls{gap:12px}.movement,.actions{gap:8px}.movement{width:102px;flex-shrink:0}.control.direction{width:47px;padding:0;font-size:26px}.actions{flex:1;min-width:0}.control.jump,.control.whack{width:50%;padding:7px 3px}.control.jump b,.control.whack b{font-size:27px;letter-spacing:.4px}.control small{font-size:10px;letter-spacing:.3px}.special-slot{width:177px}.control.special{gap:3px;flex-direction:column;padding:3px 5px}.control.special b{font-size:22px;line-height:1}.control.special small{font-size:9px}.loadout strong{font-size:18px;letter-spacing:.4px}.loadout span{font-size:10px;letter-spacing:.4px}.special-slot>span{font-size:13px}.equipment-shelf{gap:6px}.title-panel{width:100%;margin:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;background:linear-gradient(#19122dbb,#19122d44 55%,#19122dbb)}.comic-stamp{font-size:10px;letter-spacing:1.2px}.title-panel h1{font-size:67px;margin:15px 0 10px}.subtitle{font-size:13px;letter-spacing:2.4px}.premise{font-size:18px;margin:12px 0}.level-select{margin:10px 0 5px;font-size:14px;gap:6px}.level-select select{font-size:15px}.rainbow-toggle{font-size:14px;margin:6px auto 11px;min-height:34px}.big-button{font-size:26px;min-width:215px;padding:10px 18px}.boss-hud{top:8px;left:8%;right:8%;padding:5px 8px}.boss-hud>div:first-child{font-size:12px}#boss-subtitle{font-size:11px}.chapter{top:12%;font-size:22px}.combo{right:13px;top:25%}.combo b{font-size:47px}.combo span{font-size:16px}.dialog-panel h2{font-size:43px}.dialog-panel p{font-size:17px}.dialog-panel .controller-help{font-size:14px}.eyebrow{font-size:12px;letter-spacing:2px}footer{font-size:12px}footer>span:last-child{display:none}}
@media(max-width:350px){.movement{width:88px}.control.direction{width:40px}.main-controls{gap:9px}.control.jump b,.control.whack b{font-size:24px}.control small{font-size:9px}.special-slot{width:166px}.title-panel h1{font-size:57px}.premise{font-size:16px;margin:8px 0}.comic-stamp{font-size:9px}.subtitle{font-size:12px}.rainbow-toggle{font-size:13px}.hero-hud{min-width:169px;width:169px}.stage-hud>span{font-size:10px}.loadout strong{font-size:16px}}
@media(orientation:landscape) and (max-height:600px){body{padding:5px 10px}.arcade{height:calc(100svh - 10px);min-height:315px;grid-template-rows:31px 42px minmax(140px,1fr) 78px;gap:4px}.brand{font-size:24px}.brand small{display:none}.utility{min-height:29px;padding:1px 9px}.button-text{display:none}.hud{padding:3px 10px}.health-line>strong{font-size:18px}.hearts{font-size:14px}.power-line{margin-top:2px}.power-line>span,.power-line b{font-size:9px}.stage-hud{flex-direction:row;align-items:center;gap:14px}.stage-hud>span{font-size:12px}.stage-hud strong{font-size:22px}.control-deck{display:flex;gap:16px;padding-top:2px}.main-controls{flex:1;gap:15px;padding:0}.control.direction{width:55px;font-size:24px}.control.jump,.control.whack{width:140px}.control.jump b,.control.whack b{font-size:28px}.equipment-shelf{width:177px;flex-direction:column;gap:1px;border:0;padding:0;justify-content:space-between}.loadout{flex-direction:row;justify-content:space-between;gap:7px;align-items:center}.loadout strong{font-size:15px}.loadout span{font-size:9px}.special-slot{width:177px;height:43px}.control.special{height:43px;min-height:43px;flex-direction:column;gap:1px}.control.special b{font-size:22px}.control.special small{font-size:9px}.special-slot>span{font-size:12px}footer{display:none}.title-panel{margin-left:30%;width:68%;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;align-items:center}.comic-stamp{grid-column:1/-1;font-size:9px}.title-panel h1{font-size:57px;margin:7px 0;grid-column:1;grid-row:2}.subtitle{grid-column:1;grid-row:3;font-size:12px;letter-spacing:2px}.premise{display:none}.level-select{grid-column:2;grid-row:2;margin:0;font-size:12px;gap:5px}.level-select select{max-width:160px;font-size:14px;padding:4px}.rainbow-toggle{grid-column:2;grid-row:3;font-size:12px;padding:3px 6px;min-height:30px;margin:0;gap:5px}.big-button{grid-column:2;grid-row:4;font-size:22px;padding:7px 15px;min-width:180px}.title-panel .start-tip{display:none}.dialog-panel{padding:7px}.dialog-panel h2{font-size:29px;margin:6px}.eyebrow{font-size:10px}.dialog-panel p{font-size:15px;margin:6px}.dialog-panel .controller-help{font-size:12px;line-height:1.2}.dialog-panel .rainbow-toggle{margin:5px auto}.text-button{font-size:13px;margin:7px auto}.boss-hud{top:6px;left:33%;right:33%}#boss-subtitle{display:none}.chapter{top:11%;font-size:20px}.combo b{font-size:38px}.combo span{font-size:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Gold 1.0: the secondary actions have their own shelf, clear of every landing. */
.equipment-shelf{display:grid;grid-template-columns:minmax(0,1fr) 84px 235px;gap:12px}
.loadout-heading{display:flex;align-items:center;gap:8px;min-width:0}.loadout-heading strong{min-width:0}.loadout #book-count{flex-shrink:0;color:#f8d971;font-size:17px}.loadout>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.control.flick{height:42px;min-height:42px;padding:3px 8px;flex-direction:column;gap:1px;background:#615a49;border-radius:7px}.control.flick b{font:23px/1 Bangers,Impact;color:#ffeabb}.control.flick small{font-size:10px;letter-spacing:.5px}
.comic-stamp{color:#ffe9a3}.combo{top:20%}.combo b{font-size:50px}.combo span{font-size:17px}
.dialog-panel{max-height:100%;overflow:auto;overscroll-behavior:contain}
@media(max-width:600px){.equipment-shelf{grid-template-columns:minmax(0,1fr) 64px 144px;gap:7px}.special-slot{width:144px}.control.special b{font-size:19px}.control.special small{display:none}.special-slot>span{font-size:11px}.loadout-heading{gap:4px}.loadout #book-count{font-size:14px}.loadout strong{font-size:16px}.loadout>span{font-size:10px;letter-spacing:0}.control.flick b{font-size:22px}.combo b{font-size:39px}.combo span{font-size:14px}.premise{font-size:17px}.comic-stamp{font-size:9px;letter-spacing:1px}}
@media(max-width:350px){.equipment-shelf{grid-template-columns:minmax(0,1fr) 57px 130px;gap:6px}.special-slot{width:130px}.control.special b{font-size:17px}.loadout strong{font-size:14px}.loadout #book-count{display:none}.control.flick b{font-size:21px}.special-slot>span{font-size:10px}.comic-stamp{font-size:8px}}
@media(orientation:landscape) and (max-height:600px){.equipment-shelf{width:225px;display:grid;grid-template-columns:68px 145px;grid-template-rows:24px 43px;gap:4px 12px}.loadout{grid-column:1/-1;flex-direction:row}.loadout-heading{flex:1}.loadout strong{font-size:14px}.loadout>span{max-width:135px}.special-slot{width:145px;grid-column:2}.control.flick{grid-column:1;height:43px;min-height:43px}.control.special b{font-size:19px}.control.special small{display:none}.control-deck{gap:12px}.movement{width:auto}.control.jump,.control.whack{width:clamp(90px,16vw,140px)}.main-controls{gap:10px}.movement,.actions{gap:7px}.control.direction{width:46px}.comic-stamp{font-size:8px}}
@media(orientation:landscape) and (max-height:600px){#pause-panel{display:grid;grid-template-columns:1fr 1.2fr;gap:4px 22px;align-items:center}#pause-panel>.eyebrow{grid-column:1;grid-row:1}#pause-panel>h2{grid-column:1;grid-row:2;font-size:27px;margin:3px}#pause-panel>.rainbow-toggle{grid-column:1;grid-row:3;margin:2px 0}#pause-panel>.controller-help{grid-column:2;grid-row:1/4;margin:0;font-size:12px}#pause-panel>#resume{grid-column:1;grid-row:4;font-size:20px;min-width:180px}#pause-panel>#restart{grid-column:2;grid-row:4;margin:0}}

/* Sacramento Tour: two recognizable secondary actions, outside the playfield. */
.hud{position:relative}.stage-stats{display:flex;gap:14px;align-items:center;justify-content:flex-end}.stage-stats small{font-size:11px;letter-spacing:.8px;color:#96d1bb}.stage-stats strong{font:25px Bangers;letter-spacing:2px;color:var(--yellow)}.route-track{position:absolute;bottom:-1px;left:1px;right:1px;height:2px;overflow:hidden}.route-track i{display:block;height:100%;background:#b6dcbc;width:0;transition:width .25s}
.equipment-shelf{grid-template-columns:minmax(0,1fr) 184px 235px}.control.flick{background:#a96e48;border-color:#352333;box-shadow:0 3px #08060e,0 0 0 1px #edbd80}.control.flick b{font:24px/1 Bangers;color:#fff2cc;white-space:nowrap}.control.flick small{color:#fff0d2;font-size:10px}.control.flick.cooling{background:#74533f}.cig-icon{display:inline-block;position:relative;width:20px;height:5px;border-radius:1px;background:linear-gradient(90deg,#c99c67 0 25%,#fff4dd 25% 83%,#ff864a 83%);vertical-align:middle;box-shadow:1px 0 4px #ffc071;margin:0 2px 4px 0}
@media(max-width:600px){.arcade{grid-template-rows:40px 55px minmax(180px,1fr) 174px 18px}.control-deck{grid-template-rows:92px 74px;gap:8px}.equipment-shelf{grid-template-columns:1fr 1fr;grid-template-rows:20px 48px;gap:6px 10px;border:0;padding:0}.loadout{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.loadout-heading{flex-shrink:0}.loadout strong{font-size:16px}.loadout #book-count{display:inline;font-size:13px}.loadout>span{font-size:10px;text-align:right}.control.flick{grid-column:1;height:48px;min-height:48px}.special-slot{grid-column:2;width:100%;height:48px}.control.special{height:48px;min-height:48px}.control.special b{font-size:21px}.control.flick b{font-size:25px}.control.flick small{font-size:9px}.special-slot>span{font-size:12px;text-align:center}.stage-stats{gap:8px}.stage-stats small{font-size:8px;letter-spacing:0}.stage-stats strong{font-size:22px}.level-select select{max-width:235px;font-size:14px}.title-panel{overflow:auto;justify-content:safe center}.title-panel h1{font-size:61px;margin:10px 0}.premise{margin:8px 0}.comic-stamp{font-size:9px;letter-spacing:.4px}}
@media(max-width:350px){.stage-stats small{font-size:7px}.control.flick b{font-size:23px}.control.flick small{font-size:8px}.control.special b{font-size:19px}.special-slot>span{font-size:11px}.level-select select{max-width:220px}.comic-stamp{font-size:8px}.title-panel h1{font-size:54px}.title-panel .premise{font-size:15px}}
@media(orientation:landscape) and (max-height:600px){.arcade{grid-template-rows:31px 42px minmax(140px,1fr) 78px}.control-deck{display:flex}.equipment-shelf{width:245px;grid-template-columns:112px 125px;grid-template-rows:23px 44px;gap:4px 8px;padding:0}.loadout{grid-column:1/-1;flex-direction:row}.loadout #book-count{display:none}.loadout strong{font-size:13px}.loadout>span{font-size:9px}.control.flick,.special-slot,.control.special{height:44px;min-height:44px}.special-slot{width:125px}.control.flick b{font-size:21px}.control.flick small{font-size:7px;letter-spacing:0}.control.special b{font-size:17px}.special-slot>span{font-size:11px}.stage-stats small{font-size:10px}.title-panel{overflow:auto}.level-select select{max-width:195px;font-size:13px}.control.jump,.control.whack{width:clamp(80px,15vw,135px)}}

@media(max-width:600px) and (orientation:portrait){#pause-panel{padding:10px 12px;width:100%}#pause-panel h2{font-size:34px;margin:7px 0}#pause-panel .controller-help{font-size:13px;line-height:1.2;margin:8px 0 10px}#pause-panel .rainbow-toggle{margin:6px auto 8px}#pause-panel #resume{font-size:24px;white-space:nowrap;min-width:200px;padding:9px 16px}#pause-panel .text-button{margin-top:9px}}

/* Conversations sit above the walking path. Only the paused puzzle expands. */
.quest-strip{position:absolute;top:12px;left:12px;right:12px;margin:auto;max-width:710px;padding:9px 16px;background:#192c2be8;border:1px solid #b2d4b7;border-radius:8px;color:#fff5d3;font:600 15px/1.3 'Barlow Condensed',sans-serif;z-index:4;pointer-events:none;text-align:center}
.story-card{position:absolute;z-index:8;left:12px;right:12px;top:10px;margin:auto;max-width:660px;max-height:48%;overflow:auto;padding:12px 17px 10px;border:2px solid #cabc94;border-radius:10px;background:#fbf1ddeb;color:#29283a;box-shadow:0 5px 24px #13201e50;backdrop-filter:blur(10px);touch-action:pan-y;scrollbar-width:thin}
.story-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 11px/1.1 'Barlow Condensed',sans-serif;letter-spacing:1.1px;color:#5d745c}.story-card-heading button{width:36px;height:30px;flex:0 0 36px;border:0;background:#e5dbc9;border-radius:5px;font:25px/1 sans-serif;color:#393341;cursor:pointer}
.story-card h2{font:26px/1.05 Bangers;margin:2px 0 6px;letter-spacing:.3px}.story-card p{font:500 17px/1.24 'Barlow Condensed',sans-serif;margin:5px 0 9px}.story-card small{display:block;font:11px/1.2 'Barlow Condensed',sans-serif;color:#6b665c;margin-top:8px}.story-card.puzzle{max-height:89%;background:#fbf1ddf5}.puzzle-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:9px 0}.puzzle-slots span{display:flex;align-items:center;justify-content:center;min-height:45px;text-align:center;border:1.5px dashed #a89e8b;border-radius:5px;background:#ddd5c233;font:700 14px/1.1 'Barlow Condensed'}.puzzle-slots .filled{background:#cde1c9;border:1.5px solid #729671;color:#244f3c}.puzzle-pieces{display:grid;grid-template-columns:1fr 1fr;gap:7px}.puzzle-pieces button{min-height:48px;padding:8px;border:2px solid;border-radius:6px;background:#fffaf0;font:600 17px/1.1 'Barlow Condensed';color:#342e3e;cursor:pointer}.puzzle-pieces button.selected{background:#e1ebcd;box-shadow:inset 0 0 0 2px #4b775f}.puzzle-pieces button:hover{background:#e5edda}.thesis-link{display:inline-block;border-radius:6px;padding:11px 16px;background:#315b4a;color:#fff4d7;font:700 17px 'Barlow Condensed';text-decoration:none}.story-card .thesis-credit{font-size:13px}.journal-fragments{border-top:1px solid #cfc5ac;margin-top:7px}.journal-fragments p{font-size:15px}
@media(max-width:600px){.story-card{padding:9px 11px;left:7px;right:7px;max-height:47%}.story-card h2{font-size:23px}.story-card p{font-size:16px}.story-card-heading{font-size:9px;letter-spacing:.5px}.quest-strip{left:7px;right:7px;font-size:13px;padding:7px 10px}.control.whack b{font-size:clamp(23px,6.6vw,34px)}.story-card.puzzle{max-height:90%}.puzzle-slots span{font-size:12px}.puzzle-pieces button{font-size:16px;min-height:44px}.journal-fragments p{font-size:14px}}
@media(orientation:landscape) and (max-height:600px){.story-card{top:5px;max-width:580px;max-height:53%;padding:6px 11px}.story-card h2{font-size:21px}.story-card p{font-size:14px;margin:3px 0}.story-card small{font-size:9px;margin-top:4px}.story-card-heading button{height:24px}.story-card.puzzle{max-height:92%;max-width:680px}.puzzle-slots{margin:5px 0}.puzzle-slots span{min-height:28px}.puzzle-pieces{grid-template-columns:repeat(4,1fr);gap:5px}.puzzle-pieces button{min-height:38px;font-size:14px;padding:5px}.quest-strip{top:5px;padding:5px;font-size:13px}.control.whack b{font-size:25px}}
/* Collected research is readable during a pause, away from the jump path. */
.saved-notes{margin:16px auto 0;max-width:540px;text-align:left;border-top:1px solid #685472;padding-top:10px;font-size:16px;color:#eee1cb}
.saved-notes summary{cursor:pointer;min-height:36px;padding:7px 0;color:#f4cf83;font-weight:700}
.saved-notes #saved-notes{max-height:190px;overflow-y:auto;touch-action:pan-y;padding-right:8px}
.saved-notes #saved-notes p{font-size:16px;line-height:1.3;margin:8px 0 12px}
.saved-notes small{display:block;font-size:14px;line-height:1.3;color:#bcacc7;margin-top:10px}
#pause-panel{max-height:100%;overflow-y:auto;touch-action:pan-y}

/* Stable canvas and tap targets: readiness never changes the playfield size. */
#game{position:absolute;inset:0;width:100%;height:100%}
.control-deck{contain:layout;overscroll-behavior:none}
.control{font-size:16px;-webkit-touch-callout:none}
.special-slot{position:relative;min-width:0}
.control.special.unavailable{visibility:hidden;pointer-events:none}
#special-wait{position:absolute;inset:0;display:grid;place-items:center;padding:0 3px;pointer-events:none}
/* A small focused select triggers automatic zoom in mobile Safari. */
.level-select select{font-size:16px}

/* Reading is a deliberate pause, with large type and controls always in reach. */
.story-card.reading{display:flex;flex-direction:column;top:10px;bottom:10px;max-height:none;max-width:860px;padding:18px 22px;background:#fbf1ddfc;overflow:hidden;box-sizing:border-box}
.story-card.reading>.story-card-heading,.story-card.reading>h2,.story-card.reading>small,.story-card.reading>.story-actions{flex:none;order:0}
.story-card.reading h2{font-size:32px;margin:10px 0 12px;line-height:1.08}
.story-card.reading>#story-extra{display:block;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;flex:1;order:0;padding:0 5px 8px 0}
.story-card.reading #story-text[hidden]{display:none}
.story-card.reading p{font:500 21px/1.42 'Barlow Condensed',sans-serif;margin:12px 0}
.story-card .thesis-title{font:700 26px/1.18 'Barlow Condensed',sans-serif;margin:8px 0;color:#314e41}
.story-card .thesis-byline{font-size:17px;color:#6c6254}
.library-instructions{padding:12px;background:#dbe6ce;border-radius:7px}
.thesis-fragment{border-left:5px solid var(--piece-color,#a5dabc);padding:6px 16px 14px;margin:5px 0 18px;background:#fff9ef;border-radius:3px 10px 10px 3px}
.thesis-fragment h3{font:700 18px/1.2 'Barlow Condensed';text-transform:uppercase;letter-spacing:.8px;margin:7px 0;color:#5d654c}
.thesis-fragment blockquote{font:700 40px/1.12 Georgia,serif;margin:18px 0;color:#302e3e;overflow-wrap:anywhere}
.story-card .thesis-fragment small{font-size:13px;line-height:1.3;color:#716958}
.story-actions{display:flex;gap:10px;padding:12px 0 0;background:#fbf1dd}
.story-actions:empty{display:none}
.story-button{flex:1;min-height:50px;border:2px solid #315c49;border-radius:8px;padding:10px 16px;background:#315c49;color:#fff6dd;font:700 19px/1.15 'Barlow Condensed';cursor:pointer}
.story-button.secondary{background:#ece7d6;color:#315c49}
.story-card button:focus-visible,.story-card a:focus-visible{outline:3px solid #ad792b;outline-offset:2px}
.review-tabs{display:flex;gap:10px;margin:4px 0 12px}
.review-tabs button{flex:1;min-height:42px;border:1px solid #b2a98d;border-radius:6px;background:#efe7d3;color:#4e493f;font:700 18px 'Barlow Condensed';cursor:pointer}
.review-tabs button.selected{background:#d7e5c9;border:2px solid #517857}
.story-card .review-intro{font-size:17px;line-height:1.3;margin:8px 0 12px;color:#5c594d}
.argument-choices{display:grid;gap:12px;margin:15px 0}
.argument-choice{display:flex;flex-direction:column;gap:9px;width:100%;min-height:108px;text-align:left;border:2px solid #b5aa8b;border-radius:10px;padding:18px;background:#fffaf0;color:#302e3e;cursor:pointer}
.argument-choice strong{font:700 23px/1.15 'Barlow Condensed'}
.argument-choice span{font:500 20px/1.35 'Barlow Condensed'}
.argument-choice.selected{border-color:#477158;background:#e2ebd7;box-shadow:inset 0 0 0 1px #477158}
.argument-choice:hover{background:#e7eddb}
.story-card .argument-feedback{background:#f0dcb8;padding:12px;border-radius:6px;color:#754520}
.story-card .restored-argument{font-size:24px}
@media(max-width:600px){.story-card.reading{left:6px;right:6px;top:6px;bottom:6px;padding:10px 12px}.story-card.reading h2{font-size:26px;margin:7px 0 9px}.story-card.reading p{font-size:19px;line-height:1.35}.story-card .thesis-title{font-size:22px}.thesis-fragment{padding:5px 12px 12px}.thesis-fragment blockquote{font-size:32px;margin:14px 0}.story-card .thesis-fragment small{font-size:12px}.story-actions{gap:7px;padding-top:9px}.story-button{min-height:48px;font-size:17px;padding:8px}.argument-choice{padding:14px;min-height:116px}.argument-choice strong{font-size:22px}.argument-choice span{font-size:19px}.review-tabs{gap:7px}.story-card.reading>small{font-size:11px;margin-top:7px}.story-card .restored-argument{font-size:21px}}
@media(orientation:landscape) and (max-height:600px){.story-card.reading{top:4px;bottom:4px;padding:8px 14px;max-width:850px}.story-card.reading h2{font-size:25px;margin:4px 0 6px}.story-card.reading>.story-card-heading{font-size:10px}.story-card.reading>.story-card-heading button{height:26px}.story-actions{padding-top:5px}.story-button{min-height:40px;padding:7px 12px;font-size:17px}.story-card.reading>small{font-size:10px;margin-top:4px}.story-card.reading p{font-size:19px}.thesis-fragment blockquote{font-size:32px}.argument-choice span{font-size:19px}.argument-choice{min-height:100px}}

/* Title is its own full game surface; controls return when play begins. */
.arcade.on-title{grid-template-rows:40px minmax(0,1fr) 20px}.on-title>.hud,.on-title>.control-deck{display:none}.on-title .overlay{background:radial-gradient(ellipse at 40% 35%,#46396b99,#151025ed)}
.title-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;width:100%;height:100%;margin:0;padding:24px;background:none;overflow:visible}.title-art{min-width:0}.title-art canvas{width:100%;height:auto;max-height:65vh;object-fit:contain}.title-menu{text-align:center;position:relative}.title-panel h1{font-size:clamp(55px,7vw,100px);margin:18px 0}.title-menu>.big-button{display:block;margin:24px auto 12px;width:240px}.title-secondary{display:flex;justify-content:center;gap:10px}.title-secondary button{background:#322643;color:#ffe39a;border:2px solid #947457;border-radius:8px;min-height:48px;padding:10px 20px;font:bold 18px 'Barlow Condensed',sans-serif}.title-secondary #settings{font-size:27px;padding:5px 14px}.title-submenu{position:absolute;z-index:3;left:0;right:0;top:100%;margin:8px auto;background:#21192f;border:2px solid #b49568;padding:12px;border-radius:10px;max-width:360px;box-shadow:0 10px 30px #0008}.title-submenu .level-select{flex-wrap:wrap}.title-submenu .big-button{font-size:22px;min-width:160px}.title-submenu[hidden]{display:none}
.story-card.reading.puzzle{position:fixed;inset:12px;max-width:760px;height:fit-content;max-height:calc(100dvh - 24px);margin:auto;padding:16px 20px;z-index:30}.story-card.reading.puzzle h2{font-size:27px;margin:6px 0}.story-card.reading.puzzle #story-extra{overflow:visible;padding:0}.puzzle-clues{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:8px 0}.clue-tile{display:flex;flex-direction:column;text-align:center;background:#e3e6ce;border:2px solid #8d9d7b;border-radius:8px;padding:8px 2px;font:700 16px 'Barlow Condensed'}.clue-tile b{font:30px sans-serif;margin-bottom:5px}.story-card.puzzle .argument-prompt,.story-card.puzzle .argument-feedback{font-size:18px;line-height:1.2;margin:8px 0;padding:6px}.story-card.puzzle .argument-choices{gap:8px}.story-card.puzzle .argument-choice{min-height:48px;padding:12px}.story-card.puzzle .argument-choice strong{font-size:20px;line-height:1.15}.story-card.puzzle .argument-choice span{display:none}.story-card.puzzle .story-actions{display:none}
@media(max-width:600px){.title-panel{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;gap:0}.title-art{width:min(100%,390px);height:44%;flex-shrink:1}.title-art canvas{height:100%;width:100%;object-fit:contain}.title-menu{width:100%}.title-panel h1{font-size:64px;margin:4px 0 10px}.title-panel .comic-stamp{font-size:10px;letter-spacing:1px}.title-menu>.big-button{margin:16px auto 10px;min-height:52px}.title-submenu{top:auto;bottom:0}.story-card.reading.puzzle{inset:8px;padding:12px}.story-card.puzzle .argument-choice strong{font-size:18px}.story-card.puzzle .argument-choice{padding:11px 8px}}
@media(orientation:landscape) and (max-height:600px){.title-panel{display:grid;grid-template-columns:1fr 1fr;padding:8px}.title-art{height:100%;width:100%}.title-art canvas{height:100%;max-height:75vh}.title-panel h1{font-size:56px}.title-menu>.big-button{margin:12px auto 8px}.title-panel .comic-stamp{font-size:10px}.title-submenu{top:auto;bottom:0}.story-card.reading.puzzle #story-extra{display:grid;grid-template-columns:1fr 1.5fr;gap:8px 16px}.puzzle-clues{grid-row:1/3;grid-template-columns:1fr 1fr}.story-card.puzzle .argument-choices{grid-column:2}.story-card.puzzle .argument-choice{padding:7px;min-height:40px}.story-card.puzzle .argument-prompt,.story-card.puzzle .argument-feedback{margin:0;padding:0}}

.title-submenu{top:auto;bottom:125px}.title-submenu .menu-close{display:block;margin:0 0 4px auto;min-height:36px;background:none;border:0;color:#ffe39a;font-size:16px}.on-title #pause{display:none}
.arcade:has(.story-card.puzzle:not([hidden])) .control-deck{visibility:hidden}

/* Library dialogs live outside the canvas clipping/stacking context. */
#story-layer{position:fixed;inset:0;z-index:200;pointer-events:none;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;place-items:center}
#story-layer.modal{pointer-events:auto;background:#100d21e8}
#story-layer .story-card{pointer-events:auto;position:relative;inset:auto;width:min(100%,920px);margin:0;align-self:start;max-height:48dvh}
#story-layer.modal .story-card.reading{position:relative;inset:auto;width:min(100%,920px);height:100%;max-height:100%;max-width:920px;margin:0;align-self:stretch;padding:clamp(12px,2.3vw,24px);overflow:hidden;backdrop-filter:none}
#story-layer.modal .story-card.reading #story-extra{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:0 3px 8px 0}
#story-layer .story-card.reading h2{font-size:clamp(26px,3vw,34px);margin:8px 0 12px}
#story-layer .story-card.reading.puzzle #story-extra{display:flex;flex-direction:column;justify-content:center;gap:8px;overflow-y:auto}
#story-layer .puzzle-clues{grid-template-columns:repeat(4,1fr);margin:0 0 8px;flex:none}
#story-layer .argument-choices{display:grid;gap:12px;margin:8px 0;flex:none}
#story-layer .argument-choice{min-height:60px;padding:14px 12px}
#story-layer .argument-choice strong{font:700 clamp(19px,2.4vw,25px)/1.25 'Barlow Condensed';overflow-wrap:break-word}
#story-layer .argument-prompt,#story-layer .argument-feedback{font:600 20px/1.3 'Barlow Condensed';margin:0;padding:8px}
#story-layer .story-card.reading.thesis-result #story-extra{display:flex;flex-direction:column;justify-content:center;gap:14px}
#story-layer .thesis-result .thesis-title{font-size:22px;line-height:1.2;margin:0}
#story-layer .thesis-result .restored-argument{font-size:clamp(21px,2.4vw,28px);line-height:1.4;margin:0;padding:16px;background:#e1e9d4;border-radius:8px}
#story-layer .thesis-result .thesis-credit{font-size:14px;line-height:1.25;margin:0}
#story-layer .thesis-link{order:3;align-self:flex-start;font-size:17px;margin:0}
#story-layer .story-actions{display:flex;flex-wrap:wrap;flex:none}
#story-layer .story-card.puzzle .story-actions{display:none}
#story-layer .story-card small{font-size:13px}
.arcade.story-open .control-deck{visibility:hidden}
@media(max-width:600px){#story-layer{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}#story-layer.modal .story-card.reading{padding:12px}#story-layer .story-actions{flex-direction:column;gap:8px}#story-layer .story-button{flex:auto;min-height:48px}#story-layer .story-card.reading.thesis-result #story-extra{gap:12px;justify-content:flex-start}#story-layer .thesis-result .restored-argument{font-size:21px;padding:12px}#story-layer .thesis-result .thesis-title{font-size:20px}}
@media(orientation:landscape) and (max-height:600px){#story-layer{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}#story-layer.modal .story-card.reading{padding:10px 16px}#story-layer .story-card.reading h2{font-size:26px;margin:3px 0 8px}#story-layer .story-card.reading.puzzle #story-extra{display:grid;grid-template-columns:1fr 1.65fr;grid-template-rows:auto 1fr;gap:8px 18px;align-items:stretch}#story-layer .puzzle-clues{grid-template-columns:1fr 1fr;grid-column:1;grid-row:1/3;gap:6px;margin:0}#story-layer .clue-tile{padding:5px;font-size:16px;justify-content:center}#story-layer .clue-tile b{font-size:24px;margin:0}#story-layer .argument-choices{grid-column:2;margin:0;gap:7px}#story-layer .argument-choice{padding:8px;min-height:44px}#story-layer .argument-choice strong{font-size:20px}#story-layer .argument-prompt,#story-layer .argument-feedback{font-size:18px;padding:0}#story-layer .story-card.reading.thesis-result #story-extra{display:grid;grid-template-columns:1fr 1.4fr;grid-template-rows:1fr auto;gap:10px 20px;align-items:center}#story-layer .thesis-result .thesis-title{grid-column:1;grid-row:1;font-size:20px}#story-layer .thesis-result .restored-argument{grid-column:2;grid-row:1/3;font-size:20px;line-height:1.25;padding:12px}#story-layer .thesis-result .thesis-credit{display:none}#story-layer .thesis-result .thesis-link{grid-column:1;grid-row:2;font-size:16px;padding:8px}#story-layer .story-actions{flex-direction:row;padding-top:8px}#story-layer .story-button{min-height:44px;font-size:17px;padding:8px}#story-layer .story-card.reading>small{font-size:12px;margin-top:6px}}

/* Arcade presentation lives above the game, using the entire visible viewport. */
.arcade-show{position:fixed;inset:0;z-index:250;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 15%,#352653 0,#171225 55%,#0c0e1a 100%);padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));overflow:hidden}
.show-header{width:min(100%,1100px);display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:40px;flex:none;border-bottom:1px solid #685479;padding-bottom:10px}.show-header .brand{font-size:26px}.show-header>span{font-size:14px;letter-spacing:2px;color:#bdb0d4}
.show-panel{width:min(100%,1000px);flex:1;min-height:0;overflow:auto;text-align:center;padding:16px 0}.show-panel h2{font:clamp(36px,6vw,70px)/1 Bangers,Impact;margin:9px 0 16px;color:var(--yellow);letter-spacing:2px}.show-panel .eyebrow{font-size:14px;color:var(--mint);letter-spacing:2px}
.show-navigation{width:min(100%,800px);flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0 0;border-top:1px solid #685479}.show-navigation>div{display:flex;gap:8px}.show-navigation button:not(.big-button),.board-tabs button,.credits-tools button{border:1px solid #7b628f;background:#292038;color:#e8daf0;border-radius:6px;font:600 16px 'Barlow Condensed';padding:9px 15px;min-height:42px}.show-navigation .big-button{font-size:26px;min-width:190px;padding:10px 20px}.show-navigation button:hover,.board-tabs button:hover,.credits-tools button:hover{filter:brightness(1.3)}
.scores-panel{max-width:760px}.board-tabs{display:flex;justify-content:center;gap:8px}.board-tabs button[aria-pressed=true]{color:#211827;background:var(--yellow);border-color:var(--yellow)}.board-note{font-size:16px;color:#d2c6dd;margin:12px auto;line-height:1.2}.scores-table-wrap{width:100%;overflow:auto}.scores-table{border-collapse:collapse;width:100%;font:700 clamp(19px,2.3vw,25px)/1.1 'Barlow Condensed';font-variant-numeric:tabular-nums;letter-spacing:1px}.scores-table th{font-size:14px;color:#a995ba;font-weight:600;letter-spacing:2px;padding:8px;text-align:left;border-bottom:1px solid #826497}.scores-table td{padding:9px 8px;border-bottom:1px solid #59436570;text-align:left}.scores-table td:nth-child(2){color:var(--mint);letter-spacing:4px}.scores-table th:nth-child(3),.scores-table td:nth-child(3){text-align:right;color:var(--yellow)}.scores-table th:last-child,.scores-table td:last-child{text-align:right;font-size:16px}.scores-table tbody tr:first-child{background:#ffd86110}.scores-panel #scores-status{font-size:19px;line-height:1.3;margin:15px auto;max-width:520px}
.highlights-panel{display:flex;flex-direction:column;justify-content:center;overflow:hidden;gap:12px;max-width:1200px}.demo-label{font:28px Bangers;letter-spacing:2px;color:var(--yellow)}.demo-label span{font:700 14px 'Barlow Condensed';padding:4px 9px;margin-left:10px;border:1px solid var(--mint);color:var(--mint);vertical-align:middle}.highlights-panel canvas{width:100%;height:min(58dvh,580px);min-height:210px;border:2px solid #766090;border-radius:8px;background:#241c36}.highlights-panel p{font:22px Bangers;letter-spacing:1px;color:#eae0f4;margin:0}
.ending-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;overflow:auto}.ending-panel canvas{height:min(45dvh,430px);width:auto;max-width:100%;flex:none;aspect-ratio:600/560}.ending-panel h2{font-size:clamp(45px,7vw,80px);margin:3px 0}.ending-panel h2 span{color:#f9eeda}.ending-panel p{font-size:22px;margin:0}.ending-panel>strong{font:30px Bangers;color:var(--mint);letter-spacing:2px;margin:8px}.ending-panel .big-button{font-size:25px;min-width:0}
.entry-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.entry-panel h2{margin:10px 0;font-size:clamp(32px,5vw,56px)}.entry-panel>strong{font:70px/.95 Bangers;color:var(--yellow);letter-spacing:4px}.entry-panel form{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,430px);margin-top:14px}.entry-panel label{font-size:18px;letter-spacing:3px;color:var(--mint)}#score-initials{font:700 46px/1 'Barlow Condensed';letter-spacing:14px;text-align:center;color:#ffeb91;background:#100e1e;border:2px solid #b99c57;border-radius:8px;width:240px;max-width:100%;padding:14px 2px 14px 16px;text-transform:uppercase;caret-color:var(--mint)}#initials-help{font-size:17px;line-height:1.4;margin:0;color:#dccfe5}#initials-help span{font-size:14px;color:#b39dc7}#score-message{font-size:18px;line-height:1.2;margin:0;min-height:1.2em;color:var(--mint)}#score-skip{font-size:17px}.entry-panel .big-button{min-width:240px}
.credits-panel{display:flex;flex-direction:column;padding:0;overflow:hidden}.credits-panel #credits-window{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;mask-image:linear-gradient(transparent,#000 22px,#000 calc(100% - 22px),transparent)}.credits-roll{padding:70px 10px 0;max-width:880px;margin:auto}.credits-roll h2{font-size:clamp(46px,8vw,85px);line-height:1.1}.credits-roll p{font-size:clamp(18px,2.4vw,23px);line-height:1.4;color:#e3d8ef}.credit-pair{margin:58px auto;max-width:680px}.credit-pair>span{display:block;color:var(--mint);letter-spacing:2px;font-size:16px;line-height:1.4;margin:10px}.credit-pair>strong{font:clamp(28px,4.2vw,42px)/1.1 Bangers;color:#ffe08a}.credit-pair p{margin:13px 0}.credits-roll figure{margin:38px auto 55px}.credits-roll img{width:100%;height:auto;display:block;border:2px solid #6f567e;border-radius:8px;background:#241b32;aspect-ratio:16/9;object-fit:contain}.credits-roll figcaption{font-size:15px;color:#baa4cb;letter-spacing:1.5px;margin:12px;line-height:1.3}.credits-roll .credit-joke{font:clamp(25px,4vw,39px)/1.25 Bangers;color:var(--yellow);letter-spacing:2px;margin:65px 0}.credits-tools{display:flex;justify-content:center;gap:12px;padding:8px}.credits-tail{height:30dvh}
@media(max-width:600px){.show-header>span{font-size:12px;letter-spacing:.8px}.show-panel{padding-top:10px}.show-panel h2{margin:7px 0 12px}.show-navigation{flex-direction:column;gap:8px;padding-top:8px}.show-navigation .big-button{width:100%;min-height:44px}.show-navigation>div{justify-content:center;width:100%}.show-navigation button:not(.big-button){padding:6px 12px;min-height:36px;font-size:16px;flex:1}.board-tabs{gap:6px}.board-tabs button{font-size:15px;padding:7px 11px;min-height:38px}.board-note{font-size:15px;margin:8px 0}.scores-table td{padding:7px 6px;font-size:21px}.scores-table th{font-size:13px;padding:6px}.scores-table th:last-child,.scores-table td:last-child{font-size:14px}.scores-panel #scores-status{font-size:17px;margin:12px 0}.ending-panel{justify-content:safe center}.ending-panel canvas{height:min(39dvh,310px)}.ending-panel p{font-size:20px}.ending-panel .eyebrow{font-size:13px}.entry-panel{justify-content:safe center}.entry-panel>strong{font-size:56px}.entry-panel form{margin-top:9px;gap:8px}#score-initials{font-size:40px;padding-top:9px;padding-bottom:9px}.demo-label{font-size:22px}.highlights-panel p{font-size:19px}.credits-roll{padding-top:55px}.credit-pair{margin:42px auto}.credits-roll figure{margin:28px 0 40px}}
@media(orientation:landscape) and (max-height:600px){.show-header{min-height:28px;padding-bottom:6px}.show-header .brand{font-size:22px}.show-navigation{padding-top:6px}.show-navigation .big-button{font-size:22px}.show-panel h2{font-size:34px;margin:4px 0 8px}.scores-panel .eyebrow{display:none}.scores-table td{padding:5px 8px;font-size:20px}.scores-panel{max-width:800px;overflow:auto}.board-note{margin:6px}.ending-panel{display:grid;grid-template-columns:1fr 1.3fr;grid-template-rows:1fr auto auto auto auto;gap:5px 16px;padding:8px}.ending-panel canvas{grid-column:1;grid-row:1/6;width:100%;height:auto;max-height:76dvh}.ending-panel h2,.ending-panel p,.ending-panel .eyebrow,.ending-panel strong,.ending-panel button{grid-column:2}.ending-panel .big-button{font-size:22px;padding:9px}.entry-panel{display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:auto auto 1fr auto;column-gap:20px;padding:10px 20px}.entry-panel>.eyebrow,.entry-panel>h2,.entry-panel>strong,.entry-panel>#score-skip{grid-column:1}.entry-panel form{grid-column:2;grid-row:1/5;margin:0;gap:5px}.entry-panel h2{font-size:31px}.entry-panel>strong{font-size:60px}.entry-panel label{font-size:15px}#score-initials{font-size:34px;padding:7px}#initials-help{font-size:14px}#initials-help span{font-size:12px}.entry-panel .big-button{font-size:22px;padding:8px}.highlights-panel canvas{height:56dvh;min-height:140px}.demo-label{font-size:20px}.highlights-panel{gap:7px}.highlights-panel p{font-size:17px}.credits-tools button{min-height:32px;padding:6px 12px}}

/* Compact paused cards preserve the view of the library around them. */
#story-layer.modal{background:#100d2170}
#story-layer.modal .story-card.reading{width:min(100%,630px);height:auto;max-height:76dvh;align-self:center;padding:18px}
#story-layer .story-card.reading h2{font-size:27px;margin:5px 0 9px}
#story-layer .story-card.reading p{font-size:18px;line-height:1.3}
#story-layer .thesis-fragment blockquote{font-size:28px;margin:12px 0}
#story-layer .thesis-fragment{margin:4px 0 10px;padding:5px 12px}
#story-layer .argument-choices{gap:7px;margin:0}
#story-layer .argument-choice{padding:9px;min-height:44px}
#story-layer .argument-choice strong{font-size:19px}
#story-layer .story-card.reading.thesis-result #story-extra{display:block;overflow:auto}
#story-layer .thesis-result .restored-argument{font-size:19px;padding:10px;margin:12px 0}
.reader-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.reader-tools button{padding:9px 12px;cursor:pointer;background:#315b4a;color:#fff4d7;border:0;border-radius:5px;font:700 17px 'Barlow Condensed'}
.reader-guide{border-top:1px solid #acb8a0;margin-top:14px}.reader-guide h3{font:700 20px 'Barlow Condensed';color:#315b4a}.reader-guide p{margin:9px 0}.reader-status{font-size:14px!important;color:#596454}
@media(max-width:600px){#story-layer.modal .story-card.reading{width:calc(100% - 16px);padding:12px;max-height:78dvh}#story-layer .story-actions{gap:6px}#story-layer .story-button{min-height:42px}#story-layer .story-card.reading p{font-size:17px}#story-layer .argument-choice strong{font-size:17px}}
@media(orientation:landscape) and (max-height:600px){#story-layer.modal .story-card.reading{width:min(92%,760px);max-height:86dvh;padding:10px 16px}#story-layer .story-card.reading.puzzle{max-height:90dvh}#story-layer .story-card.reading.puzzle #story-extra{grid-template-columns:1fr 1.8fr}#story-layer .story-card.reading h2{font-size:23px}#story-layer .argument-choice strong{font-size:17px}}
/* Cabinet colors, crisp fixed-width rankings and restrained CRT texture. */
.scores-panel{background:linear-gradient(#20182ee8,#302442ed);border:2px solid #8e6fa2;border-radius:3px;box-shadow:inset 0 0 0 5px #171222,0 0 32px #936c9c22;padding:24px;position:relative}
.scores-panel h2{color:#ffe164;text-shadow:3px 3px 0 #69315a;letter-spacing:5px}
.scores-table{font-family:ui-monospace,'Courier New',monospace;font-weight:900;font-size:clamp(15px,2.1vw,23px);letter-spacing:2px;text-shadow:0 0 8px currentColor}
.scores-table th{color:#d6b6eb;font:700 13px ui-monospace,monospace;letter-spacing:1px;border-bottom:2px solid #8c659d}
.scores-table td{border-bottom:1px dotted #76528266;padding:12px 8px}.scores-table tbody tr:nth-child(3n+1){color:#ffe164}.scores-table tbody tr:nth-child(3n+2){color:#92f2d2}.scores-table tbody tr:nth-child(3n){color:#ff89c0}.scores-table td:nth-child(2),.scores-table td:nth-child(3),.scores-table td:last-child{color:inherit}.scores-table tbody tr:first-child{background:#ffe1640c}
.demo-screen{position:relative;width:100%}.demo-screen canvas{display:block}.insert-coin{position:absolute;left:0;right:0;bottom:12%;text-align:center;pointer-events:none;font:900 clamp(15px,3vw,27px) ui-monospace,monospace;letter-spacing:4px;color:#ffe164;text-shadow:3px 3px 0 #171222,-2px -2px 0 #171222;animation:coin-prompt 9s step-end infinite}
@keyframes coin-prompt{0%,52%,64%,76%,88%,100%{opacity:0}58%,70%,82%{opacity:1}}
@media(prefers-reduced-motion:reduce){.insert-coin{animation:none;opacity:1}}
@media(max-width:600px){.scores-panel{padding:14px 8px}.scores-table td{font-size:17px;padding:9px 4px;letter-spacing:1px}.scores-table th{font-size:11px;padding:7px 4px}.scores-table td:last-child{font-size:13px}}

/* Full-screen attract mode: the game is the cabinet face. */
.arcade-show.demo-mode{padding:0;background:#171225}
.demo-mode .show-header{display:none}
.demo-mode .highlights-panel{position:absolute;inset:0;width:100%;max-width:none;padding:0;gap:0;margin:0;overflow:hidden}
.demo-mode .demo-screen{position:absolute;inset:0;height:100%}
.demo-mode .highlights-panel canvas{width:100%;height:100%;max-height:none;min-height:0;border:0;border-radius:0;cursor:pointer}
.demo-mode #demo-caption{position:absolute;left:20px;right:70px;top:max(22px,env(safe-area-inset-top));font:900 clamp(13px,1.8vw,20px)/1.3 ui-monospace,monospace;letter-spacing:1px;color:#fff1cd;text-shadow:2px 2px #171225,-1px -1px #171225;pointer-events:none}
.demo-menu{position:absolute;z-index:3;right:max(14px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));width:44px;height:44px;background:#17122599;color:#ffe164;border:1px solid #c5ab7455;border-radius:3px;font-size:23px;cursor:pointer}
.insert-coin{border:0;background:transparent;cursor:pointer;pointer-events:auto;width:100%;min-height:60px;padding:12px;bottom:max(6%,env(safe-area-inset-bottom));z-index:2}
.insert-coin small{display:block;font:700 11px/1.6 ui-monospace,monospace;letter-spacing:2px;color:#fff4cf;margin-top:8px}
.insert-coin:focus-visible{animation:none;opacity:1;outline:2px solid #ffe164;outline-offset:-4px}
.demo-mode .show-navigation{position:absolute;z-index:4;right:14px;top:65px;bottom:auto;width:220px;display:flex;flex-direction:column;background:#21182ff2;padding:12px;border:1px solid #a082ac;border-radius:4px}
.demo-mode .show-navigation>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.demo-mode .show-navigation .big-button{width:100%;font:900 18px ui-monospace,monospace;min-width:0}
@media(prefers-reduced-motion:reduce){.insert-coin{animation:none}}

.veteran-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;overflow:hidden}.veteran-panel canvas{width:min(580px,100%);height:min(55dvh,530px);object-fit:contain}.veteran-panel h2{color:#ffe164;margin:0;font-size:clamp(30px,6vw,60px)}.veteran-panel p{font:700 20px monospace;margin:0;color:#e9d7ed}.veteran-start{background:none;border:0;color:#92f2d2;font:900 18px monospace;letter-spacing:3px;padding:18px;cursor:pointer;animation:coin-prompt 9s step-end infinite}
@media(orientation:landscape) and (max-height:600px){.veteran-panel{display:grid;grid-template-columns:1.2fr 1fr;align-content:center}.veteran-panel canvas{grid-column:1;grid-row:1/5;height:76dvh}.veteran-panel h2,.veteran-panel p,.veteran-panel .eyebrow,.veteran-start{grid-column:2}.veteran-panel h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.veteran-start{animation:none}}

.gallery-mode .insert-coin{bottom:0;min-height:44px;padding:6px;font-size:16px}.gallery-mode .insert-coin small{font-size:9px;margin-top:3px}

#settings-menu{position:fixed;left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 24px));max-width:440px;max-height:88dvh;overflow:auto;z-index:300;text-align:left;padding:18px;background:#21192ff7;border:2px solid #bb9862;box-shadow:0 20px 90px #000b}
#settings-menu h2{font:32px Bangers;margin:0;color:#ffe164;letter-spacing:1px}.gear-intro{color:#cfb8df;margin:4px 0 14px;font-size:18px}.gear-options{display:grid;gap:7px}.gear-options button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;width:100%;min-height:58px;padding:10px 12px;background:#34263f;border:1px solid #795988;border-radius:5px;color:#fff0cd;cursor:pointer;font:700 17px 'Barlow Condensed'}.gear-options small{display:block;font:400 15px 'Barlow Condensed';color:#c8b5d5;margin-top:3px}.gear-options b{font:900 12px monospace;color:#ae95bd;min-width:30px}.gear-options button[aria-pressed=true]{border-color:#92f2d2;background:#24463f}.gear-options button[aria-pressed=true] b{color:#92f2d2}.gear-gallery{width:100%;margin-top:12px;padding:12px;border:0;border-radius:4px;background:#ffe164;color:#21192f;font:900 17px 'Barlow Condensed';cursor:pointer}.gear-note{font-size:13px;color:#b9a3c8;line-height:1.3;margin:9px 0}.crt-mode #game,.crt-mode #demo-game{filter:saturate(1.12) contrast(1.06)}.crt-mode::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:290;background:repeating-linear-gradient(0deg,#00000020 0,#00000020 1px,transparent 1px,transparent 4px);box-shadow:inset 0 0 100px #130c2833}
@media(max-height:480px){#settings-menu{max-height:94dvh;padding:12px}.gear-options button{min-height:50px}.gear-options{gap:5px}}

.candy-powered .control.flick b{font-size:clamp(18px,4vw,25px)}
@media(orientation:landscape) and (max-height:600px){.candy-powered .control.flick b{font-size:18px}}

.audio-mix{padding:12px 3px;border-block:1px solid #705e85;margin:10px 0;color:#eee0f4}.audio-mix p{font-size:14px;margin:0 0 12px;color:#96ebcf}.audio-mix label{display:flex;justify-content:space-between;font-size:16px}.audio-mix input{width:100%;margin:8px 0 14px;accent-color:#ff89c0;min-height:24px}.audio-mix output{color:#ffe164}


/* The first HTML paint is already an arcade screen, before the game loads. */
.on-title>.masthead .toolbar,.on-title>footer{visibility:hidden}
.booting #title-panel{visibility:hidden}.booting .title-footline{display:none}
.boot-intro{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 40%,#44315e 0,#171225 68%);color:#ffe164;overflow:hidden}
.boot-intro[hidden]{display:none}
.boot-intro:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#0b0a161f 3px 5px);pointer-events:none}
.boot-top{font:700 clamp(13px,2vw,20px) monospace;letter-spacing:.2em;color:#92f2d2}
.boot-intro strong{font:clamp(56px,13vw,144px)/1.1 Bangers,Impact,sans-serif;letter-spacing:.03em;text-shadow:4px 5px #9c4770,-2px -2px #fff0b6;margin:20px 0 0;transform:rotate(-3deg)}
.boot-intro strong span{color:#ff94b7}.boot-star{font-size:55px;color:#92f2d2;margin:14px}
.boot-intro b{font:700 clamp(19px,4vw,30px) monospace;letter-spacing:.12em;animation:coin-blink 1.2s steps(1) infinite}
.boot-intro small{font:12px/2 monospace;letter-spacing:.15em;margin-top:35px;color:#bea6d7}
.boot-meter{width:150px;height:4px;margin-top:20px;background:#6c547655;overflow:hidden}.boot-meter i{display:block;width:35%;height:100%;background:#92f2d2;animation:loading-sweep 1.2s ease-in-out infinite alternate}
@keyframes loading-sweep{from{transform:translateX(-100%)}to{transform:translateX(290%)}}
@keyframes coin-blink{0%,65%{opacity:1}66%,100%{opacity:.15}}
@media(prefers-reduced-motion:reduce){.boot-intro b,.boot-meter i{animation:none}}

.stage-page{position:fixed;inset:0;z-index:90;overflow-y:auto;background:radial-gradient(ellipse at 50% 0,#443258,#171225 70%);color:#fff1cf;padding:0 max(16px,calc((100vw - 1240px)/2)) 30px;overscroll-behavior:contain}
.stage-page[hidden]{display:none}.stage-page-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 16px;background:linear-gradient(#241c35 80%,#241c3500);border-bottom:2px solid #927357}
.stage-page-header span{font:700 12px monospace;letter-spacing:3px;color:#92f2d2}.stage-page-header h2{font:clamp(30px,6vw,48px)/1.05 Bangers,Impact;margin:5px 0 0;color:#ffe164;letter-spacing:2px}.stage-page-header button{flex-shrink:0;min-height:46px;padding:8px 14px;font-size:16px}
.stage-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 16px;padding:22px 0;margin:0}.stage-grid li{min-width:0;scroll-margin-top:116px}.stage-card{display:block;width:100%;height:100%;padding:0;text-align:left;background:#2a2039;border:2px solid #695477;border-radius:8px;overflow:hidden;cursor:pointer;color:#fff1cf;box-shadow:0 6px 0 #100c1b;transition:border-color .15s,transform .15s}.stage-card:hover,.stage-card:focus-visible{border-color:#ffe164;outline:2px solid #ffe164;outline-offset:3px;transform:translateY(-3px)}.stage-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}.stage-caption{position:relative;display:block;padding:12px 12px 15px 46px;min-height:78px}.stage-caption b{position:absolute;left:12px;top:10px;font:29px Bangers,Impact;color:#ffe164}.stage-caption strong{display:block;font:22px/1.03 Bangers,Impact;letter-spacing:.4px}.stage-caption small{display:block;font:12px/1.4 monospace;color:#bca7cf;margin-top:6px}
@media(max-width:900px){.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.stage-caption{padding:10px 8px 12px 35px;min-height:92px}.stage-caption b{font-size:24px;left:8px}.stage-caption strong{font-size:21px}.stage-caption small{font:12px/1.35 monospace}.stage-page{padding:0 14px 26px}.stage-page-header{padding-top:16px}}

/* Generous thumb targets without covering the playfield. The arrows form one
   slideable pad; jump and whack retain their large, independent touch areas. */
.movement{touch-action:none}
@media(max-width:600px){
 .main-controls{gap:10px}
 .movement{width:40%;min-width:124px;gap:6px}
 .movement .control.direction{width:0;min-width:0;flex:1;font-size:30px}
 .main-controls .actions{flex:1;min-width:0;gap:8px}
 .main-controls .control.jump,.main-controls .control.whack{width:0;min-width:0;flex:1}
 .control.jump b,.control.whack b{font-size:clamp(23px,6.8vw,30px)}
 .control.jump small,.control.whack small{font-size:8px;letter-spacing:0}
}
@media(orientation:landscape) and (max-height:600px){
 .main-controls{min-width:0;gap:12px}
 .main-controls .movement{width:clamp(144px,20vw,180px);min-width:130px;gap:6px}
 .movement .control.direction{width:0;min-width:0;flex:1;font-size:30px}
 .main-controls .actions{flex:1;min-width:0;gap:8px}
 .main-controls .control.jump,.main-controls .control.whack{width:0;min-width:68px;flex:1}
 .control.jump b,.control.whack b{font-size:clamp(23px,3.5vw,29px)}
 .control.jump small,.control.whack small{font-size:8px;letter-spacing:0}
}

/* Star Arcade: title and rankings are cabinet screens, without page chrome. */
.arcade.on-title{position:fixed;inset:0;width:100%;height:100dvh;min-height:0;max-height:none;max-width:none;display:block}
.on-title>.masthead,.on-title>footer{display:none}.on-title>.game-shell{height:100%;border:0;outline:0;border-radius:0;box-shadow:none}
.on-title .overlay{background:linear-gradient(#17122588,#17122555 45%,#120e24ed)}
.on-title .overlay:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#0a091318 3px 4px)}
.title-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:20px;width:min(1120px,100%);height:100%;max-height:960px;margin:0;padding:64px 32px 70px;overflow:visible;background:none}
.title-topline{position:absolute;top:max(26px,env(safe-area-inset-top));left:0;right:0;font:700 12px/1.5 ui-monospace,monospace;letter-spacing:4px;color:var(--mint);text-align:center}
.title-art{width:100%;height:auto}.title-art canvas{width:100%;height:min(66dvh,620px);max-height:none;object-fit:contain}
.title-menu{width:100%;min-width:0}.title-panel h1{font:clamp(70px,8vw,120px)/.92 Bangers,Impact,sans-serif;letter-spacing:1px;margin:0 0 30px;text-shadow:3px 4px #783c68,6px 7px #130d24;transform:rotate(-3deg)}
.title-options{display:flex;flex-direction:column;align-items:center;gap:2px}
.title-options button{position:relative;display:block;min-width:235px;min-height:44px;margin:0;padding:10px 24px;border:0;border-radius:0;background:transparent;box-shadow:none;text-decoration:none;font:800 17px/1.2 ui-monospace,'Courier New',monospace;letter-spacing:1.8px;color:#bdafd0;text-shadow:2px 2px #141024;transition:color .1s}
.title-options #start{font-size:22px;margin-bottom:10px;color:#fff0b6}.title-options button[data-selected=true]{color:var(--yellow)}
.title-options button:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:10px;background:var(--mint);clip-path:polygon(0 0,100% 50%,0 100%);visibility:hidden}
.title-options button[data-selected=true]:before{visibility:visible;animation:menu-cursor 1.2s steps(2,end) infinite}.title-options button:hover{color:#fff3ca}.title-options button:focus-visible{outline:1px dashed #92f2d288;outline-offset:0}
@keyframes menu-cursor{0%,65%{opacity:1}66%,100%{opacity:.45}}
.title-footline{display:none;position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:12px;right:12px;text-align:center;font:700 10px/1.5 ui-monospace,monospace;letter-spacing:1.4px;color:#b2a0bd;pointer-events:none}.on-title .title-footline{display:block}.title-footline span{color:var(--mint);padding:0 8px}
@media(max-width:680px) and (orientation:portrait){.title-panel{display:flex;flex-direction:column;justify-content:center;gap:0;padding:48px 16px 58px;max-height:none}.title-art{height:min(42dvh,380px);width:100%;flex:none}.title-art canvas{height:100%;width:100%}.title-panel h1{font-size:clamp(51px,16.8vw,90px);margin:0 0 22px}.title-topline{font-size:10px;letter-spacing:3px;top:max(25px,env(safe-area-inset-top))}.title-options button{font-size:16px}.title-options #start{font-size:21px;margin-bottom:7px}.title-footline{font-size:9px;letter-spacing:1px}}
@media(orientation:landscape) and (max-height:600px){.title-panel{grid-template-columns:1fr 1fr;gap:12px;padding:28px 28px 30px}.title-art{width:100%;height:100%;min-height:0}.title-art canvas{height:100%;max-height:83dvh}.title-panel h1{font-size:clamp(44px,8vw,76px);margin:0 0 15px}.title-topline{font-size:9px;top:9px}.title-options button{min-height:36px;padding:6px 24px;font-size:14px}.title-options #start{font-size:19px;margin:0 0 5px}.title-footline{font-size:8px;bottom:9px}}
.scores-mode{background:radial-gradient(ellipse at 50% 25%,#362c4e,#171225 65%,#0d101e);padding-top:max(22px,env(safe-area-inset-top))}.scores-mode:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#07071425 3px 4px);pointer-events:none}
.scores-mode .show-header{display:none}.scores-mode .scores-panel{max-width:700px;width:100%;background:none;border:0;border-radius:0;box-shadow:none;padding:0 12px;overflow:auto;flex:1}
.scores-mode .scores-panel .eyebrow{font:700 10px/1.4 ui-monospace,monospace;letter-spacing:2px;color:var(--mint)}
.scores-mode .scores-panel h2{font:900 clamp(26px,5vw,46px)/1.15 ui-monospace,monospace;color:#ffe164;letter-spacing:4px;margin:14px 0 8px;text-shadow:3px 3px #733c68}
.score-top-ten{display:block;font:800 11px/1.3 ui-monospace,monospace;letter-spacing:3px;color:#ff92bc;margin:0 0 16px}
.scores-mode .board-tabs{gap:20px}.scores-mode .board-tabs button{border:0;border-radius:0;background:none;color:#ad9abc;min-height:36px;padding:7px 0;font:800 12px/1.2 ui-monospace,monospace;letter-spacing:1px}
.scores-mode .board-tabs button[aria-pressed=true]{color:var(--mint);border-bottom:2px solid var(--mint)}.scores-mode .board-note{font:700 9px/1.3 ui-monospace,monospace;color:#baa5cb;letter-spacing:1.3px;margin:7px 0 16px}
.scores-mode .scores-table{table-layout:fixed;font-family:ui-monospace,'Courier New',monospace;font-weight:900;letter-spacing:1px;text-shadow:1px 1px #090b20,0 0 10px #b9a2dd18}
.scores-mode .scores-table th{font:700 11px/1 ui-monospace,monospace;color:#be9fce;letter-spacing:1px;padding:9px 4px 12px;border:0}
.scores-mode .scores-table th:nth-child(1){width:17%}.scores-mode .scores-table th:nth-child(2){width:20%}.scores-mode .scores-table th:nth-child(3){width:40%}.scores-mode .scores-table th:nth-child(4){width:23%}
.scores-mode .scores-table td{height:clamp(23px,calc((100dvh - 370px)/10),36px);padding:4px;font:900 clamp(14px,2.6vw,23px)/1 ui-monospace,monospace;letter-spacing:1px;border:0;white-space:nowrap}
.scores-mode .scores-table td:nth-child(2){letter-spacing:2px}.scores-mode .scores-table td:last-child{font-size:clamp(12px,2vw,17px)}.scores-mode .scores-table tr{background:none}.scores-mode .scores-table .score-empty{color:#806d96}.scores-mode .scores-table .score-current{background:#92f2d210;outline:1px solid #92f2d255;color:#b6ffe6}
.scores-mode #scores-status{font:700 10px/1.4 ui-monospace,monospace;color:#bfa6d4;letter-spacing:1.4px;margin:15px 0 8px;min-height:15px}
.scores-mode .show-navigation{position:relative;max-width:680px;padding:8px 0 2px;border:0;display:flex;flex-direction:column;gap:2px}.scores-mode .show-navigation .big-button{min-height:42px;padding:7px 24px;min-width:0;width:auto;border:0;border-radius:0;background:none;box-shadow:none;color:#ffe164;font:900 18px/1.2 ui-monospace,monospace;letter-spacing:3px}.scores-mode .show-navigation .big-button:before{content:'▶ ';color:var(--mint)}
.scores-mode .show-navigation>div{justify-content:center;gap:24px;width:auto}.scores-mode .show-navigation button:not(.big-button){border:0;border-radius:0;background:none;min-height:30px;padding:4px 0;color:#a999bb;font:700 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:1px;flex:none}.scores-mode #show-scores{display:none}
@media(max-width:350px){.scores-mode{padding-inline:8px}.scores-mode .scores-panel{padding-inline:7px}.scores-mode .scores-panel h2{letter-spacing:2px}.scores-mode .scores-table th{font-size:9px;letter-spacing:0}.scores-mode .scores-table td{font-size:13px;letter-spacing:0}.scores-mode .scores-table td:last-child{font-size:11px}.scores-mode .board-tabs{gap:17px}}
@media(orientation:landscape) and (max-height:600px){.scores-mode{padding-top:8px}.scores-mode .scores-panel{max-width:590px;overflow:auto}.scores-mode .scores-panel .eyebrow,.scores-mode .score-top-ten,.scores-mode .board-note{display:none}.scores-mode .scores-panel h2{font-size:23px;letter-spacing:3px;margin:0 0 3px}.scores-mode .board-tabs button{min-height:26px;font-size:10px;padding:4px 0}.scores-mode .scores-table th{font-size:9px;padding:7px 4px}.scores-mode .scores-table td{height:20px;padding:2px 4px;font-size:14px}.scores-mode .scores-table td:last-child{font-size:11px}.scores-mode #scores-status{margin:5px 0;font-size:9px}.scores-mode .show-navigation{flex-direction:row;justify-content:center;gap:30px;padding:3px 0}.scores-mode .show-navigation .big-button{min-height:32px;font-size:13px}.scores-mode .show-navigation>div{gap:16px}}
@media(prefers-reduced-motion:reduce){.title-options button[data-selected=true]:before{animation:none}}
.equipment-shelf{grid-template-columns:minmax(0,1fr) 235px 184px}.equipment-shelf .loadout{order:0}.equipment-shelf .special-slot{order:1;width:100%}.equipment-shelf .control.flick{order:2}
@media(max-width:600px),(orientation:landscape) and (max-height:600px){.equipment-shelf .special-slot{grid-column:1;grid-row:2;width:100%}.equipment-shelf .control.flick{grid-column:2;grid-row:2}.equipment-shelf{grid-template-columns:1fr 1fr}}

.gear-preview{margin:0 0 12px;border:1px solid #79618a;background:#171529}.gear-preview canvas{display:block;width:100%;height:auto}.gear-preview p{font:700 13px ui-monospace,monospace;color:#92f2d2;margin:0;padding:9px 10px;border-top:1px solid #483654}.crt-mode .gear-preview canvas{filter:saturate(1.12) contrast(1.06)}
