@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-cyrillic-wght-normal-CY6AOgYE.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-vietnamese-wght-normal-U01xdrZh.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-ext-wght-normal-CXYtwYOx.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(./nunito-latin-wght-normal-BzFMHfZw.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #141b35;--panel: linear-gradient(180deg, rgba(50, 61, 112, .94), rgba(31, 39, 78, .96));--panel-flat: rgba(38, 48, 92, .94);--panel-soft: rgba(30, 38, 76, .62);--edge: rgba(255, 255, 255, .09);--edge-hi: inset 0 1px 0 rgba(255, 255, 255, .1);--text: #fff7e8;--text2: #c8d4ef;--accent: #f5c96b;--luna: #c6d2f3;--terra: #80d8c0;--sol: #ffc674;--nimbo: #b7a1e3;--danger: #ee8293;--success: #8fe0b6;--r-panel: 20px;--r-tile: 14px;--r-button: 18px;--font: "Nunito Variable", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:16px/22px var(--font);overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#stage,#ui{position:fixed;inset:0}#stage canvas{display:block;width:100%;height:100%;touch-action:none}#ui{pointer-events:none}#safe-probe{position:fixed;visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.shell{position:absolute;pointer-events:none;display:flex;flex-direction:column}.shell>*{pointer-events:auto}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--text);outline-offset:2px}button:disabled{cursor:default;opacity:.45}*{scrollbar-width:thin;scrollbar-color:rgba(200,212,239,.28) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#c8d4ef47;border-radius:3px}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border-radius:999px;background:var(--panel-soft);border:1px solid var(--edge);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-weight:800;font-size:16px;line-height:20px;white-space:nowrap;font-variant-numeric:tabular-nums}.chip .small{font-weight:700;opacity:.8}.small-chip{min-height:28px;padding:2px 10px;font-size:14px}.tile{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:48px;min-height:48px;padding:6px 10px;border-radius:var(--r-tile);background:var(--panel);border:1px solid var(--edge);box-shadow:var(--edge-hi),0 4px 12px #04061440;font-size:14px;line-height:18px;font-weight:800;transition:transform 80ms,filter 80ms}.tile.ghost{background:#ffffff0f;box-shadow:none}.tile.square{width:48px;height:48px;padding:0}.tile.wide{flex-direction:row;gap:8px;padding:10px 16px;font-size:16px}@media(hover:hover)and (pointer:fine){.tile:hover:not(:disabled),.primary:hover:not(:disabled){filter:brightness(1.08)}}.tile:active:not(:disabled),.primary:active:not(:disabled){transform:scale(.96)}.tile.selected{border-color:transparent;box-shadow:inset 0 0 0 2px var(--accent),0 0 14px #f5c96b40;color:var(--accent)}.primary{min-height:56px;min-width:200px;padding:0 32px;border-radius:var(--r-button);background:linear-gradient(180deg,#ffd98a,var(--accent));color:#2a2140;font-size:20px;line-height:22px;font-weight:900;letter-spacing:.02em;box-shadow:0 6px #b98d3a,0 10px 24px #00000059;transition:transform 80ms,filter 80ms}.primary:active:not(:disabled){box-shadow:0 3px #b98d3a}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;pointer-events:auto;background:linear-gradient(180deg,#141b3533,#141b358c)}@media(min-aspect-ratio:4/5){.screen{background:none}}.screen.over-bg{background:#141b358c}.screen-body{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:8px 16px 24px;scrollbar-gutter:stable both-edges}.topbar{display:flex;align-items:center;gap:8px;min-height:64px;padding:8px 12px}.topbar h2{flex:1;margin:0;font-size:22px;line-height:28px;text-align:center}.topbar .spacer{width:48px}.home{align-items:center;justify-content:space-between}.home-top{align-self:stretch;display:flex;justify-content:flex-end;gap:8px;padding:12px}.home-top .spacer{flex:1}.notice.legal{display:flex;flex-wrap:wrap;gap:8px 18px}.title-block{text-align:center;margin-top:2vh}.title-block h1{margin:0;font-size:44px;line-height:48px;font-weight:900;letter-spacing:.02em;text-shadow:0 3px 0 #3b3a72,0 8px 24px rgba(0,0,0,.4)}.title-block p{margin:4px 0 0;color:var(--text2);font-size:16px}.heroes{position:relative;width:min(300px,80vw);height:min(170px,26vh);margin:2vh auto 0}.heroes .hero{position:absolute;bottom:0;animation:bob 3.2s ease-in-out infinite}.heroes .hero img{width:100%;height:100%;position:absolute;inset:0}.heroes .hero.b{animation-delay:-1.1s}.heroes .hero.c{animation-delay:-2.2s}@keyframes bob{50%{transform:translateY(-8px)}}.home-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.home-bottom{display:flex;gap:12px;padding:16px 16px 24px;align-items:center}.wallet{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:900}.notice{margin:8px 16px;padding:10px 14px;border-radius:var(--r-tile);background:var(--panel);color:var(--text2);font-size:14px;line-height:18px;text-align:center}.notice.warn{box-shadow:inset 0 0 0 2px var(--danger)}.sector-card{border-radius:var(--r-panel);background:var(--panel-soft);border:1px solid var(--edge);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:16px 14px;margin-bottom:16px;min-width:0}.sector-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sector-card h3{margin:0;font-size:22px;line-height:28px;font-weight:900}.progress{height:6px;margin:10px 0 6px;border-radius:3px;background:#ffffff14;overflow:hidden}.progress i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#ffd98a,var(--accent))}.sector-card .sub{color:var(--text2);font-size:14px}.group{margin-top:14px}.group-title{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);opacity:.75;margin-bottom:8px}.nodes{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;justify-items:center}.nodes:before{content:"";position:absolute;left:10%;right:10%;top:50%;border-top:2px dashed rgba(200,212,239,.16)}.node{position:relative;width:100%;max-width:60px;aspect-ratio:1;border-radius:50%;background:#252f5c;border:1px solid var(--edge);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;font-size:18px;line-height:20px}.node.current{background:radial-gradient(circle at 35% 30%,#4a5aa0,#2a3470);box-shadow:0 0 0 3px var(--accent),0 0 20px #f5c96b8c;animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{box-shadow:0 0 0 3px var(--accent),0 0 30px #f5c96bcc}}.node.cleared,.node.mastered{background:radial-gradient(circle at 35% 30%,#5a6bb5,#33407d)}.node.mastered{background:radial-gradient(circle at 35% 30%,#ffe3a3,#c89a46);color:#2a2140}.node.mastered .star.on{color:#fff7e8}.node.locked{color:var(--text2);background:#252f5c8c;opacity:.55}.node .stars{display:flex;gap:0;margin-top:1px}.star{color:#ffffff38}.star.on{color:var(--accent)}.hud{position:absolute;pointer-events:none}.hud>*{pointer-events:auto}.hud-header{position:absolute;left:12px;right:12px;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.hud-title{flex:1;min-width:0;text-align:center;font-weight:800;font-size:15px;line-height:18px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-footer{position:absolute;left:12px;right:12px;display:flex;align-items:center;justify-content:center;gap:8px}.hud-footer .grow{flex:1}.ability-slot{flex:1;min-width:0;display:flex;gap:8px}.tile.ability{flex:1;min-width:0;padding:8px 12px;border-color:#f5c96b73}.tile.ability .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.ability .cost{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ffffff24;font-size:12px;line-height:1}.tile.ability.release{background:linear-gradient(180deg,#ffd88a,#f0b65a);color:#2a2140;border-color:transparent}.tile.ability.release .cost{background:#2a214029}.tile.ability.armed{background:#f5c96b1f;color:var(--accent);box-shadow:none;animation:armed-glow 1.2s ease-in-out infinite}.ability-group{flex:1;min-width:0;display:flex;gap:8px}.tile.ability.pulse{position:relative;overflow:hidden;border-color:#8fe0f080}.tile.ability.pulse.attract{border-color:#f2a6d88c}.tile.ability.pulse.cooling:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:calc(var(--cd, 0) * 100%);background:#8fe0f0cc;transition:width .12s linear}.tile.ability.pulse.attract.cooling:after{background:#f2a6d8d9}.tile.ability.charge{position:relative;overflow:hidden;border-color:#ffb98a8c}.tile.ability.charge.active{background:#ffb98a47;box-shadow:0 0 14px #ffb98a8c}.tile.ability.charge.cooling:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:calc(var(--cd, 0) * 100%);background:#ffb98ad9;transition:width .12s linear}.tile.ability.off{opacity:.45;filter:saturate(.4)}@media(max-width:380px){.hud-footer.has-ability{gap:6px}.hud-footer.has-ability .chip{padding:6px 10px}.tile.ability{gap:6px;padding:8px;font-size:15px}.tile.ability .cost{display:none}}@media(max-width:440px){.hud-footer.has-mode{gap:6px}.hud-footer.has-mode .chip{padding:6px 10px}.ability-slot.has-mode .tile.ability{gap:5px;padding:8px;font-size:16px}.ability-slot.has-mode .tile.ability .cost{display:none}}@media(max-width:380px){.ability-slot.has-mode .tile.ability.pulse svg{display:none}}@media(max-width:440px){.ability-slot.multi .tile.ability .label{display:none}}@keyframes armed-glow{50%{border-color:#f5c96be6}}@media(prefers-reduced-motion:reduce){.tile.ability.armed{animation:none}}.moves.low{color:var(--danger)}.shake{animation:shake .18s}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.coach{position:absolute;transform:translate(-50%,-100%);padding:6px 12px;border-radius:20px;background:var(--text);color:#2a2140;font-weight:900;font-size:16px;pointer-events:none;width:max-content;max-width:min(340px,calc(100vw - 32px));text-align:center;box-shadow:0 6px 16px #00000059}.modal-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0e209e;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);pointer-events:auto;padding:16px}.modal{position:relative;width:min(340px,100%);max-height:100%;overflow-y:auto;overflow-x:hidden;border-radius:26px;background:var(--panel);border:1px solid var(--edge);padding:22px 18px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:var(--edge-hi),0 24px 60px #00000080;animation:rise .26s ease-out both}@keyframes rise{0%{transform:translateY(16px) scale(.97);opacity:0}}.modal-wrap:has(.result){padding-top:64px}.modal.result{overflow:visible;padding-top:52px}.result-hero{position:absolute;top:-48px;left:50%;transform:translate(-50%);filter:drop-shadow(0 8px 18px rgba(0,0,0,.45));animation:bob 3.2s ease-in-out infinite}.result-hero img{position:absolute;inset:0;width:100%;height:100%}.modal h2{margin:0;font-size:28px;line-height:34px;font-weight:900}.modal .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal .row.icons{gap:14px;margin-top:2px}.score-line{font-size:22px;line-height:26px;font-weight:900;color:var(--text2);font-variant-numeric:tabular-nums}.result-hint{font-size:15px;line-height:20px;color:var(--text2);max-width:280px}.result-note{font-weight:800;color:var(--success)}.result-item{display:flex;flex-direction:column;align-items:center;gap:6px}.pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:4px 14px;border-radius:999px;background:#ffffff12;border:1px solid var(--edge);font-weight:800;font-size:15px;max-width:100%}.pill.dust{color:var(--accent);font-size:20px;font-weight:900;background:#f5c96b1a;border-color:#f5c96b4d}.tile.ad{color:var(--accent)}.ad-offer{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;text-align:center}.ad-offer>.tile.wide{width:100%}.big-stars{display:flex;gap:8px;align-items:flex-end;filter:drop-shadow(0 0 12px rgba(245,201,107,.35))}.big-stars .star:nth-child(2){transform:translateY(-10px)}.big-stars .star.pop{animation:pop .42s ease-out both}@keyframes pop{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.18)}}.score-big{font-size:34px;line-height:40px;font-weight:900}.goal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;text-align:left;font-size:14px;line-height:18px;color:var(--text2)}.goal-list li{display:flex;align-items:center;gap:10px}.goal-list li.done{color:var(--text)}.goal-stars{display:inline-flex;justify-content:flex-end;width:44px;flex:none;color:#ffffff38}.goal-stars.on{color:var(--accent)}.reward-line{color:var(--accent);font-weight:900;font-size:18px}.small{font-size:14px;line-height:18px;color:var(--text2)}.sheet{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:min(480px,100%);border-radius:var(--r-panel) var(--r-panel) 0 0;background:var(--panel);padding:16px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;pointer-events:auto;box-shadow:0 -10px 40px #0006}.sheet p{margin:0;font-size:17px;line-height:23px}.tabs{display:flex;gap:8px;padding:0 16px 8px}.tabs .tile{flex:1}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.card{border-radius:var(--r-tile);background:var(--panel);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.card.equipped{box-shadow:inset 0 0 0 2px var(--accent)}.card .name{font-weight:800;max-width:100%;overflow-wrap:anywhere}.swatches{display:flex;gap:4px;height:40px;max-width:100%;align-items:center}.swatch{flex:0 1 32px;min-width:0;width:32px;height:auto;aspect-ratio:1;border-radius:50%}.trail-preview{display:block;width:120px;max-width:100%;height:40px}.card .tile{width:100%;min-height:44px}.card-lock{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;text-align:left}.card-lock svg{flex:none}.card .tile.buy{background:#3a3f6e;color:var(--accent)}.ach{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r-tile);background:var(--panel);margin-bottom:8px}.ach .ico{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#2f3c6a;color:var(--text2);flex:none}.ach.done .ico{background:var(--success);color:#1d3a2e}.ach .txt{flex:1;text-align:left}.ach .txt b{display:block}.setting{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;min-height:56px;padding:8px 12px 8px 16px;border-radius:var(--r-tile);background:var(--panel-soft);border:1px solid var(--edge);margin-bottom:8px;font-weight:700}.setting input[type=range]{flex:1 1 140px;max-width:200px;accent-color:var(--accent);touch-action:pan-x}.seg{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;padding:3px;border-radius:14px;background:#0000002e}.seg .tile{min-height:40px;min-width:52px;padding:4px 12px;background:transparent;border-color:transparent;box-shadow:none}.seg .tile.selected{background:#f5c96b29}.toast{position:absolute;left:50%;bottom:18%;transform:translate(-50%);padding:10px 18px;border-radius:999px;background:var(--text);color:#2a2140;font-weight:800;pointer-events:none;animation:fade 1.8s forwards}@keyframes fade{0%,80%{opacity:1}to{opacity:0}}.overlay-block{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;background:var(--bg);pointer-events:auto;text-align:center;padding:24px;font-size:20px;font-weight:800}.boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg);pointer-events:auto}.spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.phone-rotate,.window-grow{width:44px;height:76px;border:4px solid var(--text);border-radius:10px;animation:turn 2s ease-in-out infinite}.window-grow{width:80px;height:56px;border-radius:6px;animation:none}@keyframes turn{50%{transform:rotate(90deg)}}
