:root{--accent: #ffcc33;--good: #57d97a;--bad: #ff5a52;--panel: rgba(12, 20, 40, .72);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:#1b2a55;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:#eaf3fb;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;z-index:0;touch-action:none}#ui{position:fixed;inset:0;z-index:2;pointer-events:none}#ui .interactive{pointer-events:auto;touch-action:none}.hud{position:absolute;top:env(safe-area-inset-top,0);left:0;right:0;display:flex;justify-content:center;gap:clamp(.6rem,3vw,2rem);padding:.7rem 1rem;font-variant-numeric:tabular-nums}.hud .cell{background:var(--panel);border-radius:12px;padding:.4rem .9rem;min-width:5.2rem;text-align:center;backdrop-filter:blur(6px)}.hud .cell .label{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.hud .cell .val{font-size:clamp(1.1rem,3.4vw,1.5rem);font-weight:600;line-height:1.1}.val.good{color:var(--good)}.val.bad{color:var(--bad)}.tilt{position:absolute;bottom:clamp(1rem,5vh,3rem);left:clamp(1rem,3vw,2rem);display:flex;gap:.8rem}.tilt button{width:clamp(64px,11vw,96px);height:clamp(64px,11vw,96px);border-radius:20px;border:2px solid rgba(255,255,255,.28);background:var(--panel);color:#fff;font-size:2rem;line-height:1;backdrop-filter:blur(6px);transition:background .08s,transform .08s}.tilt button.active{background:#ffcc3359;transform:scale(.94)}.throttle{position:absolute;right:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,5vh,3rem);width:clamp(74px,12vw,104px);height:clamp(200px,42vh,340px);border-radius:22px;background:var(--panel);border:2px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);overflow:hidden}.throttle .fill{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(to top,#57d97a8c,#ffcc338c);transition:height .05s linear}.throttle .knob{position:absolute;left:6px;right:6px;height:22px;bottom:calc(50% - 11px);border-radius:12px;background:#fff;box-shadow:0 2px 10px #0006;transition:bottom .05s linear}.throttle .cap{position:absolute;top:8px;left:0;right:0;text-align:center;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;background:radial-gradient(120% 90% at 50% 40%,#0a102259,#0a1022b8);pointer-events:auto;touch-action:none}.overlay.hidden{display:none}.overlay h1{font-size:clamp(2rem,8vw,3.6rem);line-height:1;letter-spacing:-.02em;text-shadow:0 3px 24px rgba(0,0,0,.5)}.overlay h1.good{color:var(--good)}.overlay h1.bad{color:var(--bad)}.overlay p{max-width:26rem;font-size:clamp(.95rem,2.6vw,1.15rem);line-height:1.5;opacity:.92}.overlay .stats{display:flex;gap:1.4rem;margin-top:.2rem;font-variant-numeric:tabular-nums}.overlay .stats div span{display:block}.overlay .stats .k{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.overlay .stats .v{font-size:1.3rem;font-weight:600}.heli-select{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:.4rem}.heli-card{display:flex;flex-direction:column;gap:.25rem;align-items:center;min-width:8.5rem;max-width:11rem;padding:.7rem .9rem;border-radius:14px;border:2px solid rgba(255,255,255,.22);background:var(--panel);color:#eaf3fb;cursor:pointer;touch-action:none;backdrop-filter:blur(6px);transition:border-color .12s,transform .12s,background .12s}.heli-card:active{transform:scale(.97)}.heli-card.sel{border-color:var(--accent);background:#ffcc3324;box-shadow:0 0 16px #ffcc3340}.heli-card .hname{font-weight:700;font-size:1.02rem}.heli-card .hdesc{font-size:.72rem;opacity:.8;line-height:1.3}.wind-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin-top:.5rem}.wind-select{display:flex;gap:.5rem;justify-content:center}.wind-chip{padding:.45rem .95rem;border-radius:999px;border:2px solid rgba(255,255,255,.22);background:var(--panel);color:#eaf3fb;font-size:.85rem;cursor:pointer;touch-action:none;backdrop-filter:blur(6px);transition:border-color .12s,background .12s,transform .12s}.wind-chip:active{transform:scale(.96)}.wind-chip.sel{border-color:var(--accent);background:#ffcc3324}.scorecard{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem clamp(1.1rem,4vw,2rem) 1.2rem;border-radius:20px;background:linear-gradient(180deg,#121c34d1,#0a1022e0);border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 44px #0000006b;backdrop-filter:blur(10px);min-width:min(23rem,88vw);animation:cardIn .42s cubic-bezier(.2,.9,.25,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}.stars{display:flex;gap:.35rem;font-size:clamp(1.9rem,6vw,2.5rem);line-height:1}.stars .star{color:#ffffff38;text-shadow:0 2px 10px rgba(0,0,0,.35);transform-origin:50% 60%}.stars .star.on{color:var(--accent);text-shadow:0 0 18px rgba(255,204,51,.6)}.stars .star.pop{animation:starPop .5s cubic-bezier(.2,1.5,.4,1) both}@keyframes starPop{0%{transform:scale(.2) rotate(-24deg);opacity:0}60%{transform:scale(1.25) rotate(6deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.grade{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}.big-row{display:flex;align-items:baseline;gap:.45rem}.big{font-size:clamp(2.9rem,11vw,4.4rem);font-weight:800;line-height:.95;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff2c4,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 16px rgba(255,204,51,.35))}.big.punch{animation:punch .34s cubic-bezier(.2,1.4,.3,1) both}@keyframes punch{0%{transform:scale(1)}45%{transform:scale(1.11)}to{transform:scale(1)}}.unit{font-size:.9rem;opacity:.75;letter-spacing:.05em}.bonus-chip{font-size:.74rem;padding:.28rem .75rem;border-radius:999px;background:#ffcc3329;border:1px solid rgba(255,204,51,.4);color:#ffe9a8;font-variant-numeric:tabular-nums}.bonus-chip.hidden{display:none}.bars{width:100%;display:flex;flex-direction:column;gap:.38rem;margin-top:.3rem}.bar-row{display:grid;grid-template-columns:5.6rem 1fr 2.9rem;align-items:center;gap:.55rem}.bar-row .bl{font-size:.75rem;opacity:.85;text-align:left}.bar-row .track{height:8px;border-radius:999px;background:#ffffff21;overflow:hidden}.bar-row .bfill{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#4db6ff,var(--good))}.bar-row .bfill.full{background:linear-gradient(90deg,var(--good),var(--accent))}.bar-row .bnum{font-size:.72rem;opacity:.8;text-align:right;font-variant-numeric:tabular-nums}.record{margin-top:.35rem;font-size:.85rem;font-weight:700;color:#10203a;background:var(--accent);padding:.3rem .9rem;border-radius:999px;animation:recordGlow 1.1s ease-in-out infinite alternate}.record.hidden{display:none}@keyframes recordGlow{0%{box-shadow:0 0 10px #ffcc3380}to{box-shadow:0 0 22px #ffcc33f2}}.scorecard .best{font-size:.78rem;opacity:.72}@media (prefers-reduced-motion: reduce){.scorecard,.stars .star.pop,.big.punch,.record{animation:none}}.val.windy{color:var(--accent)}.btn{margin-top:.6rem;padding:.9rem 2.2rem;font-size:1.1rem;font-weight:600;color:#10203a;background:var(--accent);border:none;border-radius:999px;box-shadow:0 6px 20px #00000059;cursor:pointer;touch-action:none}.btn:active{transform:translateY(1px)}.fs{position:absolute;top:env(safe-area-inset-top,.5rem);right:.6rem;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:var(--panel);color:#fff;font-size:1.1rem;pointer-events:auto;touch-action:none}.hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);font-size:.8rem;opacity:.75;text-align:center;max-width:80vw}
