:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#07090d;color:#fff7e1;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;height:100%;margin:0;overflow:hidden}button{font:inherit}.app-shell{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100vw;height:100dvh;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:radial-gradient(circle at 16% 12%,rgba(42,185,189,.22),transparent 28%),radial-gradient(circle at 84% 9%,rgba(255,189,79,.16),transparent 26%),linear-gradient(180deg,#111722,#07090d 62%,#050609);gap:10px}.game-frame{align-self:center;justify-self:center;width:min(100%,calc((100dvh - 116px) * 16 / 9));max-height:calc(100dvh - 116px);border:1px solid rgba(255,223,166,.18);border-radius:8px;box-shadow:0 24px 70px #00000073,0 0 0 1px #20eae014;overflow:hidden;background:#07090d}@media(max-aspect-ratio:13 / 10){.app-shell{display:flex;flex-direction:column}.app-shell>.game-frame{flex:1 1 auto;min-height:0;width:100%;max-height:none;aspect-ratio:auto!important;align-self:stretch;justify-self:stretch;border-radius:14px;display:flex;flex-direction:column}.app-shell>.game-frame>.stage{flex:1 1 0%;min-height:0;height:auto}.app-shell>:last-child{flex:0 0 auto}}.stage{position:relative;width:100%;height:100%;overflow:hidden;background-position:center;background-size:cover;touch-action:none;-webkit-user-select:none;user-select:none}.stage:before,.stage:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";pointer-events:none}.stage:before{background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,transparent 24%,transparent 62%,rgba(0,0,0,.54) 100%),radial-gradient(circle at var(--focus-x, 50%) var(--focus-y, 50%),rgba(255,240,175,calc(.12 * var(--speed, 0))),transparent 14%),radial-gradient(circle at 31% 80%,rgba(255,206,82,.22),transparent 16%),radial-gradient(circle at 67% 50%,rgba(41,255,234,.17),transparent 12%);z-index:1}.stage:after{border:1px solid rgba(255,247,225,.11);box-shadow:inset 0 0 54px #0000007a;z-index:9}.hud{position:absolute;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:12px;padding:clamp(10px,1.5vw,22px);pointer-events:none}.brand-lockup,.level-meter,.hud-actions,.throws-pill,.score-pill,.icon-button,.object-card,.modifier,.result-panel{backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18)}.brand-lockup{display:flex;align-items:flex-start;gap:12px;min-width:0}.logo-word{color:#ffe5a3;text-shadow:0 3px 0 #8e260d,0 11px 22px rgba(0,0,0,.48),0 0 22px rgba(255,70,20,.26);font-size:clamp(32px,6.2vw,90px);font-weight:1000;line-height:.82;transform:skew(-11deg) rotate(-4deg);letter-spacing:0;-webkit-text-stroke:1px rgba(93,22,8,.5)}.world,.brand-lockup h1{margin:0;text-shadow:0 2px 12px rgba(0,0,0,.72)}.world{color:#5af7ee;font-size:clamp(10px,1.05vw,14px);font-weight:800;line-height:1.1;text-transform:uppercase}.brand-lockup h1{color:#fff1c7;font-size:clamp(16px,2.15vw,34px);font-weight:900;line-height:1.02}.level-meter{display:grid;justify-items:center;gap:8px;padding-top:1px}.mastery-hud{position:absolute;right:clamp(12px,1.5vw,22px);top:clamp(86px,7.8vw,124px);z-index:19;display:grid;gap:7px;width:min(190px,24vw);padding:10px;border:1px solid rgba(255,229,163,.2);border-radius:8px;background:#070a0f94;box-shadow:0 14px 30px #00000042;backdrop-filter:blur(16px) saturate(1.16);-webkit-backdrop-filter:blur(16px) saturate(1.16);pointer-events:none}.mastery-hud>div:not(.mastery-track){display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff2c4;font-size:clamp(10px,.95vw,12px);font-weight:900;line-height:1}.mastery-hud svg{color:#5af7ee}.mastery-track{height:6px;overflow:hidden;border-radius:999px;background:#fff7e129}.mastery-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5af7ee,#ffe36b);box-shadow:0 0 15px #5af7ee73}.stars{display:flex;gap:5px;color:#ffe7966b;font-size:clamp(24px,3.6vw,50px);line-height:1;text-shadow:0 3px 10px rgba(0,0,0,.5)}.star{-webkit-text-stroke:1px rgba(255,233,165,.52)}.star.filled{color:#ffd85e;text-shadow:0 0 18px rgba(255,202,59,.9),0 2px 7px rgba(0,0,0,.55)}.score-pill,.throws-pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid rgba(255,229,163,.36);border-radius:8px;background:#080d14ab;box-shadow:0 12px 28px #00000047}.score-pill{gap:7px;min-width:126px;padding:8px 14px;color:#ffe4a1;font-size:clamp(14px,1.4vw,18px);font-weight:850}.hud-actions{display:flex;justify-content:flex-end;gap:9px;pointer-events:auto}.throws-pill{gap:8px;min-width:124px;padding:7px 13px}.throws-pill strong{color:#2ff6ef;font-size:clamp(24px,3.3vw,48px);line-height:.95}.throws-pill span{color:#fff6df;font-size:clamp(12px,1.35vw,19px);font-weight:800}.icon-button{display:grid;place-items:center;width:clamp(42px,5.4vw,70px);height:clamp(42px,5.4vw,70px);border:1px solid rgba(255,229,163,.38);border-radius:8px;color:#ffe4a1;background:#080d14b3;cursor:pointer}.icon-button:hover{border-color:#2ff6efd9;color:#5af7ee}.trajectory{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;overflow:visible;pointer-events:none}.trajectory circle{fill:#fff9df;filter:drop-shadow(0 0 .75px rgba(255,255,255,1)) drop-shadow(0 0 4px rgba(255,225,142,.85))}.trajectory.locked circle{fill:#7dfff7;filter:drop-shadow(0 0 1px rgba(255,255,255,1)) drop-shadow(0 0 8px rgba(90,247,238,.95))}.ready-guide{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.ready-guide svg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible}.ready-guide circle{fill:#ffe88f8f;filter:drop-shadow(0 0 5px rgba(255,226,111,.65));animation:guidePulse 1.4s ease-in-out infinite}.ready-guide polyline{fill:none;stroke:#ffe26f75;stroke-dasharray:1.4 1.2;stroke-linecap:round;stroke-linejoin:round;stroke-width:.34;filter:drop-shadow(0 0 6px rgba(255,226,111,.48))}.ready-guide.locked polyline{stroke:#5af7eed1;stroke-width:.5;filter:drop-shadow(0 0 9px rgba(90,247,238,.78))}.ready-guide.locked circle{fill:#5af7eedb;filter:drop-shadow(0 0 8px rgba(90,247,238,.85))}.ghost-finger{position:absolute;left:var(--sx);top:var(--sy);width:clamp(28px,3.2vw,42px);height:clamp(28px,3.2vw,42px);border:2px solid rgba(255,242,196,.8);border-radius:50%;box-shadow:0 0 0 9px #ffe88f1a,0 0 18px #5af7ee52;transform:translate(-50%,-50%);animation:ghostThrow 1.85s cubic-bezier(.3,.04,.25,1) infinite}.bonus-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none}.bonus-pickup{position:absolute;left:var(--x);top:var(--y);width:clamp(22px,2.4vw,34px);height:clamp(22px,2.4vw,34px);object-fit:contain;transform:translate(-50%,-50%);filter:drop-shadow(0 0 12px rgba(255,218,76,.7)) drop-shadow(0 8px 10px rgba(0,0,0,.35));animation:bonusFloat 1.5s ease-in-out infinite}.bonus-pickup.collected{opacity:0;transform:translate(-50%,-50%) scale(1.8);transition:opacity .18s ease,transform .18s ease}.shot-trail{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;overflow:visible;pointer-events:none}.shot-trail polyline{fill:none;stroke:#5af7ee7a;stroke-dasharray:1.2 1.1;stroke-linecap:round;stroke-width:.34;filter:drop-shadow(0 0 4px rgba(90,247,238,.5))}.shot-trail.active polyline{stroke:#ffe777bd;stroke-width:.44;filter:drop-shadow(0 0 8px rgba(255,231,119,.65))}.shot-trail circle{fill:#fff2a6;filter:drop-shadow(0 0 4px rgba(255,232,137,.75))}.sprite{position:absolute;left:var(--x);top:var(--y);z-index:12;width:var(--size);height:auto;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(calc(1 + var(--pull, 0) * .08));transform-origin:center;filter:drop-shadow(0 18px 22px rgba(0,0,0,.48)) drop-shadow(0 0 12px rgba(255,214,112,.18));pointer-events:none;will-change:transform,left,top}.throwable{cursor:grab;transition:filter .14s ease}.throwable.is-aiming{filter:drop-shadow(0 20px 26px rgba(0,0,0,.45)) drop-shadow(0 0 20px rgba(47,246,239,.55))}.throwable.is-flying{z-index:16;filter:drop-shadow(0 20px 28px rgba(0,0,0,.38)) drop-shadow(0 0 16px rgba(255,216,94,.35))}.replay-director{position:absolute;top:0;right:0;bottom:0;left:0;z-index:29;pointer-events:none}.cinema-bars:before,.cinema-bars:after{position:absolute;left:0;right:0;z-index:1;height:11%;background:#000000db;content:""}.cinema-bars:before{top:0}.cinema-bars:after{bottom:0}.replay-badge,.replay-skip{position:absolute;z-index:30;border-radius:8px;backdrop-filter:blur(16px) saturate(1.18);-webkit-backdrop-filter:blur(16px) saturate(1.18)}.replay-badge{left:50%;top:5%;display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 12px;transform:translate(-50%);border:1px solid rgba(255,229,163,.28);background:#080d14b8;color:#fff2c4;font-size:12px;font-weight:950;text-transform:uppercase}.replay-badge svg{color:#5af7ee}.replay-badge strong{color:#ffe36b}.replay-sprite{z-index:31;filter:drop-shadow(0 0 22px rgba(255,227,107,.6)) drop-shadow(0 16px 28px rgba(0,0,0,.48))}.replay-skip{right:3%;bottom:5%;min-width:72px;min-height:38px;border:1px solid rgba(255,229,163,.28);color:#fff2c4;background:#080d14b8;font-size:12px;font-weight:900;pointer-events:auto;cursor:pointer}.speed-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;opacity:calc(var(--speed, 0) * .55);background:radial-gradient(circle at var(--focus-x, 50%) var(--focus-y, 50%),transparent 0 7%,rgba(255,225,104,.1) 12%,transparent 24%),linear-gradient(92deg,transparent 0 35%,rgba(90,247,238,.12) 48%,transparent 62%),linear-gradient(88deg,transparent 0 42%,rgba(255,232,130,.11) 52%,transparent 66%);mix-blend-mode:screen;pointer-events:none}.target-wrap{position:absolute;left:var(--x);top:var(--y);z-index:10;display:grid;place-items:center;width:var(--target-size);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.target-wrap img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 18px 24px rgba(0,0,0,.44))}.target-ring{position:absolute;z-index:1;width:64%;aspect-ratio:1;border:2px solid rgba(88,255,238,.88);border-radius:50%;box-shadow:0 0 0 1px #ffffff59,0 0 18px #23fff0a3,inset 0 0 18px #23fff040;animation:targetPulse 1.45s ease-in-out infinite}.target-wrap.closed .target-ring{border-color:#ff5047d9;box-shadow:0 0 0 1px #ffffff2e,0 0 18px #ff3d2f80,inset 0 0 12px #ff3d2f38}.target-wrap.locked .target-ring{border-color:#ffe75efa;box-shadow:0 0 0 1px #ffffff70,0 0 24px #ffe15ed6,inset 0 0 20px #ffe15e5c}.target-status{position:absolute;top:-14%;z-index:3;min-width:48px;padding:3px 7px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#07090da6;color:#fff7e1;font-size:clamp(8px,.85vw,11px);font-weight:900;text-align:center;letter-spacing:0}.target-wrap.open .target-status{color:#5af7ee}.target-wrap.closed .target-status{color:#ff9b75}.pull-line{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none}.pull-line span{position:absolute;left:var(--x2);top:var(--y2);width:max(38px,8vw);height:max(38px,8vw);border:2px solid rgba(255,237,174,.4);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 22px #ffe5a329,0 0 22px #2ff6ef2e}.open-indicator{position:absolute;left:var(--x);top:var(--y);z-index:11;transform:translate(-50%,-50%);min-width:66px;padding:5px 8px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:#06090d9e;color:#5af7ee;font-size:clamp(9px,.8vw,12px);font-weight:950;text-align:center;letter-spacing:0;box-shadow:0 8px 20px #00000042;pointer-events:none}.open-indicator.is-closed{color:#ff9b75}.particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:22;pointer-events:none}.particle{position:absolute;left:var(--x);top:var(--y);width:9px;height:9px;border-radius:50%;background:#fff0a3;box-shadow:0 0 14px #ffe15ecc;animation:particleBurst .9s cubic-bezier(.19,1,.22,1) forwards;animation-delay:var(--delay)}.particle.bounce{width:6px;height:6px;background:#5af7ee;box-shadow:0 0 11px #5af7eebf}.particle.boost{width:8px;height:8px;border-radius:2px;background:#ff633d;box-shadow:0 0 15px #ff633dbf}.particle.bonus{width:7px;height:7px;background:#ffe05f;box-shadow:0 0 14px #ffe05fe6}.result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 45%,#ffd95e14,#0000008a 62%);pointer-events:auto}.callout{position:absolute;top:25%;display:inline-flex;align-items:center;gap:10px;color:#fff4bd;font-size:clamp(32px,7vw,96px);font-weight:1000;line-height:.95;text-shadow:0 5px 0 rgba(143,39,14,.75),0 20px 44px rgba(0,0,0,.52),0 0 24px rgba(255,227,101,.52);transform:rotate(-3deg);animation:calloutPop .64s cubic-bezier(.2,1.3,.24,1) both}.result-panel{position:absolute;right:clamp(14px,2.2vw,32px);bottom:clamp(90px,10vw,136px);display:grid;gap:8px;width:min(390px,calc(100% - 32px));padding:16px;border:1px solid rgba(255,229,163,.32);border-radius:8px;background:#090d14b8;box-shadow:0 22px 48px #0000006b}.rank-strip{display:flex;align-items:center;gap:8px;min-height:30px;color:#fff2c4;font-size:12px;font-weight:950;text-transform:uppercase}.rank-strip svg{color:#5af7ee}.rank-strip strong{margin-left:auto;color:#ffe36b;font-size:22px}.result-panel .stars{font-size:30px}.result-panel strong{color:#fff5cf;font-size:32px;font-weight:950;line-height:1}.result-panel p{margin:0;color:#fff7e1c7;font-size:14px;line-height:1.35}.style-tags,.flight-readout{display:flex;flex-wrap:wrap;gap:6px}.style-tags span{display:inline-flex;align-items:center;min-height:25px;padding:5px 7px;border:1px solid rgba(90,247,238,.3);border-radius:6px;color:#5af7ee;background:#23fff017;font-size:11px;font-weight:900;line-height:1}.flight-readout{color:#fff7e1a8;font-size:11px;font-weight:750}.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.share-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid rgba(255,229,163,.2);border-radius:8px;color:#fff2c4;background:#ffffff0d;font-size:12px;font-weight:900;cursor:pointer}.pause-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:35;display:grid;place-items:center;background:#0305098a}.pause-screen>div{display:grid;justify-items:center;gap:14px;padding:22px;border:1px solid rgba(255,229,163,.3);border-radius:8px;background:#080d14c7}.pause-screen strong{font-size:26px}.bottom-bar{align-self:end;display:grid;grid-template-columns:minmax(210px,1fr) minmax(180px,1.2fr) auto;gap:10px;width:min(100%,1260px);margin:0 auto}.object-card,.modifier{display:flex;align-items:center;min-width:0;min-height:68px;border:1px solid rgba(255,229,163,.18);border-radius:8px;background:#0a0f17bd;box-shadow:0 16px 34px #00000047}.object-card{gap:12px;padding:8px 12px 8px 8px}.object-card img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}.object-card svg{flex:0 0 auto;color:#5af7ee}.object-card p,.object-card span,.modifier span{overflow:hidden;text-overflow:ellipsis}.object-card p{margin:0;color:#fff2c4;font-size:16px;font-weight:900;white-space:nowrap}.object-card .mission-word{display:inline;color:#fff7e18f;font-size:12px;font-weight:900;text-transform:uppercase}.object-card span,.modifier span{display:block;color:#fff7e1b8;font-size:13px;line-height:1.22}.modifier{gap:9px;padding:10px 13px}.modifier svg{flex:0 0 auto;color:#5af7ee}.bottom-actions{display:flex;align-items:stretch;gap:8px}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:86px;min-height:48px;border-radius:8px;padding:0 15px;font-size:14px;font-weight:950;line-height:1;cursor:pointer}.primary-action{border:1px solid rgba(47,246,239,.75);color:#041217;background:linear-gradient(180deg,#8efff8,#27dfd7);box-shadow:0 0 24px #2ff6ef57,0 12px 24px #0000003d}.primary-action.chaos,.primary-action.boost{color:#1b0c04;border-color:#ffd85edb;background:linear-gradient(180deg,#ffe99e,#ffb832);box-shadow:0 0 24px #ffd85e4d,0 12px 24px #0000003d}.secondary-action{border:1px solid rgba(255,229,163,.28);color:#fff4bd;background:#090d14c7}@keyframes targetPulse{0%,to{transform:scale(.9);opacity:.76}50%{transform:scale(1.1);opacity:1}}@keyframes particleBurst{0%{opacity:1;transform:translate(-50%,-50%) scale(.7)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.12)}}@keyframes calloutPop{0%{opacity:0;transform:translateY(18px) scale(.68) rotate(-6deg)}70%{opacity:1;transform:translateY(0) scale(1.08) rotate(-3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-3deg)}}@keyframes guidePulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.18)}}@keyframes ghostThrow{0%,15%{left:var(--sx);top:var(--sy);opacity:0;transform:translate(-50%,-50%) scale(.75)}30%{opacity:.9}72%{left:var(--tx);top:var(--ty);opacity:.85;transform:translate(-50%,-50%) scale(1)}to{left:var(--tx);top:var(--ty);opacity:0;transform:translate(-50%,-50%) scale(1.24)}}@keyframes bonusFloat{0%,to{transform:translate(-50%,-50%) scale(.94)}50%{transform:translate(-50%,calc(-50% - 5px)) scale(1.08)}}@media(max-width:820px){html,body,#root{overflow:auto}.app-shell{align-content:start;grid-template-rows:auto auto;min-height:100dvh;height:auto}.game-frame{align-self:start;width:100%;max-height:none}.hud{grid-template-columns:1fr auto;align-items:start}.level-meter,.mastery-hud{display:none}.brand-lockup{gap:8px}.logo-word{font-size:32px}.brand-lockup h1{font-size:16px}.world{font-size:9px}.throws-pill{min-width:82px;min-height:38px}.throws-pill strong{font-size:25px}.throws-pill span{font-size:11px}.score-pill{display:none}.icon-button{width:38px;height:38px}.target-status,.open-indicator{display:none}.bottom-bar{grid-template-columns:1fr}.app-shell.has-result .bottom-bar{visibility:hidden}.modifier{min-height:46px}.object-card{min-height:56px}.object-card img{width:44px;height:44px}.bottom-actions{display:grid;grid-template-columns:1fr 1fr}.primary-action,.secondary-action{min-height:46px}.result-panel{position:fixed;top:10px;right:10px;bottom:auto;left:10px;z-index:80;width:auto;max-height:calc(100dvh - 20px);overflow:auto;gap:7px;padding:14px}.callout{display:none}.result-overlay{position:fixed;z-index:70;background:#0204096b}.result-panel .stars{font-size:24px}.result-panel strong{font-size:30px}.rank-strip{min-height:24px;font-size:10px}.rank-strip strong{font-size:18px}.style-tags span{min-height:22px;font-size:10px}.flight-readout{gap:5px;font-size:10px}.replay-badge{top:6px;min-height:30px;font-size:10px}}@media(max-width:520px){.hud{padding:8px}.hud-actions{gap:6px}.throws-pill{display:inline-flex;min-width:38px;width:38px;min-height:38px;padding:0}.throws-pill strong{font-size:22px}.throws-pill span{display:none}.brand-lockup h1{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-card span{display:none}.modifier span{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.lindy-coin{top:62px!important}@media(min-aspect-ratio:13 / 10){.lindy-coin{top:12px!important;right:150px!important}}
