@font-face{font-family:Arcade;src:local('Arial Black');font-display:swap}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0b1013;color:#f5f5e9;font-family:Arial,Helvetica,sans-serif}body{min-height:100dvh;display:flex;align-items:center;justify-content:center}button,a{-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;border:0;color:inherit;font-weight:900}button:focus-visible,a:focus-visible{outline:3px solid #fff49c;outline-offset:5px}button:active{transform:translateY(2px)}#cabinet{width:min(100%,1700px);padding:0 34px}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}#brand{color:#f1f4e7;display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;font-weight:900;letter-spacing:1px}#brand i{color:#839293;font-size:10px}.brand-symbol,.load-mark{color:#0cf080;font-size:39px;font-weight:1000;font-style:italic;letter-spacing:-9px;transform:rotate(-8deg);margin-right:8px}.brand-symbol span{font-size:27px}.top-right{display:flex;align-items:center;gap:13px}.edition{font-size:10px;letter-spacing:2px;color:#7b8c8c;margin-right:20px}.edition b{color:#d6ded1;margin-left:6px}.icon{background:transparent;border:1px solid #324141;border-radius:5px;min-height:32px;padding:8px 12px;font-size:10px;letter-spacing:1px}#fullscreen{font-size:20px;padding:2px 10px}.icon:hover{border-color:#10eb7c;color:#10eb7c}#stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #3c4b4d;box-shadow:0 20px 80px #0008;background:#111b27;border-radius:7px;isolation:isolate;container-type:inline-size}#stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border:0;border-radius:0}#game{width:100%;height:100%;display:block;object-fit:contain;outline:none;touch-action:none}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.hidden{display:none!important}#loading{background:#101a22;z-index:30;flex-direction:column}#loading h2{font-size:20px;letter-spacing:3px}.load-mark{font-size:80px}.load-mark span{font-size:52px}#loading p{color:#8ca7a3;font-size:13px}.load-track{height:4px;background:#293938;width:220px;margin-top:10px}#loadfill{background:#0af580;height:100%;width:0;transition:width .2s}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,17,20,.94) 0%,rgba(7,18,21,.85) 33%,rgba(7,17,19,.24) 62%,rgba(6,18,23,.1)),linear-gradient(0deg,#071219a6,transparent 25%)}.menu-content{position:absolute;left:5.4%;top:9%;width:47%}.eyebrow{color:#62e9a0;letter-spacing:2.6px;font-size:clamp(9px,1cqw,15px);font-weight:800;display:flex;align-items:center;gap:10px}.eyebrow>span{width:6px;height:6px;background:#34ef89;display:inline-block}h1{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(28px,7.3cqw,110px);line-height:.92;margin:3% 0 0;letter-spacing:1px;font-weight:900;transform:rotate(-2deg);text-shadow:4px 5px 0 #081214;color:#fffceb}h1 .versus{display:block;font-size:.3em;line-height:1.4;letter-spacing:6px;margin-left:2px;color:#c5d2c2}h1 .kangaroos{display:block;color:#3bff88;font-size:.85em;letter-spacing:-1px}.menu-copy{font-size:clamp(12px,1.45cqw,23px);color:#cad5c8;margin:5% 0 5%;letter-spacing:.6px}.primary{display:flex;align-items:center;justify-content:space-between;background:#3bff88;color:#071c14;border:2px solid #061b11;box-shadow:4px 5px 0 #061310;border-radius:3px;font-size:clamp(15px,1.8cqw,27px);padding:2.6% 5%;letter-spacing:1px;transition:background .12s,box-shadow .12s;width:68%;min-height:38px}.primary:hover{background:#b1ff65;box-shadow:6px 7px 0 #061310}.play-arrow{font-size:1.6em;line-height:.8}.menu-secondary{display:flex;gap:7%;margin-top:5%;width:96%}.menu-secondary button,.result-actions button{background:none;padding:4px 0;font-size:clamp(9px,.85cqw,14px);letter-spacing:1px;color:#e3eada;border-bottom:1px solid #708071}.menu-secondary button:hover,.result-actions button:hover{color:#3bff88;border-color:#3bff88}.personal-best{margin-top:7%;font-size:clamp(8px,.8cqw,13px);color:#8faba1;letter-spacing:1.4px}.personal-best strong{color:#eef5dc;font-family:monospace;font-size:1.5em;margin-left:10px;letter-spacing:2px}.personal-best>span{display:block;margin-top:8px;font-size:.85em;color:#77978c}.menu-stamp{position:absolute;right:4%;top:5%;border:2px solid #52ff9180;transform:rotate(5deg);padding:10px 15px;font-size:clamp(7px,.7cqw,12px);letter-spacing:2px;color:#c3e4c6;text-align:center}.menu-stamp strong{font-size:1.7em;color:#5cff91;line-height:1.5}.menu-bottom{position:absolute;bottom:4%;left:5.4%;right:4%;display:flex;justify-content:space-between;font-size:clamp(8px,.75cqw,12px);letter-spacing:2px;color:#b2c9bf}#hud{position:absolute;inset:0;pointer-events:none;padding:2.4% 3%;display:flex;align-items:flex-start;justify-content:space-between;gap:3%;height:17%;background:linear-gradient(#071016e6,#071016aa,transparent)}.hud-left{display:flex;gap:12px;width:32%}.portrait{width:5cqw;height:5cqw;border:3px solid #d5efcb;border-radius:50%;background:#1d6e56;overflow:hidden;flex-shrink:0}.portrait canvas{width:100%;height:100%}.health-block{width:100%;padding-top:.2cqw}.hud-label{font-size:clamp(9px,1.15cqw,18px);font-weight:900;letter-spacing:1px;text-shadow:2px 2px #000}.hud-label span{float:right;color:#c1d7c6;font-size:.8em}.health-track,.code-track,.boss-track{height:1.4cqw;min-height:8px;border:2px solid #deeed9;background:#15272e;transform:skew(-8deg);padding:2px;box-shadow:2px 3px #070e11;margin-top:6px}.health-track>div{height:100%;background:#57ff70;transition:width .16s;width:100%}#buffs{font-size:clamp(7px,.67cqw,11px);letter-spacing:1px;color:#c0d7c5;margin-top:8px}.score-block{text-align:center;display:flex;flex-direction:column}.score-block strong{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(22px,3cqw,46px);line-height:1.1;letter-spacing:2px;color:#f5f6d7;text-shadow:3px 3px #00160b}.score-block #combo{font-size:clamp(9px,1.2cqw,20px);color:#ffe56e;letter-spacing:1px;font-weight:900}.code-block{width:25%;margin-right:3%}.code-track>div{height:100%;background:repeating-linear-gradient(110deg,#28f78a 0px,#28f78a 30px,#88ffbc 31px,#88ffbc 34px);width:0;transition:width .12s}.wave-row{display:flex;justify-content:space-between;margin-top:9px;font-size:clamp(9px,.9cqw,15px);letter-spacing:1px;font-weight:bold;color:#e3e9d7}#pause{position:absolute;right:1%;top:20%;pointer-events:auto;background:#16272ae0;border:1px solid #60766b;border-radius:4px;width:2.4cqw;height:2.6cqw;min-width:25px;min-height:25px;font-size:16px}#bossbar{position:absolute;left:28%;right:28%;top:105%;font-size:clamp(9px,1cqw,16px);letter-spacing:2px;font-weight:900}#bossbar span{float:right;font-size:.65em;color:#fac493;letter-spacing:1px}.boss-track{height:1cqw;border-color:#ffc896}.boss-track>div{height:100%;background:#ff674c;width:100%}#announcement{position:absolute;left:0;right:0;top:27%;pointer-events:none;text-align:center;transform:rotate(-3deg)}#announcement small{display:block;color:#dcffe5;font-size:1.3cqw;letter-spacing:5px;font-weight:900;text-shadow:2px 2px #000}#announcement strong{font-family:Impact,'Arial Black',sans-serif;font-size:5cqw;letter-spacing:3px;color:#b4ff62;-webkit-text-stroke:1px #082318;text-shadow:4px 5px #09251a}#toast{position:absolute;bottom:12%;left:20%;right:20%;text-align:center;color:#ceffcc;text-shadow:2px 2px #000;font-weight:900;font-size:1.25cqw;letter-spacing:1.5px;pointer-events:none}#results{background:linear-gradient(90deg,#07121cc4,#09181ded);backdrop-filter:blur(3px)}.result-card{width:42%;text-align:center;margin-left:30%;padding:2%}.result-card .eyebrow{justify-content:center;color:#71ffae}.result-card h2{font-family:Impact,'Arial Black',sans-serif;font-size:5.5cqw;line-height:1;margin:2% 0;color:#efffcb;transform:rotate(-3deg);text-shadow:4px 5px #0a1012}.result-card>p{color:#bbd3c3;font-size:1.2cqw;margin:3% 0}.result-score{margin:5% 0 4%;display:flex;align-items:center;flex-direction:column}.result-score small{font-size:.9cqw;letter-spacing:3px;color:#a1b8ae}.result-score strong{font-family:Impact,'Arial Black',sans-serif;color:#44ff92;font-size:5.6cqw;letter-spacing:3px;line-height:1.12}.result-score span{font-size:.8cqw;letter-spacing:2px;color:#f4e882}.result-stats{display:flex;justify-content:space-between;border-top:1px solid #536951;border-bottom:1px solid #536951;padding:5% 0;margin-bottom:7%}.result-stats div{display:flex;flex-direction:column;gap:5px}.result-stats small{font-size:.8cqw;letter-spacing:1px;color:#a8bbb0}.result-stats strong{font-size:2cqw}.result-card .primary{width:100%;padding:4% 6%}.result-actions{display:flex;justify-content:center;gap:35px;margin-top:6%}#modal{background:#050e16b8;backdrop-filter:blur(7px);z-index:20}.modal-card{position:relative;background:#142529;border:2px solid #6a9176;box-shadow:10px 12px 0 #040c0ba8;border-radius:5px;width:min(620px,72%);padding:4%;max-height:90%;overflow:auto}#close-modal{position:absolute;right:18px;top:12px;background:transparent;color:#bccabb;font-size:28px}.modal-card h2{font-family:Impact,'Arial Black',sans-serif;letter-spacing:1px;font-size:clamp(24px,3cqw,44px);margin:16px 0 20px;color:#eefece}.modal-card p{color:#bdcfc1;font-size:clamp(12px,1.1cqw,17px);line-height:1.6}.controls-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.controls-list>div{display:flex;align-items:center;gap:10px;font-size:clamp(12px,1.1cqw,16px);border-bottom:1px solid #3b514c;padding:10px 0}.controls-list kbd{min-width:45px}.modal-card .primary{font-size:18px;padding:14px 20px;width:100%;margin-top:24px}.setting{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid #3b514c;font-size:16px}.setting input{width:20px;height:20px;accent-color:#34ff8a}.scores{width:100%;border-collapse:collapse;font-size:14px}.scores td,.scores th{text-align:left;padding:13px 6px;border-bottom:1px solid #3b514c}.scores th{font-size:11px;color:#aac3b2;letter-spacing:1px}.scores td:nth-child(2){font-family:monospace;color:#60ff99;font-weight:bold}.scores tr:first-of-type td{color:#fff0a1}.bottom-bar{min-height:69px;display:flex;align-items:center;justify-content:space-between;gap:20px}.keyboard-hints{display:flex;align-items:center;gap:22px;color:#a5b5ac;font-size:10px;font-weight:bold;letter-spacing:.8px}.keyboard-hints>span{display:flex;gap:5px;align-items:center}kbd{font-family:inherit;font-size:10px;background:#1a282a;border:1px solid #42514f;border-bottom:3px solid #42514f;border-radius:3px;padding:4px 6px;color:#d6e1cf;display:inline-block}.keyboard-hints .green{color:#4ff88e}.keyboard-hints .green kbd{border-color:#257f50;color:#4ff88e}.footer-note{font-size:9px;letter-spacing:1px;color:#6c827a;text-align:right}#touch{position:absolute;bottom:2%;left:2%;right:2%;display:flex;justify-content:space-between;pointer-events:none}#touch>div{display:flex;gap:7px}#touch button{pointer-events:auto;background:#0a1c20ac;border:1px solid #9de5b7;color:#e1f8db;border-radius:9px;padding:12px;touch-action:none;font-size:11px;min-width:43px;min-height:43px}#touch button[data-key=KeyJ]{background:#34ef83b3;color:#07130c} @media(max-width:1000px){#cabinet{padding:0 16px}.keyboard-hints{gap:10px;font-size:8px}.footer-note{display:none}.topbar{height:64px}.bottom-bar{min-height:54px}.edition{display:none}}@media(max-width:650px){#cabinet{padding:0 6px}.topbar{height:52px}#brand{font-size:9px;gap:7px;letter-spacing:.3px}.brand-symbol{font-size:27px}.brand-symbol span{font-size:19px}.top-right{gap:6px}.icon{font-size:8px;padding:6px;min-height:28px}.keyboard-hints{flex-wrap:wrap;gap:8px}.keyboard-hints>span{gap:3px}.bottom-bar{padding:12px 6px;justify-content:center}.menu-content{top:8%;width:56%;left:5%}.menu-secondary{gap:5%;margin-top:4%}.personal-best{margin-top:4%}.menu-stamp{padding:5px 8px}.menu-bottom{font-size:6px}.health-track,.code-track{border-width:1px;padding:1px}.hud-left{gap:5px}.portrait{border-width:1px}.hud-label{font-size:8px}#buffs{font-size:5px;margin-top:4px}.wave-row{font-size:6px;margin-top:5px}.score-block #combo{font-size:7px}.modal-card{padding:5%;width:90%}.modal-card .eyebrow{font-size:8px}.modal-card h2{margin:10px 0}.controls-list{gap:4px 14px}.controls-list>div{padding:4px 0;font-size:11px}.modal-card p{font-size:11px;margin:8px 0}.modal-card .primary{font-size:13px;padding:8px;margin-top:10px}.setting{font-size:12px;padding:10px 0}.scores td,.scores th{padding:7px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
#high{font-size:clamp(7px,.7cqw,12px);color:#b2cbb9;letter-spacing:1px;margin-top:5px}
/* V2 keeps the arena/HUD identity and replaces the surrounding landing-page layout. */
body{overflow:hidden}#cabinet{padding:0;width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;background:#05090d}#stage{width:min(100vw,177.7778dvh);height:min(56.25vw,100dvh);aspect-ratio:16/9;border:0;border-radius:0;box-shadow:none}.topbar{position:fixed;top:0;right:0;left:0;height:46px;padding:8px 14px;z-index:25;pointer-events:none;background:linear-gradient(#050b13b0,transparent)}#brand,.edition{display:none}.top-right{margin-left:auto;pointer-events:auto}.bottom-bar{position:fixed;bottom:0;left:0;right:0;min-height:28px;justify-content:center;pointer-events:none;z-index:15;background:linear-gradient(transparent,#061014c0)}.keyboard-hints{font-size:8px;gap:14px;padding:5px;opacity:.75}.keyboard-hints kbd{font-size:8px;padding:2px 4px}.footer-note{display:none}.menu-shade{background:linear-gradient(90deg,#081019dc 0%,#081019ad 20%,transparent 54%),linear-gradient(0deg,#050d17c9,transparent 22%)}.menu-content{left:5%;top:10%;width:38%;height:80%}h1{font-size:6.5cqw;line-height:.83;letter-spacing:1px}h1 .versus{font-size:.35em;margin:2% 0 1%;line-height:1.1;letter-spacing:3px;color:#fffca7}h1 .kangaroos{font-size:.53em;line-height:1.03;max-width:88%;text-wrap:balance;letter-spacing:0}.menu-copy{font-size:.92cqw;margin:6% 0 7%;letter-spacing:2px}.menu-content>.primary{width:66%;padding:4% 6%;font-size:2.1cqw;transform:skew(-4deg);box-shadow:5px 6px #041308}.menu-secondary{display:flex;flex-direction:column;gap:9px;width:65%;margin-top:6%;align-items:flex-start}.menu-secondary button{font-size:1cqw;border:0;letter-spacing:2px;padding:5px 0;text-shadow:2px 2px #000}.menu-secondary button:hover{padding-left:8px}.personal-best{margin-top:6%;font-size:.78cqw}.personal-best>span{font-size:.84em;line-height:1.5}.menu-stamp{top:8%;right:4%}.menu-bottom{bottom:5%;font-size:.7cqw}#hud{padding-top:3.5%;height:19%}#dimension-hud{position:absolute;left:3%;bottom:5%;pointer-events:none;display:flex;flex-direction:column;gap:5px;text-shadow:2px 2px #06110b;color:#d4e7cc;font-size:1cqw;font-weight:900;letter-spacing:2px}#wave-progress{font-size:.72cqw;color:#a6cbb5}body:has(#menu:not(.hidden)) #dimension-hud,body:has(#results:not(.hidden)) #dimension-hud{display:none}#code-prompt{position:absolute;top:14%;left:58%;right:5%;text-align:center;font-size:1.02cqw;font-weight:900;letter-spacing:2px;color:#82ffb6;pointer-events:none;text-shadow:2px 2px #10200f}#code-prompt.ready{animation:readyPulse .6s ease-in-out infinite alternate}.code-ready .code-track{box-shadow:0 0 15px #3bff88}.code-ready .code-track>div{background:#b1ff7d}#code-banner{position:absolute;top:27%;left:0;right:0;text-align:center;font-family:Impact,'Arial Black',sans-serif;font-size:4.5cqw;letter-spacing:2px;color:#aeff83;text-shadow:4px 5px #05280b;transform:rotate(-3deg);pointer-events:none;animation:codePop .3s ease-out}#chaos-status{position:absolute;right:3%;bottom:5%;color:#ffe58a;font-size:.95cqw;letter-spacing:1px;font-weight:900;text-shadow:2px 2px #051119}#announcement{top:25%}#announcement strong{font-size:4cqw}#bossbar{left:27%;right:27%;top:102%;font-size:.95cqw}#boss-state{max-width:58%;text-align:right}#toast{bottom:14%;font-size:1.02cqw}.result-card{width:47%;margin-left:38%;padding:1.5% 3%;}.result-card h2{font-size:4.1cqw;margin:2% 0}.result-card>p{font-size:.88cqw;margin:2% 0}.result-score{margin:2% 0}.result-score strong{font-size:4.8cqw}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:3% 0;margin-bottom:3%}.result-stats strong{font-size:1.55cqw}.result-stats small{font-size:.63cqw}.submit-row{display:flex;gap:6px}.submit-row input{width:60%;min-width:0;background:#071918;color:#eeffe6;border:1px solid #608877;border-radius:3px;font-family:inherit;font-weight:bold;letter-spacing:1px;font-size:.92cqw;padding:9px}.submit-row button{background:#264a3a;border:1px solid #73a88c;border-radius:3px;font-size:.7cqw;padding:9px;flex:1}.submit-row button:disabled{opacity:.5;cursor:default}#submission-status{font-size:.72cqw;min-height:2.3em;line-height:1.25;color:#a4c9ad;margin:2% 0}.result-main-actions{display:flex;gap:10px;flex-direction:column}.result-main-actions .primary{font-size:1.45cqw;padding:3% 5%;min-height:0}.share-primary{width:100%;padding:3%;background:#e4eee2;color:#071610;border:1px solid #061e17;box-shadow:3px 4px #020907;font-size:1.1cqw;border-radius:3px;letter-spacing:1px}.share-primary:hover{background:#b5ffcf}.result-actions{gap:22px;margin-top:4%}.result-actions button{font-size:.67cqw}.leader-best{padding:10px 0 18px;font-size:13px;letter-spacing:1px;color:#b6d8bf}.leader-best b{margin-left:12px;color:#8fffaf;font-size:21px}.scores td:nth-child(2){color:#d5e7dc;font-family:inherit}.scores td:nth-child(3){font-family:monospace;color:#7bffa8}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.modal-card{max-height:83%;margin-top:2%}.modal-card .controls-list{gap:5px 20px}.modal-card p{font-size:1cqw}.modal-card .primary{margin-top:15px}.setting{font-size:1.1cqw}@keyframes readyPulse{from{opacity:.65;transform:scale(.98)}to{opacity:1;transform:scale(1.05)}}@keyframes codePop{from{opacity:0;transform:rotate(-3deg) scale(1.4)}to{opacity:1;transform:rotate(-3deg) scale(1)}}@media(max-width:650px){.topbar{height:35px}.bottom-bar{display:none}.menu-content{top:9%}.menu-secondary{gap:3px}.menu-secondary button{font-size:1.25cqw}.menu-content>.primary{min-height:20px}.personal-best{font-size:1cqw}.result-card{width:57%;margin-left:33%;padding:2%}.result-card h2{font-size:4cqw}.result-stats{gap:7px}.result-stats small{font-size:.9cqw}.result-stats strong{font-size:1.8cqw}.submit-row input{padding:5px;font-size:1.4cqw}.submit-row button{padding:5px;font-size:1cqw}#submission-status{font-size:1cqw}.result-actions button{font-size:1cqw}.modal-card{width:86%;max-height:88%;padding:3%}.modal-card p{font-size:1.6cqw}.controls-list>div{font-size:1.5cqw}.modal-card h2{font-size:3cqw}.setting{font-size:1.7cqw}#touch{bottom:2%;}#touch button{padding:8px;min-width:32px;min-height:32px;font-size:8px}}@media(prefers-reduced-motion:reduce){#code-prompt.ready,#code-banner{animation:none}}

