:root{--u: 1px;--font: system-ui, -apple-system, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Noto Sans Devanagari", "Nirmala UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans", "Noto Sans JP", sans-serif;--ink: #0f2533;--accent: #2e7fd6;--accent2: #36c2d9;--gold: #ffd166}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:radial-gradient(120% 80% at 30% 10%,#1d4c63,#0b1e2b 60%,#07141d);font-family:var(--font);color:#fff}body{display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#stage{position:relative;overflow:hidden;border-radius:calc(var(--u) * 0);box-shadow:0 20px 60px #00000073}@media (min-aspect-ratio: 3/4){#stage{border-radius:18px}}#game{display:block;touch-action:none}#ui{position:absolute;inset:0;pointer-events:none;font-size:calc(var(--u) * 14)}.screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(var(--u) * 18);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility 0s linear .28s;background:radial-gradient(120% 90% at 50% 40%,#081e2c26,#081e2c8c)}.screen.show{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease}.card{width:100%;max-width:calc(var(--u) * 310);padding:calc(var(--u) * 22) calc(var(--u) * 20);border-radius:calc(var(--u) * 26);text-align:center;background:linear-gradient(160deg,#ffffff47,#ffffff1f);border:1px solid rgba(255,255,255,.35);box-shadow:0 calc(var(--u) * 18) calc(var(--u) * 50) #04142066,inset 0 1px #ffffff80;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);transform:translateY(calc(var(--u) * 12)) scale(.94);transition:transform .42s cubic-bezier(.2,.9,.25,1.15)}.screen.show .card{transform:none}.logo{width:calc(var(--u) * 76);height:calc(var(--u) * 76);margin:0 auto calc(var(--u) * 10);border-radius:calc(var(--u) * 20);box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 22) #0000004d;animation:float 3.2s ease-in-out infinite}@keyframes float{50%{transform:translateY(calc(var(--u) * -5)) rotate(-2deg)}}h1{margin:0;font-size:calc(var(--u) * 32);font-weight:800;letter-spacing:-.02em;text-shadow:0 2px 12px rgba(0,40,60,.35)}h2{margin:0 0 calc(var(--u) * 10);font-size:calc(var(--u) * 26);font-weight:800;letter-spacing:-.01em}.sub{margin:calc(var(--u) * 4) 0 calc(var(--u) * 14);opacity:.85;font-size:calc(var(--u) * 13)}.stat{display:flex;justify-content:center;gap:calc(var(--u) * 18);margin:calc(var(--u) * 6) 0 calc(var(--u) * 16)}.stat div{display:flex;flex-direction:column;gap:calc(var(--u) * 2)}.stat small{font-size:calc(var(--u) * 10);text-transform:uppercase;letter-spacing:.08em;opacity:.7}.stat b{font-size:calc(var(--u) * 24);font-weight:800}.record{display:none;margin:calc(var(--u) * -4) auto calc(var(--u) * 12);padding:calc(var(--u) * 4) calc(var(--u) * 12);width:max-content;border-radius:999px;font-weight:800;font-size:calc(var(--u) * 13);color:#3b2a00;background:linear-gradient(135deg,#ffe08a,#ffb84d);box-shadow:0 4px 16px #ffbe5073;animation:pop .6s cubic-bezier(.2,.9,.3,1.4) both,glow 1.6s ease-in-out .6s infinite}.record.show{display:block}@keyframes pop{0%{transform:scale(.4);opacity:0}}@keyframes glow{50%{box-shadow:0 4px 26px #ffc85ad9}}.btn{display:block;width:100%;margin:calc(var(--u) * 8) 0 0;padding:calc(var(--u) * 13) calc(var(--u) * 16);border:0;border-radius:calc(var(--u) * 16);font:700 calc(var(--u) * 16) var(--font);color:var(--ink);background:#ffffffd9;box-shadow:0 calc(var(--u) * 4) calc(var(--u) * 14) #001e3233;cursor:pointer;transition:transform .12s ease,box-shadow .2s ease,background .2s ease}.btn:focus-visible,.chip:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}.btn:focus:not(:focus-visible){outline:none}.btn:active{transform:scale(.96)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent));box-shadow:0 calc(var(--u) * 8) calc(var(--u) * 22) #2e7fd673,inset 0 1px #fff6}.btn.ghost{color:#fff;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff4d}.toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u) * 6);margin-top:calc(var(--u) * 14)}.chip{padding:calc(var(--u) * 7) calc(var(--u) * 11);border:0;border-radius:999px;font:600 calc(var(--u) * 12) var(--font);color:#fff;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff47;cursor:pointer;transition:background .2s ease,transform .12s ease}.chip:active{transform:scale(.95)}.chip.off{opacity:.55}.hint{margin:calc(var(--u) * 12) 0 0;font-size:calc(var(--u) * 11);line-height:1.4;opacity:.75}.hint.keys{margin-top:calc(var(--u) * 4);opacity:.55}@media (hover: none){.hint.keys{display:none}}.pause-btn{position:absolute;top:calc(var(--u) * 12);right:calc(var(--u) * 12);width:calc(var(--u) * 40);height:calc(var(--u) * 40);border:0;border-radius:50%;background:#0c223061;box-shadow:inset 0 0 0 1px #ffffff38;pointer-events:auto;cursor:pointer;display:none;align-items:center;justify-content:center;gap:calc(var(--u) * 5);transition:transform .12s ease}.pause-btn.show{display:flex}.pause-btn:active{transform:scale(.9)}.pause-btn i{display:block;width:calc(var(--u) * 4);height:calc(var(--u) * 14);border-radius:calc(var(--u) * 2);background:#fff}.cafe-card{max-width:calc(var(--u) * 326);padding:calc(var(--u) * 13) calc(var(--u) * 16) calc(var(--u) * 10);background:linear-gradient(160deg,#ffecd657,#ffffff1f)}.cafe-card h2{margin-bottom:calc(var(--u) * 2);font-size:calc(var(--u) * 23);line-height:1.1}.cafe-card .sub{margin:0 0 calc(var(--u) * 6)}.cafe-scene{display:block;width:100%;aspect-ratio:1;border-radius:calc(var(--u) * 18);box-shadow:0 calc(var(--u) * 6) calc(var(--u) * 18) #3c1e0a40,inset 0 0 0 1px #ffffff80;background:#fff4e4}.energy{position:relative;display:flex;align-items:center;gap:calc(var(--u) * 7);margin:calc(var(--u) * 7) calc(var(--u) * 2) 0;--fill: 0%;--tip: hsl(0, 85%, 55%)}.energy-label{flex:none;min-width:calc(var(--u) * 86);text-align:left;font:800 calc(var(--u) * 11.5) var(--font);white-space:nowrap;text-shadow:0 1px 4px rgba(0,30,50,.35)}.energy-track{position:relative;flex:1;height:calc(var(--u) * 12);border-radius:999px;background:#0a1e2d59;box-shadow:inset 0 1px 3px #0000004d,0 1px #ffffff4d;overflow:hidden}.energy-fill{position:absolute;inset:0;border-radius:999px;background:linear-gradient(180deg,#ffffff80,#fff0 55%),linear-gradient(90deg,#ff4f5e,#ff9b3d 28%,#ffd84a,#a6dc4a 72%,#34c96f);clip-path:inset(0 calc(100% - var(--fill)) 0 0 round 999px);transition:clip-path .55s cubic-bezier(.25,1.2,.4,1)}.energy-pct{flex:none;min-width:calc(var(--u) * 34);text-align:right;font:800 calc(var(--u) * 12) var(--font);font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 calc(var(--u) * 6) var(--tip),0 1px 3px rgba(0,30,50,.4);transition:text-shadow .4s ease}.energy.instant .energy-fill{transition:none}.energy.full .energy-track{box-shadow:inset 0 1px 3px #0003,0 0 0 calc(var(--u) * 2) #fff9,0 0 calc(var(--u) * 14) #3ccf7acc;animation:energy-pop .6s cubic-bezier(.2,.9,.3,1.5)}.energy.full .energy-label{color:#eaffd0;animation:energy-pop .6s cubic-bezier(.2,.9,.3,1.5)}.energy.full .energy-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);background-size:250% 100%;animation:energy-shine 1.6s ease-in-out infinite}@keyframes energy-pop{40%{transform:scale(1.08)}}@keyframes energy-shine{0%{background-position:150% 0}to{background-position:-100% 0}}.confetti{position:absolute;inset:0;pointer-events:none}.confetti i{position:absolute;top:50%;width:calc(var(--u) * 6);height:calc(var(--u) * 9);border-radius:calc(var(--u) * 1.5);opacity:0;animation:confetti 1.4s ease-out forwards}.confetti i.round{width:calc(var(--u) * 6);height:calc(var(--u) * 6);border-radius:50%}@keyframes confetti{0%{opacity:1;transform:translate(0) rotate(0) scale(.6)}40%{transform:translate(calc(var(--u) * var(--dx) * .7),calc(var(--u) * var(--dy))) rotate(calc(var(--rot) * .4)) scale(1)}to{opacity:0;transform:translate(calc(var(--u) * var(--dx)),calc(var(--u) * (var(--dy) + 80))) rotate(var(--rot)) scale(.9)}}@media (prefers-reduced-motion: reduce){.energy-fill{transition:none}.confetti i{animation-duration:.01s}}.cafe-grid{display:flex;justify-content:space-between;gap:calc(var(--u) * 4);margin:calc(var(--u) * 8) 0 calc(var(--u) * 2)}.cafe-btn{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 3);flex:1;min-width:0;padding:0;border:0;background:none;color:#fff;font:700 calc(var(--u) * 12) var(--font);cursor:pointer}.cafe-btn .emo{display:flex;align-items:center;justify-content:center;width:calc(var(--u) * 42);height:calc(var(--u) * 42);border-radius:50%;font-size:calc(var(--u) * 22);line-height:1;background:radial-gradient(circle at 35% 30%,#fff,#ffffffc7 60%,#dcebf5b3);box-shadow:0 calc(var(--u) * 6) calc(var(--u) * 16) #001e3240,inset 0 -2px #0028461f,inset 0 1px #fff;transition:transform .15s cubic-bezier(.2,.9,.3,1.4),box-shadow .2s ease,background .2s ease}.cafe-btn small{font-size:calc(var(--u) * 11);text-shadow:0 1px 4px rgba(0,30,50,.35)}.cafe-btn:active .emo{transform:scale(.88)}.cafe-btn.pop .emo{animation:cafe-pop .45s cubic-bezier(.2,.9,.3,1.5)}.cafe-btn.on .emo{background:radial-gradient(circle at 35% 30%,#c9f6ff,var(--accent2) 60%,var(--accent));box-shadow:0 0 0 calc(var(--u) * 3) #fff9,0 calc(var(--u) * 6) calc(var(--u) * 22) #36c2d999;animation:cafe-beat .45s ease-in-out infinite alternate}.cafe-btn:focus-visible{outline:none}.cafe-btn:focus-visible .emo{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}@keyframes cafe-pop{40%{transform:scale(1.18) rotate(-6deg)}}@keyframes cafe-beat{to{transform:scale(1.08)}}.cafe-btn.muted .emo{box-shadow:0 0 0 calc(var(--u) * 2) #ffffff73,0 calc(var(--u) * 6) calc(var(--u) * 16) #001e3240;opacity:.75}.cafe-note{margin:calc(var(--u) * 2) 0 0;font-size:calc(var(--u) * 11);font-weight:600;opacity:.85}.cafe-note[hidden]{display:none}.link-btn{display:block;margin:calc(var(--u) * 8) auto 0;padding:calc(var(--u) * 4) calc(var(--u) * 12);border:0;border-radius:999px;background:none;color:#ffffffd1;font:600 calc(var(--u) * 13) var(--font);text-decoration:underline;text-decoration-color:#ffffff59;text-underline-offset:3px;cursor:pointer}.link-btn:active{transform:scale(.95)}.link-btn:focus-visible{outline:2px solid rgba(255,255,255,.85)}.upgrade-card{display:flex;align-items:center;gap:calc(var(--u) * 8);width:100%;margin:calc(var(--u) * 8) 0 0;padding:calc(var(--u) * 5) calc(var(--u) * 10) calc(var(--u) * 5) calc(var(--u) * 6);border:1px solid rgba(255,225,140,.9);border-radius:calc(var(--u) * 18);color:#fff;text-align:left;font-family:var(--font);background:linear-gradient(135deg,#3c404aeb,#1e2128eb);box-shadow:0 0 0 calc(var(--u) * 2) #ffbe5059,0 calc(var(--u) * 8) calc(var(--u) * 24) #ff962873;cursor:pointer;animation:upgrade-glow 1.4s ease-in-out infinite;transition:transform .15s cubic-bezier(.2,.9,.3,1.4)}.upgrade-card[hidden]{display:none}.upgrade-card:active{transform:scale(.97)}.upgrade-card:focus-visible{outline:2px solid #fff;outline-offset:2px}.upgrade-plane{flex:none;width:calc(var(--u) * 38);height:calc(var(--u) * 42);filter:drop-shadow(0 3px 4px rgba(0,0,0,.45))}.upgrade-text{display:flex;flex:1;flex-direction:column;gap:calc(var(--u) * 2)}.upgrade-text b{font-size:calc(var(--u) * 15);font-weight:800;color:var(--gold)}.upgrade-text small{font-size:calc(var(--u) * 10.5);line-height:1.2;opacity:.9}.upgrade-get{flex:none;padding:calc(var(--u) * 7) calc(var(--u) * 12);border-radius:999px;font-weight:800;font-size:calc(var(--u) * 13);color:#3b2a00;background:linear-gradient(135deg,#ffe08a,#ff9f43);box-shadow:0 2px 10px #ffaa3c80}.upgrade-card.done{cursor:default;animation:upgrade-pop .6s cubic-bezier(.2,.9,.3,1.5);background:linear-gradient(135deg,#ffc85af2,#ff8c28f2)}.upgrade-card.done .upgrade-text b{color:#fff}.upgrade-card.done .upgrade-plane{animation:upgrade-spin .6s cubic-bezier(.2,.9,.3,1.3)}.upgrade-card.done .upgrade-get{background:#fff;color:#d0700e}@keyframes upgrade-glow{50%{box-shadow:0 0 0 calc(var(--u) * 3) #ffd26e99,0 calc(var(--u) * 8) calc(var(--u) * 30) #ffaa3cb3}}@keyframes upgrade-pop{40%{transform:scale(1.06)}}@keyframes upgrade-spin{0%{transform:scale(.4) rotate(-200deg)}}.wpn{margin:calc(var(--u) * 8) 0 0}.wpn-head,.cp-head{display:flex;align-items:baseline;justify-content:space-between;gap:calc(var(--u) * 6);margin:0 calc(var(--u) * 2) calc(var(--u) * 6)}.wpn-head b,.cp-head b{font-size:calc(var(--u) * 14);font-weight:800;letter-spacing:.01em}.wpn-head small,.cp-head small{font-size:calc(var(--u) * 10.5);font-weight:600;opacity:.85;white-space:nowrap}.wpn-row{display:flex;justify-content:space-between;gap:calc(var(--u) * 6)}.wpn-card{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;gap:calc(var(--u) * 3);min-width:0;padding:0;border:0;background:none;color:#fff;font:700 calc(var(--u) * 11) var(--font);cursor:pointer}.wpn-orb{position:relative;display:block;width:calc(var(--u) * 50);height:calc(var(--u) * 50);border-radius:50%;background:radial-gradient(circle at 35% 28%,#4a5a73,#233046 62%,#18212f);box-shadow:0 calc(var(--u) * 6) calc(var(--u) * 16) #00142859,inset 0 1px #ffffff59,inset 0 -2px #00000040;transition:transform .18s cubic-bezier(.2,.9,.3,1.4),box-shadow .2s ease,background .2s ease}.wpn-orb canvas{position:absolute;inset:12%;width:76%;height:76%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}.wpn-card small{font-size:calc(var(--u) * 11);text-shadow:0 1px 4px rgba(0,30,50,.35)}.wpn-badge{position:absolute;top:calc(var(--u) * -4);right:calc(var(--u) * -8);padding:calc(var(--u) * 2) calc(var(--u) * 6);border-radius:999px;font:800 calc(var(--u) * 10) var(--font);font-style:normal;color:#0f2533;background:#ffffffeb;box-shadow:0 2px 8px #0014284d;white-space:nowrap}.wpn-badge[hidden]{display:none}.wpn-card:active .wpn-orb{transform:scale(.9)}.wpn-card.current .wpn-orb{box-shadow:0 0 0 calc(var(--u) * 2) #ffffff8c,0 calc(var(--u) * 6) calc(var(--u) * 16) #00142859}.wpn-card.selected .wpn-orb{background:radial-gradient(circle at 35% 28%,#7fe3ff,#2e9be6 60%,#1f5fc0);box-shadow:0 0 0 calc(var(--u) * 3) #fff,0 calc(var(--u) * 6) calc(var(--u) * 22) #36c2d9bf;transform:scale(1.06)}.wpn-card.selected .wpn-badge{color:#fff;background:linear-gradient(135deg,#3ccf7a,#23a85e)}.wpn-card.pop .wpn-orb{animation:wpn-pop .5s cubic-bezier(.2,.9,.3,1.5)}.wpn-card:focus-visible{outline:none}.wpn-card:focus-visible .wpn-orb{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.wpn-desc{min-height:1.3em;margin:calc(var(--u) * 4) 0 0;font-size:calc(var(--u) * 11.5);font-weight:600;opacity:.92}@keyframes wpn-pop{0%{transform:scale(.85)}45%{transform:scale(1.18) rotate(-6deg)}to{transform:scale(1.06)}}[data-screen=start] .card{padding:calc(var(--u) * 14) calc(var(--u) * 18) calc(var(--u) * 16)}[data-screen=start] .logo{width:calc(var(--u) * 52);height:calc(var(--u) * 52);margin-bottom:calc(var(--u) * 4);border-radius:calc(var(--u) * 14)}[data-screen=start] h1{margin-bottom:0;font-size:calc(var(--u) * 28)}[data-screen=start] .sub{margin:calc(var(--u) * 2) 0 calc(var(--u) * 6)}[data-screen=start] .stat{margin:0 0 calc(var(--u) * 6)}[data-screen=start] .toggles{margin-top:calc(var(--u) * 8)}[data-screen=start] .hint{margin-top:calc(var(--u) * 6);font-size:calc(var(--u) * 10.5);line-height:1.3}.wpn-card.selected small{padding:0 calc(var(--u) * 7);border-radius:999px;color:#1f5fc0;background:#ffffffeb;text-shadow:none}.cafe-card .link-btn{margin-top:calc(var(--u) * 3)}.cp{margin:calc(var(--u) * 7) 0 0}.cp[hidden]{display:none}.cp .cp-head{margin-bottom:calc(var(--u) * 4)}.cp-row{display:flex;gap:calc(var(--u) * 8)}.cp-card{position:relative;display:flex;flex:1;align-items:center;gap:calc(var(--u) * 7);min-width:0;padding:calc(var(--u) * 3) calc(var(--u) * 10) calc(var(--u) * 3) calc(var(--u) * 3);border:1px solid rgba(255,255,255,.4);border-radius:999px;color:#fff;font:800 calc(var(--u) * 13) var(--font);background:#0c223052;box-shadow:0 calc(var(--u) * 4) calc(var(--u) * 12) #00142840,inset 0 1px #ffffff40;cursor:pointer;transition:transform .18s cubic-bezier(.2,.9,.3,1.4),background .2s ease,box-shadow .2s ease}.cp-card canvas{flex:none;width:calc(var(--u) * 32);height:calc(var(--u) * 32);filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.cp-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cp-card:active{transform:scale(.95)}.cp-card:focus-visible{outline:2px solid #fff;outline-offset:2px}.cp-boy.selected{background:linear-gradient(135deg,#7fc4ff,#2e7fd6)}.cp-girl.selected{background:linear-gradient(135deg,#ffb0d4,#e0559a)}.cp-card.selected{border-color:#fff;box-shadow:0 0 0 calc(var(--u) * 2) #fff,0 calc(var(--u) * 6) calc(var(--u) * 18) #00285059}.cp-card.pop{animation:wpn-pop .5s cubic-bezier(.2,.9,.3,1.5)}.cp-say{position:absolute;bottom:calc(100% + var(--u) * 7);left:50%;z-index:2;padding:calc(var(--u) * 4) calc(var(--u) * 10);border-radius:999px;color:#16324a;font:800 calc(var(--u) * 12) var(--font);white-space:nowrap;background:#fff;box-shadow:0 calc(var(--u) * 4) calc(var(--u) * 12) #00142859;transform:translate(-50%);animation:cp-say .45s cubic-bezier(.2,.9,.3,1.6);pointer-events:none}.cp-say:after{content:"";position:absolute;top:100%;left:50%;border:calc(var(--u) * 6) solid transparent;border-top-color:#fff;transform:translate(-50%)}.cp-say[hidden]{display:none}@keyframes cp-say{0%{opacity:0;transform:translate(-50%) translateY(calc(var(--u) * 6)) scale(.5)}}.cafe-card.crowded .sub{display:none}.cafe-card.crowded h2{margin-bottom:calc(var(--u) * 6)}.cafe-card.crowded .wpn{margin-top:calc(var(--u) * 6)}.world-picker{display:flex;gap:8px;flex-direction:column;max-height:124px;overflow:auto;margin:12px 0}.world-card{border:1px solid #ffffff30;border-radius:12px;padding:12px;color:#fff;background:#467f63;font:600 12px var(--font);flex-shrink:0}.world-card.desert{background:#ac7847}.world-card.winter{background:#648da8}.world-card.neon{background:#554878}.world-card[aria-pressed=true]{border:2px solid #b9eeff;box-shadow:0 0 0 2px #80dbff30}[data-screen=start] .card{max-height:calc(var(--u) * 604);overflow-y:auto}.world-picker{gap:calc(var(--u) * 6);max-height:calc(var(--u) * 115);margin:calc(var(--u) * 8) 0}.world-card{padding:calc(var(--u) * 10);font-size:calc(var(--u) * 12)}.world-picker,[data-screen=start] .card{touch-action:pan-y;overscroll-behavior:contain}.language-control{display:flex;align-items:center;gap:8px;font-size:calc(var(--u) * 12)}.language-control select{max-width:160px}.language-control option{color:#163448;background:#fff}button{overflow-wrap:anywhere}.wpn-head,.cp-head{flex-wrap:wrap}.wpn-head small,.cp-head small{white-space:normal}.base-name{overflow-wrap:anywhere}:lang(hi) .cafe-card h2{line-height:1.25}.settings-card{max-height:calc(var(--u) * 604);overflow:auto;touch-action:pan-y;padding:calc(var(--u) * 20)}.setting-row{display:grid;grid-template-columns:1fr auto;gap:calc(var(--u) * 9);text-align:left;margin:calc(var(--u) * 17) 0;font-size:calc(var(--u) * 14);font-weight:600}.setting-row output{font-variant-numeric:tabular-nums;opacity:.8}.setting-row input{grid-column:1 / -1;width:100%;height:calc(var(--u) * 24);margin:0;accent-color:#79ddff;touch-action:pan-x}.setting-toggle,.setting-language{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 10);margin:calc(var(--u) * 14) 0;font-size:calc(var(--u) * 14)}.setting-toggle input{appearance:none;width:calc(var(--u) * 46);height:calc(var(--u) * 28);border-radius:999px;background:#ffffff35;position:relative;cursor:pointer;flex:none}.setting-toggle input:checked{background:#34c879}.setting-toggle input:after{content:"";position:absolute;top:calc(var(--u) * 3);left:calc(var(--u) * 3);width:calc(var(--u) * 22);height:calc(var(--u) * 22);background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .15s}.setting-toggle input:checked:after{transform:translate(calc(var(--u) * 18))}.settings-status{min-height:1.2em;font-size:calc(var(--u) * 11);margin:calc(var(--u) * 5) 0}.achievements-placeholder{background:#ffffff10;border-radius:calc(var(--u) * 14);padding:calc(var(--u) * 10);font-size:calc(var(--u) * 12);margin-bottom:calc(var(--u) * 12)}.achievements-placeholder p{margin:calc(var(--u) * 4) 0 0;opacity:.7}.setting-language option{color:#163448;background:#fff}.tutorial{position:absolute;transform:translate(-50%);width:calc(var(--u) * 280);text-align:center;pointer-events:none;z-index:4}.tutorial[hidden]{display:none}.tutorial-pill{display:flex;gap:calc(var(--u) * 9);align-items:center;justify-content:center;padding:calc(var(--u) * 12);border:1px solid #ffffff70;border-radius:calc(var(--u) * 24);background:#edfaffdb;color:#163448;backdrop-filter:blur(12px);box-shadow:0 6px 22px #08283a30;font-size:calc(var(--u) * 14)}.tutorial-icon{font-size:calc(var(--u) * 25);animation:tutorial-point 1s ease-in-out infinite alternate}.tutorial-skip{pointer-events:auto;margin-top:calc(var(--u) * 7);font-size:calc(var(--u) * 11)}@keyframes tutorial-point{to{transform:translateY(calc(var(--u) * 5)) rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.tutorial-icon{animation:none}}.ad-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#12233759;backdrop-filter:blur(18px);padding:24px}.ad-overlay .card{text-align:center;width:min(310px,100%)}.ad-overlay span{font-size:40px;color:#2584ed}.achievements-panel{margin:8px 0 12px;text-align:left;background:#ffffff10;border-radius:14px;padding:10px}.achievements-panel summary{cursor:pointer;font-weight:600;font-size:14px}.achievement-list{max-height:240px;overflow:auto;touch-action:pan-y;margin-top:8px}.achievement-row{display:flex;gap:10px;align-items:center;padding:9px 3px;border-bottom:1px solid #ffffff18;opacity:.65}.achievement-row.unlocked{opacity:1}.achievement-row>span{font-size:22px}.achievement-row b{display:block;font-size:12px}.achievement-row small{display:block;font-size:10px;margin-top:3px}.achievement-toast{position:absolute;top:calc(var(--u) * 62);left:5%;width:90%;box-sizing:border-box;z-index:30;pointer-events:none;border-radius:18px;padding:12px 14px;background:#edf8ffeb;color:#173957;box-shadow:0 6px 24px #10284630;backdrop-filter:blur(14px);font-size:13px;text-align:center}[hidden]{display:none!important}.gift-card{border:1px solid #efd59a;background:linear-gradient(135deg,#fff9e6,#ffe9c4);color:#62451f;box-shadow:0 4px 16px #d49b2920}.gift-card[hidden]{display:none}.gift-card:disabled{opacity:1}.gift-box{position:relative;display:block;width:36px;height:34px;flex-shrink:0;border-radius:6px;background:linear-gradient(135deg,#a99dff,#6e58e8);box-shadow:inset 0 2px 2px #ffffff80,0 3px 6px #5744a330;animation:gift-wiggle 2.3s ease-in-out infinite}.gift-box:before{content:"";position:absolute;left:14px;width:8px;height:100%;background:linear-gradient(90deg,#ffcb60,#fff0a0)}.gift-box i{position:absolute;left:-2px;top:0;width:40px;height:9px;border-radius:4px;background:linear-gradient(#c9bfff,#8870ed)}.gift-box em{position:absolute;left:7px;top:-9px;width:22px;height:12px;border:4px solid #ffd56a;border-radius:50%}.gift-card.opened .gift-box{background:none;box-shadow:none;animation:none;font-size:29px}.gift-card.opened .gift-box:before{display:none}@keyframes gift-wiggle{0%,65%,to{transform:rotate(0) translateY(0)}72%,86%{transform:rotate(-9deg) translateY(-2px)}79%,93%{transform:rotate(9deg) translateY(-2px)}}@media (prefers-reduced-motion:reduce){.gift-box{animation:none}}.pilot-rank{display:flex;gap:10px;align-items:center;text-align:left;margin:8px 0;padding:10px 12px;border-radius:18px;background:#ffffff29}.pilot-rank>div{min-width:0;flex:1}.pilot-rank b,.pilot-rank small{display:block}.pilot-rank b{font-size:14px;line-height:1.2}.pilot-rank small{font-size:10px;opacity:.8;margin-top:3px}.pilot-rank progress{display:block;width:100%;height:4px;margin-top:5px;accent-color:#ffd474;border:0;border-radius:5px;overflow:hidden}.rank-badge{font-size:28px}.pilot-rank.compact{margin:3px 0 5px;padding:4px 9px;gap:7px;border-radius:12px}.compact .rank-badge{font-size:20px}.compact b{font-size:11px}.compact small{font-size:9px;margin-top:1px}.compact progress{height:3px;margin-top:2px}.rank-celebration{z-index:90;background:#161f36b8;backdrop-filter:blur(12px);pointer-events:auto}.rank-party{position:relative;overflow:hidden;background:linear-gradient(145deg,#465b8c,#62477e);border:1px solid #ffe4a680}.rank-party canvas{display:block;width:150px;height:150px;margin:0 auto;image-rendering:auto}.rank-party h3{margin:0 0 22px;font-size:24px;color:#ffe5a0}.rank-big-badge{font-size:56px;filter:drop-shadow(0 4px 12px #ffc34c66)}.rank-party .confetti{top:60%;pointer-events:none}.cafe-card.crowded .wpn-orb{width:calc(var(--u) * 42);height:calc(var(--u) * 42)}.cafe-card.crowded .cafe-btn .emo{width:calc(var(--u) * 36);height:calc(var(--u) * 36)}.cafe-card.crowded .energy{margin-top:calc(var(--u) * 4)}.cafe-card.crowded .cafe-grid{margin-top:calc(var(--u) * 5)}.pilot-rank.compact small{line-height:1.1}.cafe-card.crowded:has(.gift-card:not([hidden])){padding-top:calc(var(--u) * 8);padding-bottom:calc(var(--u) * 6)}.cafe-card.crowded .wpn{margin-top:calc(var(--u) * 3)}.cafe-top{display:grid;grid-template-columns:60% 1fr;gap:calc(var(--u) * 8);align-items:stretch}.cafe-top.solo{grid-template-columns:64%;justify-content:center}.cafe-stage{position:relative;min-width:0}.cafe-side{display:flex;flex-direction:column;justify-content:center;gap:calc(var(--u) * 8);min-width:0}.cafe-side:empty{display:none}.cafe-strip{display:flex;gap:calc(var(--u) * 8);margin-top:calc(var(--u) * 8)}.cafe-strip[hidden],.cafe-tiles{display:none}.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--u) * 3);min-width:0;min-height:0;margin:0;padding:calc(var(--u) * 6);border:1px solid rgba(255,255,255,.4);border-radius:calc(var(--u) * 18);color:#fff;font-family:var(--font);text-align:center;background:#ffffff29;box-shadow:0 calc(var(--u) * 4) calc(var(--u) * 14) #0014282e,inset 0 1px #ffffff4d;overflow:hidden}.tile[hidden]{display:none}button.tile{cursor:pointer;transition:transform .15s cubic-bezier(.2,.9,.3,1.4)}button.tile:active:not(:disabled){transform:scale(.95)}button.tile:focus-visible{outline:2px solid #fff;outline-offset:2px}.cafe-side .tile{flex:1 1 0}.cafe-side[data-n="1"] .tile{flex:0 0 auto;aspect-ratio:1}.cafe-strip .tile{flex:1 1 0;flex-direction:row;justify-content:flex-start;gap:calc(var(--u) * 7);min-height:calc(var(--u) * 50);padding:calc(var(--u) * 5) calc(var(--u) * 8);text-align:left}.tile-text{display:flex;flex-direction:column;gap:calc(var(--u) * 2);min-width:0;max-width:100%}.tile b,.tile small{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal}.tile b{-webkit-line-clamp:2;font-size:calc(var(--u) * 12);font-weight:800;line-height:1.15}.tile small{-webkit-line-clamp:2;font-size:calc(var(--u) * 8.5);line-height:1.2;opacity:.85}.tile small:empty{display:none}.gift-card.tile{border-color:#efd59a;background:linear-gradient(135deg,#fff9e6,#ffe9c4);color:#62451f}.gift-card.tile small{opacity:.9}.gift-card.tile .gift-box{margin-top:calc(var(--u) * 6)}.upgrade-card.tile{width:auto;margin:0;padding:calc(var(--u) * 6);border-color:#ffe18ce6;border-radius:calc(var(--u) * 18);background:linear-gradient(135deg,#3c404aeb,#1e2128eb);text-align:center}.upgrade-card.tile .upgrade-plane{width:calc(var(--u) * 26);height:calc(var(--u) * 29)}.upgrade-card.tile .upgrade-text b{font-size:calc(var(--u) * 12)}.cafe-side .upgrade-card.tile .upgrade-text small{display:none}.upgrade-card.tile .upgrade-get{padding:calc(var(--u) * 3) calc(var(--u) * 9);font-size:calc(var(--u) * 11);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pilot-rank.tile{margin:0;padding:calc(var(--u) * 6);gap:calc(var(--u) * 3);border-radius:calc(var(--u) * 18)}.pilot-rank.tile>div{flex:none;width:100%}.cafe-strip .pilot-rank.tile>div{flex:1;width:auto}.pilot-rank.tile .rank-badge{font-size:calc(var(--u) * 22);line-height:1}.pilot-rank.tile b{font-size:calc(var(--u) * 11.5)}.pilot-rank.tile small{font-size:calc(var(--u) * 8.5);margin-top:calc(var(--u) * 2)}.pilot-rank.tile progress{height:calc(var(--u) * 4);margin-top:calc(var(--u) * 4)}.cp.tile{margin:0;gap:calc(var(--u) * 4);padding:calc(var(--u) * 5);overflow:visible}.cafe-strip .cp.tile{flex-direction:column;align-items:stretch;text-align:center}.cp.tile .cp-head{display:block;margin:0}.cp.tile .cp-head small{display:none}.cp.tile .cp-row{width:100%;gap:calc(var(--u) * 5)}.cp.tile .cp-card{flex-direction:column;justify-content:center;gap:calc(var(--u) * 1);padding:calc(var(--u) * 3) calc(var(--u) * 2);border-radius:calc(var(--u) * 14);font-size:calc(var(--u) * 11)}.cp.tile .cp-card canvas{width:calc(var(--u) * 28);height:calc(var(--u) * 28)}.cafe-strip .cp.tile .cp-card canvas{width:calc(var(--u) * 22);height:calc(var(--u) * 22)}.cafe-strip .cp.tile .cp-head b{font-size:calc(var(--u) * 11)}.cp.tile .cp-card b{display:block;max-width:100%;font-size:calc(var(--u) * 11)}.cp-swap.tile{color:#16324a;background:#ffffffe0;border-color:#ffffffe6}.cp-swap canvas{flex:none;width:calc(var(--u) * 34);height:calc(var(--u) * 34)}.cp-swap-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:normal;font-size:calc(var(--u) * 11);font-weight:800;line-height:1.15}.cp-swap-label:before{content:"⇄ ";color:#2f80ed}.cp-swap.pop{animation:wpn-pop .5s cubic-bezier(.2,.9,.3,1.5)}.tile{justify-content:safe center}.cafe-strip .tile{justify-content:flex-start}.tile .fit-break,.cp-swap-label.fit-break{overflow-wrap:anywhere}.cafe-btn small,.wpn-card small,.cp.tile .cp-card b,[data-screen=cafe] [data-act=takeoff]{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.energy-label{max-width:48%;overflow:hidden;text-overflow:ellipsis}.wpn-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.gift-card.opened.tile .gift-box{width:auto;height:auto;margin-top:0;font-size:calc(var(--u) * 24);line-height:1.1}.rank-num{white-space:nowrap}.pilot-rank.tile .rank-sep,.cafe-strip .pilot-rank.tile .rank-label{display:none}.cafe-side .pilot-rank.tile .rank-num{display:block}.cafe-side .pilot-rank.tile small{-webkit-line-clamp:3}
