@font-face{font-family:Lilita One;src:url(./LilitaOne-latin-87r-Z-Re.woff2) format("woff2");font-display:swap}@font-face{font-family:Nunito;src:url(./Nunito-latin-BzFMHfZw.woff2) format("woff2");font-weight:200 1000;font-display:swap}:root{--ink: #1d2558;--ink-soft: #55609a;--sky-top: #2c86ff;--sky-mid: #77c1ff;--sky-bot: #d9f3ff;--sun: #ffd23f;--orange: #ff8a1f;--pink: #ff5a6e;--green: #2fd17c;--blue: #2f8cff;--purple: #8a5cff;--gold: #ffc928;--panel-edge: #b9d0ef;--display: "Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--body: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;--outline: 0 3px 0 var(--ink), 2px 2px 0 var(--ink), -2px 2px 0 var(--ink), 2px -2px 0 var(--ink), -2px -2px 0 var(--ink), 0 -2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 20%,#3a5bd9,#1b2466 55%,#0c1236);font-family:var(--body);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}button{font:inherit;cursor:pointer}.hidden{display:none!important}#app{position:relative;width:100vw;height:100vh;height:100dvh;margin:0 auto;overflow:hidden;background:var(--sky-top);touch-action:none}@media(min-aspect-ratio:10/16){#app{width:56.25vh;width:56.25dvh;box-shadow:0 0 60px #00000080}}#game,#fx{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#fx{pointer-events:none}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;opacity:0;pointer-events:none;transform:scale(1.04);transition:opacity .28s ease,transform .28s ease;overflow:hidden;isolation:isolate}.screen.active{opacity:1;pointer-events:auto;transform:none}.sky-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 55%,var(--sky-bot) 100%);overflow:hidden}.sky-bg.dim{background:linear-gradient(180deg,#3d7df0,#6fb4f7 55%,#bfe4ff)}.sky-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 8%,#fff8c8e6 0,#fff8c800 22%)}.cloud{position:absolute;width:180px;height:60px;background:#fff;border-radius:60px;opacity:.9;animation:drift 40s linear infinite;box-shadow:inset 0 -10px #a0c8ff59}.cloud:before,.cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.cloud:before{width:80px;height:80px;left:25px;top:-40px}.cloud:after{width:100px;height:100px;left:70px;top:-55px}.cloud.c1{top:16%;left:-30%;animation-duration:46s}.cloud.c2{top:34%;left:-50%;transform:scale(.7);animation-duration:60s;animation-delay:-20s}.cloud.c3{top:8%;left:-40%;transform:scale(.55);animation-duration:75s;animation-delay:-40s}@keyframes drift{0%{translate:0 0}to{translate:170vw 0}}.logo{display:grid;margin-top:calc(9vh + var(--safe-top));transform:rotate(-4deg);filter:drop-shadow(0 12px 18px rgba(10,20,70,.35))}.logo-layer{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;font-family:var(--display);line-height:.92;letter-spacing:1px}.logo-layer span:first-child{font-size:clamp(40px,12vw,64px)}.logo-layer span:last-child{font-size:clamp(64px,20vw,108px);margin-top:-.04em}.logo-layer.back{color:var(--ink);-webkit-text-stroke:14px var(--ink)}.logo-layer.back span{text-shadow:0 8px 0 var(--ink),0 12px 0 #0f1640}.logo-layer.front span{background:linear-gradient(180deg,#fffbe0,#ffe14d 38%,#ffb21f 58%,#ff6a1f);-webkit-background-clip:text;background-clip:text;color:transparent}.logo-layer.front span:first-child{background:linear-gradient(180deg,#fff,#bfe6ff 60%,#6ab8ff);-webkit-background-clip:text;background-clip:text}.logo.big{margin-top:30vh}.tagline{margin:14px 24px 0;font-weight:900;font-size:15px;color:#fff;text-align:center;text-shadow:0 2px 0 rgba(20,30,90,.45)}.btn{--c1: #ffdb5c;--c2: #ff9f1a;--edge: #c76a00;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 26px;border:0;border-radius:999px;color:#fff;font-family:var(--display);font-size:22px;letter-spacing:.5px;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:inset 0 3px #ffffff8c,inset 0 -4px #0000001f,0 6px 0 var(--edge),0 12px 20px #141e5059;text-shadow:0 2px 0 rgba(0,0,0,.28);transition:transform .08s ease,box-shadow .08s ease,filter .2s}.btn:before{content:"";position:absolute;left:12%;right:12%;top:5px;height:38%;border-radius:999px;background:linear-gradient(180deg,#ffffffbf,#fff0);pointer-events:none}.btn:active{transform:translateY(5px);box-shadow:inset 0 3px #ffffff80,0 1px 0 var(--edge),0 4px 10px #141e504d}.btn[disabled]{filter:grayscale(.85) brightness(.95)}.btn svg{width:24px;height:24px;flex:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}.btn-xl{min-height:72px;font-size:34px;padding:10px 48px}.btn-xl svg{width:34px;height:34px}.btn-play{--c1: #8cff7a;--c2: #20c25a;--edge: #11853a}.btn-blue{--c1: #86ccff;--c2: #2f8cff;--edge: #1650c0}.btn-purple{--c1: #c9a8ff;--c2: #8a5cff;--edge: #5528c8}.btn-pink{--c1: #ff9aa8;--c2: #ff4d68;--edge: #c41f3d}.btn-white{--c1: #ffffff;--c2: #e6eefc;--edge: #a9bfe3;color:var(--ink);text-shadow:none}.btn-sm{min-height:42px;font-size:18px;padding:6px 18px}.btn .cost{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding:2px 10px 2px 6px;border-radius:999px;background:#0000002e;font-size:.7em}.btn .cost svg{width:18px;height:18px}.icon-btn{display:inline-grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:16px;background:linear-gradient(180deg,#fff,#dce9fb);box-shadow:inset 0 2px #fff,0 4px #9db8e0,0 8px 14px #14286440;color:var(--ink);transition:transform .08s}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px #9db8e0}.icon-btn svg{width:26px;height:26px}.icon-btn.small{width:40px;height:40px;border-radius:13px}.icon-btn.small svg{width:22px;height:22px}.icon-btn.off{opacity:.55}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:999px;background:#fffffff0;color:var(--ink);font-weight:900;font-size:14px;box-shadow:0 3px #14286440,0 6px 12px #14286426}.chip svg{width:20px;height:20px;flex:none}.plays-chip .bolts{display:inline-flex;gap:1px}.plays-chip .bolt{width:18px;height:18px}.plays-chip .bolt.used{opacity:.22;filter:grayscale(1)}.plays-chip .reset{font-size:12px;color:var(--ink-soft);margin-left:2px}.loader{width:60%;height:18px;margin-top:40px;border-radius:999px;background:#ffffff59;box-shadow:inset 0 2px 4px #0003,0 0 0 3px #fff;overflow:hidden}.loader-fill{width:0;height:100%;border-radius:999px;background:linear-gradient(180deg,#ffe066,#ff9f1a);transition:width .25s}.loader-text{color:#fff;font-weight:900;text-shadow:0 2px 0 rgba(0,0,0,.25)}#title-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1}.title-top{position:absolute;top:calc(12px + var(--safe-top));left:12px;right:12px;display:flex;justify-content:space-between;gap:8px}.player-chip{max-width:48%}.player-chip .player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-actions{position:absolute;bottom:calc(9% + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:18px}.title-actions .row{display:flex;gap:12px}.title-bottom{position:absolute;bottom:calc(14px + var(--safe-bottom));left:12px;right:12px;display:flex;gap:10px;align-items:center}.mode-chip{margin-left:auto;font-size:12px;font-weight:800;color:#fff;background:#141e5066;padding:4px 10px;border-radius:999px}.topbar{width:100%;display:flex;align-items:center;gap:10px;padding:calc(12px + var(--safe-top)) 14px 8px}.topbar h2{flex:1;margin:0;font-family:var(--display);font-weight:400;font-size:28px;color:#fff;text-shadow:var(--outline);letter-spacing:.5px}.topbar .spacer{width:48px}.sub-bar{width:100%;display:flex;justify-content:center;padding:0 14px 6px}.stage-grid{width:100%;flex:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;gap:16px 14px;padding:10px 16px calc(40px + var(--safe-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;align-content:start}.card{position:relative;border:0;padding:0;border-radius:22px;background:#fff;box-shadow:0 0 0 3px #fff,0 7px 0 3px var(--panel-edge),0 14px 22px #14285a4d;overflow:hidden;text-align:left;color:var(--ink);transition:transform .12s;animation:cardIn .45s cubic-bezier(.2,1.4,.4,1) both}.card:active{transform:scale(.96)}.card canvas{display:block;width:100%;aspect-ratio:4 / 5}.card-num{position:absolute;top:8px;left:8px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-family:var(--display);font-size:18px;color:#fff;background:linear-gradient(180deg,#ffe066,#ff9f1a);box-shadow:0 3px #c76a00;text-shadow:0 2px 0 rgba(0,0,0,.25)}.card-rank{position:absolute;top:10px;right:8px;padding:3px 8px;border-radius:999px;font-weight:900;font-size:12px;color:#fff;background:#141e508c}.card-info{padding:7px 10px 10px}.card-name{font-weight:900;font-size:14px;line-height:1.15;min-height:2.3em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{font-size:12px;font-weight:800;color:var(--ink-soft);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-stars{display:flex;gap:2px;margin-top:4px}.card-stars svg{width:20px;height:20px}.card.locked canvas{filter:grayscale(.85) brightness(.75)}.card-lock{position:absolute;inset:0 0 auto 0;aspect-ratio:4 / 5;display:grid;place-items:center}.card-lock svg{width:56px;height:56px;filter:drop-shadow(0 4px 0 rgba(0,0,0,.3))}.card.next{box-shadow:0 0 0 3px #ffd23f,0 7px 0 3px #e0a200,0 14px 24px #ffb40073}.card.next:after{content:"NEXT!";position:absolute;top:52%;left:50%;transform:translate(-50%);padding:4px 12px;border-radius:999px;font-family:var(--display);font-size:16px;color:#fff;background:linear-gradient(180deg,#8cff7a,#20c25a);box-shadow:0 3px #11853a;animation:bob 1s ease-in-out infinite}@keyframes cardIn{0%{opacity:0;transform:translateY(20px) scale(.9)}}@keyframes bob{50%{transform:translate(-50%,-5px)}}.panel{background:linear-gradient(180deg,#fff,#eef6ff);border-radius:28px;box-shadow:0 0 0 4px #fff,0 9px 0 4px var(--panel-edge),0 24px 44px #0a195066}#modal-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#0a123c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;animation:fade .2s ease}.modal{position:relative;width:min(100%,420px);max-height:calc(100% - 20px);overflow-y:auto;padding:22px 18px 20px;text-align:center;animation:popIn .4s cubic-bezier(.2,1.5,.4,1);touch-action:pan-y}.modal h2{margin:2px 0 8px;font-family:var(--display);font-weight:400;font-size:30px;color:#fff;text-shadow:var(--outline)}.modal p{margin:8px 0;font-weight:700;line-height:1.4}.modal .close{position:absolute;top:10px;right:10px;z-index:5}.modal .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}@keyframes fade{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}}.input{width:100%;margin-top:8px;padding:14px 16px;border:3px solid #cfe0f7;border-radius:18px;outline:none;font:900 20px var(--body);color:var(--ink);text-align:center;background:#fff;box-shadow:inset 0 3px #14286414;-webkit-user-select:text;user-select:text}.input:focus{border-color:var(--blue)}.brief-art{position:relative;margin:-22px -18px 0;height:220px;border-radius:28px 28px 0 0;overflow:hidden}.brief-art canvas{width:100%;height:100%;display:block}.brief-rank{position:absolute;left:14px;top:14px;padding:5px 12px;border-radius:999px;font-weight:900;font-size:13px;color:#fff;background:#141e5099}.brief h2{margin-top:12px;font-size:26px;line-height:1.05}.brief-loc{margin:0;font-weight:900;color:var(--ink-soft);font-size:14px}.brief-fact{font-size:14px;background:#fff8dc;border-radius:16px;padding:10px 12px;box-shadow:inset 0 0 0 2px #ffe7a1;text-align:left}.goals{display:grid;gap:8px;margin:12px 0 6px}.goal{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:16px;background:#fff;box-shadow:0 3px #d7e5f8;font-weight:900}.goal .stars{display:flex;gap:1px;min-width:70px}.goal .stars svg{width:20px;height:20px}.goal .pts{margin-left:auto;font-family:var(--display);font-weight:400;font-size:20px}.goal .t{font-size:12px;color:var(--ink-soft)}.goal.done{background:linear-gradient(180deg,#fffbe0,#ffeaa0);box-shadow:0 3px #f0c94a}.brief-best{font-weight:900;font-size:14px;color:var(--ink-soft)}.brief-top{margin-top:8px;text-align:left;font-size:13px;font-weight:800}.brief-top .row{display:flex;justify-content:space-between;padding:3px 4px}.plays-note{margin-top:8px;font-weight:900;font-size:13px;color:var(--ink-soft)}.howto-list{display:grid;gap:10px;text-align:left;margin-top:8px}.howto-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:16px;background:#fff;box-shadow:0 3px #d7e5f8;font-weight:800;font-size:14px;line-height:1.3}.howto-item img,.howto-item .gest{width:46px;height:46px;object-fit:contain;flex:none}.howto-item .gest{display:grid;place-items:center;border-radius:14px;background:linear-gradient(180deg,#86ccff,#2f8cff);color:#fff;font-family:var(--display);font-size:24px}.howto-item b{font-weight:1000}.result-wrap{width:100%;height:100%;display:grid;place-items:center;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));overflow-y:auto;touch-action:pan-y}.result{width:min(100%,420px);padding:20px 18px 22px;text-align:center;animation:popIn .45s cubic-bezier(.2,1.5,.4,1)}.result h1{margin:0;font-family:var(--display);font-weight:400;font-size:36px;color:#fff;text-shadow:var(--outline);line-height:1.05}.result.fail h1{color:#ffb3bd}.result-tower{margin-top:6px;font-weight:900;color:var(--ink-soft)}.stars-row{display:flex;justify-content:center;align-items:flex-end;gap:6px;margin:14px 0 4px}.stars-row .star{width:66px;height:66px;opacity:.25;filter:grayscale(1);transform:scale(.9)}.stars-row .star:nth-child(2){width:84px;height:84px}.stars-row .star.on{opacity:1;filter:none;animation:starPop .55s cubic-bezier(.2,1.8,.4,1) both;animation-delay:var(--d)}@keyframes starPop{0%{transform:scale(0) rotate(-40deg)}to{transform:scale(1) rotate(0)}}.score-big{font-family:var(--display);font-size:54px;color:#fff;text-shadow:var(--outline);line-height:1;margin-top:6px}.score-label{font-weight:900;font-size:13px;color:var(--ink-soft);letter-spacing:1px}.new-best{display:inline-block;margin-top:8px;padding:4px 14px;border-radius:999px;font-family:var(--display);font-size:18px;color:#fff;background:linear-gradient(180deg,#ff9aa8,#ff4d68);box-shadow:0 3px #c41f3d;animation:pulse .8s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.08)}}.breakdown{display:grid;grid-template-columns:1fr auto;gap:6px 10px;margin:14px 0 4px;padding:12px 14px;border-radius:18px;background:#fff;box-shadow:0 3px #d7e5f8;text-align:left;font-weight:800;font-size:14px}.breakdown b{font-weight:1000;text-align:right}.rank-line{margin-top:10px;font-weight:900;color:var(--ink)}.progress-track{position:relative;height:22px;margin:14px 4px 6px;border-radius:999px;background:#dfe9f8;box-shadow:inset 0 2px 4px #0000001f;overflow:hidden}.progress-track .fill{height:100%;border-radius:999px;background:linear-gradient(180deg,#ffb3bd,#ff4d68)}.result .actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}.tabs{display:flex;gap:8px;padding:0 16px 8px;width:100%}.tab{flex:1;min-height:42px;border:0;border-radius:14px;font-family:var(--display);font-size:18px;color:var(--ink);background:#ffffffa6;box-shadow:0 3px #14286433}.tab.active{color:#fff;background:linear-gradient(180deg,#c9a8ff,#8a5cff);box-shadow:0 4px #5528c8;text-shadow:0 2px 0 rgba(0,0,0,.25)}.lb-stage-picker{width:100%;display:flex;align-items:center;gap:8px;padding:0 16px 8px}.lb-stage-name{flex:1;text-align:center;font-weight:1000;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.3);line-height:1.15}.lb-list{width:100%;flex:1;overflow-y:auto;padding:4px 16px 12px;touch-action:pan-y}.lb-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:9px 12px;margin-bottom:9px;border-radius:16px;background:#fff;box-shadow:0 4px #c6d9f3;font-weight:900;animation:cardIn .35s ease both}.lb-row .rk{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-family:var(--display);font-weight:400;font-size:17px;color:var(--ink);background:#e6eefb}.lb-row.r1 .rk{background:linear-gradient(180deg,#fff0a0,#ffc928);box-shadow:0 3px #d39b00;color:#7a5200}.lb-row.r2 .rk{background:linear-gradient(180deg,#fff,#c9d4e3);box-shadow:0 3px #94a3ba}.lb-row.r3 .rk{background:linear-gradient(180deg,#ffd2a8,#e08a4a);box-shadow:0 3px #a85a1f;color:#5a2a00}.lb-row .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-row .sub{display:block;font-size:12px;color:var(--ink-soft);font-weight:800}.lb-row .sc{font-family:var(--display);font-weight:400;font-size:20px;text-align:right}.lb-row.me{background:linear-gradient(180deg,#fffbe0,#ffe783);box-shadow:0 4px #e5bd35}.lb-me{width:100%;padding:6px 16px calc(14px + var(--safe-bottom))}.lb-me .lb-row{margin:0}.lb-empty,.lb-note{text-align:center;font-weight:900;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.25);padding:18px 8px}.lb-note{font-size:13px;padding:4px 8px 10px}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.hud-top{display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-top)) 12px 0}.stamina{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.stamina-icon{width:34px;height:44px;flex:none;margin-right:-12px;z-index:2;filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}.stamina-icon img,.stamina-icon svg{width:100%;height:100%;object-fit:contain}.stamina-bar{position:relative;flex:1;height:24px;border-radius:999px;background:#0f19468c;box-shadow:inset 0 2px 5px #00000073,0 0 0 3px #fff,0 5px 0 3px #1428644d;overflow:hidden}.stamina-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left center;border-radius:999px;background:linear-gradient(180deg,#a6ff8f,#22c55e 60%,#15994a);transition:background .25s}.stamina.mid .stamina-fill{background:linear-gradient(180deg,#fff38f,#ffc21f 60%,#e09600)}.stamina.low .stamina-fill{background:linear-gradient(180deg,#ffb0b0,#ff3b4e 60%,#c41f3d);animation:blink .45s ease-in-out infinite alternate}.stamina-gloss{position:absolute;left:8px;right:8px;top:3px;height:34%;border-radius:999px;background:#ffffff8c}.stamina-val{min-width:34px;margin-left:6px;font-family:var(--display);font-size:20px;color:#fff;text-shadow:var(--outline)}.stamina.pulse .stamina-bar{animation:squish .3s ease}@keyframes squish{40%{transform:scale(1.06,1.18)}}@keyframes blink{to{opacity:.6}}.timer{font-family:var(--display);font-size:24px;color:#fff;background:#0f194680;padding:4px 12px;border-radius:14px;text-shadow:0 2px 0 rgba(0,0,0,.4);font-variant-numeric:tabular-nums;box-shadow:inset 0 2px #fff3}.pause-btn{pointer-events:auto}.hud-sub{display:flex;justify-content:space-between;align-items:center;padding:8px 14px 0;gap:8px}.pace,.momentum{font-weight:1000;font-size:13px;color:#fff;padding:3px 10px;border-radius:999px;background:#0f194673;text-shadow:0 1px 0 rgba(0,0,0,.4);white-space:nowrap}.pace:empty,.momentum:empty{visibility:hidden}.pace.ahead{background:#149650bf}.pace.behind{background:#c82846b3}.momentum.max{background:linear-gradient(90deg,#ff8a1f,#ff4d68)}.alt-meter{position:absolute;right:8px;top:calc(118px + var(--safe-top));width:44px;height:38%}.alt-art{position:absolute;top:0;right:0;bottom:26px;left:0}.alt-art canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.alt-bright{transition:clip-path .1s linear}.alt-you,.alt-ghost{position:absolute;left:50%;transform:translate(-50%,50%);bottom:26px;transition:bottom .1s linear}.alt-you{width:18px;height:18px;border-radius:50%;background:#ff7a1a;box-shadow:0 0 0 3px #fff,0 3px 6px #00000059}.alt-ghost{left:auto;right:-6px;transform:translateY(50%);font-size:16px;color:#ffd23f;text-shadow:0 0 2px #7a5200,0 2px 0 #7a5200}.alt-text{position:absolute;bottom:0;left:50%;transform:translate(-50%);white-space:nowrap;font-weight:1000;font-size:12px;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.6),0 0 4px rgba(0,0,0,.4)}.alt-text b{font-family:var(--display);font-weight:400;font-size:16px}.boosters{position:absolute;left:12px;top:calc(108px + var(--safe-top));display:flex;flex-direction:column;gap:10px}.booster-chip{width:48px;height:48px;padding:4px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p) * 1turn),rgba(255,255,255,.3) 0);box-shadow:0 3px 8px #0000004d;animation:popIn .3s cubic-bezier(.2,1.6,.4,1)}.booster-chip img{width:100%;height:100%;border-radius:50%;display:block;background:#ffffffd9}.countdown{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--display);font-size:120px;color:#fff;text-shadow:var(--outline),0 12px 24px rgba(0,0,0,.35)}.countdown.go{color:#8cff7a}.countdown .num{animation:countPop .9s cubic-bezier(.2,1.6,.4,1) both}@keyframes countPop{0%{transform:scale(2.2);opacity:0}25%{transform:scale(.9);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(.6);opacity:0}}.banner{position:absolute;top:30%;left:0;right:0;text-align:center;font-family:var(--display);font-size:40px;color:#fff;text-shadow:var(--outline);opacity:0}.banner.show{animation:bannerPop var(--dur, 1s) ease both}.banner.gold{color:#ffe14d}.banner.red{color:#ffb3bd}.banner.blue{color:#bfe6ff}@keyframes bannerPop{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.12)}25%{transform:scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.hint{position:absolute;left:50%;bottom:calc(6% + var(--safe-bottom));transform:translate(-50%);max-width:90%;padding:10px 18px;border-radius:18px;background:#fffffff2;color:var(--ink);font-weight:1000;font-size:16px;white-space:nowrap;box-shadow:0 5px #14286440;opacity:0}.hint.show{animation:hintIn 2.6s ease both}@keyframes hintIn{0%{opacity:0;transform:translate(-50%,20px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,10px)}}.wind{position:absolute;top:42%;left:0;right:0;text-align:center;font-family:var(--display);font-size:30px;color:#fff;text-shadow:var(--outline);opacity:0}.wind.show{animation:bannerPop 1.2s ease both}#toast{position:absolute;left:50%;bottom:calc(24px + var(--safe-bottom));transform:translate(-50%,30px);max-width:88%;padding:10px 16px;border-radius:16px;background:#0f1946eb;color:#fff;font-weight:900;font-size:14px;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:60}#toast.show{opacity:1;transform:translate(-50%)}.stats-debug{position:absolute;left:6px;bottom:6px;z-index:30;font:11px/1.3 monospace;color:#fff;background:#0000008c;padding:3px 6px;border-radius:6px;pointer-events:none;white-space:pre}@media(max-height:640px){.logo{margin-top:calc(4vh + var(--safe-top))}.btn-xl{min-height:62px;font-size:28px}.title-actions{gap:12px;bottom:calc(10% + var(--safe-bottom))}}#screen-result .sky-bg{background:#0a123c80}#screen-result .sky-bg:after{display:none}.fatal{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;color:#fff;font-weight:900;z-index:100;background:var(--sky-top)}
