*{box-sizing:border-box}html,body{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;overflow:hidden;touch-action:none;overscroll-behavior:none;background:#202522;font-family:Arial Rounded MT Bold,Nunito,Segoe UI,system-ui,sans-serif;color:#202522}button{font:inherit;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none}button:focus-visible{outline:4px solid #259bc4;outline-offset:4px}button:active{transform:scale(.96)}button:disabled{cursor:default}[hidden]{display:none!important}#app,#game-root{position:fixed;top:0;right:0;bottom:0;left:0}#game-root{overflow:hidden;background-color:#202522;background-image:radial-gradient(circle at 20% 20%,transparent 0 100px,rgba(247,247,242,.025) 102px 104px,transparent 106px),radial-gradient(circle at 80% 80%,transparent 0 160px,rgba(247,247,242,.02) 162px 164px,transparent 166px)}#game-stage{position:absolute;left:0;top:0;width:720px;height:1280px;transform-origin:0 0;overflow:hidden;isolation:isolate;background:#e8dfcd}.gallery,.stage-shade,.game-canvas,.layer{position:absolute;top:0;right:0;bottom:0;left:0;width:720px;height:1280px}.gallery{background-size:cover;background-position:center}.stage-shade{background:linear-gradient(180deg,rgba(32,37,34,.32) 0%,transparent 28%,transparent 72%,rgba(32,37,34,.14) 100%);pointer-events:none}.game-canvas{z-index:2;touch-action:none}.layer{z-index:3;pointer-events:none}.layer button{pointer-events:auto}.hud .record{position:absolute;top:100px;left:0;right:0;text-align:center;color:#f7f7f2;text-shadow:-3px -3px 0 #202522,3px -3px 0 #202522,-3px 3px 0 #202522,3px 3px 0 #202522,0 6px 0 #202522;font-weight:1000;letter-spacing:1px}.record span{font-size:28px;margin-right:14px}.record strong{font-size:58px}.score-slots{position:absolute;top:190px;left:145px;display:flex;gap:16px}.score-slot{width:74px;height:70px;display:grid;place-items:center;border:6px solid #202522;border-radius:14px;background:#f7f7f2f0;box-shadow:0 5px #20252259;color:#39f34f;font-size:48px;font-weight:1000;line-height:1;text-shadow:2px 2px 0 #202522;transition:transform .16s}.score-slot:not(.scored){font-size:42px}.score-slot.pop{transform:scale(1.22)}.top-controls{position:absolute;right:24px;top:28px;display:flex;gap:12px}.icon-button{width:58px;height:58px;border-radius:18px;background:#f7f7f2;border:4px solid #202522;display:grid;place-items:center;box-shadow:0 4px #20252240}.icon-button img{width:34px;height:34px;object-fit:contain}.run-meta{position:absolute;top:282px;left:150px;right:150px;display:flex;justify-content:space-between;font-size:20px;font-weight:900;color:#202522}.tier-badge,.shots-used{padding:7px 14px;border-radius:20px;background:#f7f7f2db}.title-hud .score-slots,.title-hud .run-meta,.title-hud .pause-button{display:none}.title-hud .record{top:70px}.title-screen{text-align:center}.logo{position:absolute;top:700px;left:302px;width:116px;height:116px;filter:drop-shadow(0 6px 0 rgba(32,37,34,.25))}.title-kicker{position:absolute;top:824px;left:0;right:0;color:#259bc4;font-weight:1000;letter-spacing:9px;font-size:19px}.title-screen h1{position:absolute;top:840px;left:20px;right:20px;margin:0;font-size:62px;line-height:1.05;color:#f7f7f2;letter-spacing:-2px;text-shadow:-3px -3px 0 #202522,3px -3px 0 #202522,-3px 3px 0 #202522,3px 3px 0 #202522,0 7px 0 #202522}.tagline{position:absolute;top:916px;left:40px;right:40px;margin:0;font-weight:800;font-size:23px}.title-best{position:absolute;top:966px;left:118px;right:118px;display:flex;align-items:center;gap:10px;font-size:16px}.title-best strong{font-size:30px;color:#e86413}.record-mini{margin-left:auto;padding:6px 10px;background:#202522;color:#f7f7f2;border-radius:12px}.circuit-title{position:absolute;top:1020px;left:60px;font-size:16px;font-weight:1000;text-transform:uppercase;letter-spacing:2px}.tier-grid{position:absolute;top:1036px;left:56px;right:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tier-chip{height:58px;padding:6px 4px;border:3px solid #202522;border-radius:14px;background:#f7f7f2e6;display:grid;grid-template-columns:28px 1fr;text-align:left;align-items:center;box-shadow:0 3px #20252238}.tier-chip.selected{background:#ffd21a;box-shadow:0 0 0 4px #f7f7f2,0 4px #202522}.tier-chip.locked{color:#6b6d68;background:#d8d5ca}.tier-number{font-size:18px;font-weight:1000;text-align:center}.tier-name{font-size:14px;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tier-chip small{grid-column:1/3;text-align:center;font-size:11px}.start-button{position:absolute!important;top:1168px;left:150px;right:150px}.primary,.secondary{min-height:64px;padding:12px 24px;border:4px solid #202522;border-radius:20px;font-weight:1000;font-size:25px;box-shadow:0 6px #202522;display:flex;align-items:center;justify-content:center;gap:12px}.primary{background:#39f34f;color:#202522}.secondary{background:#f7f7f2;color:#202522}.primary img{width:30px;height:30px}.start-button span{font-size:34px}.enter-hint{position:absolute;top:1242px;left:0;right:0;font-size:13px;font-weight:700;opacity:.65}.result-screen{text-align:center}.scores-label{position:absolute;top:334px;left:0;right:0;font-size:52px;font-weight:1000;color:#39f34f;text-shadow:-3px -3px 0 #202522,3px -3px 0 #202522,-3px 3px 0 #202522,3px 3px 0 #202522}.result-total{position:absolute;top:398px;left:0;right:0;font-size:80px;font-weight:1000;color:#e6322b;text-shadow:-4px -4px 0 #f7f7f2,4px -4px 0 #f7f7f2,-4px 4px 0 #f7f7f2,4px 4px 0 #f7f7f2,0 7px 0 #202522}.result-copy{position:absolute;top:802px;left:65px;right:65px;padding:20px 25px;background:#f7f7f2f0;border:4px solid #202522;border-radius:24px;box-shadow:0 6px #2025224d}.result-copy h2{font-size:32px;margin:0 0 8px}.result-copy p{font-size:18px;line-height:1.3;margin:0}.progress-card{position:absolute;top:936px;left:65px;right:65px;padding:16px 22px;background:#202522eb;border-radius:22px;color:#f7f7f2;text-align:left}.goal-line{font-size:18px;font-weight:900}.xp-line{font-size:14px;margin-top:8px}.xp-track{height:12px;background:#59605b;border-radius:6px;margin-top:7px;overflow:hidden}.xp-track div{height:100%;background:#39f34f;border-radius:6px;transition:width .4s}.next-tier{font-size:14px;margin-top:8px;color:#ffd21a}.reward-offer{width:100%;margin-top:10px;min-height:48px;border-radius:12px;background:#ffd21a;color:#202522;font-weight:900}.result-actions{position:absolute;left:55px;right:55px;bottom:44px;display:grid;grid-template-columns:1fr 1.35fr;gap:16px}.result-actions button{font-size:19px;padding:10px 12px}.modal-wrap{display:grid;place-items:center;background:#20252294;pointer-events:auto;z-index:8}.modal{width:560px;padding:40px;background:#f7f7f2;border:6px solid #202522;border-radius:32px;box-shadow:0 12px #20252266;text-align:center}.modal h2{font-size:42px;margin:10px 0 14px}.modal p{font-size:21px;line-height:1.4;margin:0 0 28px}.modal button{width:100%;margin-top:16px}.eyebrow{font-size:16px;letter-spacing:5px;font-weight:1000;color:#259bc4}.text-button{background:transparent;min-height:52px;text-decoration:underline;font-size:18px}.tutorial{position:absolute;z-index:6;left:90px;right:90px;top:730px;min-height:100px;padding:22px 70px 22px 24px;background:#f7f7f2;border:5px solid #202522;border-radius:24px;box-shadow:0 7px #2025224d;font-size:22px;font-weight:900;line-height:1.3;pointer-events:none}.tutorial:after{content:"";position:absolute;top:-23px;left:50%;width:28px;height:28px;background:#f7f7f2;border-left:5px solid #202522;border-top:5px solid #202522;transform:translate(-50%) rotate(45deg)}.tutorial[data-step="0"]{animation:tutorialPulse 1.2s infinite}.gesture{position:absolute;right:20px;top:18px;font-size:50px;animation:gesture 1s infinite}.mechanic-tip{position:absolute;z-index:7;left:80px;right:80px;bottom:70px;padding:18px 20px;background:#202522;color:#f7f7f2;border:3px solid #ffd21a;border-radius:20px;display:flex;gap:12px;align-items:center;font-size:18px}.mechanic-tip button{flex:none;background:#ffd21a;border-radius:10px;min-height:48px;padding:8px 12px}.toast{position:absolute;z-index:10;left:100px;right:100px;top:330px;padding:18px;background:#202522;color:#f7f7f2;border:3px solid #39f34f;border-radius:18px;text-align:center;font-size:20px;font-weight:900}.continue-hint{position:absolute;z-index:11;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#202522b3;color:#f7f7f2;font-size:60px;font-weight:1000;pointer-events:auto}.reward-modal{z-index:12}@keyframes gesture{50%{transform:translateY(-12px) scale(.92)}}@keyframes tutorialPulse{50%{box-shadow:0 0 0 10px #ffd21a80,0 7px #2025224d}}.title-kicker,.result-hud .run-meta{display:none}#game-stage{--tap-min:90px}#game-stage button{min-height:var(--tap-min)}.icon-button{width:var(--tap-min);height:var(--tap-min)}.hud .record,.title-hud .record{top:calc(40px + var(--tap-min))}.score-slots{top:calc(140px + var(--tap-min))}.run-meta{top:calc(225px + var(--tap-min))}.primary,.secondary{min-height:var(--tap-min)}.tier-chip{height:var(--tap-min);min-height:48px}.logo{top:calc(860px - var(--tap-min) - var(--tap-min) - var(--tap-min));width:100px;height:100px;left:310px}.title-kicker{top:calc(980px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.title-screen h1{top:calc(1020px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.tagline{top:calc(1100px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.title-best{top:calc(1150px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.circuit-title{top:calc(1200px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.tier-grid{top:calc(1230px - var(--tap-min) - var(--tap-min) - var(--tap-min))}.start-button{top:calc(1250px - var(--tap-min))}.enter-hint{top:1258px}.result-copy{top:770px}.progress-card{top:920px}.result-actions{min-height:var(--tap-min)}#game-root.compact .result-copy{top:700px;padding:14px 22px}#game-root.compact .title-screen .tagline,#game-root.compact .title-screen .title-best,#game-root.compact .title-screen .circuit-title{display:none}.scores-label{top:calc(245px + var(--tap-min));font-size:40px;left:55px;right:auto;width:235px}.result-total{top:calc(238px + var(--tap-min));font-size:56px;left:290px;right:55px;text-align:right}#game-root.compact .progress-card{top:840px;padding:12px 20px}#game-root.compact .result-copy h2{font-size:28px}#game-root.compact .result-copy p{font-size:16px}#game-root.compact .mechanic-tip{bottom:calc(30px + var(--tap-min))}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