body:has(#menu:not(.hidden)) #code-prompt,body:has(#menu:not(.hidden)) #chaos-status,body:has(#results:not(.hidden)) #code-prompt,body:has(#results:not(.hidden)) #chaos-status{display:none}
/* V2.5 title room, action menus and phone-specific interface. */
html,body{width:100%;height:100%;overscroll-behavior:none}#cabinet,#game,.touch-mode #stage{touch-action:none;user-select:none;-webkit-user-select:none}button{touch-action:manipulation}.menu-content{left:3.2%;top:3%;width:28%;height:90%;z-index:2}.game-logo{display:block;width:100%;height:49%;object-fit:contain;filter:drop-shadow(0 5px 0 #010807)}.menu-content>.eyebrow,.menu-copy{display:none}.menu-content>.primary{width:78%;margin:1% auto 0;justify-content:center;gap:18px;background:#f15e4b;color:#fff6cc;border:3px solid #1d1315;box-shadow:0 6px #802624,4px 9px #061312;font-size:clamp(22px,2.2cqw,34px);padding:3% 5%;border-radius:8px}.menu-content>.primary:hover{animation:dangerJitter .15s infinite;background:#ff8870}.menu-content>.primary:disabled{opacity:.85}.menu-secondary{width:100%;align-items:center;gap:6px;margin-top:8%}.menu-secondary button{font-size:clamp(12px,1.05cqw,18px);letter-spacing:1.6px;padding:5px}.personal-best{text-align:center;margin-top:5%;font-size:clamp(10px,.8cqw,14px)}.personal-best>span{font-size:clamp(10px,.7cqw,13px)}.menu-shade{background:linear-gradient(90deg,#05101950,transparent 40%)}.menu-bottom{font-size:clamp(9px,.65cqw,12px);left:3%;bottom:3%;pointer-events:none}.menu-secrets{position:absolute;inset:0;pointer-events:none;z-index:1}.secret{position:absolute;pointer-events:auto;background:transparent;border-radius:35%;border:2px solid transparent}.secret:focus-visible{border-color:#fff394;outline:0}.secret:hover{box-shadow:inset 0 0 16px #abff7733}.secret-button{left:64.6%;top:44.6%;width:12.6%;height:12.2%}.secret-coke{left:78.6%;top:42.4%;width:5.8%;height:16.6%}.secret-dog{left:42%;top:66%;width:17%;height:24%}.secret-keys{left:72.6%;top:61%;width:6.6%;height:17%}.secret-warning{left:33%;top:10%;width:12%;height:25%}
#weapon-hud{position:absolute;bottom:9%;left:3%;color:#ddff9a;font-size:clamp(11px,1cqw,16px);font-weight:900;text-shadow:2px 2px #000;pointer-events:none}#finisher-prompt{position:absolute;top:19%;right:5%;color:#ffeb8b;font-size:clamp(12px,1.1cqw,19px);font-weight:900;letter-spacing:1px;pointer-events:none;text-shadow:2px 2px #000}body:has(#menu:not(.hidden)) #weapon-hud,body:has(#results:not(.hidden)) #weapon-hud,body:has(#menu:not(.hidden)) #finisher-prompt,body:has(#results:not(.hidden)) #finisher-prompt{display:none}.record-stamp{display:inline-block;border:2px solid #edff91;padding:4px 12px;transform:rotate(-3deg);animation:recordStamp .35s ease-out}.dimension-stat{grid-column:span 2}.dimension-stat strong{font-size:1.2cqw}.result-card{width:49%;margin-left:36%;padding:1% 3%}.result-stats{gap:9px}.result-card .eyebrow{font-size:.75cqw}.result-card h2{font-size:3.8cqw}.result-score strong{font-size:4.1cqw}.result-actions{margin-top:3%}.result-main-actions{gap:7px}
.modal-card{width:min(850px,88%);max-height:88%;padding:22px 30px;overscroll-behavior:contain;touch-action:pan-y}.modal-card h2{font-size:clamp(25px,3cqw,42px);margin:8px 0 14px}.modal-card p,.option-note{font-size:14px;line-height:1.45}.modal-card .eyebrow{font-size:11px}.option-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.option-columns h3{font-size:13px;letter-spacing:2px;color:#a5ffa8;margin:17px 0 5px}.setting{font-size:12px;gap:12px;padding:11px 0}.setting input[type=range]{width:115px;height:20px}.setting select{background:#0c191f;color:#e5ffe0;border:1px solid #64927c;border-radius:4px;padding:6px;font-size:13px;max-width:120px}.option-tabs,.options-buttons{display:flex;gap:10px;justify-content:space-between}.option-tabs button,.options-buttons button,.option-button,.pause-buttons>button:not(.primary),#binding-message button{padding:10px 15px;border:1px solid #668d75;background:#254137;color:#e6f8d1;border-radius:4px;font-size:12px;min-height:38px}.pause-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pause-buttons .primary{grid-column:span 2;margin-top:4px;font-size:20px}.binding-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.binding{display:flex;align-items:center;justify-content:space-between;background:#0b1a20;border:1px solid #415f50;padding:8px 10px;font-size:12px;gap:10px;min-height:40px}.binding kbd{font-size:12px;min-width:45px;color:#94ffac}.binding:hover{border-color:#83ffad}#binding-message{min-height:40px;padding:8px 0;font-size:14px;color:#ffee9b}#binding-message p{margin:6px 0}.controls-list{grid-template-columns:1fr 1fr}.controls-list>div{font-size:13px;padding:7px 0}.controls-list kbd{font-size:12px}input:focus-visible,select:focus-visible{outline:2px solid #a3ff93}.modal-card .scores td,.modal-card .scores th{font-size:12px}
#rotate-overlay{display:none;position:fixed;inset:0;z-index:60;align-items:center;justify-content:center;flex-direction:column;background:#07131cf7;padding:max(24px,env(safe-area-inset-top)) 24px;text-align:center}.rotate-needed #rotate-overlay{display:flex}.rotate-needed #touch{display:none!important}#rotate-overlay h2{font-size:24px;letter-spacing:2px;color:#baff89;margin:28px 0 8px}#rotate-overlay p{font-size:13px;letter-spacing:1px}.rotate-note{color:#789f91}#rotate-menu{background:#244735;border:1px solid #8acaa0;border-radius:4px;padding:13px 22px;margin-top:24px}.phone-outline{width:52px;height:92px;border:4px solid #9affad;border-radius:10px;box-shadow:inset 0 -8px #9affad;animation:rotatePhone 2s infinite}
#touch{inset:auto 0 0;bottom:0;height:145px;padding:0 max(15px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(15px,env(safe-area-inset-left));z-index:12;align-items:flex-end;pointer-events:none;opacity:var(--touch-opacity,.72)}#touch .touch-left{align-items:flex-end;gap:9px;position:relative}#stick{width:116px;height:100px;background:#0a232733;border:2px solid #caf0d665;border-radius:50%;position:relative;pointer-events:auto;touch-action:none;flex-shrink:0}#stick-knob{position:absolute;left:50%;top:50%;width:48px;height:48px;border:2px solid #b7fac0;background:#44876080;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.stick-arrows{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;pointer-events:none;color:#deffe2a0}#touch .touch-right{display:grid;grid-template-columns:repeat(3,var(--button-size,58px));gap:7px;align-items:center;position:relative}#touch button{width:var(--button-size,58px);height:var(--button-size,58px);border-radius:50%;background:#0c222ab5;border:2px solid #d2efc98c;font-size:23px;padding:5px;color:#edffda;line-height:1.05;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;user-select:none;touch-action:none;pointer-events:auto;min-height:0;min-width:0}#touch button small{font-size:9px;letter-spacing:.5px}#touch button.touch-down{background:#68c897dc;transform:scale(.91);box-shadow:0 0 14px #7efac788}#touch #touch-attack{background:#52875ec9;border-color:#b8ffc8;font-size:27px}#touch #touch-code{background:linear-gradient(to top,#24ad69 var(--charge,0%),#102c2d var(--charge,0%));font-weight:1000}#touch-code.ready{box-shadow:0 0 21px #37ff80;animation:readyPulse .45s infinite alternate;border-color:#c6ff85!important}#touch-weapon:disabled{opacity:.25}.weapon-icon{display:block;width:32px;height:25px;background:var(--weapon-image) center/contain no-repeat}#touch-weapon[data-weapon=blade]{--weapon-image:url('assets/icon-blade.webp')}#touch-weapon[data-weapon=cash]{--weapon-image:url('assets/icon-cash.webp')}#touch-weapon[data-weapon=cards]{--weapon-image:url('assets/icon-cards.webp')}#touch-weapon[data-weapon=boot]{--weapon-image:url('assets/icon-boot.webp')}#touch #touch-finisher{position:absolute;right:0;bottom:calc(var(--button-size,58px)*2 + 20px);background:#ebeb84;color:#093022;border-color:#fffbc1;font-size:13px}.left-handed #touch{flex-direction:row-reverse}.touch-mode .bottom-bar{display:none}.touch-mode #pause{width:40px;height:36px;font-size:19px;right:1%;top:6px}.touch-mode .topbar{display:none}.touch-mode #hud{padding:8px 52px 0 12px;height:21%;gap:12px}.touch-mode .portrait{width:37px;height:37px;border-width:2px}.touch-mode .hud-left{gap:7px;width:32%}.touch-mode .hud-label{font-size:12px;letter-spacing:0}.touch-mode .health-track,.touch-mode .code-track{height:12px;margin-top:3px;border-width:1px;padding:1px}.touch-mode #healthnumber{font-size:10px}.touch-mode #buffs{font-size:10px;letter-spacing:0;max-width:250px}.touch-mode .score-block strong{font-size:24px;line-height:1}.touch-mode #combo{font-size:11px}.touch-mode #high{display:none}.touch-mode .code-block{width:29%;margin:0}.touch-mode .wave-row{font-size:11px;margin-top:5px}.touch-mode #code-prompt{font-size:11px;top:64px;left:55%;right:5%;letter-spacing:.3px}.touch-mode #finisher-prompt{font-size:11px;top:84px}.touch-mode #bossbar{top:65px;font-size:11px;left:24%;right:24%;letter-spacing:.5px}.touch-mode #boss-state{display:none}.touch-mode .boss-track{height:8px}.touch-mode #dimension-hud{bottom:4%;left:32%;font-size:10px;letter-spacing:0;max-width:30%;text-align:center}.touch-mode #wave-progress{font-size:9px}.touch-mode #weapon-hud{bottom:10%;left:32%;max-width:31%;font-size:10px;text-align:center}.touch-mode #chaos-status{bottom:17%;left:32%;right:auto;font-size:10px}.touch-mode #toast{font-size:12px;bottom:37%;left:22%;right:22%;letter-spacing:0}.touch-mode #announcement strong{font-size:5cqw}.touch-mode #announcement small{font-size:12px}.touch-mode .result-card{max-height:94%;overflow-y:auto;touch-action:pan-y}.touch-mode .result-card>p{font-size:11px}.touch-mode .result-stats small{font-size:9px;letter-spacing:0}.touch-mode .result-stats strong{font-size:15px}.touch-mode .dimension-stat strong{font-size:11px}.touch-mode #submission-status{font-size:10px}.touch-mode .submit-row input{font-size:12px;padding:7px}.touch-mode .submit-row button{font-size:10px}.touch-mode .result-main-actions button{font-size:13px;min-height:33px}.touch-mode .result-actions{gap:12px}.touch-mode .result-actions button{font-size:10px}.touch-mode .result-score span{font-size:10px}.touch-mode .result-score small{font-size:10px}.touch-mode .result-card .eyebrow{font-size:10px}body[data-touch-size=small]{--button-size:50px}body[data-touch-size=large]{--button-size:66px}body[data-touch-size=large] #stick{width:130px;height:110px}body[data-touch-size=small] #stick{width:100px;height:88px}
@media(max-height:470px) and (orientation:landscape){.menu-content{top:2%;height:94%}.game-logo{height:45%}.menu-secondary{margin-top:5%;gap:2px}.menu-secondary button{font-size:11px;padding:4px}.personal-best{margin-top:3%;font-size:10px}.personal-best strong{font-size:13px}.personal-best>span{font-size:9px;margin-top:3px}.menu-content>.primary{font-size:20px;min-height:34px;padding:4%}.menu-bottom{font-size:8px;bottom:2%}.modal-card{padding:15px 23px;max-height:90%}.modal-card h2{font-size:24px}.setting{padding:8px 0}.option-columns h3{margin:10px 0 4px}.binding{font-size:11px;min-height:35px;padding:5px 8px}.binding-grid{gap:5px 12px}.result-stats{gap:6px}.result-score{margin:1% 0}.result-card h2{font-size:27px}.result-score strong{font-size:32px}.result-card{margin-left:37%;width:50%}.result-stats div{gap:2px}.touch-mode .result-card .eyebrow{font-size:8px}.touch-mode #touch{height:140px}}
@media(orientation:portrait) and (max-width:700px){body:not(.rotate-needed) #stage{width:100vw;height:100dvh;aspect-ratio:auto}body:not(.rotate-needed) #game{object-fit:cover;object-position:60% center}.menu-content{left:5%;top:2%;width:64%;height:92%;max-width:320px}.game-logo{height:45%}.menu-content>.primary{font-size:26px;min-height:50px}.menu-secondary button{font-size:15px}.personal-best{font-size:12px}.personal-best>span{font-size:11px}.menu-bottom{font-size:9px;right:7%;bottom:3%}.menu-bottom>span:first-child{display:none}.menu-secrets{display:none}.menu-shade{background:linear-gradient(90deg,#05131bd9,#071b2460,transparent)}.modal-card{width:94%;max-height:92%;padding:24px 20px}.option-columns,.binding-grid{grid-template-columns:1fr}.modal-card h2{font-size:27px}.result-card{width:95%;margin:0;max-height:95%;overflow:auto;padding:20px;background:#071b22e0}.result-card h2{font-size:35px}.result-score strong{font-size:52px}.result-stats small{font-size:11px}.result-stats strong{font-size:18px}.result-card .eyebrow,.result-card>p,#submission-status{font-size:12px}.result-stats .dimension-stat strong{font-size:12px}.result-main-actions button{font-size:16px!important;min-height:44px!important}.result-actions button{font-size:12px}.submit-row input{font-size:14px}.submit-row button{font-size:11px}}
@keyframes dangerJitter{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes recordStamp{from{transform:scale(2) rotate(-10deg);opacity:0}to{transform:scale(1) rotate(-3deg);opacity:1}}@keyframes rotatePhone{0%,30%{transform:rotate(0)}60%,100%{transform:rotate(90deg)}}.reduced-motion *{scroll-behavior:auto}.reduced-motion #code-prompt,.reduced-motion #touch-code,.reduced-motion .phone-outline,.reduced-motion .record-stamp,.reduced-motion #play{animation:none!important}

.touch-mode:has(#bossbar:not(.hidden)) #code-prompt{top:90px}.touch-mode:has(#bossbar:not(.hidden)) #finisher-prompt{top:108px}

.rotate-needed #stage{width:100vw;height:100dvh}

/* Stored weapons live in the HUD; the body only holds one during USE WEAPON. */
#weapon-hud{display:flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid #7cab7966;border-radius:7px;background:#071b23b8}#weapon-hud.empty{display:none}#weapon-hud .weapon-icon{flex-shrink:0}#weapon-hud[data-weapon=blade]{--weapon-image:url(assets/icon-blade.webp)}#weapon-hud[data-weapon=cash]{--weapon-image:url(assets/icon-cash.webp)}#weapon-hud[data-weapon=cards]{--weapon-image:url(assets/icon-cards.webp)}#weapon-hud[data-weapon=boot]{--weapon-image:url(assets/icon-boot.webp)}.touch-mode #weapon-hud{gap:4px;padding:3px 5px}.touch-mode #weapon-hud .weapon-icon{width:24px;height:22px}
