@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(./fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(./fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(./fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(./fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}:root{--font:"Fredoka", "Segoe UI", system-ui, sans-serif;--ink:#1b1530;--panel:#fffaf0;--gold:#ffd60a;--orange:#ff8c42;--xp:#4cc9f0;--pink:#ff4fa3;--purple:#9b5de5;--blue:#3a86ff;--teal:#2ec4b6;--green:#38d46a;--red:#ff3b5c;--gray:#8d99ae;--stroke:0 2px 0 var(--ink), 0 -2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 1.5px 1.5px 0 var(--ink), -1.5px 1.5px 0 var(--ink), 1.5px -1.5px 0 var(--ink), -1.5px -1.5px 0 var(--ink), 0 4px 0 #0000004d;--stroke-big:0 3px 0 var(--ink), 0 -3px 0 var(--ink), 3px 0 0 var(--ink), -3px 0 0 var(--ink), 2.2px 2.2px 0 var(--ink), -2.2px 2.2px 0 var(--ink), 2.2px -2.2px 0 var(--ink), -2.2px -2.2px 0 var(--ink), 0 6px 0 #0000004d;--stroke-small:0 1.5px 0 var(--ink), 0 -1.5px 0 var(--ink), 1.5px 0 0 var(--ink), -1.5px 0 0 var(--ink), 1px 1px 0 var(--ink), -1px 1px 0 var(--ink), 1px -1px 0 var(--ink), -1px -1px 0 var(--ink);--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--jump-size:clamp(82px, 21vmin, 112px);--throw-size:clamp(102px, 27vmin, 140px);--touch-margin:5vmin;--touch-bottom:7vmin;--throw-right:calc(var(--touch-margin) + var(--jump-size) + 14px);--throw-bottom:calc(var(--touch-bottom) + var(--jump-size) * .55);--gauge-w:calc(46px * var(--ui,1));--gauge-h:min(calc(400px * var(--ui,1)), 52vh);--gauge-left:calc(50vw + clamp(110px, 18vmin, 210px));--gauge-top:calc(50vh - var(--gauge-h) / 2)}html,body{overscroll-behavior:none;width:100%;height:100%;font-family:var(--font);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#8fd0ff;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{touch-action:none;display:block}body.camera-drag,body.camera-drag canvas{cursor:none}button{font-family:var(--font)}.side-button,.resume-button,.rebirth-confirm,.wheel-close,.prompt-action,.touch-button,.fat-button{--c:var(--blue);--c-light:color-mix(in srgb, var(--c) 55%, white);--c-dark:color-mix(in srgb, var(--c) 70%, black);border:3px solid var(--ink);background:linear-gradient(180deg, var(--c-light) 0%, var(--c) 52%, var(--c-dark) 100%);box-shadow:inset 0 3px 0 #ffffff73, inset 0 -4px 0 #0000002e, 0 4px 0 var(--ink);color:#fff;text-shadow:var(--stroke);cursor:pointer;transition:transform 80ms,box-shadow 80ms,filter .15s}.side-button:active,.resume-button:active,.rebirth-confirm:active,.wheel-close:active,.prompt-action:active,.touch-button.pressed,.fat-button:active:not(:disabled){box-shadow:inset 0 3px 0 #ffffff73, inset 0 -2px 0 #0000002e, 0 1px 0 var(--ink);transform:translateY(3px)}@media (hover:hover){.side-button:hover,.resume-button:hover,.rebirth-confirm:not(:disabled):hover,.wheel-close:not(:disabled):hover,.fat-button:not(:disabled):hover{filter:brightness(1.08)}}kbd{box-sizing:border-box;border:2px solid var(--ink);min-width:22px;height:22px;box-shadow:0 3px 0 var(--ink);color:var(--ink);font:700 12px var(--font);text-shadow:none;background:#fff;border-radius:7px;place-items:center;padding:0 6px;display:inline-grid}.pause-panel,.rebirth-panel,.wheel-panel,.modal-panel,.cosmetics-panel{box-sizing:border-box;border:5px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff1a, 0 8px 0 var(--ink), 0 20px 44px #0006;color:#fff;font:600 15px var(--font);text-shadow:0 1px #00000059;background:linear-gradient(#3d3f54 0%,#2c2d3f 45%,#24253a 100%);border-radius:26px;position:relative}.panel-header{--c:var(--blue);border-bottom:5px solid var(--ink);background:repeating-linear-gradient(115deg, transparent 0 34px, #ffffff24 34px 64px), linear-gradient(180deg, color-mix(in srgb, var(--c) 62%, white) 0%, var(--c) 55%, color-mix(in srgb, var(--c) 80%, black) 100%);text-align:left;border-radius:21px 21px 0 0;margin:-20px -20px 16px;padding:13px 80px 13px 22px;position:relative;box-shadow:inset 0 3px #ffffff59}.panel-header h1,.panel-header h2{color:#fff;font:700 32px/1.1 var(--font);text-shadow:var(--stroke-big);letter-spacing:.3px;margin:0}.panel-close{z-index:1;border:4px solid var(--ink);width:54px;height:54px;box-shadow:inset 0 3px 0 #ffffff73, inset 0 -3px 0 #0003, 0 4px 0 var(--ink);color:#fff;font:700 30px/1 var(--font);text-shadow:var(--stroke);cursor:pointer;touch-action:manipulation;background:linear-gradient(#ff8080 0%,#ee2a37 55%,#b8141f 100%);border-radius:14px;place-items:center;padding:0;display:grid;position:absolute;top:12px;right:13px}.panel-close:active{box-shadow:inset 0 3px 0 #ffffff73, 0 1px 0 var(--ink);transform:translateY(3px)}@media (hover:hover){.panel-close:hover{filter:brightness(1.1)}}.controls-list,.rebirth-gains{border:3px solid var(--ink);background:#1c1d2c;border-radius:16px;box-shadow:inset 0 3px #0000004d}.controls-list li{align-items:center;gap:10px;padding:3px 0;display:flex}.keys{align-items:center;gap:4px;min-width:128px;display:inline-flex}.pause-overlay{padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left));background:#1b15308c;display:none;position:absolute;inset:0}.pause-overlay.visible{display:grid}.pause-panel{width:min(420px,100%);margin:auto;padding:20px;animation:.25s cubic-bezier(.2,1.6,.4,1) panel-in}.pause-panel>h2{color:var(--gold);font:700 18px var(--font);text-shadow:var(--stroke-small);margin:18px 0 8px}.resume-button{--c:var(--green);width:100%;min-height:66px;font:700 25px var(--font);border-radius:20px}.setting{font:700 15px var(--font);flex-direction:column;gap:6px;margin-top:18px;display:flex}.setting input{width:100%;height:44px;accent-color:var(--blue)}.controls-list{font:600 14px var(--font);margin:0;padding:10px 12px;list-style:none}.credits{font:500 12px var(--font);text-align:center;opacity:.7;margin:14px 0 0;line-height:1.35}@keyframes panel-in{0%{opacity:0;transform:scale(.7)}}.hud-top{left:50%;top:calc(12px + var(--safe-top));z-index:2;width:min(460px, calc(100vw / var(--ui,1) - 2 * (76px + var(--safe-right))));pointer-events:none;position:absolute;transform:translate(-50%)}.hud-currencies{left:calc(26px + var(--safe-left));bottom:calc(30px + var(--safe-bottom));z-index:2;pointer-events:none;transition:opacity .3s;position:absolute}.stats-hud{color:#fff;font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-start;gap:10px;display:flex}.currency{box-sizing:border-box;border:4px solid var(--ink);min-width:176px;height:50px;box-shadow:inset 0 0 0 2px #ffffff14, 0 4px 0 var(--ink);background:linear-gradient(#3a3a4aeb,#22222eeb);border-radius:14px;align-items:center;padding:0 18px 0 50px;display:flex;position:relative}.currency-icon{width:64px;height:64px;filter:drop-shadow(0 3px 0 var(--ink)) drop-shadow(0 0 1.5px var(--ink));place-items:center;font-size:46px;line-height:1;display:grid;position:absolute;top:50%;left:-24px;transform:translateY(-50%)}.currency-value{font:700 31px/1 var(--font);text-shadow:var(--stroke-big);white-space:nowrap}.record .currency-value{font-size:25px}.currency.bump{transform-origin:0;animation:.35s cubic-bezier(.2,1.8,.4,1) bump}@keyframes bump{0%{transform:scale(1.15)}}.hud-level{left:50%;bottom:calc(14px + var(--safe-bottom));z-index:2;width:min(660px, calc(100vw / var(--ui,1) - 2 * (240px + var(--safe-left))));pointer-events:none;transition:opacity .3s;position:absolute;transform:translate(-50%)}body.flying .hud-currencies,body.flying .hud-level{opacity:.35}.level-card{color:#fff;flex-direction:column;gap:6px;display:flex}.level-stats{white-space:nowrap;align-items:baseline;gap:14px;padding-left:8px;display:flex;overflow:hidden}.level-stat{color:#8fe3ff;font:700 19px var(--font);text-shadow:var(--stroke)}.level-stat.level-xp{color:#ffa6dc}.level-stat[hidden]{display:none}.level-next{text-overflow:ellipsis;color:#f1eeff;font:600 14px var(--font);text-shadow:var(--stroke-small);overflow:hidden}.xp-bar{box-sizing:border-box;border:5px solid var(--ink);height:52px;box-shadow:inset 0 4px 0 #0000004d, 0 5px 0 var(--ink), 0 10px 22px #00000040;background:linear-gradient(#34344a,#4a4a62);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;display:flex;position:relative;overflow:hidden}.xp-fill{width:0;box-shadow:inset 0 4px 0 #ffffff80, inset 0 -4px 0 #b4500040, 3px 0 0 var(--ink);background:linear-gradient(#fff27a 0%,#ffd21f 40%,#fa0 100%);transition:width .45s cubic-bezier(.25,1,.4,1);position:absolute;top:0;bottom:0;left:0;overflow:hidden}.xp-fill:after{content:"";background:linear-gradient(100deg,#0000,#fff9,#0000);width:40%;animation:3.2s ease-in-out infinite xp-shine;position:absolute;inset:0 auto 0 -40%}@keyframes xp-shine{0%,55%{transform:translate(0)}to{transform:translate(380%)}}.level-title,.xp-text{z-index:1;white-space:nowrap;position:relative}.level-title{font:700 21px var(--font);color:#f1eeff;text-shadow:var(--stroke)}.level-word{color:#fff;text-shadow:var(--stroke-big);font-size:32px}.xp-text{font:700 26px var(--font);text-shadow:var(--stroke-big);font-variant-numeric:tabular-nums}.level-card.gain .xp-bar{animation:.55s ease-out xp-gain}@keyframes xp-gain{30%{box-shadow:inset 0 4px 0 #0000004d, 0 5px 0 var(--ink), 0 0 0 5px #ffd60abf, 0 0 22px 6px #ffd60a99}}.level-card.up .xp-bar{animation:.6s cubic-bezier(.2,1.7,.4,1) level-up}@keyframes level-up{0%{transform:scale(1.08)}}.level-card.max .xp-fill{background:linear-gradient(180deg, #ffb3e0 0%, var(--pink) 50%, #c42a7c 100%)}.level-card.max .xp-bar{animation:1.4s ease-in-out infinite level-max}.level-card.max .level-next{color:#ffb8e2;font-weight:700}@keyframes level-max{50%{box-shadow:inset 0 4px 0 #0000004d, 0 5px 0 var(--ink), 0 0 0 5px #ff4fa38c}}.side-menu{left:calc(18px + var(--safe-left));z-index:2;flex-direction:column;gap:22px;transition:opacity .2s;display:flex;position:absolute;top:36%;transform:translateY(-50%)}body.flying .side-menu,body.flying .settings-button,body.charging .settings-button{visibility:hidden}body.charging .side-menu{opacity:.35}.side-button{box-sizing:border-box;border:4px solid var(--ink);background:repeating-linear-gradient(115deg, transparent 0 18px, #ffffff1a 18px 32px), linear-gradient(180deg, color-mix(in srgb, var(--c) 58%, white) 0%, var(--c) 52%, color-mix(in srgb, var(--c) 72%, black) 100%);width:92px;height:92px;box-shadow:inset 0 0 0 3px #ffffff4d, inset 0 -5px 0 #0003, 0 5px 0 var(--ink), 0 8px 16px #00000040;touch-action:none;border-radius:18px;flex-direction:column;justify-content:flex-start;align-items:center;padding:7px 0 0;display:flex;position:relative}.side-button:active{box-shadow:inset 0 0 0 3px #ffffff4d, inset 0 -3px 0 #0003, 0 2px 0 var(--ink)}.side-icon{text-shadow:none;filter:drop-shadow(0 3px #0006);font-size:46px;line-height:1}.side-label{font:700 17px var(--font);text-shadow:var(--stroke);white-space:nowrap;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.side-key{background:var(--ink);color:#fff;border-color:#fff;border-radius:7px;min-width:24px;height:24px;font-size:13px;position:absolute;top:-9px;left:-9px;box-shadow:0 2px #0006}body.touch-mode .side-key{display:none}.side-pct{color:#fff;font:700 21px var(--font);text-shadow:var(--stroke-big);position:absolute;top:-14px;right:-12px}.rebirth-button.ready .side-pct{display:none}.rebirth-button{--c:var(--pink)}.side-settings{--c:#3c3d52}.side-button.settings-button{top:calc(14px + var(--safe-top));right:calc(14px + var(--safe-right));z-index:3;background:linear-gradient(#4a4b62,#2c2d40);border-radius:16px;place-items:center;width:58px;height:58px;padding:0;display:grid;position:absolute}.settings-button .side-icon{font-size:30px}.side-badge{border:3px solid var(--ink);background:var(--red);width:30px;height:30px;font:700 18px var(--font);text-shadow:var(--stroke-small);border-radius:50%;place-items:center;animation:.9s ease-in-out infinite badge-bounce;display:none;position:absolute;top:-12px;right:-12px}.rebirth-button.ready{animation:1.6s ease-in-out infinite wiggle}.rebirth-button.ready .side-badge{display:grid}@keyframes wiggle{0%,60%,to{transform:rotate(0)}70%{transform:rotate(-8deg)scale(1.06)}80%{transform:rotate(8deg)scale(1.06)}90%{transform:rotate(-4deg)}}@keyframes badge-bounce{50%{transform:translateY(-4px)scale(1.1)}}.bar{border:2px solid var(--ink);background:#00000059;border-radius:999px;height:8px;display:block;overflow:hidden}.bar.big{height:22px}.bar-fill{background:linear-gradient(180deg, #fff3a0, var(--gold) 60%, #e0a100);width:0;height:100%;transition:width .3s;display:block;box-shadow:inset 0 2px #ffffff80}.rebirth-panel{box-sizing:border-box;flex-direction:column;gap:10px;width:min(400px,100% - 40px);max-height:calc(100% - 40px);padding:20px;display:none;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.rebirth-body{flex-direction:column;flex:auto;gap:10px;min-height:0;margin:0 -8px;padding:0 8px;display:flex}.rebirth-panel.visible{animation:.25s cubic-bezier(.2,1.6,.4,1) panel-in-centered;display:flex}@keyframes panel-in-centered{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}}.rebirth-panel .panel-header{--c:var(--pink)}.rebirth-panel p{margin:0}.rebirth-count{border:3px solid var(--ink);background:linear-gradient(180deg, #ff9ad6, var(--pink) 60%, #c42a7c);box-shadow:0 3px 0 var(--ink);text-shadow:var(--stroke-small);border-radius:999px;align-self:center;padding:4px 16px;font-size:17px;font-weight:700}.rebirth-progress-label{font-variant-numeric:tabular-nums;margin-bottom:4px;font-weight:700}.rebirth-gains{flex-direction:column;gap:6px;margin:0;padding:10px 12px;list-style:none;display:flex}.rebirth-gains li:before{content:"✦ ";color:var(--pink)}.rebirth-gains strong{color:#ff9ad6}.rebirth-confirm{--c:var(--pink);min-height:66px;font:700 22px var(--font);border-radius:18px}.rebirth-confirm:disabled{--c:var(--gray);cursor:default;font-size:17px}.throw-prompt{left:50%;bottom:calc(max(17%, 128px) + var(--safe-bottom));border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));box-shadow:inset 0 3px 0 #ffffff80, 0 4px 0 var(--ink);color:#fff;font:700 18px var(--font);text-shadow:var(--stroke);white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:8px 18px 8px 8px;animation:1.2s ease-in-out infinite pulse;display:none;position:absolute;transform:translate(-50%)}.throw-prompt.visible{display:flex}.throw-prompt-icon{border:3px solid var(--ink);background:var(--orange);border-radius:50%;place-items:center;width:36px;height:36px;font-size:18px;display:grid}body.touch-mode .throw-prompt kbd{display:none}body.touch-mode .throw-prompt{left:auto;right:calc(var(--touch-margin) + var(--safe-right));bottom:calc(var(--touch-bottom) + var(--jump-size) * .55 + var(--throw-size) + 24px + var(--safe-bottom));white-space:normal;border-radius:18px;max-width:min(230px,60vw);padding:6px 14px;font-size:15px;animation:1s ease-in-out infinite bob;transform:none}body.touch-mode .throw-prompt .throw-prompt-icon{display:none}body.touch-mode .throw-prompt:after{content:"";right:calc(var(--jump-size) + 14px + var(--throw-size) / 2 - 10px);border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);background:var(--gold);width:14px;height:14px;position:absolute;bottom:-11px;transform:rotate(45deg)}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes pulse{50%{transform:translate(-50%)scale(1.07)}}.charge-gauge{left:var(--gauge-left);top:var(--gauge-top);z-index:2;width:var(--gauge-w);height:var(--gauge-h);pointer-events:none;display:none;position:absolute}.charge-gauge.visible{animation:.22s cubic-bezier(.2,1.6,.4,1) gauge-in;display:block}@keyframes gauge-in{0%{opacity:0;transform:scaleY(.6)}}.charge-track{border:5px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff26, 0 5px 0 var(--ink), 0 10px 22px #0000004d;background:#1f1d30;border-radius:999px;position:absolute;inset:0;overflow:hidden}.charge-levels{position:absolute;inset:0}.charge-fill{box-shadow:0 0 0 999px #1b1530a8, 0 -3px 0 var(--ink);background:linear-gradient(90deg,#ffffff80,#fff0 55%,#0000001f);border-top:5px solid #fff;position:absolute;bottom:0;left:0;right:0}.charge-ticks span{color:#fff;height:15px;font:700 11px/15px var(--font);text-align:center;text-shadow:var(--stroke-small);border-bottom:2px solid #1b1530bf;position:absolute;left:0;right:0}.charge-sweet{background:repeating-linear-gradient(-45deg,#ffd60aa6 0 7px,#ffd60a40 7px 14px) 0 0/20px 20px;border-bottom:3px solid #fff;animation:.8s linear infinite sweet-slide;display:none;position:absolute;top:0;left:0;right:0}.charge-gauge.coached .charge-sweet{display:block}@keyframes sweet-slide{to{background-position:0 20px}}.charge-star{color:#fff;font:700 34px/1 var(--font);text-shadow:var(--stroke-big);transition:transform .15s,color .15s;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.charge-gauge.ready .charge-track{box-shadow:inset 0 0 0 2px #ffffff26, 0 5px 0 var(--ink), 0 0 0 5px var(--gold), 0 0 26px 8px #ffd60acc}.charge-gauge.ready .charge-star{color:var(--gold);transform:translate(-50%)scale(1.45)rotate(20deg)}.charge-record{z-index:1;filter:drop-shadow(0 2px 0 var(--ink));font-size:24px;line-height:1;position:absolute;right:calc(100% + 4px);transform:translateY(50%)}.charge-record:after{content:"";width:calc(var(--gauge-w) / var(--ui,1));filter:drop-shadow(0 1px 0 var(--ink));border-top:3px dashed #fff;position:absolute;top:50%;left:calc(100% + 4px)}.charge-record[hidden]{display:none}.charge-score{left:calc(100% + 18px);bottom:clamp(44px, var(--p,0%), calc(100% - 44px));z-index:1;border:4px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink);color:#fff;white-space:nowrap;background:linear-gradient(#45475c 0%,#2f3043 55%,#232435 100%);border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:7px 14px 9px;display:flex;position:absolute;transform:translateY(50%)}.charge-score:before{content:"";border-left:4px solid var(--ink);border-bottom:4px solid var(--ink);background:#34364a;width:16px;height:16px;margin-top:-10px;position:absolute;top:50%;left:-13px;transform:rotate(45deg)}.charge-score.pop{animation:.35s cubic-bezier(.2,1.8,.4,1) score-pop}@keyframes score-pop{0%{transform:translateY(50%)scale(1.25)}}.charge-distance{font:700 36px/1 var(--font);text-shadow:var(--stroke-big);font-variant-numeric:tabular-nums}.charge-zone{border:3px solid var(--ink);font:700 13px var(--font);text-shadow:var(--stroke-small);border-radius:999px;padding:1px 10px}.charge-wins{color:var(--gold);font:700 21px/1 var(--font);text-shadow:var(--stroke)}.charge-best{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold) 60%, #e8a200);font:700 13px var(--font);text-shadow:var(--stroke-small);border-radius:999px;padding:1px 10px;animation:.6s ease-in-out infinite alternate best-shine;display:none}.charge-gauge.beats-record .charge-best{display:block}@keyframes best-shine{to{transform:scale(1.08)}}.charge-gauge.ready .charge-score{box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink), 0 0 0 4px var(--gold)}.flight-hud{left:50%;top:calc(14px + var(--safe-top));pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:none;position:absolute;transform:translate(-50%)}.flight-hud.visible{display:flex}.flight-distance{color:#fff;font:700 clamp(40px, 10vmin, 68px) var(--font);text-shadow:var(--stroke-big);font-variant-numeric:tabular-nums}.flight-wins{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));box-shadow:inset 0 3px 0 #ffffff80, 0 3px 0 var(--ink);color:#fff;font:700 24px var(--font);text-shadow:var(--stroke);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 16px 2px 12px}.flight-wins:empty{display:none}.flight-wins.pop{animation:.45s cubic-bezier(.2,1.8,.4,1) pop}.flight-level,.result-level{border:3px solid var(--ink);box-shadow:inset 0 3px 0 #ffffff59, 0 3px 0 var(--ink);color:#fff;font:700 17px var(--font);text-shadow:var(--stroke-small);border-radius:999px;padding:4px 16px}.flight-level.pop{animation:.4s cubic-bezier(.2,1.8,.4,1) pop}@keyframes pop{0%{transform:scale(1.6)}}.result-banner{color:#fff;text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:none;position:absolute;top:32%;left:50%;transform:translate(-50%,-50%)}.result-banner.visible{animation:.4s cubic-bezier(.2,1.7,.4,1) result-in;display:flex}@keyframes result-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}}.result-distance{font:700 clamp(52px, 13vmin, 84px) var(--font);text-shadow:var(--stroke-big);line-height:1}.result-gains{gap:10px;display:flex}.result-money,.result-xp{border:3px solid var(--ink);box-shadow:inset 0 3px 0 #fff6, 0 4px 0 var(--ink);font:700 26px var(--font);text-shadow:var(--stroke);border-radius:999px;padding:4px 16px}.result-money{background:linear-gradient(#49d978,#23a957)}.result-xp{background:linear-gradient(#8fe3ff,#1f9fd6)}.result-bonus{color:#b9fbc0;font:700 20px var(--font);text-shadow:var(--stroke)}.result-record{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));box-shadow:0 4px 0 var(--ink);color:#fff;font:700 22px var(--font);text-shadow:var(--stroke);border-radius:12px;padding:4px 18px;animation:.5s cubic-bezier(.2,1.8,.4,1) .15s both stamp;transform:rotate(-4deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-4deg)scale(2.2)}}.result-portal{color:#e0b3ff;font:700 32px var(--font);text-shadow:var(--stroke-big), 0 0 18px #c77dffe6}.dock{--dock-y:-50%;right:calc(18px + var(--safe-right));z-index:3;box-sizing:border-box;width:min(460px, calc(40vw / var(--ui,1)));max-height:calc(100% - 230px - var(--safe-top) - var(--safe-bottom));overscroll-behavior:contain;scrollbar-width:none;border:5px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff1a, 0 8px 0 var(--ink), 0 18px 36px #00000059;color:#fff;text-shadow:var(--stroke-small);transform:translateY(var(--dock-y));touch-action:pan-y;background:linear-gradient(#3d3f54 0%,#2c2d3f 45%,#24253a 100%);border-radius:26px;position:absolute;top:50%;overflow-y:auto}.dock::-webkit-scrollbar{display:none}@keyframes dock-in{0%{transform:translate(70px, var(--dock-y));opacity:0}}@keyframes dock-shake{25%{transform:translate(-10px, var(--dock-y))}75%{transform:translate(10px, var(--dock-y))}}body.prompt-open .server-feed,body.plane-shop-open .server-feed,body.prompt-open .controls-reminder,body.plane-shop-open .controls-reminder,body.prompt-open .guide-pointer,body.plane-shop-open .guide-pointer{opacity:0}.interact-prompt{flex-direction:column;gap:12px;padding-bottom:16px;display:none}.interact-prompt.visible{animation:.3s cubic-bezier(.2,1.4,.4,1) dock-in;display:flex}.interact-prompt.shake{animation:.35s dock-shake}.prompt-head{border-bottom:5px solid var(--ink);background:repeating-linear-gradient(115deg, transparent 0 34px, #ffffff24 34px 64px), linear-gradient(180deg, color-mix(in srgb, var(--c) 62%, white) 0%, var(--c) 55%, color-mix(in srgb, var(--c) 80%, black) 100%);align-items:center;gap:14px;padding:12px 16px;display:flex;box-shadow:inset 0 3px #ffffff59}.prompt-icon{border:4px solid var(--ink);background:radial-gradient(circle at 40% 30%, #fff 0%, color-mix(in srgb, var(--c) 30%, white) 60%, color-mix(in srgb, var(--c) 60%, white) 100%);width:76px;height:76px;box-shadow:0 4px 0 var(--ink);text-shadow:none;border-radius:20px;flex:none;place-items:center;font-size:48px;line-height:1;animation:1.8s ease-in-out infinite prompt-icon;display:grid}@keyframes prompt-icon{50%{transform:translateY(-3px)rotate(-5deg)}}.prompt-heading{flex-direction:column;min-width:0;display:flex}.prompt-title{font:700 32px/1.1 var(--font);text-shadow:var(--stroke-big)}.prompt-subtitle{font:700 17px var(--font);text-shadow:var(--stroke)}.prompt-subtitle:empty{display:none}.prompt-stats{flex-direction:column;gap:8px;padding:0 16px;display:flex}.prompt-stats:empty{display:none}.prompt-stat{border:3px solid var(--ink);font:700 19px var(--font);font-variant-numeric:tabular-nums;background:#1c1d2c;border-radius:14px;padding:8px 12px;box-shadow:inset 0 3px #0000004d}.prompt-action{--c:var(--orange);min-height:80px;font:700 30px var(--font);touch-action:manipulation;border-radius:20px;justify-content:center;align-items:center;gap:10px;margin:0 16px;padding:6px 16px;display:flex}.prompt-key{border-radius:50%;min-width:30px;height:30px;font-size:15px}.prompt-price{border:3px solid var(--ink);font:700 21px var(--font);background:linear-gradient(#49d978,#23a957);border-radius:999px;padding:2px 12px}.prompt-price:empty{display:none}.interact-prompt.disabled .prompt-action{--c:var(--gray)}.interact-prompt.disabled .prompt-price{background:linear-gradient(180deg, #ff8fa3, var(--red))}.interact-prompt.rewarded .prompt-action{--c:var(--purple)}body.touch-mode .prompt-key{display:none}@media (height<=500px){body.prompt-open .quest-card,body.plane-shop-open .quest-card{opacity:0}.dock{--dock-y:0px;top:calc(66px + var(--safe-top));right:calc(14px + var(--safe-right));width:min(340px,46vw);max-height:calc(100% - 66px - var(--touch-bottom) - var(--jump-size) - 14px - var(--safe-top) - var(--safe-bottom));border-width:4px;border-radius:20px}.interact-prompt{gap:7px;padding-bottom:10px}.prompt-head{border-bottom-width:4px;gap:10px;padding:5px 10px}.prompt-icon{border-width:3px;border-radius:11px;width:36px;height:36px;font-size:22px}.prompt-title{font-size:20px}.prompt-subtitle{font-size:14px}.prompt-stats{gap:5px;padding:0 10px}.prompt-stat{border-width:2px;border-radius:10px;padding:3px 8px;font-size:13px}.prompt-action{border-radius:15px;min-height:44px;margin:0 10px;font-size:21px}.prompt-price{font-size:17px}}@media (height<=380px){.prompt-stats{gap:3px}.prompt-stat{padding:2px 7px;font-size:12px}.prompt-action{min-height:40px}}@media (orientation:landscape) and (height>=501px){body.touch-mode .dock{--dock-y:0px;top:calc(108px + var(--safe-top));max-height:calc(100% - 108px - var(--touch-bottom) - var(--jump-size) - 18px - var(--safe-top) - var(--safe-bottom))}}@media (width<=520px){.dock{--dock-y:0px;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));top:calc(176px + var(--safe-top));width:auto;max-height:calc(100% - 176px - 14vmin - clamp(90px, 24vmin, 140px) - 24px - var(--safe-top) - var(--safe-bottom));border-width:4px;border-radius:22px}body.prompt-open .side-menu,body.plane-shop-open .side-menu,body.prompt-open .hud-currencies,body.plane-shop-open .hud-currencies{opacity:0;pointer-events:none}@keyframes dock-in{0%{opacity:0;transform:translateY(-30px)}}.prompt-title{font-size:24px}.prompt-icon{width:54px;height:54px;font-size:34px}.prompt-stat{font-size:15px}.prompt-action{min-height:62px;font-size:24px}}@media (prefers-reduced-motion:reduce){.interact-prompt.visible,.interact-prompt.shake,.prompt-icon{animation:none}}.speed-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.popup{z-index:1;color:#fff;font:700 26px var(--font);text-shadow:var(--stroke);pointer-events:none;white-space:nowrap;animation:.3s cubic-bezier(.2,1.8,.4,1) popup-in;position:absolute;transform:translate(-50%,-50%)}@keyframes popup-in{0%{transform:translate(-50%,-50%)scale(.3)}}.popup-xp{color:#a8ecff}.popup-level{color:var(--gold);text-shadow:var(--stroke-big);font-size:34px}.touch-ui{display:none}body.touch-mode .touch-ui{display:block}.thumbstick{left:calc(6vmin + var(--safe-left));bottom:calc(6vmin + var(--safe-bottom));box-sizing:border-box;border:4px solid var(--ink);opacity:.55;pointer-events:none;background:radial-gradient(circle,#ffffff26 55%,#fff6);border-radius:50%;width:clamp(90px,24vmin,140px);height:clamp(90px,24vmin,140px);position:fixed}.thumbstick.active{opacity:1;bottom:auto}.thumbstick-knob{box-sizing:border-box;border:3px solid var(--ink);width:46%;height:46%;box-shadow:0 3px 0 var(--ink);background:radial-gradient(circle at 35% 30%,#fff,#d7e3ff);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.touch-button{touch-action:none;border-width:4px;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:0;display:flex;position:fixed}.touch-icon{text-shadow:var(--stroke);font-size:30px;line-height:1}.touch-label{font:700 14px var(--font);text-shadow:var(--stroke-small)}.touch-jump{--c:var(--blue);right:calc(var(--touch-margin) + var(--safe-right));bottom:calc(var(--touch-bottom) + var(--safe-bottom));width:var(--jump-size);height:var(--jump-size)}.touch-throw{--c:var(--orange);right:calc(var(--throw-right) + var(--safe-right));bottom:calc(var(--throw-bottom) + var(--safe-bottom));width:var(--throw-size);height:var(--throw-size);display:none}.touch-throw .touch-icon{font-size:40px}.touch-throw .touch-label{font-size:17px}.touch-throw:before{content:"";border:4px solid var(--gold);pointer-events:none;border-radius:50%;animation:1.2s ease-out infinite ring;position:absolute;inset:-10px}body.charging .touch-throw:before{opacity:0;animation:none}@keyframes ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}body.can-throw .touch-throw,body.charging .touch-throw{display:flex}@media (orientation:portrait){:root{--gauge-w:40px;--gauge-h:min(300px, 34vh);--gauge-top:max(23vh, calc(214px + var(--safe-top)));--gauge-left:calc(100vw - 22px - var(--safe-right) - var(--gauge-w))}.charge-score{align-items:flex-end;left:auto;right:calc(100% + 16px)}.charge-score:before{left:auto;right:-13px;transform:rotate(-135deg)}.charge-record{left:calc(100% + 4px);right:auto}.charge-record:after{left:auto;right:calc(100% + 4px)}:root{--touch-bottom:14vmin;--throw-right:var(--touch-margin);--throw-bottom:calc(var(--touch-bottom) + var(--jump-size) + 18px)}.thumbstick:not(.active){bottom:calc(14vmin + var(--safe-bottom))}html body.touch-mode .hud-currencies{bottom:calc(14vmin + clamp(90px, 24vmin, 140px) + 16px + var(--safe-bottom))}.throw-prompt{bottom:calc(36% + var(--safe-bottom))}body.touch-mode .throw-prompt{bottom:calc(var(--touch-bottom) + var(--jump-size) + 18px + var(--throw-size) + 24px + var(--safe-bottom));max-width:min(200px,100vw - 232px)}body.touch-mode .throw-prompt:after{right:calc(var(--throw-size) / 2 - 10px)}}body.touch-mode .hud-currencies{bottom:calc(6vmin + clamp(90px, 24vmin, 140px) + 30px + var(--safe-bottom))}@media (width<=520px){.server-feed{top:calc(176px + var(--safe-top))}body.charging .hud-currencies,body.charging .side-menu{opacity:0}.charge-distance{font-size:30px}.hud-top{left:calc(12px + var(--safe-left));width:auto;right:calc(80px + var(--safe-right));transform:none}.hud-level{top:calc(92px + var(--safe-top));bottom:auto;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));width:auto;transform:none}.level-card{flex-direction:column-reverse;gap:4px}.level-stats{gap:10px}.level-stat{font-size:15px}.level-next{display:none}.xp-bar{border-width:4px;border-radius:14px;height:42px;padding:0 12px}.level-word{font-size:24px}.level-title{font-size:16px}.xp-text{font-size:18px}.stats-hud{gap:8px}.currency{border-radius:12px;min-width:138px;height:42px;padding-left:40px}.currency-icon{width:54px;height:54px;font-size:38px;left:-20px}.currency-value{font-size:25px}.record .currency-value{font-size:20px}.side-menu{gap:20px;top:39%}.side-button{border-radius:16px;width:78px;height:78px}.side-icon{font-size:38px}.side-label{font-size:15px}.side-pct{font-size:18px}.side-button.settings-button{width:54px;height:54px}}@media (orientation:landscape) and (height>=501px){body.touch-mode{--gauge-top:14vh;--gauge-h:min(400px, 46vh)}}@media (width<=520px) and (height<=720px){:root{--gauge-h:25vh}}@media (height<=500px){:root{--gauge-w:38px;--gauge-h:38vh;--gauge-top:max(9vh, calc(46px + var(--safe-top)));--gauge-left:min(calc(50vw + clamp(110px, 18vmin, 210px)), calc(100vw - 236px - var(--safe-right)))}.charge-score{width:max-content;max-width:calc(100vw - var(--gauge-left) - var(--gauge-w) - 30px - var(--safe-right));gap:2px;padding:4px 10px 6px}.charge-zone,.charge-best{white-space:normal;font-size:11.5px}.hud-top{left:calc(184px + var(--safe-left));right:calc(76px + var(--safe-right));width:auto;transform:none}.charge-distance{font-size:26px}.charge-wins{font-size:17px}.charge-star{font-size:26px;top:-28px}.hud-currencies{left:calc(22px + var(--safe-left));bottom:calc(10px + var(--safe-bottom))}.stats-hud{gap:7px}.currency{border-width:3px;border-radius:11px;min-width:126px;height:34px;padding-left:34px}.currency-icon{width:46px;height:46px;font-size:30px;left:-18px}.currency-value{font-size:21px}.record .currency-value{font-size:17px}.hud-level{bottom:calc(8px + var(--safe-bottom));width:min(460px, calc(100vw - 2 * (190px + var(--safe-left))))}.level-card{gap:3px}.level-stat{font-size:14px}.level-next{display:none}.xp-bar{border-width:4px;border-radius:13px;height:38px;padding:0 12px}.level-word{font-size:21px}.level-title{font-size:15px}.level-cap{display:none}.xp-text{font-size:16px}.side-menu{top:calc(12px + var(--safe-top));flex-direction:row;gap:16px;transform:none}.side-button{border-radius:15px;width:66px;height:66px;padding-top:5px}.side-icon{font-size:32px}.side-label{font-size:13px;bottom:3px}.side-pct{font-size:16px}.side-button.settings-button{top:calc(10px + var(--safe-top));width:48px;height:48px}.settings-button .side-icon{font-size:26px}.panel-header h1,.panel-header h2{font-size:24px}body.touch-mode .hud-currencies{bottom:calc(6vmin + clamp(90px, 24vmin, 140px) + 22px + var(--safe-bottom))}body.touch-mode .hud-level{left:calc(6vmin + clamp(90px, 24vmin, 140px) + 26px + var(--safe-left));right:calc(var(--throw-right) + var(--throw-size) + 14px + var(--safe-right));width:auto;transform:none}}.debug-hud{right:calc(8px + var(--safe-right));top:calc(8px + var(--safe-top));color:#9f9;pointer-events:none;background:#0009;border-radius:8px;margin:0;padding:8px 10px;font:12px/1.4 ui-monospace,Consolas,monospace;display:none;position:absolute}.debug-hud.visible{display:block}.wheel-overlay{z-index:6;box-sizing:border-box;padding:calc(12px + var(--safe-top)) calc(12px + var(--safe-right)) calc(12px + var(--safe-bottom)) calc(12px + var(--safe-left));background:#1b15308c;display:none;position:absolute;inset:0}.wheel-overlay.visible{display:grid}.wheel-panel{flex-direction:column;align-items:center;gap:12px;width:min(360px,100% - 20px);margin:auto;padding:20px;animation:.25s cubic-bezier(.2,1.6,.4,1) panel-in;display:flex}@media (height<=560px) and (orientation:landscape){.wheel-panel{grid-template-columns:auto minmax(200px,1fr);grid-template-areas:"head head""stage result""stage close";align-items:center;width:min(640px,100% - 20px);padding:14px 18px 16px;display:grid}.wheel-panel .panel-header{grid-area:head}.wheel-panel .wheel-stage{width:min(300px, calc(100dvh - 150px - var(--safe-top) - var(--safe-bottom)));grid-area:stage}.wheel-result{grid-area:result;align-self:end}.wheel-close{grid-area:close;align-self:start}}.wheel-panel .panel-header{--c:var(--purple);align-self:stretch}.wheel-panel .panel-header h2{font-size:24px}.wheel-stage{width:min(300px,100%);position:relative}.wheel-stage canvas{width:100%;height:auto;display:block}.wheel-pointer{z-index:1;color:var(--red);text-shadow:var(--stroke);font-size:34px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.wheel-result{min-height:1.4em;font:700 20px var(--font);text-align:center;margin:0}.wheel-card{flex-direction:column;align-items:center;gap:4px;animation:.45s cubic-bezier(.2,1.8,.4,1) card-in;display:flex}.wheel-card strong{font:700 21px var(--font);color:#fff;text-shadow:var(--stroke)}.wheel-card em{font:700 15px var(--font);color:var(--gold);text-shadow:var(--stroke);font-style:normal}.wheel-rarity{border:3px solid var(--ink);background:var(--rarity,#7bd389);color:#fff;font:700 15px var(--font);letter-spacing:.06em;text-transform:uppercase;text-shadow:var(--stroke);border-radius:999px;padding:3px 14px}.wheel-panel[data-rarity=rare]{box-shadow:0 0 0 4px var(--rarity), 0 0 26px var(--rarity)}.wheel-panel[data-rarity=epic]{box-shadow:0 0 0 4px var(--rarity), 0 0 40px var(--rarity)}.wheel-panel[data-rarity=legendary]{animation:1.1s ease-in-out infinite alternate rarity-glow}.wheel-panel[data-rarity=mythic]{animation:1.6s linear infinite rarity-rainbow}.wheel-panel[data-rarity=mythic] .wheel-rarity{background:linear-gradient(90deg,#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93)}@keyframes card-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes rarity-glow{0%{box-shadow:0 0 0 4px var(--rarity), 0 0 30px var(--rarity)}to{box-shadow:0 0 0 6px var(--rarity), 0 0 70px var(--rarity)}}@keyframes rarity-rainbow{0%{box-shadow:0 0 0 6px #ff595e,0 0 70px #ff595e}25%{box-shadow:0 0 0 6px #ffca3a,0 0 70px #ffca3a}50%{box-shadow:0 0 0 6px #8ac926,0 0 70px #8ac926}75%{box-shadow:0 0 0 6px #1982c4,0 0 70px #1982c4}to{box-shadow:0 0 0 6px #ff595e,0 0 70px #ff595e}}@media (prefers-reduced-motion:reduce){.wheel-card,.wheel-panel[data-rarity=legendary],.wheel-panel[data-rarity=mythic]{animation:none}}.wheel-close{--c:var(--blue);min-width:200px;min-height:62px;font:700 22px var(--font);border-radius:18px}.wheel-close:disabled{--c:var(--gray);opacity:.6;cursor:default}.rebirth-panel{z-index:5}.pause-overlay{z-index:10}@media (prefers-reduced-motion:reduce){.throw-prompt,.wallet.bump,.level-card.up,.level-card.up .xp-bar,.level-card.max .xp-bar,.level-card.max,.level-card.gain .xp-bar,.xp-fill:after,.interact-prompt.shake,.interact-prompt.visible,.flight-level.pop,.flight-wins.pop,.charge-sweet,.result-banner.visible,.result-record,.rebirth-button.ready,.side-badge,.touch-throw:before,.popup,.pause-panel,.wheel-panel,.rebirth-panel.visible{animation:none}}.server-feed{top:calc(84px + var(--safe-top));right:calc(14px + var(--safe-right));max-width:min(380px, calc(42vw / var(--ui,1)));pointer-events:none;flex-direction:column;align-items:flex-end;gap:5px;transition:opacity .3s;display:flex;position:absolute}.server-feed.hidden,body.flying .server-feed,body.charging .server-feed,body.reminding .server-feed{opacity:0}.feed-line{color:#fff;font:600 14px var(--font);text-shadow:0 1px #00000073;white-space:nowrap;text-overflow:ellipsis;background:#1b15308c;border-radius:999px;max-width:100%;padding:4px 13px;transition:opacity .5s,transform .5s;animation:.35s cubic-bezier(.2,1.4,.4,1) feed-in;overflow:hidden}.feed-line.rare{background:linear-gradient(90deg,#ff4fa3d9,#ffb703d9)}.feed-line.out{opacity:0;transform:translateY(-6px)}@keyframes feed-in{0%{opacity:0;transform:translateY(-8px)scale(.9)}}@media (width<=760px){.server-feed{max-width:52vw}.feed-line{padding:3px 10px;font-size:12px}}.hud-top,.hud-currencies,.hud-level,.side-menu,.side-button.settings-button,.server-feed,.controls-reminder,.dock,.pause-panel,.rebirth-panel,.cosmetics-panel,.wheel-panel,.modal-panel,.throw-prompt,.coach,.charge-star,.charge-record,.charge-score,.flight-hud,.result-banner,.guide-pointer{zoom:var(--ui,1)}.scroll-area{--fade:22px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-y:auto}.scroll-area::-webkit-scrollbar{display:none}.scroll-area.fade-top{-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--fade));-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--fade));mask-image:linear-gradient(to bottom, transparent, #000 var(--fade))}.scroll-area.fade-bottom{-webkit-mask-image:linear-gradient(to top, transparent, #000 var(--fade));-webkit-mask-image:linear-gradient(to top, transparent, #000 var(--fade));mask-image:linear-gradient(to top, transparent, #000 var(--fade))}.scroll-area.fade-top.fade-bottom{-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);-webkit-mask-image:linear-gradient(to bottom, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(to bottom, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent)}.pause-overlay.scroll-area,.modal-overlay.scroll-area,.wheel-overlay.scroll-area{-webkit-mask-image:none;mask-image:none}@media (pointer:fine){.scroll-area.fade-top,.scroll-area.fade-bottom{cursor:grab}}.scroll-area.dragging,.scroll-area.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.cosmetics-button{--c:var(--teal)}.side-button .side-badge:empty{display:none}.cosmetics-button.has-new .side-badge{box-sizing:border-box;border-radius:999px;width:auto;min-width:30px;padding:0 5px;font-size:16px;display:grid}.cosmetics-button.has-new{animation:1.6s ease-in-out infinite wiggle}.cosmetics-overlay{z-index:6;box-sizing:border-box;padding:calc(14px + var(--safe-top)) calc(14px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(14px + var(--safe-left));background:#1b15308c;place-items:center;display:none;position:absolute;inset:0}.cosmetics-overlay.visible{display:grid}.cosmetics-panel{box-sizing:border-box;width:min(620px,100%);max-height:calc(100dvh / var(--ui,1) - 28px - var(--safe-top) - var(--safe-bottom));flex-direction:column;gap:12px;padding:20px;animation:.25s cubic-bezier(.2,1.6,.4,1) panel-in;display:flex;position:relative}.cosmetics-panel .panel-header{--c:var(--teal);margin-bottom:0}.cos-tabs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cos-tab{--c:#6c7090;border:3px solid var(--ink);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 45%, white), var(--c));min-height:58px;box-shadow:inset 0 3px 0 #ffffff80, 0 4px 0 var(--ink);color:#fff;font:700 19px var(--font);text-shadow:var(--stroke-small);cursor:pointer;touch-action:manipulation;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:4px 10px;transition:transform 80ms,box-shadow 80ms;display:flex;position:relative}.cos-tab.active{--c:var(--teal)}.cos-tab:active{box-shadow:inset 0 3px 0 #ffffff80, 0 1px 0 var(--ink);transform:translateY(3px)}.cos-tab-label{white-space:nowrap}.cos-tab-count{border:2px solid var(--ink);font-variant-numeric:tabular-nums;background:#1b153059;border-radius:999px;padding:1px 9px;font-size:14px}.cos-tab-new{box-sizing:border-box;border:3px solid var(--ink);background:var(--red);border-radius:999px;place-items:center;min-width:26px;height:26px;padding:0 4px;font-size:14px;animation:.9s ease-in-out infinite badge-bounce;display:grid;position:absolute;top:-10px;right:-8px}.cos-tab-new:empty{display:none}.cos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 12px;min-height:0;margin:-6px -6px 0;padding:14px 6px 10px;display:grid}.cos-card{--glow:0 0 0 transparent;border:4px solid var(--ink);background:repeating-linear-gradient(115deg, transparent 0 22px, #ffffff24 22px 40px), linear-gradient(180deg, color-mix(in srgb, var(--rarity) 55%, white) 0%, var(--rarity) 55%, color-mix(in srgb, var(--rarity) 78%, black) 100%);min-height:178px;box-shadow:inset 0 0 0 2px #ffffff4d, 0 5px 0 var(--ink), var(--glow);color:#fff;font-family:var(--font);cursor:pointer;touch-action:pan-y;border-radius:18px;flex-direction:column;align-items:center;gap:5px;padding:8px 8px 10px;transition:transform .1s,box-shadow .1s,filter .15s;display:flex;position:relative}.cos-card:active{transform:translateY(3px)scale(.98)}@media (hover:hover){.cos-card:not(.locked):hover{filter:brightness(1.04);transform:translateY(-2px)}}.cos-card:focus-visible{outline:4px solid var(--gold);outline-offset:2px}.cos-card[data-rarity=rare]{--glow:0 0 12px color-mix(in srgb, var(--rarity) 55%, transparent)}.cos-card[data-rarity=epic]{--glow:0 0 18px color-mix(in srgb, var(--rarity) 70%, transparent)}.cos-card[data-rarity=legendary]{--glow:0 0 24px var(--rarity)}.cos-card[data-rarity=mythic]{--glow:0 0 26px #ff4fa3;background:repeating-linear-gradient(115deg,#0000 0 22px,#ffffff29 22px 40px),linear-gradient(135deg,#ff595e,#ff9f1c 25%,#8ac926 50%,#1982c4 75%,#6a4c93)}.cos-card[data-rarity=legendary]:after,.cos-card[data-rarity=mythic]:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#fff9 48%,#0000 60%) 0 0/300% 100%;border-radius:15px;animation:2.6s ease-in-out infinite card-shine;position:absolute;inset:0}.cos-card[data-rarity=mythic] .cos-rarity{background:linear-gradient(90deg,#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93)}.cos-card.equipped{box-shadow:inset 0 0 0 2px #ffffff4d, 0 0 0 4px var(--gold), 0 5px 0 4px var(--ink), var(--glow)}.cos-card.locked{cursor:help}.cos-card.locked .cos-art{filter:grayscale(.85)brightness(.75)contrast(.9)}.cos-card.shake{animation:.35s card-shake}.cos-rarity{border:2px solid var(--ink);background:var(--rarity);color:#fff;font:700 11px var(--font);letter-spacing:.06em;text-transform:uppercase;text-shadow:var(--stroke-small);white-space:nowrap;z-index:1;border-radius:999px;padding:1px 10px;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.cos-new{border:2px solid var(--ink);background:var(--red);color:#fff;font:700 12px var(--font);text-shadow:var(--stroke-small);z-index:1;border-radius:999px;padding:2px 8px;position:absolute;top:14px;right:-8px;transform:rotate(8deg)}.cos-name{font:700 16px var(--font);text-align:center;text-shadow:var(--stroke);line-height:1.15}.cos-state{box-sizing:border-box;border:2px solid var(--ink);background:linear-gradient(180deg, #5bb8ff, var(--blue));min-width:80%;box-shadow:0 2px 0 var(--ink);color:#fff;font:700 14px var(--font);text-shadow:var(--stroke-small);border-radius:12px;margin-top:auto;padding:6px 10px}.cos-card.equipped .cos-state{background:linear-gradient(180deg, #fff3a0, var(--gold))}.cos-card.locked .cos-state{background:linear-gradient(180deg, #c4cad6, var(--gray))}.cos-art{border:2px solid var(--ink);background:radial-gradient(circle at 50% 110%,#3b2f6b,#1b1530 75%);border-radius:12px;width:100%;height:86px;margin-top:4px;display:block;position:relative;overflow:hidden}.cos-art-trail .trail-ribbon{background:linear-gradient(90deg, transparent, var(--stops)) 0 0 / 200% 100%;transform-origin:100%;border-radius:999px;width:92%;height:14px;animation:1.4s linear infinite ribbon-flow;position:absolute;top:46%;left:-12%;transform:rotate(-16deg)}.cos-card[data-rarity=rare] .trail-ribbon{height:18px;box-shadow:0 0 12px var(--c2)}.cos-card[data-rarity=epic] .trail-ribbon{height:21px;box-shadow:0 0 18px var(--c2), 0 0 4px #fff inset}.cos-card[data-rarity=legendary] .trail-ribbon{height:25px;box-shadow:0 0 22px var(--c2), 0 0 6px #fff inset}.cos-card[data-rarity=mythic] .trail-ribbon{background:linear-gradient(90deg,#0000,#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93,#ff595e) 0 0/200% 100%;height:28px;box-shadow:0 0 26px #ff4fa3,inset 0 0 6px #fff}.cos-art.base .trail-ribbon{height:7px}.trail-plane{color:#fff;filter:drop-shadow(0 2px 0 var(--ink));font-size:30px;line-height:1;animation:1.6s ease-in-out infinite plane-bob;position:absolute;top:10%;right:6%;transform:rotate(-16deg)}.trail-sparks,.aura-sparks{opacity:0;background:radial-gradient(circle, #fff 0 1.5px, transparent 2.5px) 10% 30% / 22px 22px, radial-gradient(circle, var(--c3) 0 1.5px, transparent 2.5px) 60% 70% / 30px 26px;animation:2.4s linear infinite sparks-drift;position:absolute;inset:0}.cos-card:not([data-rarity=common]) .trail-sparks,.cos-card:not([data-rarity=common]) .aura-sparks{opacity:.85}.cos-art-aura .aura-glow{background:radial-gradient(circle, var(--c2) 0%, color-mix(in srgb, var(--c1) 60%, transparent) 45%, transparent 72%);border-radius:50%;width:70px;height:70px;animation:1.8s ease-in-out infinite aura-pulse;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.cos-card[data-rarity=rare] .aura-glow{width:92px;height:92px}.cos-card[data-rarity=epic] .aura-glow{width:112px;height:112px}.cos-card[data-rarity=legendary] .aura-glow{width:132px;height:132px}.cos-card[data-rarity=mythic] .aura-glow{background:conic-gradient(#ff595e,#ffca3a,#8ac926,#1982c4,#6a4c93,#ff595e);width:150px;height:150px;animation:3s linear infinite aura-spin;-webkit-mask:radial-gradient(circle,#000 12%,#0000 68%);mask:radial-gradient(circle,#000 12%,#0000 68%)}.cos-art.base .aura-glow{opacity:0}.aura-ring{box-sizing:border-box;border:3px solid var(--c3);opacity:0;width:64px;height:14px;box-shadow:0 0 10px var(--c2);border-radius:50%;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.cos-card:not([data-rarity=common]) .aura-ring{opacity:.9}.aura-body{border:2px solid var(--ink);background:#fff3e6;border-radius:9px 9px 4px 4px;width:22px;height:32px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.aura-body i{border:2px solid var(--ink);background:#ffe0c2;border-radius:50%;width:22px;height:22px;position:absolute;top:-25px;left:50%;transform:translate(-50%)}.cos-hint{border:3px solid var(--ink);text-align:center;font:700 15px var(--font);color:#fff;text-shadow:var(--stroke-small);background:#1c1d2c;border-radius:16px;margin:0;padding:9px 12px;box-shadow:inset 0 3px #0000004d}.cos-hint.flash{animation:.9s ease-out hint-flash}@keyframes ribbon-flow{to{background-position:-200% 0}}@keyframes plane-bob{50%{transform:rotate(-12deg)translateY(-3px)}}@keyframes sparks-drift{to{background-position:10% -22px,60% 44px}}@keyframes aura-pulse{50%{transform:translate(-50%,-50%)scale(1.1)}}@keyframes aura-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes card-shine{0%,40%{background-position:150% 0}to{background-position:-150% 0}}@keyframes card-shake{25%{transform:translate(-5px)rotate(-1deg)}75%{transform:translate(5px)rotate(1deg)}}@keyframes hint-flash{0%{border-color:var(--gold);background:#6b5a12;transform:scale(1.04)}to{background:#1c1d2c}}@media (width<=480px){.cosmetics-panel{padding:16px 14px}.cos-grid{grid-template-columns:1fr 1fr;gap:14px 10px}.cos-tab{gap:5px;padding:4px 6px;font-size:16px}.cos-tab-count{padding:0 6px;font-size:12px}}@media (height<=500px){.cosmetics-panel{gap:8px;width:min(760px,100%);padding:14px 16px}.cosmetics-panel .panel-header{padding-top:6px;padding-bottom:6px}.cos-tab{min-height:52px}.cos-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr))}.cos-card{min-height:150px}.cos-art{height:62px}.cos-hint{display:none}}@media (prefers-reduced-motion:reduce){.cos-card:after,.trail-ribbon,.trail-plane,.trail-sparks,.aura-sparks,.aura-glow,.cos-tab-new,.cosmetics-button.has-new{animation:none!important}}.plane-shop{--plane:#fff;--accent:var(--blue);box-shadow:inset 0 0 0 2px #ffffff1a, inset 0 -6px 0 color-mix(in srgb, var(--accent) 55%, transparent), 0 8px 0 var(--ink), 0 18px 36px #00000059;font:600 15px var(--font);grid-template-columns:minmax(0,1fr);grid-template-areas:"art""info""action""extra";align-items:center;gap:14px;padding:18px 18px 20px;display:none}.plane-shop.visible{animation:.3s cubic-bezier(.2,1.4,.4,1) dock-in;display:grid}.plane-shop.shake{animation:.35s dock-shake}body.plane-shop-open .throw-prompt{display:none}body.plane-shop-open .controls-reminder{opacity:0;pointer-events:none}.plane-shop-art{box-sizing:border-box;border:4px solid var(--ink);background:repeating-linear-gradient(115deg, transparent 0 22px, #ffffff1f 22px 40px), radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--accent) 45%, white) 0%, var(--accent) 70%, color-mix(in srgb, var(--accent) 70%, black) 100%);border-radius:20px;grid-area:art;place-items:center;width:100%;height:150px;display:grid;box-shadow:inset 0 3px #ffffff59}.plane-shop-art svg{width:min(190px,70%);filter:drop-shadow(0 3px 0 var(--ink));animation:2.4s ease-in-out infinite shop-plane}.plane-shop-thumb{pointer-events:none;filter:drop-shadow(0 4px #0000002e);width:min(250px,85%);animation:2.4s ease-in-out infinite shop-plane;display:none}.plane-shop-art.has-thumb .plane-shop-thumb{display:block}.plane-shop-art.has-thumb svg{display:none}.plane-shop-art polygon{stroke:var(--ink);stroke-width:3px;stroke-linejoin:round}.plane-shop-art .wing-top{fill:var(--plane)}.plane-shop-art .wing-low{fill:color-mix(in srgb, var(--plane) 75%, var(--accent))}.plane-shop-art .keel{fill:color-mix(in srgb, var(--plane) 55%, var(--accent))}.plane-shop-info{flex-direction:column;grid-area:info;gap:7px;min-width:0;display:flex}.plane-shop-rank{border:2px solid var(--ink);background:var(--accent);color:#fff;font:700 15px var(--font);letter-spacing:.04em;text-transform:uppercase;text-shadow:var(--stroke-small);border-radius:999px;align-self:flex-start;padding:1px 10px}.plane-shop-name{font:700 38px var(--font);text-shadow:var(--stroke-big);text-overflow:ellipsis;white-space:nowrap;line-height:1.05;overflow:hidden}.plane-shop-stat{font:700 21px var(--font);font-variant-numeric:tabular-nums;text-shadow:var(--stroke-small);align-items:center;gap:10px;display:flex}.plane-shop-gain{border:2px solid var(--ink);color:#fff;text-shadow:var(--stroke-small);border-radius:999px;padding:1px 10px;font-size:18px}.plane-shop-gain.up{background:linear-gradient(#49d978,#23a957)}.plane-shop-gain.down{background:var(--gray)}.plane-shop-gain:empty{display:none}.plane-shop-bar{border:2px solid var(--ink);background:#171826;border-radius:999px;height:14px;overflow:hidden}.plane-shop-bar span{background:linear-gradient(90deg, var(--xp), var(--accent));border-radius:999px;height:100%;transition:width .3s;display:block}.plane-shop-note{color:#dcd9f0;font:700 16px var(--font);text-shadow:var(--stroke-small)}.plane-shop[data-state=locked] .plane-shop-note{color:#ff97ab}.plane-shop[data-state=affordable] .plane-shop-note{color:#7dffa8}.plane-shop-action{--c:var(--orange);border:3px solid var(--ink);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 55%, white) 0%, var(--c) 52%, color-mix(in srgb, var(--c) 70%, black) 100%);min-height:80px;box-shadow:inset 0 3px 0 #ffffff73, inset 0 -4px 0 #0000002e, 0 4px 0 var(--ink);color:#fff;font:700 32px var(--font);text-shadow:var(--stroke);cursor:pointer;touch-action:none;border-radius:22px;grid-area:action;justify-content:center;align-items:center;gap:12px;padding:4px 22px;transition:transform 80ms,box-shadow 80ms,filter .15s;display:flex}.plane-shop-action:active:not(:disabled){box-shadow:inset 0 3px 0 #ffffff73, inset 0 -2px 0 #0000002e, 0 1px 0 var(--ink);transform:translateY(3px)}@media (hover:hover){.plane-shop-action:not(:disabled):hover{filter:brightness(1.08)}}.plane-shop[data-state=affordable] .plane-shop-action{--c:var(--gold);animation:1.2s ease-in-out infinite shop-buy}.plane-shop[data-state=owned] .plane-shop-action{--c:var(--blue)}.plane-shop[data-state=locked] .plane-shop-action{--c:var(--gray)}.plane-shop[data-state=equipped] .plane-shop-action{--c:var(--teal);cursor:default}.plane-shop-key{border-radius:50%;min-width:34px;height:34px;font-size:16px}body.touch-mode .plane-shop-key,.plane-shop[data-state=equipped] .plane-shop-key{display:none}.plane-shop-price{border:3px solid var(--ink);font:700 25px var(--font);background:linear-gradient(#49d978,#23a957);border-radius:999px;padding:2px 14px}.plane-shop[data-state=locked] .plane-shop-price{background:linear-gradient(180deg, #ff8fa3, var(--red))}.plane-shop-price:empty{display:none}@keyframes shop-buy{50%{filter:brightness(1.1);transform:scale(1.04)}}@keyframes shop-plane{50%{transform:translateY(-4px)rotate(-3deg)}}@media (height<=500px),(width<=520px){.plane-shop{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"art info""action action""extra extra";gap:8px 12px;padding:10px 12px 12px}.plane-shop-art{border-width:3px;border-radius:14px;width:104px;height:84px}.plane-shop-art svg{width:90px}.plane-shop-thumb{width:104px}.plane-shop-info{gap:4px}.plane-shop-rank{font-size:12px}.plane-shop-name{font-size:23px}.plane-shop-stat{font-size:16px}.plane-shop-gain{font-size:14px}.plane-shop-bar{height:10px}.plane-shop-note{font-size:13px}.plane-shop-action{border-radius:16px;gap:8px;min-height:54px;font-size:23px}.plane-shop-price{font-size:18px}.plane-shop-extra .fat-button{min-height:44px;font-size:15px}}@media (height<=500px){.plane-shop-rank,.plane-shop-bar{display:none}.plane-shop-art{height:72px}.plane-shop-name{font-size:20px}.plane-shop-stat{font-size:15px}.plane-shop-note{font-size:12px}.plane-shop-action{min-height:46px;font-size:20px}.plane-shop-price{font-size:16px}.plane-shop-extra .fat-button{min-height:36px;font-size:13px}}@media (prefers-reduced-motion:reduce){.plane-shop-art svg,.plane-shop-thumb,.plane-shop[data-state=affordable] .plane-shop-action{animation:none}}.plane-shop-extra{grid-area:extra;gap:10px;margin-top:-4px;display:flex}.plane-shop-extra:empty{display:none}.plane-shop-extra .fat-button{min-height:54px;font:700 19px var(--font);border-radius:18px;flex:1;padding:4px 12px}.fat-button{touch-action:manipulation;border-radius:20px;justify-content:center;align-items:center;gap:10px;display:inline-flex}.fat-button.primary{--c:var(--blue)}.fat-button.secondary{--c:var(--gray)}.fat-button.rewarded{--c:var(--purple)}.fat-button:disabled{cursor:default}.quest-card{box-sizing:border-box;border:4px solid var(--ink);width:100%;box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink), 0 10px 22px #00000040;color:#fff;pointer-events:none;background:linear-gradient(#45475c 0%,#2f3043 55%,#232435 100%);border-radius:20px;align-items:center;gap:10px;padding:7px 10px 9px 8px;display:none}.quest-card.visible{display:flex}.quest-card.new{animation:.5s cubic-bezier(.2,1.6,.4,1) quest-new}.quest-card.done{animation:1.6s ease-out quest-done}.quest-icon{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold) 60%, #e8a200);width:48px;height:48px;box-shadow:inset 0 2px 0 #fff9, 0 3px 0 var(--ink);border-radius:14px;flex:none;place-items:center;font-size:25px;display:grid}.quest-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.quest-title{color:var(--gold);font:700 12px var(--font);letter-spacing:.08em;text-transform:uppercase;text-shadow:var(--stroke-small)}.quest-text{font:700 17px var(--font);text-shadow:var(--stroke-small);line-height:1.15}.quest-bar{border:2px solid var(--ink);background:#171826;border-radius:999px;height:16px;position:relative;overflow:hidden}.quest-fill{background:linear-gradient(180deg, #fff3a0, var(--gold) 55%, var(--orange));border-radius:999px;height:100%;transition:width .4s}.quest-count{color:#fff;font:700 11px var(--font);text-shadow:var(--stroke-small);place-items:center;display:grid;position:absolute;inset:0}.quest-reward{border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);color:#fff;font:700 15px var(--font);text-shadow:var(--stroke-small);background:linear-gradient(#6ff09a,#23a957);border-radius:999px;flex:none;align-self:center;padding:3px 10px}.quest-card.ready{animation:1.1s ease-in-out infinite quest-ready}.quest-card.ready .quest-fill{background:linear-gradient(#a6ffc2,#49d978 55%,#23a957)}@keyframes quest-ready{50%{box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink), 0 0 0 5px #38d46a99}}.quest-card.done .quest-text{color:#7dffa8}body.flying .quest-card,body.charging .quest-card{opacity:0}@keyframes quest-new{0%{opacity:0;transform:translateY(-24px)scale(.9)}}@keyframes quest-done{0%{transform:scale(1)}12%{box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink), 0 0 0 6px #ffd60ad9;transform:scale(1.08)}30%{transform:scale(1)}}@media (width<=520px),(height<=500px){.quest-card{border-radius:16px;gap:7px;padding:5px 8px 6px 5px}.quest-icon{border-radius:11px;width:36px;height:36px;font-size:19px}.quest-title{display:none}.quest-text{font-size:13.5px}.quest-bar{height:13px}.quest-count{font-size:9.5px}.quest-reward{padding:1px 7px;font-size:12.5px}}.guide-pointer{z-index:2;border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));width:62px;height:62px;box-shadow:0 4px 0 var(--ink);pointer-events:none;border-radius:50%;place-items:center;animation:1s ease-in-out infinite guide-pulse;display:none;position:absolute;transform:translate(-50%,-50%)}.guide-pointer.visible{display:grid}.guide-arrow{color:var(--gold);text-shadow:var(--stroke);place-items:center end;font-size:30px;display:grid;position:absolute;inset:-22px}.guide-icon{font-size:28px}body.flying .guide-pointer,body.charging .guide-pointer{display:none}@keyframes guide-pulse{50%{transform:translate(-50%,-50%)scale(1.1)}}.coach{--demo:2.6s;left:50%;bottom:calc(max(13%, 118px) + var(--safe-bottom));z-index:3;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:none;position:absolute;transform:translate(-50%)}.coach.visible{display:flex}.coach.wait,.coach.release{left:calc(var(--gauge-left) / var(--ui,1) - 10px);top:calc(var(--gauge-top) / var(--ui,1) - 12px);flex-direction:row;bottom:auto;transform:translate(-100%,-50%)}.coach.wait .coach-hand{transform:rotate(90deg)scale(.85)}.coach.release .coach-hand{animation:.4s ease-in-out infinite alternate coach-poke}@keyframes coach-poke{0%{transform:rotate(90deg)scale(.85)}to{transform:rotate(90deg)translateY(-10px)scale(.85)}}.coach-bubble{border:4px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff1f, 0 4px 0 var(--ink);color:#fff;font:700 19px var(--font);text-shadow:var(--stroke-small);white-space:nowrap;background:linear-gradient(#45475c 0%,#2f3043 55%,#232435 100%);border-radius:18px;align-items:center;gap:8px;padding:7px 16px;display:flex}.coach-bubble kbd{border:2px solid var(--ink);background:var(--gold);box-shadow:0 3px 0 var(--ink);font:700 15px var(--font);border-radius:8px;padding:1px 9px}.coach.hold .coach-bubble{animation:coach-key var(--demo) ease-in-out infinite}.coach.release .coach-bubble{background:linear-gradient(180deg, #fff3a0, var(--gold) 60%, #e8a200);text-shadow:var(--stroke);font-size:24px;animation:.35s ease-in-out infinite alternate coach-shout}.coach-hand{filter:drop-shadow(0 3px 0 var(--ink));font-size:50px;line-height:1;transform:rotate(180deg)}.coach.hold .coach-hand{animation:coach-press var(--demo) ease-in-out infinite;order:-1}.coach-demo{width:26px;height:104px;display:none;position:absolute;bottom:2px;left:calc(100% + 18px)}.coach.hold .coach-demo{display:block}.coach-demo-track{border:4px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:#1b153099;border-radius:999px;position:absolute;inset:0;overflow:hidden}.coach-demo-fill{background:linear-gradient(0deg, var(--orange), var(--gold));animation:coach-fill var(--demo) linear infinite;border-top:4px solid #fff;position:absolute;inset:auto 0 0}.coach-demo-sweet{background:repeating-linear-gradient(-45deg,#ffd60a8c 0 5px,#ffd60a33 5px 10px);border-bottom:2px solid #fff;position:absolute;inset:0 0 78%}.coach-demo-star{z-index:1;color:#fff;font:700 22px/1 var(--font);text-shadow:var(--stroke);animation:coach-star var(--demo) ease-out infinite;position:absolute;top:-24px;left:50%;transform:translate(-50%)}.coach-demo-plane{z-index:2;opacity:0;filter:drop-shadow(0 3px 0 var(--ink));animation:coach-plane var(--demo) ease-out infinite;font-size:32px;position:absolute;top:-30px;left:-4px}.coach.touch{left:auto;right:calc(var(--throw-right) + var(--safe-right));bottom:calc(var(--throw-bottom) + var(--throw-size) * .5 - 44px + var(--safe-bottom));flex-direction:column-reverse;align-items:flex-end;transform:none}.coach.touch .coach-hand{margin-right:calc(var(--throw-size) * .5 - 32px);order:1;transform:none}.coach.touch.hold .coach-hand{animation-name:coach-press-up}.coach.touch .coach-demo{margin-right:calc(var(--throw-size) * .5 - 13px);order:2;position:relative;bottom:auto;left:auto}.coach.touch .coach-bubble{order:3}.coach.touch.hold .coach-demo{margin-bottom:calc(var(--throw-size) * .5 + 40px)}.coach.touch.hold .coach-bubble{margin-bottom:30px}body.coach-hold.touch-mode .touch-throw{animation:coach-button var(--demo,2.6s) ease-in-out infinite}@keyframes coach-button{0%,9%{transform:none}12%,64%{transform:translateY(4px)scale(.94)}70%,to{transform:none}}body.coaching .throw-prompt{display:none!important}@keyframes coach-press{0%,4%{transform:rotate(180deg)translateY(16px)}12%,64%{transform:rotate(180deg)translateY(0)scale(.92)}74%,to{transform:rotate(180deg)translateY(16px)}}@keyframes coach-press-up{0%,4%{transform:translateY(16px)}12%,64%{transform:translateY(0)scale(.92)}74%,to{transform:translateY(16px)}}@keyframes coach-key{0%,9%{box-shadow:0 4px 0 var(--ink);transform:none}12%,64%{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}68%,to{box-shadow:0 4px 0 var(--ink);transform:none}}@keyframes coach-fill{0%,12%{opacity:1;height:0}62%,80%{opacity:1;height:100%}92%{opacity:0;height:100%}to{opacity:0;height:0}}@keyframes coach-star{0%,58%{color:#fff;transform:translate(-50%)}63%{color:var(--gold);transform:translate(-50%)scale(1.8)rotate(25deg)}72%,to{color:#fff;transform:translate(-50%)}}@keyframes coach-plane{0%,64%{opacity:0;transform:none}68%{opacity:1;transform:translate(2px,-4px)scale(1.1)}84%{opacity:1;transform:translate(60px,-70px)rotate(-10deg)}92%,to{opacity:0;transform:translate(76px,-90px)rotate(-14deg)}}@keyframes coach-shout{to{transform:scale(1.1)}}.controls-reminder{left:50%;top:calc(122px + var(--safe-top));z-index:3;box-sizing:border-box;border:4px solid var(--ink);box-shadow:inset 0 0 0 2px #ffffff1f, 0 5px 0 var(--ink), 0 12px 26px #0000004d;color:#fff;font:700 15px var(--font);text-shadow:var(--stroke-small);pointer-events:none;background:linear-gradient(#45475cf2 0%,#2f3043f2 55%,#232435f2 100%);border-radius:20px;flex-direction:column;gap:6px;padding:10px 14px 12px;transition:opacity .3s;display:none;position:absolute;transform:translate(-50%)}.controls-reminder.visible{animation:.4s cubic-bezier(.2,1.6,.4,1) reminder-in;display:flex}.controls-reminder.hidden,body.charging .controls-reminder{opacity:0}@keyframes reminder-in{0%{opacity:0;transform:translate(-50%)scale(.6)}}.rk-title{color:var(--gold);letter-spacing:.04em;font-size:16px}.rk-row{align-items:center;gap:12px;min-height:34px;transition:opacity .3s;display:flex}.rk-keys{justify-content:center;align-items:center;gap:4px;min-width:132px;display:flex}.rk-label{white-space:nowrap;flex:1}.rk-check{border:3px solid var(--ink);color:#0000;width:26px;height:26px;text-shadow:none;background:#1c1d2c;border-radius:50%;place-items:center;font-size:15px;display:grid}.rk-row.done .rk-check{color:#fff;text-shadow:var(--stroke-small);background:linear-gradient(#8dffb1,#23a957);animation:.4s cubic-bezier(.2,1.8,.4,1) check-pop}.rk-row.done .rk-label{color:#9dffbe}@keyframes check-pop{0%{transform:scale(1.8)}}kbd.rk{min-width:30px;height:30px;font-size:14px;transition:transform 60ms,background 60ms,box-shadow 60ms}kbd.rk.wide{white-space:nowrap;padding:0 9px}.rk-row:not(.done) kbd.rk{animation:2.4s ease-in-out infinite key-blink;animation-delay:calc(var(--i) * .6s)}kbd.rk.down{background:var(--gold);box-shadow:0 0 0 var(--ink);animation:none;transform:translateY(3px)}@keyframes key-blink{0%,18%,to{background:#fff}8%{box-shadow:0 1px 0 var(--ink);background:#fff3a0;transform:translateY(2px)}}.rk-cluster{flex-direction:column;align-items:center;gap:3px;display:flex}.rk-cluster>span{gap:3px;display:flex}.rk-touch,.rk-pad{border:3px solid var(--ink);background:#1c1d2c;border-radius:12px;place-items:center;min-width:40px;height:34px;padding:0 6px;font-size:18px;display:grid}.rk-touch.rk-jump{background:linear-gradient(180deg, #8ecbff, var(--blue));border-radius:50%}.rk-touch.rk-throw{background:linear-gradient(180deg, #ffc08f, var(--orange));border-radius:50%}.rk-pad{background:#4a4c63;border-radius:50%}.controls-reminder.touch .rk-keys{min-width:56px}.controls-reminder.touch .rk-label{white-space:normal;font-size:14px;line-height:1.15}body.reminding.touch-mode .thumbstick:not(.active){opacity:.95;animation:1.2s ease-out infinite reminder-ring}body.reminding.touch-mode .touch-jump{animation:1.2s ease-out .6s infinite reminder-ring}@keyframes reminder-ring{0%{box-shadow:0 0 #ffd60ae6}to{box-shadow:0 0 0 18px #ffd60a00}}@media (width<=520px){body.reminding .hud-currencies{opacity:0}.controls-reminder{left:calc(108px + var(--safe-left));right:calc(12px + var(--safe-right));top:calc(176px + var(--safe-top));padding:8px 10px 10px;transform:none}.rk-row{gap:8px}.rk-keys{flex-wrap:wrap;min-width:0;max-width:52%}.rk-label{white-space:normal;min-width:0;font-size:13px;line-height:1.15}kbd.rk{font-size:12px}kbd.rk.wide{white-space:normal;height:auto;min-height:30px;padding:3px 8px;line-height:1.1}@keyframes reminder-in{0%{opacity:0;transform:scale(.6)}}}@media (height<=500px){.controls-reminder{left:auto;right:calc(14px + var(--safe-right));top:calc(72px + var(--safe-top));gap:2px;padding:7px 10px 9px;font-size:13px;transform:none}.rk-title{font-size:13px}.rk-row{gap:8px;min-height:28px}.rk-check{width:22px;height:22px;font-size:13px}.rk-keys{min-width:108px}kbd.rk{min-width:24px;height:24px;font-size:12px}.rk-touch,.rk-pad{min-width:34px;height:26px;font-size:14px}.controls-reminder.touch .rk-label{font-size:12.5px}@keyframes reminder-in{0%{opacity:0;transform:scale(.6)}}}@media (prefers-reduced-motion:reduce){.controls-reminder.visible,.rk-row:not(.done) kbd.rk,body.reminding.touch-mode .thumbstick:not(.active),body.reminding.touch-mode .touch-jump{animation:none}}.result-banner .result-double{min-height:62px;font:700 26px var(--font);pointer-events:auto;margin-top:6px;padding:4px 22px;animation:.5s cubic-bezier(.2,1.6,.4,1) .3s backwards double-in,1.2s ease-in-out .8s infinite double-pulse;position:relative;overflow:hidden}.result-double-amount{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));color:var(--ink);text-shadow:none;border-radius:999px;padding:1px 12px;font-size:22px}.offer-timer{transform-origin:0;background:#ffffffbf;width:100%;height:6px;animation:linear forwards offer-timer;position:absolute;bottom:0;left:0}.result-double.done{--c:var(--teal);animation:none}@keyframes double-in{0%{opacity:0;transform:scale(.5)}}@keyframes double-pulse{50%{transform:scale(1.05)}}@keyframes offer-timer{to{transform:scaleX(0)}}.modal-overlay{z-index:8;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));background:#1b15308c;display:none;position:absolute;inset:0}.modal-overlay.visible{display:grid}.modal-panel{box-sizing:border-box;text-align:center;width:min(480px,100%);margin:auto;padding:20px;font-size:16px;animation:.3s cubic-bezier(.2,1.6,.4,1) panel-in;position:relative}.modal-panel.out{opacity:0;transition:transform .18s,opacity .18s;transform:scale(.85)}.modal-body p{margin:4px 0 12px}.modal-actions{flex-direction:column;gap:10px;margin-top:14px;display:flex}.modal-button{min-height:64px;font:700 25px var(--font)}.modal-button.secondary{min-height:52px;font-size:19px}.modal-amount{border:3px solid var(--ink);background:linear-gradient(180deg, #fff3a0, var(--gold));box-shadow:0 4px 0 var(--ink);font:700 34px var(--font);text-shadow:var(--stroke);border-radius:999px;align-items:center;gap:10px;margin:4px 0 6px;padding:6px 22px;animation:1.4s ease-in-out infinite amount-pop;display:inline-flex}@keyframes amount-pop{50%{transform:scale(1.06)rotate(-1deg)}}.daily-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 4px;display:grid}.daily-day{border:3px solid var(--ink);min-height:86px;box-shadow:inset 0 0 0 2px #ffffff1a, 0 3px 0 var(--ink);font:700 12px var(--font);background:linear-gradient(#4a4c63,#34364a);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;display:flex;position:relative}.daily-day .daily-icon{font-size:28px;line-height:1.1}.daily-day .daily-label{color:#dcd9f0;font-size:12px;line-height:1.1}.daily-day.claimed{opacity:.55}.daily-day.claimed:after{content:"✓";color:#7dffa8;text-shadow:var(--stroke-small);font-size:20px;position:absolute;top:2px;right:4px}.daily-day.today{background:linear-gradient(180deg, #fff3a0, var(--gold) 60%, #e8a200);text-shadow:var(--stroke-small);animation:1s ease-in-out infinite daily-today;box-shadow:0 0 0 4px #ffd60a8c}.daily-day.special{color:#fff;background:linear-gradient(135deg,#3a0ca3,#4cc9f0);grid-column:span 2}.daily-day.special .daily-label{color:#fff;text-shadow:var(--stroke-small)}.daily-day.special.today{box-shadow:0 0 0 4px #4cc9f0b3}@keyframes daily-today{50%{transform:scale(1.05)}}.setting-toggles{gap:10px;margin-top:16px;display:flex}.setting-toggle{border:3px solid var(--ink);background:linear-gradient(180deg, #8ecbff, var(--blue));min-height:52px;box-shadow:0 3px 0 var(--ink);color:#fff;font:700 18px var(--font);text-shadow:var(--stroke-small);cursor:pointer;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:8px;display:inline-flex}.setting-toggle.off{background:linear-gradient(180deg, #c7cdd8, var(--gray));text-decoration:line-through}.celebration{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.interact-prompt:not(.disabled):not(.rewarded) .prompt-action{animation:1.2s ease-in-out infinite shop-buy}@media (width<=760px),(height<=500px){.coach-bubble{font-size:15px}.modal-button{min-height:56px;font-size:21px}.modal-panel .panel-header h2{font-size:22px}.modal-panel .panel-header{padding:10px 16px}.daily-day{min-height:72px}}@media (prefers-reduced-motion:reduce){.quest-card.new,.quest-card.done,.guide-pointer,.coach-hand,.coach-bubble,body.coach-hold.touch-mode .touch-throw,.coach-demo-star,.coach-demo-plane,.result-banner .result-double,.modal-amount,.daily-day.today{animation:none}.coach-demo-fill{height:100%;animation:none}}.tip-panel{width:min(420px,100%)}.tip-art{border:4px solid var(--ink);background:radial-gradient(circle at 35% 30%, #fff 0%, color-mix(in srgb, var(--c) 45%, white) 55%, var(--c) 100%);width:112px;height:112px;box-shadow:0 5px 0 var(--ink);border-radius:50%;place-items:center;margin:2px auto 10px;animation:1.6s ease-in-out infinite tip-bob;display:grid}.tip-icon{filter:drop-shadow(0 3px #1b153059);font-size:60px;line-height:1}.tip-thumb{filter:drop-shadow(0 4px #1b15304d);width:132px;height:auto;margin:0 -14px}.tip-panel .modal-body p{font-size:18px;line-height:1.35}.tip-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tip-chip{border:3px solid var(--ink);font:700 16px var(--font);box-shadow:0 3px 0 var(--ink);background:#1c1d2c;border-radius:999px;padding:5px 14px}@keyframes tip-bob{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@media (height<=520px){.tip-art{width:76px;height:76px;margin-bottom:6px}.tip-icon{font-size:40px}.tip-thumb{width:92px}.tip-panel .modal-body p{margin-bottom:8px;font-size:16px}}.name-field{gap:10px;margin:6px 0 4px;display:flex}.name-input{box-sizing:border-box;border:4px solid var(--ink);width:0;min-width:0;height:64px;box-shadow:inset 0 4px 0 #00000059, 0 4px 0 var(--ink);color:#fff;font:700 28px var(--font);text-align:center;text-shadow:var(--stroke-small);caret-color:var(--gold);-webkit-user-select:text;user-select:text;background:#1c1d2c;border-radius:18px;outline:none;flex:1;padding:0 16px}.name-input:focus{border-color:var(--gold)}.name-field.invalid .name-input{border-color:var(--red)}.name-random{border:4px solid var(--ink);background:linear-gradient(180deg, #d9c9ff, var(--purple) 60%, #5a3fd0);width:64px;height:64px;box-shadow:inset 0 3px 0 #ffffff73, 0 4px 0 var(--ink);cursor:pointer;touch-action:manipulation;border-radius:18px;flex:none;font-size:32px;line-height:1}.name-random:active{box-shadow:inset 0 3px 0 #ffffff73, 0 1px 0 var(--ink);transform:translateY(3px)}.name-rule{opacity:.8;font-size:14px}.name-field.invalid+.name-rule{color:#ff8fa3;opacity:1}.name-modal .modal-button.disabled{--c:var(--gray)}.name-field.shake{animation:.35s name-shake}@keyframes name-shake{25%{transform:translate(-10px)}75%{transform:translate(10px)}}
