:root{--navy:#12283b;--paper:#fff5d8;--lime:#d6f382;--pink:#f594bd;--muted:#9eabb4}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:#142336;color:var(--paper);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;user-select:none}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid var(--pink);outline-offset:4px}[hidden]{display:none!important}#world,#overlay{position:fixed;inset:0;width:100%;height:100%;display:block}#world{outline:0;touch-action:none}#overlay{pointer-events:none;z-index:2}.vignette{position:fixed;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 160px #0b152766}.hud{position:fixed;z-index:4;top:23px;left:30px;right:30px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;pointer-events:none}.logo{font-size:15px;font-weight:850;letter-spacing:-.5px;line-height:1.2}.logo span{display:inline-grid;place-items:center;background:var(--lime);color:var(--navy);width:29px;height:29px;border-radius:7px;margin-right:8px;font-size:20px;vertical-align:middle}.logo small{display:block;font-size:8px;letter-spacing:2px;color:#a4bdc5;margin:9px 0 0 38px;font-weight:600}.scoreboard{display:flex;gap:36px;text-align:center;padding:0 16px;color:#f5e5b9}.scoreboard small{display:block;font-size:8px;font-weight:700;letter-spacing:2px;color:#9cb5bd;margin-bottom:3px}.scoreboard strong{font:750 26px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px}.scoreboard .hearts{color:#f291af;font-size:27px;letter-spacing:4px}.hud-tools{display:flex;gap:7px;pointer-events:auto}.tool{font-size:10px;padding:8px 12px;border:1px solid #82989c55;border-radius:7px;background:#152f42dc;color:#e3ecdb;backdrop-filter:blur(8px)}.tool:hover{background:#2a4958}.banner{position:fixed;top:97px;left:50%;transform:translateX(-50%);z-index:4;padding:8px 17px;border:1px solid #71928066;background:#1c3d48d9;color:#e3f3c9;border-radius:20px;font-size:11px;font-weight:650;letter-spacing:.4px;pointer-events:none;text-align:center;max-width:90vw}.screen{position:fixed;inset:0;z-index:5;display:flex;align-items:center;padding:90px 7vw 60px;pointer-events:none}.card{pointer-events:auto;width:420px;max-width:100%;padding:30px 32px;border:1px solid #7d929655;border-radius:18px;background:#132b3eed;backdrop-filter:blur(14px);box-shadow:0 15px 65px #07162555}.eyebrow{font-size:9px;font-weight:800;letter-spacing:2px;color:var(--lime);text-transform:uppercase}.card h1{font-size:clamp(45px,5vw,70px);font-weight:900;line-height:1;letter-spacing:-3px;margin:23px 0 17px}.card h1 span{color:var(--pink)}.card h2{font-size:37px;letter-spacing:-1.5px;line-height:1.1;margin:18px 0}.card p{color:#b6c8c9;font-size:13px;line-height:1.7}.card .lead{color:#e0ebd8;font-size:15px;font-weight:650;margin-bottom:8px}.primary{border:1px solid #bed76f;background:var(--lime);color:#243d35;border-radius:8px;width:100%;padding:14px 16px;font-size:13px;font-weight:850;letter-spacing:.6px;box-shadow:0 4px 0 #77974c;transition:transform .12s,background .15s;margin:18px 0 14px}.primary:hover{background:#e6ffa3;transform:translateY(-2px)}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #77974c}.how{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #8b9c8a30;font-size:10px;color:#abc0bc}.how b{display:block;color:#ededd3;font-size:12px;margin-bottom:4px}kbd{display:inline-block;font:10px ui-monospace,Consolas,monospace;border:1px solid #8a9c8755;background:#e1e9c915;color:#e8f0dc;padding:2px 5px;border-radius:4px;margin-right:3px}.fine{font-size:9px;color:#90aaa9;margin-top:8px}.footer{position:fixed;left:0;right:0;bottom:20px;text-align:center;font-size:10px;color:#b6c7bc;z-index:4;pointer-events:none}.footer span{color:#748f98;margin-left:15px;font-size:8px}.corner{position:fixed;bottom:57px;left:31px;z-index:3;font-size:10px;color:#a1b7b7;pointer-events:none}.corner strong{color:#e7e5bc}.end-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0}.end-stats div{border:1px solid #6e8f8a55;border-radius:8px;padding:11px;font-size:9px;color:#9fb7ae}.end-stats strong{display:block;font-size:23px;color:#e5f3b7;line-height:1.3}.end-stats .wide{grid-column:1/-1}.screen.center{justify-content:center;background:#0c1b3144;backdrop-filter:blur(4px)}.screen.center .card{width:400px}.help-row{display:flex;justify-content:space-between;gap:15px;margin:10px 0;font-size:12px;color:#bdd0c8}.help-row strong{color:#f2edd2;font-size:11px}.touch{display:none;position:fixed;z-index:4;bottom:16px;left:16px;right:16px;justify-content:space-between;align-items:flex-end;pointer-events:none}.touch-group{display:flex;gap:7px;pointer-events:auto}.touch .vertical{display:flex;flex-direction:column;gap:5px}.touch button{width:48px;height:45px;border-radius:12px;border:1px solid #9cb5a56b;background:#183a4bdb;color:#f0efcf;font-weight:800;font-size:20px;touch-action:none}.touch .jump{width:64px;height:58px;background:#c9e77edb;color:#2b4b3a;font-size:11px;border-color:#c9df8d}.touch .shoot{height:48px;background:#eab183db;color:#59392c;font-size:11px}body[data-phase="title"] .scoreboard,body[data-phase="title"] .banner,body[data-phase="title"] .corner{visibility:hidden}body[data-phase="title"] #pauseButton,body[data-phase="title"] #restartButton{display:none}body:not([data-phase="playing"]) .touch{display:none}.error{border-color:#eaa17a}.error p{color:#e4c8b5}@media(min-width:1600px){.card{width:450px;padding:35px}.card h1{font-size:76px}.hud{top:30px;left:40px;right:40px}.scoreboard{gap:50px}.scoreboard strong{font-size:30px}.banner{top:107px}}@media(max-width:1100px){.hud{left:20px;right:20px;top:18px;gap:12px}.logo{font-size:12px}.logo small{font-size:7px;letter-spacing:1px}.hud-tools{gap:4px}.tool{font-size:9px;padding:7px 9px}.scoreboard{gap:20px}.scoreboard strong{font-size:22px}.scoreboard .hearts{font-size:23px}.banner{top:85px}.card{width:375px;padding:25px}.card h1{font-size:54px}.screen{padding-left:5vw}.corner{left:20px}}@media(max-width:720px){.hud{top:13px;left:14px;right:14px;flex-wrap:wrap}.logo{font-size:11px}.logo span{width:25px;height:25px;font-size:18px}.logo small{display:none}.hud-tools{margin-left:auto}.tool{padding:6px 8px}.scoreboard{order:3;width:100%;justify-content:center;gap:30px;padding-top:8px}.scoreboard small{font-size:7px;letter-spacing:1px}.scoreboard strong{font-size:20px}.scoreboard .hearts{font-size:22px}.banner{top:117px;font-size:10px;padding:6px 12px}.screen{padding:110px 20px 70px;justify-content:center}.card{width:390px;padding:24px;max-height:calc(100dvh - 140px);overflow:auto}.card h1{font-size:53px;margin-top:18px}.card h2{font-size:30px}.card p{font-size:12px}.card .lead{font-size:13px}.how{gap:9px;font-size:9px}.primary{margin-top:15px}.footer{display:none}.corner{bottom:105px;left:15px;font-size:9px}.touch{display:flex}#restartButton{font-size:0;padding:4px 9px}#restartButton::after{content:'↻';font-size:15px}body[data-phase="title"] .scoreboard{display:none}}@media(max-height:680px) and (min-width:721px){.screen{padding-top:76px;padding-bottom:30px}.card{padding:22px;width:365px;max-height:calc(100vh - 100px);overflow:auto}.card h1{font-size:48px;margin:14px 0}.card p{font-size:12px}.how{margin-top:10px;padding-top:12px}.primary{margin:12px 0}.footer{bottom:9px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.logo{font-size:20px;letter-spacing:2px}.logo small{margin-left:0;letter-spacing:1.5px}body[data-phase="title"] .logo small{visibility:hidden}.arcade-word{display:block;color:var(--pink);font-size:9px;letter-spacing:6px;margin-top:4px}.level-strip{position:fixed;z-index:4;bottom:54px;left:50%;transform:translateX(-50%);background:#142c3ee8;border:1px solid #91b49a55;border-radius:9px;padding:7px 14px;text-align:center;font-size:10px;letter-spacing:1px;color:#d6f382;pointer-events:none}.level-strip small{display:block;color:#f1c49b;letter-spacing:0;font-size:10px;min-height:15px}body[data-phase="title"] .level-strip{display:none}@media(max-width:720px){.logo{font-size:14px}.level-strip{bottom:113px;max-width:90vw;width:max-content;font-size:9px}.level-strip small{font-size:9px}}@media(min-width:1600px){.card h1{font-size:70px}}.run-results{font-size:10px;border-top:1px solid #829c8955;padding-top:8px}.run-results p{font-size:10px;line-height:1.5;margin:5px 0}.card{max-height:calc(100dvh - 125px);overflow:auto}.recordsButton{display:block;margin:4px 0 8px}.screen{padding-top:85px;padding-bottom:40px}#endScreen .card{width:460px}#helpScreen .card{max-height:calc(100dvh - 140px)}.top-floor .banner{top:auto;bottom:110px}@media(max-width:720px){.top-floor .banner{bottom:177px;width:max-content;max-width:92vw}}.card{scrollbar-width:thin;scrollbar-color:#5d7980 transparent}@media(max-height:850px) and (min-width:721px){#titleScreen .card{padding:25px 30px}#titleScreen h1{font-size:58px;margin:18px 0 14px}#titleScreen .how{margin-top:10px;padding-top:12px}}
.victory-splash{position:fixed;inset:0;z-index:9;display:grid;place-items:center;pointer-events:none;background:#0b1825a8;backdrop-filter:blur(3px)}.victory-splash .victory-copy{text-align:center;font-weight:950;font-size:clamp(42px,9vw,120px);line-height:.9;letter-spacing:-.05em;color:var(--lime);text-shadow:0 8px 32px #07131bcc}.victory-splash small{display:block;margin-top:18px;font-size:clamp(11px,1.6vw,18px);letter-spacing:.22em;color:var(--paper)}
.help-levels{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px}.help-levels li{padding:10px 12px;border-left:3px solid var(--lime);background:#ffffff06;border-radius:0 6px 6px 0}.help-levels strong{display:block;color:var(--lime);font-size:12px;line-height:1.5}.card .help-levels p{margin:5px 0 0;font-size:12px;line-height:1.55}
