:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box}:root{--bg:#050816;--panel:#0c1226db;--panel-soft:#ffffff0f;--border:#94a3b82e;--text:#fff;--muted:#9fb3d9;--blue:#0052ff;--purple:#8b5cf6;--green:#22c55e;--red:#ef4444;--yellow:#facc15}body{background:radial-gradient(circle at 15% 10%, #0052ff3d, transparent 34%), radial-gradient(circle at 85% 18%, #8b5cf638, transparent 30%), radial-gradient(circle at 50% 100%, #22c55e14, transparent 32%), var(--bg);color:var(--text);margin:0;font-family:Inter,Arial,sans-serif}button{cursor:pointer;border:0;font-weight:800;transition:transform .18s,opacity .18s,box-shadow .18s}button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{cursor:not-allowed;opacity:.55}.page{min-height:100vh;padding:28px}.hero,.panel,.arenaPanel,.menuPanel,.notice{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero{background:linear-gradient(135deg, #0052ff24, #8b5cf61a), var(--panel);text-align:center;border:1px solid #60a5fa38;border-radius:34px;place-items:center;max-width:1180px;min-height:420px;margin:0 auto 28px;padding:54px 38px;display:grid;box-shadow:0 28px 80px #00000057,0 0 70px #0052ff24}.hero>*{max-width:820px}.badge{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;background:#0052ff2e;border:1px solid #80b3ff38;border-radius:999px;margin-bottom:18px;padding:9px 16px;font-size:13px;font-weight:900;display:inline-block}h1{letter-spacing:-.075em;margin:0;font-size:clamp(48px,7vw,92px);line-height:.92}.hero p{color:#c5d4f3;margin:22px auto 30px;font-size:19px;line-height:1.55}.primary,.battle{color:#fff;background:linear-gradient(135deg, var(--blue), var(--purple));border-radius:16px;padding:15px 23px;box-shadow:0 0 30px #0052ff57}.secondary{color:#dbeafe;background:#ffffff14;border:1px solid #94a3b824;border-radius:16px;margin-left:12px;padding:14px 20px}.wallet,.status{word-break:break-all;color:var(--muted)}.notice{text-align:center;background:var(--panel-soft);border:1px solid var(--border);color:#c7d2fe;border-radius:22px;max-width:760px;margin:0 auto;padding:24px}.panel{border:1px solid var(--border);background:var(--panel);text-align:center;border-radius:30px;max-width:1180px;margin:0 auto;padding:28px;box-shadow:0 22px 60px #00000047}.panel h2,.arenaPanel h2,.menuPanel h2{letter-spacing:-.04em;margin:0 0 20px;font-size:34px}.playerStats{grid-template-columns:repeat(7,1fr);gap:12px;margin:0 0 14px;display:grid}.playerStats div{background:#fff1;border:1px solid #94a3b81a;border-radius:18px;padding:16px 12px}.playerStats strong{color:#93c5fd;margin-bottom:8px;font-size:13px;display:block}.playerStats span{font-size:24px;font-weight:950}.energyNote{color:var(--muted);margin:10px 0 0;font-size:13px}.progressGrid{grid-template-columns:2fr 1fr 1fr;gap:14px;margin:24px 0;display:grid}.xpBox,.rankBox,.chestBox{text-align:left;background:#fff1;border:1px solid #94a3b81f;border-radius:20px;padding:18px}.xpHeader{color:#bfdbfe;justify-content:space-between;gap:12px;margin-bottom:12px;font-weight:800;display:flex}.xpBar{background:#94a3b833;border-radius:999px;width:100%;height:14px;overflow:hidden}.xpBar div{background:linear-gradient(135deg, var(--blue), var(--purple));border-radius:999px;height:100%;box-shadow:0 0 20px #8b5cf673}.rankBox strong,.chestBox strong{color:#93c5fd;margin-bottom:8px;display:block}.rankBox span,.chestBox span{margin-bottom:6px;font-size:22px;font-weight:950;display:block}.rankBox small,.chestBox small,.xpBox small{color:var(--muted)}.chestReady{background:#facc1524;border-color:#facc1573;box-shadow:0 0 28px #facc152e}.lastBattle{background:#8b5cf61f;border:1px solid #8b5cf63d;border-radius:20px;margin:20px 0;padding:18px}.lastBattle h3{color:#c4b5fd;margin:0 0 8px}.lastBattle p{margin:0 0 8px;font-size:18px;font-weight:900}.lastBattle small{color:var(--muted)}.arenaPanel{border:1px solid var(--border);text-align:center;background:#0c1226c7;border-radius:34px;max-width:1180px;margin:28px auto 0;padding:30px;box-shadow:0 22px 60px #00000047}.grid{grid-template-columns:repeat(5,minmax(170px,1fr));gap:16px;max-width:1180px;margin:24px auto 0;display:grid}.card{text-align:left;background:#0f172acc;border:1px solid #94a3b829;border-radius:24px;padding:20px;box-shadow:0 18px 45px #00000038}.card.selected{border-color:#8b5cf6e6;transform:translateY(-4px);box-shadow:0 0 32px #8b5cf657}.card h2{margin:0 0 8px;font-size:24px}.card p{color:#b7c5e6;min-height:44px;line-height:1.35}.stats{gap:8px;margin:18px 0;display:grid}.stats span{color:#bfdbfe;background:#0052ff1f;border-radius:12px;padding:8px 10px;font-size:13px;font-weight:800}.card button{color:#fff;background:#8b5cf6e0;border-radius:14px;width:100%;padding:13px}.arenaScene{background:radial-gradient(circle at 25% 45%,#0052ff47,#0000 28%),radial-gradient(circle at 75% 45%,#ef444438,#0000 28%),linear-gradient(#0f172af5,#020617f5);border:1px solid #94a3b833;border-radius:34px;grid-template-columns:1fr 120px 1fr;align-items:center;gap:18px;min-height:340px;margin:32px 0;padding:34px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 -40px 80px #00000059,0 0 45px #0052ff29}.arenaScene:before{content:"";background:radial-gradient(#94a3b82e,#0000 68%);border-radius:50%;height:90px;position:absolute;inset:auto 5% 22px}.arenaTopLabel{color:#bfdbfe;letter-spacing:.14em;background:#0052ff2e;border:1px solid #60a5fa40;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:950;position:absolute;top:16px;left:50%;transform:translate(-50%)}.arenaFighter{z-index:2;text-align:center;background:#0f172ab8;border:1px solid #94a3b82e;border-radius:28px;place-items:center;min-height:220px;padding:24px;display:grid;position:relative}.playerSide{animation:1.8s ease-in-out infinite playerIdle}.enemySide{animation:1.8s ease-in-out infinite enemyIdle}.fighterAura{filter:blur(22px);opacity:.55;border-radius:50%;width:132px;height:132px;position:absolute}.blueAura{background:#0052ff8c}.redAura{background:#ef444473}.arenaEmoji{z-index:3;filter:drop-shadow(0 0 18px #ffffff38);font-size:84px;position:relative}.arenaFighter h3{z-index:3;margin:6px 0 0;font-size:26px;position:relative}.arenaFighter p,.arenaFighter small{z-index:3;color:#cbd5e1;margin:4px 0 0;position:relative}.attackLine{z-index:2;background:linear-gradient(90deg,#60a5fa,#a78bfa,#f87171);border-radius:999px;height:8px;position:relative;box-shadow:0 0 28px #8b5cf68c}.attackLine span{background:linear-gradient(135deg, var(--blue), var(--purple));border-radius:50%;place-items:center;width:58px;height:58px;font-size:26px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 32px #8b5cf68c}.arenaAfterBattle .attackLine{animation:.9s ease-in-out infinite slashPulse}.arenaResult{z-index:5;letter-spacing:.12em;border-radius:999px;padding:10px 22px;font-weight:1000;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.victoryFlash{color:#86efac;background:#22c55e38;border:1px solid #22c55e59;box-shadow:0 0 32px #22c55e38}.defeatFlash{color:#fecaca;background:#ef444433;border:1px solid #ef444459;box-shadow:0 0 32px #ef444438}.bigBattle{width:min(100%,460px);font-size:17px}.result{border-radius:20px;margin-top:24px;padding:18px;font-weight:850}.result h3{margin:0 0 8px}.result p{margin:0 0 8px;font-size:20px}.result small{color:inherit;opacity:.88}.result.win{color:#86efac;background:#22c55e29;border:1px solid #22c55e3d}.result.loss{color:#fecaca;background:#ef444424;border:1px solid #ef444438}.levelUp{background:linear-gradient(135deg, var(--yellow), #f97316);color:#111827;border-radius:999px;width:fit-content;margin:12px auto;padding:10px 16px;font-weight:950;box-shadow:0 0 28px #facc1559}.resultActions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.historyPanel,.codexPanel{text-align:left;background:#ffffff0e;border:1px solid #94a3b824;border-radius:24px;margin-top:24px;padding:20px}.historyPanel h3,.codexPanel h3{text-align:center;color:#c4b5fd;margin:0 0 16px}.historyItem{border-radius:14px;justify-content:space-between;gap:12px;margin-bottom:10px;padding:12px;display:flex}.historyItem span{font-weight:850}.historyItem small{color:#cbd5e1}.historyWin{background:#22c55e1f}.historyLoss{background:#ef44441f}.codexGrid{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.codexCard{text-align:center;background:#0f172abf;border:1px solid #94a3b81f;border-radius:14px;padding:12px}.codexCard span{margin-bottom:8px;font-size:26px;display:block}.codexCard strong{margin-bottom:6px;font-size:13px;display:block}.codexCard small{color:var(--muted);font-size:11px}.status{text-align:center;background:#ffffff0e;border:1px solid #94a3b81f;border-radius:16px;max-width:920px;margin:22px auto 0;padding:14px 18px}@keyframes playerIdle{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-5px)translate(3px)}}@keyframes enemyIdle{0%,to{transform:translateY(0)translate(0)}50%{transform:translateY(-5px)translate(-3px)}}@keyframes slashPulse{0%,to{opacity:.7;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.08)}}@media (width<=1100px){.playerStats{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.codexGrid{grid-template-columns:repeat(3,1fr)}.progressGrid{grid-template-columns:1fr}}@media (width<=760px){.page{padding:16px}.hero{min-height:360px;padding:44px 22px}.arenaScene{grid-template-columns:1fr;padding-top:54px}.attackLine{background:linear-gradient(#60a5fa,#a78bfa,#f87171);width:8px;height:70px;margin:0 auto}.historyItem{flex-direction:column}}@media (width<=560px){.playerStats,.grid,.codexGrid{grid-template-columns:1fr}.secondary{width:100%;margin:12px 0 0}.battle{width:100%}}.hero{min-height:250px;margin-bottom:18px;padding:34px 28px}.hero p{margin:12px auto 18px}.hero .wallet{margin:14px 0 0;font-size:13px}.badge{margin-bottom:12px}h1{font-size:clamp(42px,5.5vw,72px)}.panel{margin-bottom:18px;padding:22px}.panel h2,.arenaPanel h2,.menuPanel h2{margin-bottom:16px;font-size:28px}.playerStats{gap:10px}.playerStats div{padding:12px 10px}.playerStats strong{margin-bottom:6px;font-size:12px}.playerStats span{font-size:20px}.energyNote{margin:6px 0 0;font-size:12px}.progressGrid{gap:10px;margin:16px 0}.xpBox,.rankBox,.chestBox{padding:14px}.lastBattle{margin:14px 0;padding:14px}.arenaPanel{margin-top:18px;padding:24px}.grid{margin-top:18px}.card{padding:16px}.card h2{font-size:21px}.card p{min-height:34px;font-size:14px}.emoji{margin-bottom:8px;font-size:34px}.stats{margin:12px 0}.arenaScene{min-height:300px;margin:22px 0}
