:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#fff;background:#120b24}html,body,#root{margin:0;min-height:100%}body{min-width:320px;background:radial-gradient(circle at top left,rgba(255,204,102,.12),transparent 28%),radial-gradient(circle at bottom right,rgba(130,95,255,.16),transparent 30%),#120b24}button{border:0;border-radius:16px;padding:12px 16px;font-size:16px;font-weight:800;cursor:pointer;background:#2b2144;color:#fff;transition:transform .12s ease,opacity .12s ease,background .12s ease}button:hover{transform:translateY(-1px);background:#342752}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.app{width:100%;max-width:1120px;margin:0 auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.topbar strong{font-size:18px;font-weight:900}.topbar span{color:#d7cfff}.stats{display:flex;gap:10px;flex-wrap:wrap}.stats span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;background:#ffffff14;font-weight:900}.nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.nav button{min-width:120px;border-radius:16px;background:#2e2349}.panel{padding:10px 0 24px}h1{margin:8px 0 20px;font-size:clamp(44px,7vw,72px);line-height:.95;letter-spacing:-.04em}h2{margin:22px 0 14px;font-size:20px;line-height:1.2}p{color:#cabff5;line-height:1.5;margin-top:0}.subtitle{margin:0 0 24px;max-width:640px;font-size:18px}.primary{background:linear-gradient(180deg,#ffd73a,#ffbf00);color:#201500;padding:16px 26px;font-size:18px;border-radius:18px}.profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:26px 0}.profile-grid div{min-width:0;color:#d6cbfb;font-size:14px;line-height:1.45}.profile-grid b{display:block;margin-top:4px;color:#fff;font-size:18px}.cards{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px;align-items:stretch}.cat-card{display:flex;flex-direction:column;align-items:center;min-height:220px;padding:22px 16px;border-radius:24px;background:#ffffff14;border:2px solid rgba(255,255,255,.08);color:#fff;text-align:center}.cat-card:hover{background:#ffffff1c}.cat-face{width:72px;height:72px;display:grid;place-items:center;margin-bottom:16px;border-radius:22px;background:#ffd73a26;font-size:40px}.cat-name{min-height:48px;font-size:17px;font-weight:900;line-height:1.2}.rarity{display:inline-flex;align-items:center;justify-content:center;margin:8px 0 10px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:900;text-transform:uppercase}.rarity.common{background:#d9cdfd;color:#4f35b5}.rarity.rare{background:#c8efff;color:#0a709f}.rarity.epic{background:#f0d0ff;color:#8427be}.rarity.legendary{background:#ffe2a5;color:#9b6300}.cat-stats{font-weight:900;margin-bottom:6px}.cat-ability{color:#ddd5ff;font-size:14px;line-height:1.35}.score{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:14px;margin:18px 0 22px}.score span{display:block;padding:14px 16px;border-radius:18px;background:#ffffff14;text-align:center;font-size:22px;font-weight:900}.history{display:grid;gap:10px;margin-top:14px}.history-item{padding:14px 16px;border-radius:16px;background:#ffffff14;color:#fff;line-height:1.45}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.shop-card{padding:18px;border-radius:22px;background:#ffffff14}.shop-card button{width:100%;margin-top:10px}.panel>button:not(.primary){margin-right:8px;margin-top:8px}@media (max-width: 900px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cards,.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.app{padding:14px}.topbar{flex-direction:column;align-items:flex-start}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.nav button{width:100%;min-width:0}.profile-grid,.cards,.shop-grid,.score{grid-template-columns:1fr}h1{font-size:48px}}.menu-actions{display:grid;gap:10px;margin:16px 0}.cat-preview{margin-top:8px;padding:6px 8px;border-radius:10px;background:#ffffff1f;font-size:14px}.round-winner{margin-top:8px;font-weight:800}.history-item small{display:block;opacity:.8;margin:2px 0 6px}.shop-card{margin:16px 0;padding:16px;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.shop-card h2{margin-top:0}.shop-card.muted{opacity:.65}.collection-card.locked{opacity:.45;filter:grayscale(.8)}.card-badge{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#ffffffe0;color:#111}.locked-badge{background:#000000ad;color:#fff}.open{background:#ffffffe6}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;min-height:100%}body{overflow-x:hidden}.app{width:100%;min-height:100vh;padding:12px}.panel{width:100%;max-width:100%;padding:18px;border-radius:20px}.topbar{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.stats{display:flex;flex-wrap:wrap;gap:8px}.stats span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border-radius:999px}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 18px}.nav button{width:100%}.menu-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:16px 0 22px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.cards{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.collection-card{position:relative;width:100%}.cat-card{width:100%;min-height:260px;padding:18px 16px;border-radius:20px;text-align:center}.cat-face{font-size:44px;margin-bottom:10px}.cat-name{font-size:18px;line-height:1.2;margin-bottom:10px;word-break:break-word}.cat-stats,.cat-ability,.cat-preview{font-size:15px;line-height:1.35}.cat-preview{margin:10px 0;padding:8px 10px;border-radius:12px}.collection-card.locked{opacity:.5;filter:grayscale(.85)}.card-badge{position:absolute;top:10px;right:10px;z-index:2;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;line-height:1}.open{background:#fff;color:#111}.locked-badge{background:#000000b8;color:#fff}.history{display:grid;gap:12px}.history-item{padding:12px;border-radius:14px}.shop-card{margin:14px 0;padding:16px;border-radius:18px}button,.primary{min-height:48px;border-radius:14px;font-size:16px;font-weight:700}h1{font-size:34px;line-height:1.1;margin-bottom:12px}h2{font-size:24px;line-height:1.2;margin-top:22px;margin-bottom:12px}.subtitle{font-size:16px;line-height:1.45}@media (min-width: 640px){.app{padding:16px}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.cards,.menu-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 960px){.app{max-width:1100px;margin:0 auto;padding:20px}.topbar{flex-direction:row;justify-content:space-between;align-items:center}.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.deck-button{width:100%;margin-top:10px}.secondary{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.24)}.opponent-card{margin:14px 0 18px;padding:14px;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18)}.opponent-title{display:flex;gap:12px;align-items:center}.opponent-emoji{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;font-size:28px;background:#ffffff24}.opponent-title p{margin:4px 0 0;opacity:.85}.opponent-hint{margin-top:12px;padding:10px;border-radius:14px;background:#ffd70024;line-height:1.4}.duel-mode{padding:8px;min-height:100vh}.duel-panel{min-height:calc(100vh - 16px);padding:12px;display:flex;flex-direction:column;gap:10px}.duel-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:2px}.duel-header h1{font-size:24px;margin:0}.duel-header p{margin:4px 0 0;opacity:.8}.small-button{min-height:36px;padding:8px 12px;border-radius:12px;font-size:14px}.duel-panel .opponent-card{margin:0;padding:10px;border-radius:16px}.duel-panel .opponent-title{gap:8px}.duel-panel .opponent-emoji{width:38px;height:38px;border-radius:12px;font-size:22px}.duel-panel .opponent-title p{font-size:13px}.duel-panel .opponent-hint{margin-top:8px;padding:8px;font-size:13px}.duel-panel .score{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.duel-panel .score span{padding:8px;border-radius:12px;text-align:center;background:#ffffff1f;font-weight:800}.duel-cards{grid-template-columns:1fr;gap:8px}.duel-cards .cat-card{min-height:auto;padding:10px;border-radius:16px;display:grid;grid-template-columns:54px 1fr;grid-template-areas:"face name" "face rarity" "face stats" "face preview" "face ability";column-gap:10px;text-align:left;align-items:center}.duel-cards .cat-face{grid-area:face;width:54px;height:54px;font-size:32px;margin:0;border-radius:14px}.duel-cards .cat-name{grid-area:name;font-size:17px;margin:0 0 4px}.duel-cards .rarity{grid-area:rarity;width:fit-content;margin:0 0 4px;font-size:11px}.duel-cards .cat-stats{grid-area:stats;font-size:13px;margin:0}.duel-cards .cat-preview{grid-area:preview;margin:5px 0;padding:5px 7px;font-size:13px}.duel-cards .cat-ability{grid-area:ability;font-size:12px;line-height:1.25;opacity:.85}.compact-title{font-size:18px;margin:4px 0 0}.compact-history{max-height:180px;overflow-y:auto;gap:8px;padding-right:2px}.compact-history .history-item{padding:9px;font-size:13px;border-radius:12px}.compact-history small{font-size:12px}.compact-history .round-winner{font-size:13px;margin-top:5px}@media (max-height: 740px){.duel-panel .opponent-hint,.duel-cards .cat-ability{display:none}.compact-history{max-height:130px}}.battle-screen{height:100vh;max-height:100vh;overflow:hidden;padding:10px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:8px;background:radial-gradient(circle at top left,rgba(255,204,51,.16),transparent 32%),linear-gradient(160deg,#120923,#16092d 55%,#0c0618)}.battle-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.battle-top h1{font-size:22px;line-height:1;margin:2px 0 0}.battle-label{font-size:13px;opacity:.8}.battle-menu-button{width:38px;height:38px;min-height:38px;padding:0;border-radius:12px;font-size:24px;line-height:1}.battle-opponent{padding:10px;border-radius:16px;background:#ffffff1c;border:1px solid rgba(255,255,255,.14)}.battle-opponent-main{display:flex;align-items:center;gap:10px}.battle-opponent-main>span{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;font-size:26px;background:#ffffff1f}.battle-opponent-main b{display:block;font-size:16px}.battle-opponent-main small{display:block;margin-top:2px;opacity:.82;font-size:12px}.battle-opponent p{margin:8px 0 0;font-size:12px;line-height:1.25;opacity:.9}.battle-score{display:grid;grid-template-columns:1fr 1fr;gap:8px}.battle-score div{padding:8px;border-radius:14px;background:#ffffff1f;text-align:center}.battle-score span{display:block;font-size:12px;opacity:.8}.battle-score b{display:block;font-size:22px;line-height:1;margin-top:3px}.battle-cards{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;min-height:0}.battle-card{width:100%;min-height:0;padding:8px;border-radius:16px;display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;text-align:left}.battle-card:disabled{opacity:.35}.battle-card-face{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:32px;background:#ffffff21}.battle-card-info{min-width:0}.battle-card-info b{display:block;font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-card-info span{display:inline-block;margin:4px 0;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:900;background:#ffffffd1;color:#2b174a;text-transform:uppercase}.battle-card-info strong{display:block;font-size:16px;line-height:1.1;color:#ffd236}.battle-card-info small{display:block;margin-top:3px;font-size:11px;line-height:1.15;opacity:.82}.battle-log{min-height:76px;max-height:94px;overflow:hidden;padding:10px;border-radius:16px;background:#0000003d;border:1px solid rgba(255,255,255,.1)}.battle-log p{margin:4px 0;font-size:12px;line-height:1.25}.battle-log b{font-size:13px}.battle-log small{font-size:12px}@media (max-height: 760px){.battle-screen{gap:6px;padding:8px}.battle-opponent p{display:none}.battle-card-face{width:46px;height:46px;font-size:28px}.battle-card{grid-template-columns:46px 1fr;padding:7px}.battle-card-info small{display:none}.battle-log{min-height:58px;max-height:70px;padding:8px}}.result-screen{min-height:calc(100vh - 24px);padding:16px;border-radius:24px;background:radial-gradient(circle at top,rgba(255,210,54,.18),transparent 34%),linear-gradient(160deg,#16092d,#0d061b)}.result-hero{text-align:center;padding:22px 16px;border-radius:24px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.result-hero.win{background:radial-gradient(circle at top,rgba(255,210,54,.24),transparent 48%),#ffffff1f}.result-hero.lose{background:radial-gradient(circle at top,rgba(255,80,80,.18),transparent 48%),#ffffff1f}.result-hero.draw{background:radial-gradient(circle at top,rgba(180,160,255,.2),transparent 48%),#ffffff1f}.result-icon{width:76px;height:76px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;border-radius:24px;font-size:42px;background:#00000038}.result-hero h1{margin:0 0 8px;font-size:34px}.result-hero p{margin:0;opacity:.9}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.reward-card{padding:14px;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.reward-card span{display:block;font-size:13px;opacity:.75;margin-bottom:6px}.reward-card b{display:block;font-size:22px}.result-tip{padding:14px;border-radius:18px;line-height:1.4;background:#ffffff1a;margin-bottom:16px}.chest-ready{background:#ffd2362e;border:1px solid rgba(255,210,54,.28)}.result-actions{display:grid;gap:10px}.result-actions button{width:100%}@media (min-width: 640px){.result-screen{max-width:640px;margin:0 auto}.result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.home-screen{display:grid;gap:14px}.home-hero{padding:18px;border-radius:24px;background:radial-gradient(circle at top right,rgba(255,210,54,.22),transparent 42%),#ffffff1f;border:1px solid rgba(255,255,255,.16)}.home-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.72}.home-hero h1{margin:0;font-size:38px;line-height:1}.home-avatar{width:68px;height:68px;display:flex;align-items:center;justify-content:center;border-radius:22px;font-size:40px;background:#00000038}.home-subtitle{margin:14px 0 0;line-height:1.45;opacity:.92}.home-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-stats div{padding:14px;border-radius:18px;background:#ffffff1f}.home-stats span{display:block;font-size:12px;opacity:.75;margin-bottom:5px}.home-stats b{font-size:20px}.home-loop{padding:16px;border-radius:22px;background:#ffffff17}.home-loop h2{margin-top:0}.loop-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.loop-steps div{display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;background:#ffffff1a}.loop-steps b{width:26px;height:26px;min-width:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffd236;color:#21113d}.loop-steps span{font-size:13px;font-weight:700}.home-chest-ready,.home-chest-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-radius:20px}.home-chest-ready{background:#ffd2362e;border:1px solid rgba(255,210,54,.3)}.home-chest-progress{background:#ffffff1a}.home-chest-ready p,.home-chest-progress p{margin:4px 0 0;font-size:13px;opacity:.85}.home-chest-ready button{min-width:96px}.home-actions{display:grid;gap:10px}.big-action{min-height:58px;font-size:18px}.home-deck{padding:16px;border-radius:22px;background:#ffffff17}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.section-title-row h2{margin:0}.mini-deck{display:grid;gap:10px}.mini-cat{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:16px;background:#ffffff1a}.mini-cat span{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;font-size:28px;background:#ffffff1f}.mini-cat b{font-size:15px}.mini-cat small{padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#ffffffd1;color:#21113d;text-transform:uppercase}@media (min-width: 760px){.home-screen{max-width:760px;margin:0 auto}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-deck{grid-template-columns:repeat(3,minmax(0,1fr))}}.duel-mode{height:100vh;overflow:hidden;padding:0}.duel-mode .topbar,.duel-mode .nav{display:none}.simple-battle-screen{height:100vh;max-height:100vh;overflow:hidden;padding:10px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:10px;background:radial-gradient(circle at top right,rgba(255,210,54,.2),transparent 34%),linear-gradient(160deg,#140726,#090413)}.simple-battle-top{display:flex;align-items:center;justify-content:space-between}.simple-battle-top h1{margin:2px 0 0;font-size:24px;line-height:1}.simple-score{display:grid;grid-template-columns:1fr 1fr;gap:8px}.simple-score div{padding:8px;border-radius:14px;text-align:center;background:#ffffff1f}.simple-score span{display:block;font-size:12px;opacity:.75}.simple-score b{display:block;font-size:24px;line-height:1}.bot-reveal{padding:12px;border-radius:18px;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.bot-reveal p,.simple-player-pick p{margin:0 0 8px;font-size:13px;opacity:.8;font-weight:700}.bot-card-open{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center}.bot-face{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;background:#00000038}.bot-card-open b{display:block;font-size:18px}.bot-card-open span{display:block;margin-top:4px;font-size:16px;color:#ffd236;font-weight:900}.simple-player-pick{min-height:0}.simple-pick-list{display:grid;gap:8px;height:100%}.simple-pick-card{min-height:0;width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px;border-radius:16px;text-align:left;background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.simple-pick-card:disabled{opacity:.36}.simple-pick-card.win{border-color:#50ffa080}.simple-pick-card.lose{border-color:#ff5a5a61}.simple-pick-card.draw{border-color:#ffd23673}.simple-pick-face{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;background:#ffffff1f}.simple-pick-info{min-width:0}.simple-pick-info b{display:block;font-size:15px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-pick-info span{display:block;margin-top:4px;color:#ffd236;font-weight:900}.simple-outcome{min-width:86px;padding:7px 9px;border-radius:999px;text-align:center;font-size:12px;font-weight:900}.simple-outcome.win{background:#50ffa02e;color:#94ffbd}.simple-outcome.lose{background:#ff50502e;color:#faa}.simple-outcome.draw{background:#ffd2362e;color:#ffe58a}.simple-last-move{min-height:78px;max-height:96px;overflow:hidden;padding:10px;border-radius:16px;background:#0000003d}.simple-last-move p{margin:4px 0;font-size:12px;line-height:1.25}.simple-last-move b,.simple-last-move span{font-size:13px}@media (max-height: 740px){.simple-battle-screen{gap:7px;padding:8px}.bot-face{width:46px;height:46px;font-size:28px}.bot-card-open{grid-template-columns:46px 1fr}.simple-pick-face{width:42px;height:42px;font-size:24px}.simple-pick-card{grid-template-columns:42px 1fr auto;padding:7px}.simple-last-move{min-height:58px;max-height:70px}}.collection-card{position:relative}.deck-button{position:relative;z-index:20;pointer-events:auto;display:block;width:100%;margin-top:10px}.deck-warning{margin:10px 0 16px;padding:12px;border-radius:16px;background:#ffd23629;border:1px solid rgba(255,210,54,.28);line-height:1.35;font-size:14px}.deck-button:disabled{opacity:.5;cursor:not-allowed}.collection-cat-view{width:100%;min-height:250px;padding:18px 16px;border-radius:20px;text-align:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.16)}.collection-cat-view .cat-face{font-size:44px;margin-bottom:10px}.collection-cat-view .cat-name{font-size:18px;line-height:1.2;margin-bottom:10px}.collection-card .deck-button{position:relative;z-index:50;pointer-events:auto}
