:root{font-family:Tahoma,Arial,sans-serif;color:#fff6dd;background:#83b9ce;font-synthesis:none}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid #ffffff36;border-radius:16px;padding:13px 20px;color:inherit;background:#ffffff14;font-weight:700}button:hover{background:#ffffff25}button:focus-visible,a:focus-visible{outline:3px solid #f4c24d;outline-offset:3px}button:disabled{opacity:.4}#game{position:absolute;width:100%;height:100%;display:block;touch-action:none;outline:0}#loading{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#173c3c;padding:12px 24px;border-radius:24px}[hidden]{display:none!important}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;padding:36px max(5vw,20px);background:linear-gradient(90deg,#152e310a,#15393ac2 60%,#173c3cf5);overflow:auto}.menu{width:min(430px,100%);text-align:right;animation:enter .5s ease-out}.badge{font-size:12px;letter-spacing:.6px;color:#f3d48c}.dollar{width:58px;height:58px;border:2px solid #f4c24d;border-radius:18px;text-align:center;line-height:54px;color:#f4c24d;font-size:30px;margin:16px 0}h1{font-size:clamp(36px,5vw,60px);line-height:1.15;margin:0;font-weight:900}h1 b{display:inline-block;color:#f4c24d;font-size:.35em;vertical-align:middle;border:1px solid #f4c24d;border-radius:6px;padding:4px}h2{color:#ffca58;font-size:30px;margin:15px 0}p{line-height:1.9;color:#f0e6cf;font-size:15px}.primary{background:#f4c24d;color:#233b3c;border:0;width:100%;font-size:19px;box-shadow:0 5px #bc8c2b;margin:10px 0 17px}.primary:hover{background:#ffe197}.menu-row{display:flex;gap:7px}.menu-row button{flex:1;font-size:12px;padding:12px 6px}.best{margin:24px 0 12px;font-size:14px;color:#cfd9d3}.menu a{font-size:12px;color:#c5d4cc}.prototype{display:block;font-size:10px;margin-top:14px;color:#afc3bb}.compact{background:#173c3cf5;border:1px solid #f5d48b55;padding:30px;border-radius:26px;text-align:center;margin:auto}.compact button{display:block;width:100%;margin-bottom:12px}#finalScore{font-size:65px;color:#f4c24d}header{position:absolute;inset:calc(15px + env(safe-area-inset-top)) 20px auto;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.score,.clock{background:#173c3ce6;border:1px solid #ffffff45;border-radius:18px;padding:10px 16px;box-shadow:0 6px 20px #0002}.score small{display:block;font-size:11px;color:#f0d395}.score strong{font-size:30px;color:#ffce58}.score span{font-size:12px;display:block}.clock{font-size:16px}.clock button{padding:7px 12px;margin-right:8px;pointer-events:auto}#map{width:100px;height:100px;border-radius:50%;border:4px solid #173c3ce6;background:#dcc399dd}#target{position:absolute;top:calc(124px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:#173c3cd9;padding:9px 16px;border-radius:20px;font-size:12px;white-space:nowrap}#toast{position:absolute;left:50%;bottom:28%;transform:translate(-50%,20px);padding:13px 22px;border-radius:16px;background:#173c3cf0;border:1px solid #ffdb7a;color:#ffdb7a;font-weight:700;text-align:center;opacity:0;transition:.2s;pointer-events:none;min-width:210px}#toast.visible{opacity:1;transform:translate(-50%)}#controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#stick{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));left:calc(25px + env(safe-area-inset-left));width:120px;height:120px;border:2px solid #ffffff60;border-radius:50%;background:#173c3c6e;display:grid;place-items:center;pointer-events:auto;touch-action:none}#knob{width:52px;height:52px;background:#fff6dd99;border:2px solid #fff6dd;border-radius:50%;pointer-events:none}.actions{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));display:grid;grid-template-columns:58px 78px;gap:10px;align-items:end;pointer-events:auto}.actions button{border-radius:50%;padding:0;width:58px;height:58px;background:#173c3cbf;border:2px solid #fff7;touch-action:none;font-size:22px}.actions small{display:block;font-size:9px}.actions #punch{width:78px;height:78px;background:#f2ba42dd;color:#193c3c;font-size:30px;grid-column:2;grid-row:1/3}dialog{width:min(460px,90vw);background:#173c3c;color:#fff6dd;border:1px solid #f4c24d80;border-radius:24px;padding:26px}dialog::backdrop{background:#0b282bbb}dialog h2{font-size:24px}dialog button{margin-top:12px}select{display:block;margin-top:12px;width:100%;padding:12px;background:#fff4d8;color:#173c3c;border-radius:12px}#fatal{background:#173c3c}#fatalText{overflow-wrap:anywhere}@keyframes enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.overlay{background:linear-gradient(0deg,#173c3cf5,#173c3cca 65%,#173c3c40);align-items:flex-end;justify-content:center;padding:24px max(22px,env(safe-area-inset-right)) calc(26px + env(safe-area-inset-bottom))}.menu{max-width:360px}h1{font-size:40px}.dollar{margin:10px 0;width:45px;height:45px;line-height:40px;font-size:26px}h2{font-size:25px}.menu p{font-size:13px;margin:10px 0}.best{margin:18px 0 8px}#map{width:78px;height:78px}header{inset:calc(12px + env(safe-area-inset-top)) 12px auto}.score,.clock{padding:8px 12px}.score strong{font-size:25px}#stick{width:105px;height:105px;left:18px}.actions{right:15px}#target{top:calc(108px + env(safe-area-inset-top))}}@media(max-height:500px){.overlay{align-items:center}.menu h1{font-size:30px}.dollar,.prototype,.best{display:none}.menu h2{font-size:22px;margin:6px 0}.menu p{margin:5px 0}.primary{margin:5px 0 12px;padding:10px}.menu-row button{padding:9px 6px}#stick{width:90px;height:90px;bottom:16px}.actions{bottom:16px}#map{width:70px;height:70px}}#loading{right:0;bottom:0;transform:none;top:0;left:0;border-radius:0;z-index:30;background:#173c3c}.menu h2{font-size:clamp(18px,2vw,26px)}progress{width:100%;height:14px;accent-color:#f4c24d}.menu #continue{width:100%;margin-bottom:12px;color:#f5d782}#objective{position:absolute;top:calc(110px + env(safe-area-inset-top));right:16px;max-width:min(450px,82vw);padding:12px 17px;background:#173c3ce6;border-radius:16px;line-height:1.8;font-size:13px;pointer-events:none}#target{top:auto;bottom:calc(170px + env(safe-area-inset-bottom));font-size:14px}#hud .score strong{font-size:22px}.actions{grid-template-columns:64px 80px}.actions #interact{width:80px;height:80px;background:#f4c24d;color:#173c3c;font-size:30px}.actions #jump{width:64px;height:64px}dialog.wide{width:min(860px,94vw);max-height:88vh}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading h2{font-size:24px}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stage-card{display:flex;flex-direction:column;padding:0 0 16px;overflow:hidden;text-align:right;align-items:stretch;gap:8px;background:#ffffff0c}.stage-card small,.stage-card strong,.stage-card span,.stage-card b{padding:0 12px}.stage-card small{font-size:10px;color:#d7ccb1}.stage-card strong{font-size:15px}.stage-card span{font-size:11px;font-weight:400;line-height:1.6}.stage-card b{color:#f4c24d;font-size:10px}.stage-art{height:115px;background:var(--card-color);display:flex;align-items:center;justify-content:center}.stage-art img{width:100%;height:100%;object-fit:cover}#choices{display:flex;flex-direction:column;gap:9px}#choices button{text-align:right;padding:14px;background:#ffffff16;min-height:48px}#choices button:disabled{opacity:.3}#ledger p{display:flex;justify-content:space-between;gap:16px;font-size:12px}#choiceDialog{max-height:82vh;overflow:auto}#resultsDialog{max-height:85vh;overflow:auto}.menu-row button{min-height:44px}#settingsDialog label{display:block;margin-bottom:14px}#end .primary{margin-bottom:12px}#end h2{font-size:28px}#finalScore{font-size:48px}#end .compact{max-height:92vh;overflow:auto}.overlay .compact{max-width:420px}@media(max-width:700px){.stage-grid{grid-template-columns:repeat(2,1fr)}.stage-art{height:110px}#objective{top:calc(100px + env(safe-area-inset-top));font-size:12px;padding:8px 12px}.menu h1{font-size:42px}#map{width:70px;height:70px}#toast{bottom:40%;font-size:13px}#hud .score strong{font-size:18px}}@media(max-height:500px){#objective{top:90px;max-width:60vw;padding:6px 12px;font-size:11px}.stage-art{height:75px}.stage-grid{grid-template-columns:repeat(4,1fr)}#target{bottom:115px}.menu #continue{padding:8px;margin-bottom:8px}.menu h1{font-size:30px}.menu h2{font-size:18px}}
