*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{color:#eef0ff;-webkit-user-select:none;user-select:none;background:#0d1030;height:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}.screen{-webkit-backdrop-filter:blur(2px);z-index:10;text-align:center;background:radial-gradient(at 50% 120%,#5a64ff38,#0000 60%),radial-gradient(at 20% -10%,#ffd54a1a,#0000 50%),#0d1030cc;flex-direction:column;justify-content:flex-start;align-items:center;gap:22px;padding:24px;animation:.22s ease-out both screen-in;display:flex;position:fixed;inset:0;overflow-y:auto}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}.screen.dim{-webkit-backdrop-filter:blur(3px);z-index:14;background:#080a22a8}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.btn:focus-visible,.draft-card:focus-visible,.route-card:focus-visible,.mode-card:focus-visible{outline-offset:2px;outline:3px solid #ffd54a}.logo h1{letter-spacing:-.03em;text-shadow:0 6px #00000059;font-size:clamp(44px,10vw,84px);font-weight:900}.logo h1 span{color:#ffd54a}.logo .arc{width:min(260px,60vw);margin:0 auto -6px;display:block}.tagline{color:#9ef0ff;letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:clamp(14px,2.5vw,18px);font-weight:600}.menu-buttons{flex-direction:column;gap:12px;width:min(340px,86vw);display:flex}.btn{font:inherit;color:#eef0ff;cursor:pointer;background:#262a63;border:0;border-radius:14px;padding:14px 22px;font-size:19px;font-weight:800;transition:transform 80ms,filter .12s;position:relative;box-shadow:0 5px #00000059}.btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 2px #00000059}.btn.primary{background:linear-gradient(#6c7bff,#4a55e8)}.btn.danger{background:#8f3350}.btn.small{padding:10px 16px;font-size:15px}.btn em{vertical-align:super;color:#ffd54a;margin-left:6px;font-size:12px;font-style:normal}.hints,.best-line{color:#eef0ff8c;max-width:420px;font-size:13px;line-height:1.5}.best-line{color:#ffd54a;font-weight:700}.panel{background:#171a4a;border:1px solid #ffffff17;border-radius:20px;flex-direction:column;gap:16px;width:min(440px,92vw);padding:28px 32px;display:flex;box-shadow:0 20px 60px #00000080}.panel h2{font-size:26px;font-weight:900}.row{text-align:left;cursor:pointer;align-items:center;gap:10px;font-size:16px;display:flex}.row input{accent-color:#6c7bff;width:18px;height:18px}.row.muted{color:#eef0ff80;cursor:default;font-size:13px}#res-goal{text-align:center;line-height:1.7;display:block}#res-goal .ok{color:#8dffa0;font-weight:800}.row-buttons{justify-content:center;gap:10px;display:flex}.panel.wide{width:min(680px,94vw);max-height:88vh;overflow-y:auto}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.chip{color:#ffd54a;white-space:nowrap;background:#ffd54a24;border:1px solid #ffd54a66;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:800}.mode-sub{color:#eef0ff8c;font-size:13px}.mode-grid{flex-direction:column;gap:10px;display:flex}.mode-card{font:inherit;text-align:left;color:#eef0ff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:transform 80ms,filter .12s;display:flex}.mode-card:hover{filter:brightness(1.2);transform:translateY(-2px)}.mode-icon{text-align:center;flex:none;width:44px;font-size:30px}.mode-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mode-name{font-size:16px;font-weight:900}.mode-desc{color:#eef0ff99;font-size:12px;line-height:1.35}.mode-best{color:#ffd54a;white-space:nowrap;background:#ffd54a1a;border:1px solid #ffd54a59;border-radius:999px;flex:none;padding:5px 10px;font-size:11px;font-weight:800}#goal.urgent{color:#ff8f8f;border-color:#ff8f8fb3;animation:.4s infinite alternate pulse}.champ-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.champ-card{text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:7px;padding:12px;display:flex}.champ-card.equipped{border-color:#ffd54a;box-shadow:0 0 0 1px #ffd54a80,0 6px 18px #ffd54a26}.champ-head{align-items:center;gap:8px;display:flex}.champ-sprite{background:#0a0e2899;border:1px solid #ffffff1a;border-radius:12px;flex:none}.champ-name-wrap{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.champ-name{font-size:16px;font-weight:900}.champ-tag{color:#ffd54ad9;font-size:11px;font-weight:700}.champ-lv{color:#9ef0ff;margin-left:auto;font-size:11px;font-weight:800}.champ-blurb{color:#eef0ff99;min-height:2.6em;font-size:12px;line-height:1.35}.champ-stats{flex-direction:column;gap:3px;display:flex}.stat-row{color:#eef0ffb3;align-items:center;gap:6px;font-size:11px;display:flex}.stat-row .bar{background:#ffffff1a;border-radius:999px;flex:1;height:6px;overflow:hidden}.stat-row .bar i{background:linear-gradient(90deg,#9ef0ff,#ffd54a);border-radius:999px;height:100%;display:block}.champ-card .btn{margin-top:2px;padding:9px 12px;font-size:14px}.champ-card .btn.buy{color:#2c1503;background:linear-gradient(#ffb35a,#e0912b)}.champ-card .btn:disabled{opacity:.45;cursor:default;filter:none;transform:none}.stars{letter-spacing:8px;color:#ffffff2e;text-shadow:0 3px #00000059;font-size:clamp(30px,7vw,44px);line-height:1}.stars b{color:#ffd54a}#goal{color:#9ef0ff;white-space:nowrap;background:#0d1030b8;border:1px solid #9ef0ff66;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:800;position:absolute;top:44px;left:50%;transform:translate(-50%)}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats div{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:4px;padding:12px 6px;display:flex}.stats span{color:#ffd54a;font-size:22px;font-weight:900}.stats label{text-transform:uppercase;letter-spacing:.06em;color:#eef0ff8c;font-size:11px}#hud{top:0;bottom:0;left:var(--col-x,0px);width:var(--col-w,100vw);pointer-events:none;z-index:5;position:fixed}#hud-top{justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:14px;left:16px;right:16px}#score{text-shadow:0 3px #0006;font-size:clamp(28px,5vw,40px);font-weight:900;line-height:1}#combo{color:#9ef0ff;min-height:1.2em;font-size:clamp(18px,3.5vw,26px);font-weight:900;transition:color .15s}#combo.hot{color:#ffd54a;animation:.4s infinite alternate pulse}#coins{color:#ffd54a;font-size:clamp(16px,3vw,22px);font-weight:800}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.12)}}#meter-block{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}#meter{background:#ffffff1f;border:1px solid #fff3;border-radius:999px;width:min(300px,60vw);height:14px;overflow:hidden}#meter-fill{background:linear-gradient(90deg,#9ef0ff,#ffd54a);border-radius:999px;width:0%;height:100%;transition:width .1s linear}#meter-label{letter-spacing:.25em;color:#eef0ff99;font-size:11px;font-weight:900}#meter-block.full #meter{border-color:#ffd54a;box-shadow:0 0 18px #ffd54acc}#meter-block.full #meter-label{color:#ffd54a;animation:.35s infinite alternate pulse}#rush-block{opacity:0;background:#ffffff1f;border-radius:999px;width:160px;height:8px;transition:opacity .2s;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}#rush-fill{background:#ffd54a;width:100%;height:100%;box-shadow:0 0 12px #ffd54a}#rush-block span{letter-spacing:.3em;color:#ffd54a;font-size:10px;font-weight:900;position:absolute;top:-16px;left:50%;transform:translate(-50%)}#btn-rush{color:#ffd54a;width:74px;height:74px;font:inherit;letter-spacing:.1em;pointer-events:auto;cursor:pointer;background:#ffd54a26;border:2px solid #ffd54a99;border-radius:50%;font-size:13px;font-weight:900;position:absolute;bottom:24px;right:20px}#hud-hint{color:#eef0ff73;white-space:nowrap;font-size:12px;position:absolute;top:14px;left:50%;transform:translate(-50%)}#version{color:#eef0ff73;letter-spacing:.04em;z-index:20;pointer-events:none;font-size:12px;font-weight:600;position:fixed;bottom:10px;left:12px}#toast{text-align:center;color:#eef0ff;z-index:30;background:#262a63;border-radius:999px;width:max-content;max-width:calc(100vw - 32px);padding:10px 18px;font-size:14px;font-weight:700;position:fixed;bottom:56px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000073}@media (pointer:fine){#btn-rush{display:none}}@media (pointer:coarse){#hud-hint{display:none}}@media (pointer:fine){.hud-buttons{display:none}}.hud-buttons{pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:24px;right:20px}.hud-buttons button{pointer-events:auto}#btn-bank{color:#8dffa0;width:62px;height:44px;font:inherit;letter-spacing:.06em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#8dffa021;border:2px solid #8dffa08c;border-radius:22px;order:-1;font-size:11px;font-weight:900}#btn-bank:active{background:#8dffa04d;transform:scale(.93)}.hud-buttons #btn-rush{position:static}.missions-box{text-align:left;width:min(420px,92vw);margin-top:18px}.missions-head{letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin-bottom:8px;font-size:12px;font-weight:800}.mission{background:#ffffff0d;border:1px solid #ffffff12;border-radius:10px;grid-template-columns:26px 1fr auto;grid-template-areas:"icon text prog""bar bar bar";align-items:center;gap:2px 8px;margin-bottom:6px;padding:7px 10px;font-size:13px;display:grid}.mission.done{background:#8dffa01a;border-color:#8dffa047}.mission .m-icon{grid-area:icon;font-size:15px}.mission .m-text{opacity:.9;grid-area:text}.mission .m-prog{opacity:.65;font-variant-numeric:tabular-nums;grid-area:prog;font-size:11px;font-weight:800}.mission .m-bar{background:#ffffff1a;border-radius:2px;grid-area:bar;height:3px;display:block;overflow:hidden}.mission .m-bar i{background:linear-gradient(90deg,#9ef0ff,#ffd54a);height:100%;display:block}.mission.done .m-bar i{background:#8dffa0}.mode-sub-line{opacity:.55;letter-spacing:.03em;margin-top:3px;font-size:11px;font-weight:700;display:block}.mode-sub-line b{color:#ffd54a;opacity:1}.champ-ability{color:#cfeaff;background:#9ef0ff17;border:1px solid #9ef0ff33;border-radius:8px;margin:0 0 8px;padding:7px 9px;font-size:11.5px;line-height:1.35}#draft{z-index:12}#draft-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 6px;display:grid}.draft-card{color:#eef0ff;cursor:pointer;font:inherit;text-align:center;background:linear-gradient(#181e4af2,#0e102cf2);border:2px solid #9ef0ff47;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px 16px;transition:transform .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.draft-card:hover,.draft-card:focus-visible{border-color:#ffd54ab3;outline:none;transform:translateY(-4px);box-shadow:0 10px 26px #00000073,0 0 0 1px #ffd54a40}.draft-card:active{transform:translateY(-1px)scale(.98)}.draft-card .d-icon{font-size:30px;line-height:1}.draft-card .d-name{letter-spacing:.02em;font-size:15px;font-weight:900}.draft-card .d-desc{opacity:.72;font-size:12px;line-height:1.4}.draft-card .d-key{opacity:.4;font-size:10px;font-weight:800;position:absolute;top:8px;right:10px}.route-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;display:flex}.route-card:hover{background:#9ef0ff14;border-color:#9ef0ff73}.route-card .r-icon{font-size:26px}.route-card .r-main{flex:1;min-width:0}.route-card .r-name{font-size:15px;font-weight:800;display:block}.route-card .r-sub{opacity:.65;margin-top:2px;font-size:12px;line-height:1.4;display:block}.route-card .r-tag{letter-spacing:.06em;text-transform:uppercase;vertical-align:2px;border:1px solid;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:10px;font-weight:900;display:inline-block}.route-card .r-tag.gentle{color:#8dffa0}.route-card .r-tag.mean{color:#ffd54a}.route-card .r-tag.brutal{color:#ff8f8f}.route-card.shared{background:#ffd54a14;border-color:#ffd54a8c}.route-card .r-best{color:#ffd54a;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:800}.route-card input{color:#fff;width:78px;font:inherit;letter-spacing:.12em;text-align:center;text-transform:uppercase;background:#0000004d;border:1px solid #ffffff2e;border-radius:8px;padding:7px 9px;font-size:13px}@media (width<=620px){#draft-cards{grid-template-columns:1fr}}#btn-pause{color:#eef0ffd9;width:36px;height:36px;font:inherit;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;background:#0d103080;border:1.5px solid #eef0ff59;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:40px;right:14px}#btn-pause svg{fill:currentColor;width:14px;height:14px}@media (width<=600px){#hud-hint{display:none}}#btn-pause:hover{background:#0d1030cc}#coach{color:#fff;text-align:center;pointer-events:none;background:#0d1030db;border:1px solid #ffd54a80;border-radius:14px;width:max-content;max-width:calc(100% - 28px);padding:10px 16px;font-size:14px;font-weight:800;line-height:1.35;animation:.25s ease-out both coach-in;position:absolute;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #0006}@keyframes coach-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.col-buttons{flex-direction:column;gap:10px;display:flex}.menu-row{gap:10px;display:flex}.menu-row .btn{flex:1}.streak-line{color:#ff9f6e;margin-top:-12px;font-size:13px;font-weight:800}.build-line{min-height:1.3em;line-height:1.5}.timer{background:#ffffff1f;border-radius:999px;height:6px;overflow:hidden}.timer i{background:linear-gradient(90deg,#ff8f8f,#ffd54a);border-radius:999px;width:100%;height:100%;display:block}.unlock{text-align:left;color:#eef0ffbf;background:#ffffff0d;border:1px solid #ffffff17;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:800}.unlock .u-head{justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.unlock .u-head b{color:#ffd54a}.unlock .u-bar{background:#ffffff1a;border-radius:999px;height:6px;overflow:hidden}.unlock .u-bar i{background:linear-gradient(90deg,#9ef0ff,#ffd54a);border-radius:999px;height:100%;transition:width .7s ease-out;display:block}.unlock.ready{background:#8dffa014;border-color:#8dffa080}.unlock.ready .u-head b{color:#8dffa0}#btn-share{align-self:center}.howto-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.howto-card{background:#ffffff0d;border:1px solid #ffffff17;border-radius:14px;flex-direction:column;gap:5px;padding:12px 14px;display:flex}.howto-card .h-icon{font-size:24px;line-height:1}.howto-card b{font-size:15px;font-weight:900}.howto-card p{color:#eef0ffb8;font-size:12.5px;line-height:1.45}.howto-card em{color:#ffd54a;font-style:normal;font-weight:900}#res-goal .bonus{color:#ffd54a;font-weight:800}#row-haptics.unsupported{display:none}@media (width<=420px){.panel{padding:22px 18px}.stats span{font-size:19px}#coach{font-size:13px}}@media (prefers-reduced-motion:reduce){.screen,#coach,#combo.hot,#goal.urgent,#meter-block.full #meter-label{animation:none}}@media (pointer:coarse){#coach{max-width:calc(100% - 28px);bottom:168px}}:root{--st:env(safe-area-inset-top,0px);--sr:env(safe-area-inset-right,0px);--sb:env(safe-area-inset-bottom,0px);--sl:env(safe-area-inset-left,0px)}html,body{overscroll-behavior:none}.screen{padding:max(24px, var(--st)) max(24px, var(--sr)) max(24px, var(--sb)) max(24px, var(--sl))}#hud-top{top:calc(14px + var(--st));left:calc(16px + var(--sl));right:calc(16px + var(--sr))}#btn-pause{top:calc(40px + var(--st));right:calc(14px + var(--sr))}#goal{top:calc(44px + var(--st))}#rush-block{top:calc(64px + var(--st))}#hud-hint{top:calc(14px + var(--st))}#meter-block{bottom:calc(18px + var(--sb))}.hud-buttons{right:calc(20px + var(--sr));bottom:calc(24px + var(--sb))}#coach{bottom:calc(100px + var(--sb))}@media (pointer:coarse){#coach{bottom:calc(168px + var(--sb))}}#version{left:calc(12px + var(--sl));bottom:calc(10px + var(--sb))}#toast{bottom:calc(56px + var(--sb))}.icon-btn{top:max(12px, var(--st));right:max(12px, var(--sr));color:#eef0ffd9;cursor:pointer;background:#0d103080;border:1.5px solid #eef0ff59;border-radius:50%;place-items:center;width:40px;height:40px;margin:0;padding:0;display:grid;position:absolute}.icon-btn:hover,.icon-btn:focus-visible{color:#fff;background:#0d1030cc}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-btn .ic-exit,body.is-fs .icon-btn .ic-enter{display:none}body.is-fs .icon-btn .ic-exit{display:block}.link-btn{color:#9db0ff;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:13px;font-weight:700;text-decoration:underline}.fineprint{color:#eef0ff6b;max-width:36ch;font-size:11.5px;line-height:1.45}.row-buttons.wrap{flex-wrap:wrap;justify-content:center}.icon-btn.lang-toggle{right:auto;left:max(12px, var(--sl));letter-spacing:.04em;border-radius:20px;grid-auto-flow:column;gap:6px;width:auto;padding:0 13px 0 11px;font-size:12px;font-weight:800}.lang-row{cursor:default;justify-content:space-between}.lang-row .btn{max-width:64%}.lang-grid{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;display:grid}.lang-option{overflow-wrap:anywhere;padding:11px 10px;font-size:15px}:lang(ja) *,:lang(ko) *,:lang(zh) *,:lang(th) *,:lang(hi) *{letter-spacing:normal!important}.lang-option.active{background:linear-gradient(#6c7bff,#4a55e8);box-shadow:0 5px #00000059,0 0 0 2px #ffd54a}.stat-row .stat-label{text-align:left;flex:none;min-width:52px}:lang(ja) .stats label{word-break:keep-all}.mode-card,.route-card{flex-wrap:wrap}.mode-card .mode-text,.route-card .r-main{flex:150px}.route-card{justify-content:flex-end}.mode-best,.route-card .r-best{margin-left:auto}.btn,.chip,.mode-name,.mode-desc,.mode-sub-line,.route-card .r-name,.route-card .r-sub,.champ-name,.champ-tag,.champ-blurb,.champ-ability,.howto-card b,.howto-card p,.d-name,.d-desc,.mission .m-text{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.champ-name-wrap{flex:1}
