:root{
  --bg:#050b18;
  --panel:rgba(7,20,43,.72);
  --panel-strong:rgba(6,15,34,.92);
  --panel-soft:rgba(12,34,68,.56);
  --line:rgba(120,196,255,.16);
  --line-strong:rgba(75,190,255,.34);
  --blue:#38bdf8;
  --blue2:#2563eb;
  --cyan:#67e8f9;
  --indigo:#6366f1;
  --purple:#8b5cf6;
  --orange:#fb923c;
  --yellow:#facc15;
  --green:#34d399;
  --red:#fb7185;
  --text:#eef7ff;
  --muted:#8ca4bd;
  --muted2:#5f7890;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:18px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{min-height:100%;background:#06142b;scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:transparent;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:#38bdf85e;color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#061023}
::-webkit-scrollbar-thumb{background:#1e4b72;border:2px solid #061023;border-radius:999px}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* WORLD */
.world-bg{position:fixed;inset:0;z-index:-20;overflow:hidden;background:#06204a;pointer-events:none}
.sky-layer{position:absolute;inset:-8%;background:radial-gradient(circle at 75% 12%,rgba(127,219,255,.55),transparent 30%),radial-gradient(circle at 18% 45%,rgba(37,99,235,.42),transparent 34%),linear-gradient(140deg,#041229 0%,#0a3572 38%,#1477c5 74%,#71c9ef 120%);animation:skyDrift 18s ease-in-out infinite alternate}
.charizard-bg{position:absolute;right:-4vw;bottom:-7vh;width:min(76vw,1160px);height:auto;opacity:.5;filter:saturate(1.08) contrast(1.02) drop-shadow(0 0 44px rgba(23,104,197,.2));transform-origin:70% 70%;animation:dragonFloat 16s ease-in-out infinite alternate}
.blue-bloom{position:absolute;inset:-20%;background:radial-gradient(circle at 68% 42%,rgba(41,164,255,.18),transparent 23%),radial-gradient(circle at 45% 80%,rgba(99,102,241,.14),transparent 28%);mix-blend-mode:screen;animation:bloomPulse 9s ease-in-out infinite}
.fire-bloom{position:absolute;right:5%;bottom:7%;width:330px;height:330px;background:radial-gradient(circle,rgba(255,126,38,.22),rgba(255,80,0,.08) 40%,transparent 72%);filter:blur(10px);animation:firePulse 2.4s ease-in-out infinite}
.world-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,20,.88) 0%,rgba(4,13,29,.58) 28%,rgba(4,14,30,.28) 55%,rgba(1,6,14,.44) 100%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(1,7,18,.54));}
.cloud{position:absolute;border-radius:999px;background:rgba(218,244,255,.13);filter:blur(24px);opacity:.55}
.cloud-a{width:420px;height:86px;left:14%;top:16%;animation:cloudMove 34s linear infinite}
.cloud-b{width:540px;height:110px;left:55%;top:61%;opacity:.28;animation:cloudMove2 42s linear infinite}
.cloud-c{width:340px;height:72px;left:31%;top:78%;opacity:.22;animation:cloudMove 50s linear infinite reverse}
.ambient-particles{position:absolute;inset:0}
.ambient-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#b8edff;box-shadow:0 0 10px #50c8ff;opacity:.15;animation:particleFloat var(--dur,14s) linear infinite;animation-delay:var(--delay,0s)}
.ambient-particles i.ember{background:#ffad54;box-shadow:0 0 12px #ff7a1a;opacity:.28}
@keyframes skyDrift{to{transform:scale(1.04) translate3d(-1.5%,1%,0)}}
@keyframes dragonFloat{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-1.2%,-1.2%,0) scale(1.025)}}
@keyframes bloomPulse{50%{opacity:.72;transform:scale(1.03)}}
@keyframes firePulse{50%{opacity:.65;transform:scale(1.08)}}
@keyframes cloudMove{from{transform:translateX(-18vw)}to{transform:translateX(112vw)}}
@keyframes cloudMove2{from{transform:translateX(30vw)}to{transform:translateX(-120vw)}}
@keyframes particleFloat{0%{transform:translateY(105vh) translateX(0);opacity:0}10%{opacity:.22}90%{opacity:.22}100%{transform:translateY(-12vh) translateX(35px);opacity:0}}

/* LOGIN */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.auth-card{width:min(100%,470px);background:linear-gradient(180deg,rgba(6,23,51,.9),rgba(4,12,28,.87));border:1px solid rgba(93,199,255,.2);box-shadow:0 35px 110px rgba(0,0,0,.44),0 0 60px rgba(35,151,255,.12);border-radius:28px;padding:28px;backdrop-filter:blur(24px)}
.brand-mark{display:flex;align-items:center;gap:12px}
.brand-orb{width:40px;height:40px;border-radius:50%;position:relative;background:linear-gradient(180deg,#60d7ff 0 45%,#06152f 46% 54%,#f1fbff 55%);box-shadow:0 0 26px rgba(56,189,248,.4);border:2px solid rgba(255,255,255,.5)}
.brand-orb:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid #071a36;transform:translate(-50%,-50%)}
.brand-name{font-size:20px;font-weight:900;letter-spacing:-.03em}.brand-name span{color:var(--cyan)}
.auth-kicker{margin:28px 0 8px;color:#75d4ff;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.18em}
.auth-card h1{margin:0 0 8px;font-size:32px;line-height:1.05;letter-spacing:-.04em}.auth-card>p{margin:0 0 22px;color:var(--muted);line-height:1.6;font-size:14px}
.auth-tabs{display:flex;padding:4px;background:rgba(5,17,39,.7);border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.auth-tabs button{flex:1;border:0;background:transparent;color:var(--muted);padding:10px 12px;border-radius:10px;font-weight:750}.auth-tabs button.active{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff;box-shadow:0 8px 26px rgba(37,99,235,.26)}
.field{display:grid;gap:7px;margin-bottom:13px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#81a0bd;font-weight:800}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid rgba(111,191,247,.16);background:rgba(3,13,31,.7);color:#f2f8ff;border-radius:13px;padding:12px 13px;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:rgba(80,200,255,.5);box-shadow:0 0 0 4px rgba(14,165,233,.08)}
.auth-submit{width:100%;border:0;border-radius:13px;padding:13px 16px;color:#fff;font-weight:850;background:linear-gradient(135deg,#20c6ff,#2563eb 55%,#6d5dfc);box-shadow:0 14px 36px rgba(31,130,255,.28);margin-top:6px}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-note{margin-top:15px!important;font-size:11px!important;color:#66839d!important;text-align:center}.error-inline{padding:10px 12px;border-radius:12px;background:rgba(244,63,94,.1);border:1px solid rgba(251,113,133,.25);color:#ff9faf;font-size:12px;margin-bottom:12px}

/* APP LAYOUT */
.shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}
.sidebar{height:100vh;position:sticky;top:0;padding:18px 14px;border-right:1px solid rgba(128,209,255,.11);background:linear-gradient(180deg,rgba(4,18,40,.86),rgba(2,10,24,.78));backdrop-filter:blur(24px);z-index:40;display:flex;flex-direction:column}
.sidebar .brand-mark{padding:4px 5px 18px}.sidebar .brand-name{font-size:18px}.nav-label{font-size:9px;color:#58738d;text-transform:uppercase;letter-spacing:.19em;font-weight:900;padding:12px 10px 8px}.nav{display:grid;gap:4px}.nav button{position:relative;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#89a0b6;padding:10px 11px;border-radius:12px;text-align:left;font-size:13px;font-weight:760;transition:.18s}.nav button:hover{background:rgba(29,110,170,.12);color:#dff5ff}.nav button.active{color:#fff;background:linear-gradient(90deg,rgba(14,165,233,.22),rgba(37,99,235,.1));box-shadow:inset 0 0 0 1px rgba(75,190,255,.16)}.nav button.active:before{content:"";position:absolute;left:-14px;top:9px;bottom:9px;width:3px;background:#38bdf8;border-radius:0 5px 5px 0;box-shadow:0 0 14px #38bdf8}.nav-dot{width:8px;height:8px;border-radius:3px;border:1px solid currentColor;opacity:.85;box-shadow:0 0 10px currentColor}.sidebar-bottom{margin-top:auto}.mini-profile{border:1px solid var(--line);background:rgba(10,31,61,.52);border-radius:15px;padding:10px;display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 35% 25%,#7ddfff,#2563eb 50%,#172554);border:1px solid rgba(169,228,255,.45);display:grid;place-items:center;overflow:hidden;box-shadow:0 0 20px rgba(59,130,246,.2)}.avatar img{width:100%;height:100%;object-fit:contain}.avatar b{font-size:14px}.mini-profile .name{font-size:12px;font-weight:850}.mini-profile .coins{font-size:10px;color:#f8d154;margin-top:2px}.logout-link{width:100%;margin-top:7px;border:0;background:transparent;color:#66829b;padding:8px 10px;text-align:left;font-size:11px}.logout-link:hover{color:#ff9fae}
.main-wrap{min-width:0}.topbar{height:68px;position:sticky;top:0;z-index:35;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(121,202,255,.1);background:linear-gradient(180deg,rgba(4,15,34,.82),rgba(4,15,34,.52));backdrop-filter:blur(22px)}.topbar-left{display:flex;align-items:center;gap:12px}.mobile-menu{display:none;border:1px solid var(--line);background:rgba(5,20,44,.65);color:#dff7ff;width:39px;height:39px;border-radius:12px}.breadcrumb{font-size:13px;font-weight:800;color:#d7edfb}.topbar-right{display:flex;align-items:center;gap:9px}.top-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(6,27,58,.58);border-radius:999px;padding:7px 11px;color:#dcefff;font-size:11px;font-weight:800}.top-chip strong{color:#fbd65e}.sound-toggle{border:1px solid var(--line);background:rgba(6,27,58,.58);color:#a9c3d8;border-radius:12px;padding:8px 10px;font-size:11px}.page{padding:26px 28px 80px;max-width:1520px;margin:auto}.page-enter{animation:pageIn .32s ease both}@keyframes pageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* COMMON */
.glass{background:linear-gradient(180deg,rgba(10,34,68,.68),rgba(5,18,40,.66));border:1px solid rgba(117,207,255,.14);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(18px)}
.card{border-radius:var(--radius)}
.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:28px 0 13px}.section-title h2{margin:0;font-size:18px;letter-spacing:-.02em}.section-title p{margin:4px 0 0;color:var(--muted);font-size:11px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#76d6ff;font-weight:900}.muted{color:var(--muted)}.tiny{font-size:10px}.small{font-size:12px}.strong{font-weight:850}.mono{font-variant-numeric:tabular-nums}
.btn{border:1px solid rgba(115,204,255,.16);background:rgba(9,36,72,.65);color:#dff4ff;border-radius:12px;padding:10px 14px;font-weight:800;font-size:12px;transition:.18s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px);border-color:rgba(91,207,255,.38);background:rgba(15,52,98,.72)}.btn:active{transform:translateY(0) scale(.99)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{border:0;background:linear-gradient(135deg,#17c7ff,#2563eb 55%,#685cf6);color:white;box-shadow:0 12px 28px rgba(37,99,235,.22)}.btn-primary:hover{filter:brightness(1.08);background:linear-gradient(135deg,#28d0ff,#2f6dfa 55%,#7768ff)}.btn-warm{border:0;background:linear-gradient(135deg,#ffd058,#fb923c);color:#1a0d02;box-shadow:0 12px 28px rgba(251,146,60,.18)}.btn-ghost{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08)}.btn-danger{background:rgba(244,63,94,.12);border-color:rgba(251,113,133,.22);color:#ff9daf}.btn-sm{padding:7px 10px;font-size:10px;border-radius:10px}.btn-lg{padding:13px 18px;font-size:13px;border-radius:14px}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;border:1px solid rgba(110,200,255,.15);background:rgba(7,27,57,.55);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#91cde9}.pill.open{color:#6ee7b7;border-color:rgba(52,211,153,.25);background:rgba(16,185,129,.08)}.pill.live{color:#7dd3fc;border-color:rgba(56,189,248,.35);background:rgba(14,165,233,.1);box-shadow:0 0 18px rgba(14,165,233,.1)}.pill.done{color:#8da2b5}.pill.orange{color:#fdba74;border-color:rgba(251,146,60,.25);background:rgba(251,146,60,.08)}
.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.toolbar .search-wrap{flex:1;min-width:210px;position:relative}.toolbar .search-input{padding-left:13px}.select{border:1px solid rgba(111,191,247,.16);background:rgba(3,13,31,.7);color:#d9edfa;border-radius:12px;padding:10px 12px;outline:none;font-size:11px}.segmented{display:inline-flex;padding:3px;border:1px solid var(--line);background:rgba(4,16,35,.58);border-radius:12px}.segmented button{border:0;background:transparent;color:#7690a8;padding:7px 10px;border-radius:9px;font-size:10px;font-weight:850}.segmented button.active{background:linear-gradient(135deg,rgba(14,165,233,.35),rgba(37,99,235,.32));color:#fff}
.empty{padding:48px 20px;text-align:center;border:1px dashed rgba(126,202,255,.17);border-radius:18px;background:rgba(6,22,45,.35)}.empty h3{margin:0 0 7px;font-size:15px}.empty p{margin:0 auto 16px;color:var(--muted);font-size:12px;max-width:420px;line-height:1.6}.loading{min-height:45vh;display:grid;place-items:center}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(83,193,255,.14);border-top-color:#55d5ff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* HOME */
.hero{min-height:390px;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center;border-radius:28px;padding:38px;overflow:hidden;position:relative;background:linear-gradient(110deg,rgba(4,24,55,.82),rgba(11,61,111,.42) 55%,rgba(14,78,136,.08));border:1px solid rgba(119,211,255,.18);box-shadow:0 34px 90px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04)}.hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-170px;top:-220px;border:1px solid rgba(112,211,255,.1);box-shadow:0 0 120px rgba(14,165,233,.08)}.hero-copy{position:relative;z-index:2}.hero h1{font-size:clamp(36px,5vw,70px);line-height:.94;letter-spacing:-.055em;margin:9px 0 15px;max-width:760px}.hero h1 .glow{color:#8de7ff;text-shadow:0 0 36px rgba(56,189,248,.3)}.hero p{color:#a8c6db;max-width:620px;line-height:1.65;font-size:14px;margin:0}.hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.hero-side{position:relative;z-index:2;display:grid;gap:10px}.hero-stat{padding:15px 16px;border-radius:16px;background:rgba(5,25,54,.48);border:1px solid rgba(117,205,255,.12);backdrop-filter:blur(12px)}.hero-stat span{font-size:9px;color:#7193ad;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.hero-stat strong{display:block;font-size:24px;margin-top:3px}.hero-stat small{color:#74d9ff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:14px 15px;border-radius:16px}.stat label{display:block;font-size:9px;text-transform:uppercase;color:#7391a8;letter-spacing:.1em;font-weight:850}.stat strong{display:block;margin-top:5px;font-size:19px}.stat .accent{color:#6ee7ff}.quick-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.quick{padding:16px;border-radius:17px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;transition:.2s;cursor:pointer}.quick:hover{transform:translateY(-3px);border-color:rgba(96,211,255,.3);box-shadow:0 18px 46px rgba(3,22,50,.28),0 0 30px rgba(42,147,255,.06)}.quick b{font-size:13px}.quick p{margin:4px 0 0;font-size:10px;line-height:1.45;color:#7f9ab1}.quick .q-arrow{align-self:flex-end;color:#6fdcff;font-size:20px;line-height:1}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

/* PACKS */
.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:13px}.pack-card{position:relative;padding:12px;border-radius:20px;overflow:hidden;transition:.2s;background:linear-gradient(180deg,rgba(9,37,75,.72),rgba(4,16,35,.72));border:1px solid rgba(109,202,255,.14)}.pack-card:hover{transform:translateY(-4px);border-color:rgba(91,210,255,.34);box-shadow:0 22px 55px rgba(0,0,0,.28),0 0 28px rgba(14,165,233,.08)}.pack-art{height:230px;border-radius:16px;position:relative;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#0b2b5c,#0b60a1 50%,#2a8dcc);border:1px solid rgba(159,229,255,.22);box-shadow:inset 0 0 60px rgba(255,255,255,.04)}.pack-art:before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.025) 19px 20px);transform:rotate(10deg)}.pack-art.jp{background:linear-gradient(145deg,#3b123e,#6f1f78 45%,#194c88)}.pack-art.special{background:linear-gradient(145deg,#0b274d,#2636a6 50%,#7c3aed)}.pack-foil{position:absolute;left:12%;right:12%;top:10%;bottom:10%;border-radius:15px 15px 11px 11px;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 28%,rgba(90,220,255,.08) 47%,transparent 70%);border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 35px rgba(0,0,0,.32),inset 0 0 45px rgba(255,255,255,.05)}.pack-logo{position:relative;z-index:2;width:72%;max-height:92px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.pack-stamp{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);z-index:2;font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.7);font-weight:900;white-space:nowrap}.pack-info{padding:12px 3px 2px}.pack-info h3{margin:0;font-size:13px}.pack-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;color:#718da6;font-size:9px}.price{display:flex;align-items:center;gap:4px;color:#ffd45b;font-weight:900}.pack-actions{display:flex;gap:7px;margin-top:11px}.pack-actions .btn{flex:1}.inventory-badge{position:absolute;top:20px;right:20px;z-index:4;padding:5px 8px;border-radius:999px;background:rgba(2,12,27,.78);border:1px solid rgba(104,209,255,.25);font-size:9px;font-weight:900;color:#bfeaff}

/* CARDS / COLLECTION / POKEDEX */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tcg-card{position:relative;border-radius:15px;padding:7px;background:linear-gradient(180deg,rgba(10,35,70,.75),rgba(4,16,34,.82));border:1px solid rgba(118,202,255,.12);transition:.2s;overflow:hidden}.tcg-card:hover{transform:translateY(-4px) rotateX(1deg);border-color:rgba(105,207,255,.34);box-shadow:0 20px 50px rgba(0,0,0,.3),0 0 35px var(--glow,rgba(56,189,248,.06))}.tcg-img-wrap{position:relative;border-radius:10px;overflow:hidden;background:#07111f;aspect-ratio:5/7}.tcg-img-wrap img{width:100%;height:100%;object-fit:contain;transition:.35s}.tcg-card:hover .tcg-img-wrap img{transform:scale(1.025)}.tcg-card.rare .tcg-img-wrap:after{content:"";position:absolute;inset:-30%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.18) 48%,transparent 60%);transform:translateX(-60%) rotate(8deg);animation:holoSweep 4s ease-in-out infinite}.tcg-card.unowned .tcg-img-wrap img{filter:grayscale(1) brightness(.16) contrast(1.25);opacity:.75}.tcg-card.unowned:hover .tcg-img-wrap img{filter:grayscale(1) brightness(.22) contrast(1.2)}@keyframes holoSweep{0%,55%{transform:translateX(-60%) rotate(8deg)}80%,100%{transform:translateX(60%) rotate(8deg)}}.tcg-body{padding:8px 3px 3px}.tcg-body h3{margin:0;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tcg-sub{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:5px;font-size:8px;color:#6f8ba2}.rarity{padding:3px 5px;border-radius:999px;background:color-mix(in srgb,var(--rarity) 14%,transparent);border:1px solid color-mix(in srgb,var(--rarity) 24%,transparent);color:var(--rarity);font-size:7px;font-weight:900;white-space:nowrap}.qty-badge{position:absolute;top:11px;right:11px;z-index:4;min-width:24px;text-align:center;padding:4px 6px;border-radius:999px;background:rgba(1,9,20,.8);border:1px solid rgba(114,208,255,.2);font-size:9px;font-weight:900}.owned-check{position:absolute;top:11px;left:11px;z-index:4;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:rgba(16,185,129,.78);border:1px solid rgba(167,243,208,.4);font-size:10px}.collection-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.summary-card{padding:13px 15px;border-radius:15px}.summary-card span{font-size:9px;color:#7090a8;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.summary-card b{display:block;font-size:18px;margin-top:3px}

/* PACK OPEN */
.open-layout{display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}.owned-packs{display:grid;gap:9px;position:sticky;top:92px}.owned-pack{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:10px;padding:9px;border-radius:15px;cursor:pointer;transition:.18s}.owned-pack:hover,.owned-pack.active{border-color:rgba(100,211,255,.34);background:linear-gradient(90deg,rgba(14,165,233,.13),rgba(7,25,53,.65))}.mini-pack{height:70px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#0b376e,#1578b5);overflow:hidden}.mini-pack img{max-width:80%;max-height:42px;object-fit:contain}.owned-pack h3{margin:0;font-size:11px}.owned-pack p{margin:3px 0 0;font-size:9px;color:#6e8aa2}.open-stage{min-height:590px;border-radius:24px;position:relative;overflow:hidden;padding:24px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(36,146,255,.18),transparent 30%),linear-gradient(180deg,rgba(6,31,65,.72),rgba(3,14,32,.77));border:1px solid rgba(108,207,255,.16)}.open-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.open-center{position:relative;z-index:2;text-align:center;max-width:660px;width:100%}.open-pack-large{width:250px;height:340px;margin:0 auto 22px;border-radius:24px;background:linear-gradient(145deg,#0b3d78,#1686c6 50%,#2937a8);display:grid;place-items:center;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.35),0 0 60px rgba(31,163,255,.14);border:1px solid rgba(166,227,255,.28);overflow:hidden}.open-pack-large:after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.18) 49%,transparent 62%);animation:packShine 4s linear infinite}@keyframes packShine{from{transform:translateX(-45%) rotate(8deg)}to{transform:translateX(45%) rotate(8deg)}}.open-pack-large img{width:78%;max-height:115px;object-fit:contain;position:relative;z-index:3;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}.open-buttons{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.demo-banner{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(139,92,246,.1);border:1px solid rgba(167,139,250,.25);color:#c4b5fd;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reveal-overlay{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 50% 38%,rgba(31,145,255,.24),transparent 26%),rgba(2,9,22,.92);display:grid;place-items:center;padding:20px;backdrop-filter:blur(16px)}.reveal-card{width:min(320px,82vw);animation:cardReveal .48s cubic-bezier(.2,.8,.2,1) both;position:relative}.reveal-card .tcg-card{padding:10px;border-color:color-mix(in srgb,var(--rarity) 42%,rgba(100,210,255,.12));box-shadow:0 0 80px color-mix(in srgb,var(--rarity) 22%,transparent),0 35px 90px rgba(0,0,0,.5)}@keyframes cardReveal{from{opacity:0;transform:translateY(28px) scale(.84) rotateY(-12deg)}to{opacity:1;transform:none}}.reveal-progress{position:absolute;top:24px;left:50%;transform:translateX(-50%);font-size:11px;color:#9ab7cd;font-weight:800}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:10px}.result-select{position:absolute;top:10px;left:10px;z-index:5;width:22px;height:22px;accent-color:#38bdf8}.sold-stamp{position:absolute;inset:0;display:grid;place-items:center;background:rgba(3,10,22,.72);z-index:6;color:#7dd3fc;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}

/* BATTLES */
.battle-hero{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:22px 24px;border-radius:22px;margin-bottom:14px;background:linear-gradient(110deg,rgba(7,40,83,.82),rgba(21,86,145,.45),rgba(64,45,152,.25));border:1px solid rgba(105,209,255,.2)}.battle-hero h1{margin:5px 0 5px;font-size:31px;letter-spacing:-.04em}.battle-hero p{margin:0;color:#8ca9be;font-size:12px}.battle-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(115,200,255,.12);margin-bottom:12px;overflow:auto}.battle-tabs button{border:0;background:transparent;color:#718ca4;padding:11px 13px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid transparent;white-space:nowrap}.battle-tabs button.active{color:#8ee8ff;border-color:#38bdf8}.battle-list{display:grid;gap:9px}.battle-row{display:grid;grid-template-columns:90px minmax(220px,1.15fr) 1.1fr .6fr .55fr 110px;gap:12px;align-items:center;padding:13px 14px;border-radius:16px;transition:.18s}.battle-row:hover{transform:translateY(-1px);border-color:rgba(101,207,255,.3);background:linear-gradient(90deg,rgba(14,165,233,.08),rgba(7,24,52,.66))}.battle-mode{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.players{display:flex;align-items:center;gap:6px}.player-mini{display:flex;align-items:center;gap:6px;min-width:0}.player-mini .avatar{width:30px;height:30px}.player-mini span{font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.vs{font-size:8px;color:#52728d;font-weight:900}.case-stack{display:flex;align-items:center;min-width:0}.case-thumb{width:44px;height:44px;border-radius:10px;margin-right:-8px;background:linear-gradient(145deg,#0f3e7b,#2164b9);border:1px solid rgba(150,224,255,.25);box-shadow:0 8px 18px rgba(0,0,0,.22);overflow:hidden;display:grid;place-items:center}.case-thumb img{width:100%;height:100%;object-fit:cover}.battle-cell small{display:block;color:#5f7f99;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.battle-cell b{display:block;margin-top:2px;font-size:11px}.battle-action{text-align:right}.practice-note{margin:10px 0 16px;padding:10px 12px;border-radius:12px;background:rgba(14,165,233,.07);border:1px solid rgba(56,189,248,.13);font-size:10px;color:#78a9c7;line-height:1.5}
.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.case-card{border-radius:18px;padding:12px;position:relative;overflow:hidden;transition:.2s}.case-card:hover{transform:translateY(-4px);border-color:rgba(104,212,255,.34);box-shadow:0 22px 50px rgba(0,0,0,.3)}.case-art{height:170px;border-radius:14px;background:radial-gradient(circle at 50% 35%,var(--caseGlow,#38bdf8) 0,transparent 23%),linear-gradient(145deg,#081c3b,#0b4481 50%,#192c68);position:relative;display:grid;place-items:center;overflow:hidden}.case-art:before{content:"";position:absolute;width:110px;height:90px;border:9px solid rgba(202,240,255,.13);border-radius:20px;box-shadow:inset 0 0 30px rgba(109,210,255,.08),0 0 40px color-mix(in srgb,var(--caseGlow,#38bdf8) 14%,transparent)}.case-art:after{content:"";position:absolute;width:40px;height:13px;border-radius:10px 10px 3px 3px;top:31px;border:7px solid rgba(202,240,255,.11);border-bottom:0}.case-art img{width:108px;height:145px;object-fit:cover;border-radius:9px;position:relative;z-index:2;transform:rotate(-5deg);box-shadow:0 16px 30px rgba(0,0,0,.38)}.case-card h3{margin:10px 0 4px;font-size:12px}.case-card p{margin:0;color:#708ba4;font-size:9px;line-height:1.45;min-height:28px}.case-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.case-price{font-size:11px;color:#ffd35d;font-weight:900}.selected-count{position:absolute;right:19px;top:19px;z-index:5;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#21b8ee;color:#fff;font-size:10px;font-weight:900;box-shadow:0 0 20px rgba(33,184,238,.4)}
.builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:15px}.builder-main,.builder-side{padding:18px;border-radius:20px}.selected-cases{display:flex;gap:8px;overflow:auto;padding:4px 2px 12px}.selected-case{width:100px;flex:0 0 auto;border-radius:13px;padding:8px;background:rgba(6,30,62,.62);border:1px solid rgba(112,207,255,.13);position:relative}.selected-case .case-art{height:78px;border-radius:9px}.selected-case .case-art:before{width:52px;height:43px;border-width:5px}.selected-case .case-art:after{display:none}.selected-case .case-art img{width:43px;height:57px;border-radius:4px}.selected-case b{display:block;font-size:9px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-case button{position:absolute;right:3px;top:3px;width:21px;height:21px;border-radius:50%;border:0;background:rgba(244,63,94,.85);color:#fff;font-weight:900}.add-case-card{width:100px;min-height:111px;flex:0 0 auto;border-radius:13px;border:1px dashed rgba(98,204,255,.28);background:rgba(7,28,58,.38);color:#6ccfff;font-size:24px}.format-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.format-btn{border:1px solid var(--line);background:rgba(6,25,52,.52);color:#7994aa;padding:9px;border-radius:11px;font-size:10px;font-weight:900}.format-btn.active{color:#fff;border-color:rgba(91,207,255,.4);background:linear-gradient(135deg,rgba(14,165,233,.24),rgba(37,99,235,.2))}.slots{display:grid;gap:7px;margin-top:10px}.slot{padding:10px;border-radius:12px;border:1px solid rgba(111,204,255,.11);background:rgba(5,22,47,.48);display:flex;align-items:center;justify-content:space-between}.slot .left{display:flex;align-items:center;gap:9px}.slot .avatar{width:31px;height:31px}.slot b{font-size:10px}.slot small{font-size:8px;color:#66839b;display:block;margin-top:2px}.builder-total{padding:14px;border-radius:14px;background:linear-gradient(135deg,rgba(14,165,233,.1),rgba(99,102,241,.09));border:1px solid rgba(96,203,255,.15);margin-top:14px}.builder-total .row{display:flex;justify-content:space-between;font-size:10px;color:#7894ac;margin-bottom:6px}.builder-total .grand{font-size:17px;color:#fff;font-weight:950;margin-top:4px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(119,203,255,.08);font-size:10px;color:#96aec1}.toggle{width:38px;height:21px;border:0;border-radius:999px;background:#17314d;padding:2px;transition:.2s}.toggle i{display:block;width:17px;height:17px;border-radius:50%;background:#6c8498;transition:.2s}.toggle.on{background:#1378bd}.toggle.on i{transform:translateX(17px);background:#a9edff}
.live-screen{min-height:calc(100vh - 68px);padding:22px 24px 70px}.live-top{padding:14px 18px;border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.round-case{display:flex;align-items:center;gap:10px}.round-case .case-thumb{margin:0;width:48px;height:48px}.round-case h2{margin:0;font-size:14px}.round-case p{margin:3px 0 0;font-size:9px;color:#6f8ba2}.round-pill{font-size:10px;color:#8de8ff;font-weight:900}.battle-columns{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(190px,1fr));gap:9px;overflow:auto;padding-bottom:6px}.battle-column{min-width:190px;border-radius:19px;overflow:hidden}.battle-player-head{padding:12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(110,201,255,.1);background:rgba(6,30,61,.58)}.battle-player-head .who{display:flex;align-items:center;gap:8px}.battle-player-head .avatar{width:34px;height:34px}.battle-player-head b{font-size:10px}.battle-player-head small{font-size:8px;color:#69869e;display:block;margin-top:2px}.running-total{font-size:13px;font-weight:950;color:#ffd15a}.roll-zone{height:330px;display:grid;place-items:center;padding:18px;position:relative;background:radial-gradient(circle at 50% 40%,rgba(26,131,225,.11),transparent 35%),rgba(4,17,38,.52)}.roll-zone .tcg-card{width:175px;max-width:100%;animation:rollLand .42s cubic-bezier(.2,.85,.2,1) both}.roll-zone.waiting:after{content:"OPENING CASE";font-size:9px;letter-spacing:.16em;font-weight:900;color:#527793;animation:pulseText 1.2s ease-in-out infinite}@keyframes rollLand{from{opacity:0;transform:translateY(28px) scale(.86) rotateY(20deg)}to{opacity:1;transform:none}}@keyframes pulseText{50%{opacity:.35}}.team-banner{font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:900;padding:5px 8px;border-radius:999px;background:rgba(99,102,241,.12);border:1px solid rgba(129,140,248,.2);color:#a5b4fc}.winner-glow{box-shadow:0 0 0 1px rgba(52,211,153,.35),0 0 55px rgba(16,185,129,.13)}

/* PROFILE / ADMIN */
.profile-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px;border-radius:20px}.profile-hero .avatar{width:78px;height:78px}.profile-hero h1{margin:0;font-size:24px}.profile-hero p{margin:4px 0 0;color:#7895ab;font-size:10px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.profile-stat{padding:13px;border-radius:15px}.profile-stat span{font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:#6d879e;font-weight:850}.profile-stat b{display:block;font-size:17px;margin-top:3px}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.avatar-choice{border:1px solid var(--line);background:rgba(6,28,57,.5);border-radius:13px;padding:7px;color:#88a1b5;text-align:center;font-size:8px}.avatar-choice img{width:52px;height:52px;object-fit:contain;margin:auto}.avatar-choice.active{border-color:#43cfff;background:rgba(14,165,233,.12);color:#fff}.admin-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:14px}.admin-tabs button{border:1px solid var(--line);background:rgba(5,24,51,.56);color:#7895ad;padding:8px 11px;border-radius:11px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.admin-tabs button.active{background:linear-gradient(135deg,rgba(14,165,233,.28),rgba(37,99,235,.22));border-color:rgba(83,202,255,.35);color:#fff}.data-table{overflow:auto;border-radius:16px;border:1px solid rgba(112,201,255,.12);background:rgba(4,18,39,.58)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid rgba(119,204,255,.07);font-size:10px}th{color:#648199;text-transform:uppercase;letter-spacing:.08em;font-size:8px;background:rgba(8,31,62,.72);position:sticky;top:0}td{color:#b6cada}tr:hover td{background:rgba(14,165,233,.035)}

/* MODAL / TOAST */
.modal-backdrop{position:fixed;inset:0;z-index:120;background:rgba(1,7,18,.76);backdrop-filter:blur(14px);display:grid;place-items:center;padding:18px;animation:fade .18s ease}.modal{width:min(100%,820px);max-height:88vh;overflow:auto;border-radius:22px;padding:20px;background:linear-gradient(180deg,rgba(7,29,60,.97),rgba(3,14,31,.97));border:1px solid rgba(109,208,255,.2);box-shadow:0 35px 110px rgba(0,0,0,.52)}.modal.small{max-width:460px}.modal.large{max-width:1120px}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:14px}.modal-head h2{margin:0;font-size:18px}.modal-head p{margin:4px 0 0;color:#7894aa;font-size:10px}.close{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:rgba(6,27,56,.6);color:#9bb3c6}.toast-root{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px;width:min(360px,calc(100vw - 36px))}.toast{padding:12px 13px;border-radius:14px;background:rgba(4,20,43,.95);border:1px solid rgba(110,203,255,.2);box-shadow:0 20px 50px rgba(0,0,0,.38);backdrop-filter:blur(18px);animation:toastIn .25s ease}.toast strong{display:block;font-size:11px}.toast span{display:block;color:#88a4ba;font-size:9px;margin-top:3px;line-height:1.4}.toast.success{border-color:rgba(52,211,153,.3)}.toast.error{border-color:rgba(251,113,133,.3)}.toast.warning{border-color:rgba(251,191,36,.3)}@keyframes toastIn{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}

/* RESPONSIVE */
@media(max-width:1180px){.quick-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.battle-row{grid-template-columns:80px 1.2fr 1fr .55fr 95px}.battle-row .battle-cell.rounds{display:none}.builder{grid-template-columns:1fr 300px}.profile-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:240px;transform:translateX(-105%);transition:.25s;box-shadow:25px 0 80px rgba(0,0,0,.38)}.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid;place-items:center}.page{padding:20px 16px 70px}.topbar{padding:0 15px}.hero{grid-template-columns:1fr;min-height:auto;padding:28px}.hero-side{grid-template-columns:repeat(3,1fr)}.hero h1{font-size:48px}.feature-grid{grid-template-columns:1fr}.open-layout{grid-template-columns:1fr}.owned-packs{position:static;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.builder{grid-template-columns:1fr}.battle-row{grid-template-columns:75px minmax(190px,1fr) .8fr 90px}.battle-row .case-stack{display:none}.collection-summary{grid-template-columns:repeat(2,1fr)}.charizard-bg{width:1120px;right:-420px;opacity:.4}.world-vignette{background:linear-gradient(90deg,rgba(2,8,20,.8),rgba(2,8,20,.42) 60%,rgba(2,8,20,.58))}}
@media(max-width:640px){.top-chip.desktop-only{display:none}.page{padding:15px 11px 68px}.hero{padding:22px 18px;border-radius:22px}.hero h1{font-size:39px}.hero p{font-size:12px}.hero-side{grid-template-columns:1fr 1fr}.hero-stat:last-child{grid-column:1/-1}.quick-grid{grid-template-columns:1fr 1fr}.quick{min-height:105px}.stats-grid{grid-template-columns:1fr 1fr}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pack-card{padding:8px;border-radius:16px}.pack-art{height:184px}.pack-info{padding-top:9px}.pack-actions{flex-direction:column}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.battle-hero{align-items:start;flex-direction:column;padding:18px}.battle-row{grid-template-columns:1fr auto;gap:8px}.battle-row>.battle-mode{grid-column:1}.battle-row>.players{grid-column:1}.battle-row>.battle-cell.cost{grid-column:2;grid-row:1}.battle-row>.battle-action{grid-column:2;grid-row:2}.battle-row>.battle-cell.rounds,.battle-row>.case-stack{display:none}.format-grid{grid-template-columns:1fr 1fr}.open-stage{min-height:500px;padding:16px}.open-pack-large{width:210px;height:292px}.profile-hero{grid-template-columns:auto 1fr}.profile-hero>.btn{grid-column:1/-1}.profile-stats{grid-template-columns:1fr 1fr}.battle-columns{grid-template-columns:repeat(var(--cols,2),minmax(168px,1fr))}.live-screen{padding:12px 10px 60px}.roll-zone{height:290px;padding:10px}.roll-zone .tcg-card{width:150px}.modal{padding:15px}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-art{height:140px}.section-title{align-items:start;flex-direction:column}.toolbar{align-items:stretch}.toolbar .search-wrap{min-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.charizard-bg,.sky-layer{transform:none!important}}
.pack-face-card{position:absolute;z-index:1;width:76%;height:76%;object-fit:cover;border-radius:14px;opacity:.32;filter:saturate(1.25) contrast(1.05);transform:scale(1.05) rotate(-3deg);mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,.35))}.pack-logo{z-index:3}.mini-pack img{position:relative;z-index:2}

/* =========================================================
   SEPT 22 PREMIUM UI / PACK / BATTLE PATCH
   ========================================================= */

/* Full-screen Charizard scene */
.charizard-bg{
  inset:0!important;right:auto!important;bottom:auto!important;
  width:100vw!important;height:100vh!important;max-width:none!important;
  object-fit:cover;object-position:center 44%;opacity:.66!important;
  filter:saturate(1.16) contrast(1.06) brightness(.92) drop-shadow(0 0 52px rgba(24,117,220,.23));
  animation:dragonBreathe 8s ease-in-out infinite!important;
}
.world-vignette{background:linear-gradient(90deg,rgba(2,9,24,.76) 0%,rgba(4,15,35,.34) 31%,rgba(4,15,34,.12) 60%,rgba(1,7,18,.28) 100%),linear-gradient(180deg,rgba(1,9,24,.08),rgba(1,8,22,.34))!important}
.sky-layer{opacity:.82}
@keyframes dragonBreathe{0%,100%{transform:scale(1.035) translate3d(0,0,0)}50%{transform:scale(1.065) translate3d(-.45%,-.35%,0)}}
.dragon-fire-breath{position:absolute;left:55%;top:39%;width:min(37vw,620px);height:min(12vw,190px);transform-origin:left center;transform:rotate(-7deg) scaleX(.2);opacity:0;filter:blur(1px) drop-shadow(0 0 28px rgba(255,105,20,.72));background:linear-gradient(90deg,rgba(255,245,190,.95),rgba(255,173,46,.92) 15%,rgba(255,75,12,.78) 48%,rgba(255,42,0,.18) 82%,transparent);clip-path:polygon(0 43%,100% 0,82% 52%,100% 100%,0 58%);mix-blend-mode:screen;animation:fireBreath 9s ease-in-out infinite;z-index:2}
.dragon-fire-breath:after{content:"";position:absolute;inset:34% 8% 34% 0;background:linear-gradient(90deg,#fffbd5,#ffd052 24%,#ff6a16 68%,transparent);filter:blur(5px);border-radius:999px}
@keyframes fireBreath{0%,56%,100%{opacity:0;transform:rotate(-7deg) scaleX(.12)}61%{opacity:.9;transform:rotate(-7deg) scaleX(.58)}68%,76%{opacity:1;transform:rotate(-7deg) scaleX(1)}83%{opacity:.28;transform:rotate(-7deg) scaleX(.45)}}

/* Bigger, more game-like core UI */
.shell{grid-template-columns:292px minmax(0,1fr)!important}
.sidebar{padding:24px 18px!important;background:linear-gradient(180deg,rgba(4,22,49,.84),rgba(3,14,33,.78))!important;box-shadow:18px 0 65px rgba(0,0,0,.16),inset -1px 0 rgba(95,207,255,.08)}
.sidebar .brand-mark{padding:5px 8px 26px!important}.sidebar .brand-name{font-size:22px!important}.sidebar .brand-orb{width:46px;height:46px}
.nav-label{font-size:10px!important;padding:15px 12px 10px!important}.nav{gap:8px!important}.nav button{min-height:52px;padding:13px 14px!important;border-radius:15px!important;font-size:15px!important;gap:13px!important;overflow:hidden;transform:translateZ(0)}
.nav button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 5%,rgba(122,225,255,.12) 46%,transparent 82%);transform:translateX(-120%);transition:transform .55s ease}
.nav button:hover{transform:translateX(5px);background:rgba(29,119,184,.16)!important;box-shadow:0 8px 28px rgba(0,0,0,.13),0 0 22px rgba(53,185,255,.07)}.nav button:hover:after{transform:translateX(120%)}
.nav button.active{background:linear-gradient(90deg,rgba(17,158,236,.36),rgba(48,102,220,.20))!important;box-shadow:inset 0 0 0 1px rgba(90,215,255,.30),0 0 28px rgba(35,164,255,.13)!important;animation:activeNavPulse 3.2s ease-in-out infinite}.nav button.active .nav-dot{background:#9cecff;box-shadow:0 0 18px #41cfff}
.nav-arrow{margin-left:auto;font-style:normal;font-size:20px;opacity:.28;transition:.2s}.nav button:hover .nav-arrow,.nav button.active .nav-arrow{opacity:.9;transform:translateX(2px)}
@keyframes activeNavPulse{50%{box-shadow:inset 0 0 0 1px rgba(117,226,255,.46),0 0 36px rgba(33,179,255,.21)}}
.sidebar-bottom{padding-top:16px}.mini-profile{padding:13px!important;border-radius:18px!important}.mini-profile .name{font-size:13px!important}.mini-profile .coins{font-size:11px!important}.logout-link{font-size:12px!important;padding:10px!important}
.topbar{height:78px!important;padding:0 31px!important}.breadcrumb{font-size:15px!important}.top-chip,.sound-toggle{font-size:12px!important;padding:9px 13px!important}.page{padding:34px 36px 100px!important;max-width:1700px!important}.section-title h2{font-size:26px!important}.section-title p{font-size:12px!important}.eyebrow{font-size:10px!important;letter-spacing:.18em!important}
.btn{font-size:13px!important;padding:11px 16px!important;border-radius:13px!important}.btn-sm{font-size:11px!important;padding:8px 12px!important}.btn-lg{font-size:14px!important;padding:15px 20px!important}.btn:hover{transform:translateY(-2px) scale(1.015)!important}.glass{box-shadow:0 24px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)!important}
.hero{min-height:430px!important;padding:46px!important}.hero p{font-size:15px!important}.hero-stat{padding:18px 19px!important}.hero-stat strong{font-size:28px!important}.quick-grid{grid-template-columns:repeat(4,1fr)!important}.quick{min-height:145px!important;padding:20px!important}.quick b{font-size:15px!important}.quick p{font-size:11px!important}.stat{padding:18px!important}.stat strong{font-size:22px!important}

/* Sidebar event card */
.event-mini{margin-top:16px;padding:12px 13px;border-radius:15px;background:linear-gradient(135deg,rgba(105,51,205,.18),rgba(11,122,202,.14));border:1px solid rgba(165,120,255,.23);box-shadow:0 0 28px rgba(111,70,220,.08)}.event-mini b{display:block;font-size:11px;color:#d9cbff}.event-mini span{display:block;margin-top:4px;font-size:9px;color:#92aac0}.event-live{border-color:rgba(181,141,255,.27)!important;color:#d9ccff!important;background:rgba(104,54,190,.13)!important;animation:eventGlow 2.8s ease-in-out infinite}@keyframes eventGlow{50%{box-shadow:0 0 25px rgba(135,91,255,.16)}}

/* Bigger pack shop; whole tile is the action */
.pack-grid-large{grid-template-columns:repeat(auto-fill,minmax(275px,1fr))!important;gap:19px!important}.pack-card{padding:15px!important;border-radius:23px!important}.pack-clickable{cursor:pointer}.pack-clickable:hover{transform:translateY(-7px) scale(1.012)!important;box-shadow:0 28px 70px rgba(0,0,0,.32),0 0 38px rgba(25,169,255,.12)!important}.pack-art{height:325px!important;border-radius:20px!important}.pack-shell-art{position:relative;z-index:3;width:75%;height:76%;display:grid;place-items:center;border-radius:18px;background:linear-gradient(165deg,rgba(7,34,78,.78),rgba(13,77,143,.58));border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 0 45px rgba(255,255,255,.05);overflow:hidden}.pack-real{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px;z-index:4}.pack-shell-art .pack-logo{width:78%!important;max-height:120px!important;z-index:5}.pack-face-card{width:94%!important;height:94%!important;opacity:.42!important;filter:saturate(1.25) contrast(1.08) blur(.2px)!important}.pack-info h3{font-size:16px!important}.pack-meta{font-size:11px!important;margin-top:7px!important}.pack-hint{margin-top:12px;padding-top:11px;border-top:1px solid rgba(116,205,255,.11);font-size:10px;color:#78d8ff;font-weight:850;letter-spacing:.03em}.feature-grid .pack-art{height:290px!important}
.pack-modal-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:26px;align-items:center}.pack-modal-art .pack-art{height:410px!important}.pack-language{display:inline-flex;margin-bottom:18px}.pack-modal-stats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.pack-modal-stats span{padding:8px 11px;border-radius:999px;background:rgba(6,31,67,.66);border:1px solid rgba(103,211,255,.16);font-size:11px;font-weight:850;color:#b9daee}.pack-open-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.odds-panel{margin-top:23px;padding-top:21px;border-top:1px solid rgba(106,207,255,.12)}.odds-panel h3{margin:6px 0 12px}.odds-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.odds-card{padding:11px;border-radius:13px;background:rgba(7,30,62,.54);border:1px solid rgba(111,207,255,.1)}.odds-card b,.odds-card small{display:block}.odds-card b{font-size:10px}.odds-card strong{display:block;font-size:17px;color:#9be8ff;margin:3px 0}.odds-card small{font-size:8px;color:#7895ad}.odds-card.god{background:linear-gradient(135deg,rgba(115,73,220,.20),rgba(18,125,211,.14));border-color:rgba(178,144,255,.27)}.compact-preview{margin-top:18px;grid-template-columns:repeat(auto-fill,minmax(125px,1fr))!important}

/* Pack opening / swipe */
.open-pack-large .pack-art{width:100%;height:100%!important;border-radius:22px}.opening-rip{animation:packRip .85s ease-in-out infinite alternate}.pack-rip-line{width:min(420px,72vw);height:3px;margin:18px auto 0;border-radius:99px;background:linear-gradient(90deg,transparent,#a8efff,#fff4ab,#ff8a35,transparent);box-shadow:0 0 24px #43d9ff;animation:ripLine 1.1s ease-in-out infinite}@keyframes packRip{to{transform:translateY(-7px) rotate(-1.5deg) scale(1.025)}}@keyframes ripLine{50%{transform:scaleX(.55);opacity:.35}}
.swipe-reveal{animation:swipeReveal .62s cubic-bezier(.18,.82,.2,1) both!important}@keyframes swipeReveal{from{opacity:0;transform:translateX(calc(var(--swipeDir) * 120px)) rotate(calc(var(--swipeDir) * 8deg)) scale(.88)}to{opacity:1;transform:translateX(0) rotate(0) scale(1)}}.reveal-overlay:before{content:"";position:absolute;width:55vw;height:1px;top:50%;background:linear-gradient(90deg,transparent,rgba(125,226,255,.42),transparent);filter:blur(1px);animation:swipeBeam .62s ease both}@keyframes swipeBeam{from{transform:translateX(-45vw);opacity:0}45%{opacity:1}to{transform:translateX(45vw);opacity:0}}.god-reveal-tag{position:absolute;top:62px;left:50%;transform:translateX(-50%);z-index:4;font-size:12px;font-weight:950;letter-spacing:.18em;color:#fff5ac;text-shadow:0 0 24px #ffd84d;animation:godTag 1.2s ease-in-out infinite}@keyframes godTag{50%{transform:translateX(-50%) scale(1.06)}}.god-shiny{box-shadow:0 0 0 1px rgba(255,238,122,.55),0 0 40px rgba(255,211,67,.23),0 0 80px rgba(126,91,255,.16)!important}.god-shiny:after{content:"";position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent,rgba(255,246,145,.14),transparent,rgba(109,230,255,.14),transparent);animation:godSpin 4s linear infinite;pointer-events:none;z-index:0}@keyframes godSpin{to{transform:rotate(360deg)}}.god-pack-banner{padding:13px;text-align:center;border-radius:14px;margin-bottom:13px;background:linear-gradient(90deg,rgba(244,195,43,.16),rgba(121,80,220,.20),rgba(244,195,43,.16));border:1px solid rgba(255,227,105,.29);color:#fff0a4;font-weight:950;letter-spacing:.12em;animation:eventGlow 2s ease-in-out infinite}.modal-results{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}.modal-result-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;position:sticky;bottom:-20px;margin:18px -20px -20px;padding:14px 20px;background:rgba(4,18,40,.96);border-top:1px solid rgba(105,210,255,.12);backdrop-filter:blur(16px)}

/* Booster box battle artwork */
.booster-box-art{height:190px;border-radius:16px;position:relative;display:grid;place-items:center;perspective:900px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--caseGlow,#38bdf8) 27%,transparent),transparent 45%),linear-gradient(145deg,#071b39,#0a427d 54%,#172a60);overflow:hidden;border:1px solid rgba(143,226,255,.14)}.booster-box-art .box-front{width:72%;height:60%;position:relative;transform:rotateX(7deg) rotateY(-10deg);border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--caseGlow,#38bdf8) 38%,#07152d),#091c3d 65%);border:1px solid rgba(255,255,255,.21);box-shadow:20px 19px 0 -6px rgba(3,12,29,.55),0 22px 40px rgba(0,0,0,.42),0 0 38px color-mix(in srgb,var(--caseGlow,#38bdf8) 16%,transparent);overflow:hidden}.booster-box-art .box-front:before{content:"POKÉMON";position:absolute;left:10px;top:8px;z-index:4;font-size:9px;font-weight:1000;font-style:italic;color:#ffdf4d;text-shadow:1px 1px #2557a4}.booster-box-art .box-front>b{position:absolute;left:10px;bottom:20px;z-index:5;font-size:12px;text-transform:uppercase;text-shadow:0 2px 8px #000}.booster-box-art .box-front>small{position:absolute;left:10px;bottom:8px;z-index:5;font-size:7px;letter-spacing:.13em;color:#aeeaff;font-weight:900}.box-cards{position:absolute;inset:0;overflow:hidden}.box-cards span{position:absolute;width:42%;height:78%;left:calc(18% + var(--i) * 18%);top:10%;transform:rotate(calc((var(--i) - 1) * 8deg));filter:saturate(1.15)}.box-cards img{width:100%;height:100%;object-fit:cover;border-radius:5px;box-shadow:0 7px 17px rgba(0,0,0,.4)}.booster-box-art.small{height:82px;min-width:86px}.booster-box-art.small .box-front{width:78%;height:67%}.booster-box-art.small .box-front>b{font-size:6px;bottom:12px;left:5px}.booster-box-art.small .box-front>small{font-size:4px;bottom:4px;left:5px}.booster-box-art.small .box-front:before{font-size:5px;left:5px;top:3px}.selected-case{width:128px!important}.selected-case .booster-box-art{height:92px!important}.case-card{padding:15px!important}.case-card h3{font-size:14px!important}.case-card p{font-size:10px!important}.case-price{font-size:12px!important}.case-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:15px!important}.booster-thumb{width:66px!important;height:58px!important;overflow:visible!important;background:none!important;border:0!important}.booster-thumb .booster-box-art{height:58px!important;width:66px!important}.case-thumb.booster-thumb img{all:unset}

/* Battle room / slow reveal */
.empty-slot{border-style:dashed!important;background:rgba(5,24,51,.34)!important}.empty-avatar{background:rgba(11,48,88,.6)!important;color:#71d7ff!important;font-size:20px!important}.bot-called{border-color:rgba(167,139,250,.25)!important;background:rgba(83,54,153,.11)!important}.waiting-room{padding:26px;border-radius:24px}.waiting-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.waiting-head h1{font-size:34px;margin:7px 0 8px}.waiting-head p{color:#8aa8be;max-width:720px}.room-code{padding:12px 15px;border-radius:14px;border:1px solid rgba(103,209,255,.16);background:rgba(6,28,58,.55);text-align:right}.room-code small{display:block;color:#6f8ca5;font-size:8px;text-transform:uppercase;letter-spacing:.11em}.room-code b{display:block;margin-top:3px;font-size:15px;color:#a8ebff}.waiting-cases{margin:19px 0}.room-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.waiting-actions{margin-top:18px;display:flex;justify-content:center}.waiting-pulse{display:flex;align-items:center;gap:9px;color:#87a7be;font-size:12px}.waiting-pulse i{width:9px;height:9px;border-radius:50%;background:#52d8ff;box-shadow:0 0 18px #52d8ff;animation:waitPulse 1.3s ease-in-out infinite}@keyframes waitPulse{50%{opacity:.25;transform:scale(.7)}}.status-dot{display:inline-flex;margin-top:6px;padding:3px 6px;border-radius:999px;font-size:7px;letter-spacing:.12em;border:1px solid rgba(105,202,255,.14);color:#8fa8ba}.status-dot.open{color:#72e6bc;border-color:rgba(52,211,153,.25)}.status-dot.live{color:#7dd8ff;border-color:rgba(56,189,248,.3);box-shadow:0 0 16px rgba(56,189,248,.12)}.open-slot-mini{font-size:9px;color:#64cdeb;font-weight:850}.battle-swipe-card{width:100%;animation:battleSwipe .72s cubic-bezier(.16,.85,.2,1) both}@keyframes battleSwipe{from{opacity:0;transform:translateX(110px) rotate(7deg) scale(.9)}to{opacity:1;transform:none}}.roll-zone{height:390px!important}.roll-zone .tcg-card{width:195px!important}.battle-player-head{padding:15px!important}.battle-player-head b{font-size:12px!important}.running-total{font-size:16px!important}

/* Admin controls / events */
.admin-control-card{padding:22px;border-radius:20px;max-width:950px}.admin-control-card h3{font-size:22px;margin:7px 0 8px}.control-list{display:grid;gap:9px;margin-top:17px}.control-row{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-radius:14px;background:rgba(5,25,55,.45);border:1px solid rgba(112,205,255,.10)}.control-row b{display:block;font-size:12px}.control-row small{display:block;color:#6f8ca4;font-size:9px;margin-top:3px}.event-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.admin-tabs button{font-size:10px!important;padding:10px 14px!important}.data-table th,.data-table td{font-size:11px!important;padding:13px!important}

/* More breathing room and smooth motion */
.pack-card,.case-card,.quick,.glass,.btn,.slot,.tcg-card{will-change:transform}.tcg-card{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.tcg-card:hover{transform:translateY(-5px) rotateX(1deg) rotateY(-1deg);box-shadow:0 22px 55px rgba(0,0,0,.33),0 0 30px var(--glow)}

@media(max-width:1100px){.shell{grid-template-columns:1fr!important}.sidebar{width:285px!important}.quick-grid{grid-template-columns:repeat(2,1fr)!important}.pack-modal-grid{grid-template-columns:1fr}.pack-modal-art{max-width:350px;margin:auto}.room-slots{grid-template-columns:1fr}.dragon-fire-breath{left:57%;top:40%;width:44vw}}
@media(max-width:700px){.page{padding:19px 13px 78px!important}.topbar{height:68px!important;padding:0 13px!important}.sidebar{width:min(86vw,300px)!important}.hero{padding:24px 19px!important}.quick-grid{grid-template-columns:1fr!important}.pack-grid,.pack-grid-large{grid-template-columns:1fr 1fr!important;gap:10px!important}.pack-art{height:225px!important}.pack-card{padding:9px!important}.pack-info h3{font-size:13px!important}.pack-meta{font-size:9px!important}.pack-hint{font-size:8px!important}.case-grid{grid-template-columns:1fr 1fr!important}.booster-box-art{height:145px}.roll-zone{height:310px!important}.roll-zone .tcg-card{width:160px!important}.event-admin-grid{grid-template-columns:1fr}.waiting-head{flex-direction:column}.dragon-fire-breath{left:54%;top:42%;width:58vw;height:18vw}.charizard-bg{object-position:58% center!important}.feature-grid{grid-template-columns:1fr!important}.feature-grid .pack-art{height:280px!important}}
@media(max-width:460px){.pack-grid,.pack-grid-large,.case-grid{grid-template-columns:1fr!important}.pack-art{height:300px!important}.dragon-fire-breath{display:none}.modal-results{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(prefers-reduced-motion:reduce){.dragon-fire-breath{display:none}.swipe-reveal,.battle-swipe-card,.opening-rip,.god-shiny:after{animation:none!important}}
.pack-set-fallback{position:absolute;z-index:2;max-width:80%;text-align:center;font-size:18px;line-height:1.05;text-transform:uppercase;font-weight:1000;color:#dff5ff;text-shadow:0 5px 18px rgba(0,0,0,.65);opacity:.7}.pack-shell-art .pack-logo+.pack-set-fallback{opacity:.3}

/* =========================================================
   POKÉVAULT V3 VISUAL / MOBILE PASS
   ========================================================= */
:root{--sidebar-w:278px;--ui-scale:1.06}
html{font-size:16px}
.world-bg{background:#06152f}
.charizard-bg,.page-bg{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:center;transition:opacity .55s ease,filter .55s ease;animation:bgBreath 18s ease-in-out infinite alternate;will-change:transform,opacity}
.charizard-bg{right:auto;bottom:auto;opacity:.72;filter:saturate(1.09) contrast(1.03) brightness(.92);transform-origin:center}
.page-bg{opacity:0;filter:saturate(1.04) contrast(1.02) brightness(.78);transform:scale(1.03);animation:bgPan 22s ease-in-out infinite alternate}
body[data-route="shop"] .charizard-bg,body[data-route="battles"] .charizard-bg,body[data-route="collection"] .charizard-bg,body[data-route="pokedex"] .charizard-bg,body[data-route="admin"] .charizard-bg,body[data-route="profile"] .charizard-bg{opacity:0}
body[data-route="shop"] .bg-shop,body[data-route="battles"] .bg-battles,body[data-route="collection"] .bg-collection,body[data-route="pokedex"] .bg-pokedex,body[data-route="admin"] .bg-admin,body[data-route="profile"] .bg-profile{opacity:.82}
body[data-route="shop"] .world-vignette,body[data-route="collection"] .world-vignette,body[data-route="pokedex"] .world-vignette,body[data-route="profile"] .world-vignette{background:linear-gradient(90deg,rgba(2,9,22,.56),rgba(5,18,38,.25) 50%,rgba(2,9,22,.5)),linear-gradient(180deg,rgba(0,0,0,.06),rgba(1,7,18,.38))}
body[data-route="battles"] .world-vignette,body[data-route="admin"] .world-vignette{background:linear-gradient(90deg,rgba(2,8,20,.65),rgba(5,17,36,.33) 50%,rgba(2,8,20,.58)),linear-gradient(180deg,rgba(0,0,0,.1),rgba(1,7,18,.44))}
@keyframes bgPan{0%{transform:scale(1.035) translate3d(-.5%,0,0)}100%{transform:scale(1.09) translate3d(1.5%,-1%,0)}}
@keyframes bgBreath{0%{transform:scale(1.01) translate3d(0,0,0)}100%{transform:scale(1.055) translate3d(-.5%,-.8%,0)}}
.dragon-fire-breath{display:block!important;position:absolute;left:59%;top:36%;width:min(38vw,520px);height:min(16vw,210px);opacity:.12;transform:rotate(-8deg);transform-origin:left center;background:radial-gradient(ellipse at 0 50%,rgba(255,248,185,.9) 0 4%,rgba(255,177,53,.72) 7%,rgba(255,78,12,.45) 23%,rgba(255,52,4,.1) 52%,transparent 72%);filter:blur(6px);mix-blend-mode:screen;clip-path:polygon(0 39%,100% 3%,88% 49%,100% 93%,0 61%);animation:fireBreath 5.6s ease-in-out infinite}
@keyframes fireBreath{0%,52%,100%{opacity:.04;transform:rotate(-8deg) scaleX(.08) scaleY(.6)}61%{opacity:.8;transform:rotate(-8deg) scaleX(.65) scaleY(.85)}70%{opacity:.95;transform:rotate(-8deg) scaleX(1) scaleY(1)}82%{opacity:.12;transform:rotate(-8deg) scaleX(.35) scaleY(.7)}}
.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)}
.sidebar{height:100dvh;width:var(--sidebar-w);padding:18px 16px;background:linear-gradient(180deg,rgba(4,20,45,.78),rgba(3,12,28,.72));box-shadow:16px 0 60px rgba(0,0,0,.14)}
.sidebar .brand-mark{padding:5px 8px 14px}.sidebar .brand-name{font-size:22px}.brand-orb{width:44px;height:44px}.nav-label{font-size:10px;padding:8px 11px 7px}.nav{gap:clamp(3px,.8vh,8px);min-height:0}.nav button{padding:clamp(9px,1.2vh,14px) 13px;font-size:15px;border-radius:14px;min-height:45px;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.nav button:hover{transform:translateX(4px);background:rgba(29,142,215,.18);box-shadow:0 10px 28px rgba(17,106,192,.12)}.nav button.active{background:linear-gradient(90deg,rgba(25,176,242,.3),rgba(60,89,220,.16));box-shadow:inset 0 0 0 1px rgba(99,213,255,.22),0 0 30px rgba(31,161,232,.12)}
.nav-dot,.mini-ball{position:relative;width:18px!important;height:18px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.72)!important;background:linear-gradient(180deg,#ef4444 0 44%,#0d1729 45% 55%,#f8fafc 56% 100%)!important;box-shadow:0 0 14px rgba(79,195,255,.2)!important;opacity:1!important;flex:0 0 auto}.nav-dot:after,.mini-ball:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;border:2px solid #0b1423;transform:translate(-50%,-50%)}
.sidebar-bottom{padding-top:9px}.mini-profile{padding:12px;border-radius:17px}.mini-profile .name{font-size:14px}.mini-profile .coins{font-size:12px}.logout-link{font-size:12px;padding:8px 11px}
.topbar{height:76px;padding:0 28px}.breadcrumb{font-size:15px}.top-chip{font-size:12px;padding:9px 12px}.coin-chip{font-size:15px!important;color:#ffe377}.sound-toggle{font-size:12px}
.page{padding:30px 30px 90px;max-width:1660px;margin:0 auto}.section-title h2{font-size:28px}.section-title p{font-size:13px}.btn{font-size:13px;padding:11px 15px}.btn-lg{font-size:14px;padding:14px 19px}.search-input,.select{font-size:14px!important;min-height:46px}.pill{font-size:10px!important;padding:7px 10px!important}
.glass{background:linear-gradient(180deg,rgba(5,22,48,.69),rgba(4,15,34,.62));backdrop-filter:blur(18px);border-color:rgba(131,215,255,.18)}
.stats-grid{gap:14px}.stat{padding:20px!important}.stat label{font-size:11px!important}.stat strong{font-size:27px!important}.profile-stat{padding:19px!important}.profile-stat span{font-size:11px!important}.profile-stat b{font-size:22px!important}.coin-big{font-size:26px!important}
.pack-grid-large{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:18px!important}.pack-card{padding:14px!important;border-radius:20px!important;position:relative;overflow:visible!important}.pack-card:hover{transform:translateY(-7px) scale(1.012)!important}.pack-art{height:350px!important;border-radius:16px!important}.pack-shell-art{position:absolute;inset:16px 20px 28px;border-radius:10px;overflow:hidden;background:linear-gradient(160deg,#0b2f62,#08649d 50%,#132f7a);box-shadow:0 16px 45px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.12)}.pack-face-card{position:absolute!important;inset:-5%!important;width:110%!important;height:110%!important;object-fit:cover!important;opacity:.72!important;filter:saturate(1.15) contrast(1.05)!important;transform:rotate(-4deg) scale(1.12)!important}.pack-real{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:5;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45))}.pack-logo{position:absolute!important;left:50%!important;top:18%!important;transform:translateX(-50%)!important;max-width:75%!important;max-height:30%!important;z-index:7!important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.7))}.pack-set-fallback{bottom:14%!important;top:auto!important;left:10%;right:10%;max-width:none!important;font-size:20px!important;opacity:.92!important;z-index:8!important}.pack-pokeball-mark{position:absolute;right:9px;bottom:9px;width:26px;height:26px;border-radius:50%;z-index:8;background:linear-gradient(#ef4444 0 44%,#111827 45% 55%,#fff 56%);border:2px solid rgba(255,255,255,.75)}.pack-pokeball-mark:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid #111827;transform:translate(-50%,-50%)}.pack-info h3{font-size:17px!important}.pack-meta{font-size:12px!important}.pack-hint{font-size:11px!important}.pack-fav{position:absolute;right:22px;top:22px;z-index:15;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(4,15,34,.75);color:#8ca4bd;font-size:18px;backdrop-filter:blur(12px)}.pack-fav.active{color:#ffe167;box-shadow:0 0 22px rgba(255,221,79,.26);border-color:rgba(255,221,79,.45)}
.cards-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:16px!important}.tcg-card{border-radius:17px!important;padding:10px!important}.tcg-img-wrap{border-radius:11px!important}.tcg-body h3{font-size:13px!important}.tcg-sub{font-size:10px!important}.card-inspect{position:absolute;top:8px;left:8px;z-index:9;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(4,14,30,.72);color:#dff7ff;font-size:17px;display:grid;place-items:center;backdrop-filter:blur(8px);opacity:.15;transition:.2s}.tcg-card:hover .card-inspect,.tcg-card:focus-within .card-inspect{opacity:1}.shiny-badge{position:absolute;left:10px;bottom:51px;z-index:6;padding:4px 6px;border-radius:999px;background:rgba(255,220,72,.88);color:#3e3000;font-weight:950;font-size:7px;letter-spacing:.08em}.shiny-card{box-shadow:0 0 0 1px rgba(255,236,128,.34),0 0 32px rgba(255,220,88,.11)!important}.sell-card-btn{font-size:11px!important;min-height:36px}
.pokedex-discovery{animation:pokedexDiscover 1.1s cubic-bezier(.16,.84,.24,1) both}@keyframes pokedexDiscover{0%{filter:grayscale(1) brightness(.12);transform:scale(.82) rotateY(18deg)}55%{filter:grayscale(.2) brightness(1.5);box-shadow:0 0 70px rgba(92,215,255,.55)}100%{filter:none;transform:none}}
.pack-opening-cinematic{min-height:min(78vh,740px);display:grid;place-items:center;align-content:center;gap:18px;overflow:hidden}.cinematic-pack{width:min(310px,70vw);height:470px;position:relative;filter:drop-shadow(0 30px 45px rgba(0,0,0,.55));animation:packHover 2.2s ease-in-out infinite alternate}.cinematic-pack .pack-art{height:100%!important}.sealed-pack:after{content:"";position:absolute;left:8%;right:8%;top:5%;height:28px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.25) 0 4px,rgba(255,255,255,.08) 4px 8px);border-radius:7px 7px 3px 3px;z-index:30;box-shadow:0 5px 12px rgba(0,0,0,.3)}.cinematic-pack.peeling:after{animation:peelTop .75s cubic-bezier(.2,.75,.2,1) forwards}.cinematic-pack.peeling .pack-art{animation:packTear .75s ease forwards}.opening-copy{text-align:center}.opening-copy b{display:block;font-size:20px}.opening-copy span{display:block;color:#89a6bf;font-size:12px;margin-top:4px}@keyframes packHover{to{transform:translateY(-9px) rotate(-1deg)}}@keyframes peelTop{to{transform:translate(48px,-100px) rotate(23deg);opacity:0}}@keyframes packTear{50%{clip-path:polygon(0 6%,42% 7%,48% 2%,55% 8%,100% 5%,100% 100%,0 100%)}100%{clip-path:polygon(0 10%,42% 11%,49% 5%,57% 12%,100% 9%,100% 100%,0 100%)}}
.reveal-overlay{touch-action:pan-y}.reveal-card{width:min(330px,74vw)!important}.reveal-card .tcg-card{padding:12px!important}.reveal-value{text-align:center;margin-top:12px}.skip-reveal{position:fixed;bottom:24px;left:50%;transform:translateX(-50%)}.mega-pull:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(255,243,149,.19),transparent 25%),radial-gradient(circle,transparent 20%,rgba(8,35,82,.7) 75%);animation:megaFlash 1.1s ease both}.mega-pull-title{position:fixed;top:11%;left:50%;transform:translateX(-50%);font-size:clamp(24px,5vw,52px);font-weight:1000;letter-spacing:.06em;color:#fff3a0;text-shadow:0 0 34px #f6cf39,0 5px 30px rgba(0,0,0,.65);z-index:7;animation:megaTitle .8s cubic-bezier(.16,.9,.2,1) both}@keyframes megaFlash{0%{opacity:0}20%{opacity:1}100%{opacity:.25}}@keyframes megaTitle{from{opacity:0;transform:translate(-50%,22px) scale(.72)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
.inspect-grid{display:grid;grid-template-columns:minmax(260px,390px) 1fr;gap:28px;align-items:center}.inspect-card-art{border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);transform:perspective(900px) rotateY(-3deg)}.inspect-card-art img{width:100%;height:auto}.inspect-value{font-size:34px;font-weight:950;color:#ffe269}.inspect-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:17px 0}.inspect-stats span{padding:12px;border-radius:13px;background:rgba(7,27,55,.58);border:1px solid rgba(116,208,255,.12);font-size:13px}.inspect-stats b{display:block;color:#728ca4;text-transform:uppercase;font-size:8px;letter-spacing:.12em;margin-bottom:4px}.inspect-actions{display:flex;gap:8px;flex-wrap:wrap}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compare-card{max-width:330px;margin:auto}.compare-stats{display:grid;gap:6px;margin-top:10px;text-align:center}.compare-stats span{padding:8px;border-radius:10px;background:rgba(7,26,53,.55)}
.binder-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.binder-grid .tcg-card{padding:5px!important}.binder-grid .tcg-body{display:none}.binder-grid .card-inspect{display:none}.binder-empty{aspect-ratio:2.5/3.5;border:1px dashed rgba(124,208,255,.2);background:rgba(5,20,44,.4);border-radius:14px;display:grid;place-items:center;align-content:center;color:#648097}.binder-empty span{font-size:22px;font-weight:900}.binder-empty small{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.profile-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.profile-badges span{font-size:8px;padding:4px 6px;border-radius:999px;background:rgba(54,189,247,.12);border:1px solid rgba(84,200,255,.16);color:#b8ecff}.mastery-grid,.achievement-grid,.quest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.mastery-card,.achievement,.quest-card{padding:16px;border-radius:17px}.mastery-card{display:grid;gap:7px}.mastery-card span{font-size:10px;color:#8da7be}.mastery-bar,.quest-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.mastery-bar i,.quest-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#20c8ff,#6366f1);box-shadow:0 0 16px rgba(45,190,255,.35)}.achievement{display:flex;gap:12px;align-items:center}.achievement.locked{opacity:.5;filter:saturate(.4)}.achievement-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(35,159,226,.14);border:1px solid rgba(93,206,255,.18);font-size:18px}.achievement b,.quest-card b{display:block;font-size:13px}.achievement small,.quest-card small{display:block;color:#7f99b0;font-size:10px;margin-top:3px}.quest-card{position:relative;display:grid;gap:9px}.quest-type{position:absolute;right:12px;top:12px;font-size:7px;text-transform:uppercase;letter-spacing:.1em;color:#6bcff5}.quest-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#9db2c4}.theme-pills{display:flex;gap:8px;flex-wrap:wrap;text-transform:capitalize}
.profile-theme-electric .profile-hero{box-shadow:0 0 60px rgba(250,204,21,.12)}.profile-theme-flame .profile-hero{box-shadow:0 0 60px rgba(251,146,60,.13)}.profile-theme-cosmic .profile-hero{box-shadow:0 0 60px rgba(139,92,246,.16)}
.booster-box-art{height:205px!important}.booster-box-lid{position:absolute;width:64%;height:17%;top:18%;left:18%;background:linear-gradient(135deg,color-mix(in srgb,var(--caseGlow) 42%,#0d1b38),#071127);transform:skewX(-24deg);border:1px solid rgba(255,255,255,.17);border-radius:7px 7px 2px 2px;box-shadow:0 11px 22px rgba(0,0,0,.38)}.booster-box-art .box-front{width:72%!important;height:55%!important;top:7%}.box-hero{position:absolute;inset:-8%;opacity:.62}.box-hero img{width:100%;height:100%;object-fit:cover;filter:saturate(1.2) contrast(1.08)}.box-pokeball{position:absolute;right:7px;top:7px;width:20px;height:20px;border-radius:50%;background:linear-gradient(#ef4444 0 44%,#111827 45% 55%,#fff 56%);z-index:8;border:1px solid #fff}.box-pokeball:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:white;border:2px solid #111827;transform:translate(-50%,-50%)}
.battle-columns{gap:10px!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.battle-column{min-width:min(330px,75vw);scroll-snap-align:center}.battle-pull-history{height:46px;display:flex;gap:5px;align-items:center;padding:7px 10px;border-top:1px solid rgba(103,200,255,.08);border-bottom:1px solid rgba(103,200,255,.08);overflow:hidden}.battle-pull-history span{width:30px;height:40px;border-radius:4px;overflow:hidden;opacity:.75}.battle-pull-history img{width:100%;height:100%;object-fit:cover}.battle-box-opening{display:grid;place-items:center;gap:8px;animation:boxOpenPulse 1.4s ease-in-out infinite}.battle-box-opening .booster-box-art{width:210px;height:140px!important}.battle-box-opening small{color:#7fa0ba;text-transform:uppercase;letter-spacing:.14em;font-size:8px}@keyframes boxOpenPulse{50%{transform:scale(1.035);filter:brightness(1.18)}}.battle-help{text-align:center;color:#7e9ab1;font-size:10px}.mega-mini{animation:battleSwipe .72s cubic-bezier(.16,.85,.2,1) both,megaMiniGlow 1.4s ease-in-out infinite alternate}@keyframes megaMiniGlow{to{filter:drop-shadow(0 0 28px rgba(255,220,90,.45))}}.battle-result-card{padding:30px;text-align:center;max-width:860px;margin:0 auto}.battle-result-card h1{font-size:38px;margin:8px 0}.best-pull{margin:22px auto;max-width:200px}.result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.battle-hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.fancy-loading{display:grid!important;place-items:center;align-content:center;gap:12px;min-height:52vh!important;text-align:center}.fancy-loading p{margin:0;color:#dff6ff;font-weight:850}.fancy-loading small{color:#6e8da7}.loading-ball{width:58px;height:58px;border-radius:50%;position:relative;background:linear-gradient(#ef4444 0 44%,#111827 45% 55%,#fff 56%);border:3px solid rgba(255,255,255,.8);box-shadow:0 0 38px rgba(56,189,248,.26);animation:ballSpin 1.4s cubic-bezier(.55,.1,.4,.9) infinite}.loading-ball:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:4px solid #111827;transform:translate(-50%,-50%)}@keyframes ballSpin{0%{transform:rotate(0) translateY(0)}50%{transform:rotate(180deg) translateY(-7px)}100%{transform:rotate(360deg) translateY(0)}}
.announcement-bar{position:sticky;top:0;z-index:38;padding:7px 18px;text-align:center;background:linear-gradient(90deg,rgba(16,116,188,.95),rgba(79,70,229,.95));font-size:11px;font-weight:850;letter-spacing:.02em;box-shadow:0 8px 26px rgba(0,0,0,.15)}.announcement-bar+.topbar{top:30px}.maintenance-card{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center;gap:13px}.maintenance-card h1{font-size:42px;margin:0}.maintenance-card p{color:#9cb6c9;max-width:600px}.mobile-bottom-nav{display:none}
.theme-preview-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:17px 0}.theme-preview{height:95px;border-radius:14px;border:1px solid rgba(255,255,255,.12);display:grid;place-items:end start;padding:10px;cursor:pointer;position:relative;overflow:hidden}.theme-preview input{position:absolute;opacity:0}.theme-preview span{font-size:10px;font-weight:900;z-index:2}.theme-preview.active{outline:2px solid #6ddcff;box-shadow:0 0 26px rgba(56,189,248,.2)}.theme-default{background:linear-gradient(135deg,#073168,#2563eb)}.theme-halloween{background:linear-gradient(135deg,#180c2f,#f97316)}.theme-christmas{background:linear-gradient(135deg,#064e3b,#b91c1c)}.theme-summer{background:linear-gradient(135deg,#06b6d4,#fbbf24)}.theme-anniversary{background:linear-gradient(135deg,#312e81,#db2777,#f59e0b)}
body[data-theme="halloween"]{--blue:#a855f7;--cyan:#fb923c;--blue2:#7c3aed}body[data-theme="halloween"] .ambient-particles i{background:#c084fc;box-shadow:0 0 12px #7e22ce}body[data-theme="halloween"] .ambient-particles i.ember{background:#fb923c;box-shadow:0 0 14px #ea580c}
body[data-theme="christmas"]{--blue:#10b981;--cyan:#f87171;--blue2:#047857}body[data-theme="christmas"] .ambient-particles i{background:#fff;box-shadow:0 0 11px #fff;opacity:.34}
body[data-theme="summer"]{--blue:#06b6d4;--cyan:#facc15;--blue2:#0ea5e9}body[data-theme="anniversary"]{--blue:#8b5cf6;--cyan:#f472b6;--blue2:#6366f1}
.admin-status-card{padding:22px;margin-top:15px;border-radius:20px}.admin-status-card h3{font-size:24px;margin:7px 0}.admin-status-card p{color:#8ca4bd;line-height:1.6}.admin-tabs{display:flex!important;gap:6px;overflow-x:auto;white-space:nowrap;padding-bottom:6px}.admin-tabs button{font-size:11px!important;padding:11px 15px!important}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;margin-bottom:15px}.health-card{padding:16px;border-radius:16px;display:grid;gap:5px}.health-card b{font-size:12px}.health-card span{font-size:10px;color:#8fa7bb}.health-card.ok{border-color:rgba(52,211,153,.25)}.health-card.bad{border-color:rgba(251,113,133,.28)}.compact-table{max-height:440px;overflow:auto}

@media(max-height:760px) and (min-width:701px){.sidebar{padding-top:10px;padding-bottom:10px}.sidebar .brand-mark{padding-bottom:7px}.brand-orb{width:36px;height:36px}.sidebar .brand-name{font-size:19px}.nav-label{padding-top:4px;padding-bottom:4px}.nav{gap:2px}.nav button{min-height:38px;padding:7px 11px;font-size:13px}.sidebar-bottom{padding-top:4px}.mini-profile{padding:8px}.event-mini{padding:7px!important;margin-top:5px!important}.logout-link{padding:5px 9px}}
@media(max-width:1100px){:root{--sidebar-w:270px}.page{padding:25px 20px 92px}.binder-grid{grid-template-columns:repeat(6,1fr)}.theme-preview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){
  html{font-size:16px}.shell{display:block!important}.main-wrap{padding-bottom:76px}.sidebar{position:fixed!important;left:0;top:0;bottom:0;height:100dvh!important;width:min(88vw,330px)!important;transform:translateX(-104%);transition:transform .25s ease;z-index:100!important}.sidebar.open{transform:translateX(0)}.mobile-menu{display:grid!important;place-items:center}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:8px;right:8px;bottom:8px;height:64px;z-index:90;border:1px solid rgba(124,212,255,.18);background:rgba(3,14,32,.9);backdrop-filter:blur(20px);border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.45);overflow:hidden}.mobile-bottom-nav button{border:0;background:transparent;color:#7290aa;display:grid;place-items:center;align-content:center;gap:3px;font-size:8px;font-weight:850}.mobile-bottom-nav button.active{color:#dff8ff;background:linear-gradient(180deg,rgba(32,173,235,.18),rgba(49,70,204,.09))}.mini-ball{width:16px!important;height:16px!important}.topbar{height:64px!important;padding:0 12px!important}.topbar-right{gap:5px!important}.topbar .desktop-only,.sound-toggle{display:none!important}.top-chip{font-size:10px!important;padding:7px 9px!important}.breadcrumb{font-size:13px!important}.announcement-bar{font-size:9px;padding:6px 10px}.announcement-bar+.topbar{top:25px}.page{padding:17px 12px 92px!important}.section-title{align-items:flex-start!important;gap:10px!important}.section-title h2{font-size:23px!important}.section-title p{font-size:11px!important;line-height:1.45}.hero{padding:22px 16px!important}.hero h1{font-size:clamp(32px,11vw,48px)!important}.hero-actions{display:grid!important;grid-template-columns:1fr!important}.stats-grid,.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.stat,.profile-stat{padding:13px!important}.stat strong,.profile-stat b{font-size:19px!important}.pack-grid,.pack-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.pack-card{padding:7px!important;border-radius:15px!important}.pack-art{height:230px!important}.pack-shell-art{inset:8px 8px 22px}.pack-set-fallback{font-size:13px!important}.pack-logo{max-width:82%!important}.pack-info{padding:8px 3px 3px!important}.pack-info h3{font-size:12px!important;line-height:1.15}.pack-meta{font-size:8px!important;display:grid!important;gap:3px}.pack-hint{font-size:7px!important}.pack-fav{width:29px;height:29px;right:10px;top:10px;font-size:14px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.tcg-card{padding:6px!important}.tcg-body h3{font-size:10px!important}.tcg-sub{font-size:8px!important}.card-inspect{opacity:.8;width:26px;height:26px}.toolbar{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.toolbar .segmented{overflow-x:auto}.search-input,.select{min-height:43px!important;font-size:13px!important}.pack-modal-grid,.inspect-grid,.compare-grid{grid-template-columns:1fr!important}.pack-modal-art{max-width:280px!important}.inspect-card-art{max-width:310px;margin:auto}.inspect-value{text-align:center;font-size:29px}.inspect-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.modal{padding:16px!important;max-height:94dvh!important;border-radius:20px!important}.modal.large{width:min(96vw,900px)!important}.cinematic-pack{width:min(250px,68vw);height:390px}.reveal-card{width:min(275px,72vw)!important}.reveal-progress{font-size:10px!important}.case-grid{grid-template-columns:1fr!important}.booster-box-art{height:220px!important}.builder{grid-template-columns:1fr!important}.selected-cases{overflow-x:auto!important;flex-wrap:nowrap!important}.selected-case{flex:0 0 128px}.format-grid{grid-template-columns:repeat(3,1fr)!important}.slots{grid-template-columns:1fr!important}.battle-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}.battle-row .players{overflow-x:auto}.battle-columns{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory}.battle-column{flex:0 0 86vw!important;min-width:86vw!important}.roll-zone{height:360px!important}.roll-zone .tcg-card{width:185px!important}.battle-player-head{padding:13px!important}.battle-pull-history{height:42px}.binder-grid{grid-template-columns:repeat(3,1fr)!important}.mastery-grid,.achievement-grid,.quest-grid{grid-template-columns:1fr!important}.avatar-grid{grid-template-columns:repeat(3,1fr)!important}.profile-hero{display:grid!important;grid-template-columns:auto 1fr!important}.profile-hero>.btn{grid-column:1/-1;width:100%}.theme-preview-grid{grid-template-columns:repeat(2,1fr)!important}.event-admin-grid{grid-template-columns:1fr!important}.data-table{overflow-x:auto}.data-table table{min-width:720px}.admin-tabs{margin-left:-12px;margin-right:-12px;padding:0 12px 8px}.dragon-fire-breath{left:54%;top:38%;width:58vw;height:22vw}.page-bg{object-position:center}.bg-shop{object-position:55% center}.bg-battles{object-position:58% center}.bg-profile{object-position:52% center}
}
@media(max-width:420px){.pack-grid,.pack-grid-large{grid-template-columns:1fr!important}.pack-art{height:320px!important}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stats-grid,.profile-stats{grid-template-columns:1fr 1fr!important}.dragon-fire-breath{display:block!important;left:52%;top:40%;width:70vw;height:28vw;filter:blur(4px)}.binder-grid{grid-template-columns:repeat(3,1fr)!important}.inspect-stats{grid-template-columns:1fr 1fr}.mobile-bottom-nav{left:5px;right:5px;bottom:5px}}
@media(prefers-reduced-motion:reduce){.page-bg,.charizard-bg,.dragon-fire-breath,.loading-ball,.cinematic-pack,.pokedex-discovery,.mega-pull:after,.mega-pull-title{animation:none!important}.dragon-fire-breath{opacity:.08!important}}

/* V3 final polish: event banner, profile rewards, mobile readability */
.event-banner{position:relative;z-index:36;display:flex;align-items:center;justify-content:center;gap:14px;min-height:42px;padding:9px 18px;background:linear-gradient(90deg,rgba(21,96,189,.88),rgba(65,63,196,.9),rgba(15,126,184,.88));border-bottom:1px solid rgba(134,220,255,.2);box-shadow:0 10px 36px rgba(1,12,32,.26);backdrop-filter:blur(14px);overflow:hidden}.event-banner:before{content:"";position:absolute;inset:-120% -20%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.18) 48%,transparent 61%);animation:eventSweep 5.5s linear infinite;pointer-events:none}.event-banner b,.event-banner span{position:relative;z-index:1}.event-banner b{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#effbff}.event-banner span{font-size:10px;font-weight:800;color:#bfeaff}@keyframes eventSweep{to{transform:translateX(65%)}}
.profile-banner-default{overflow:hidden}.profile-banner-collector{border-color:rgba(56,189,248,.34)!important;box-shadow:0 20px 65px rgba(14,165,233,.12),inset 0 0 60px rgba(14,165,233,.05)}.profile-banner-shiny{border-color:rgba(244,114,182,.38)!important;background:linear-gradient(120deg,rgba(10,30,55,.74),rgba(94,35,92,.3))!important;box-shadow:0 20px 70px rgba(244,114,182,.13)}.profile-banner-master{border-color:rgba(250,204,21,.4)!important;background:linear-gradient(120deg,rgba(12,31,50,.76),rgba(95,67,10,.27))!important;box-shadow:0 20px 70px rgba(250,204,21,.12)}.profile-banner-legend{border-color:rgba(192,132,252,.44)!important;background:linear-gradient(120deg,rgba(23,20,62,.8),rgba(83,33,123,.33),rgba(15,84,109,.26))!important;box-shadow:0 20px 78px rgba(168,85,247,.16)}
.profile-theme-electric .profile-hero{box-shadow:inset 0 0 70px rgba(56,189,248,.08),0 22px 70px rgba(2,10,30,.28)}.profile-theme-flame .profile-hero{box-shadow:inset 0 0 70px rgba(249,115,22,.09),0 22px 70px rgba(2,10,30,.28)}.profile-theme-cosmic .profile-hero{box-shadow:inset 0 0 80px rgba(168,85,247,.11),0 22px 70px rgba(2,10,30,.28)}
.mastery-loading{min-height:116px;display:grid;align-content:center;gap:7px;color:#9ec5dc}.profile-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.profile-badges span{font-size:9px;font-weight:850;padding:5px 8px;border:1px solid rgba(125,211,252,.2);border-radius:999px;background:rgba(4,24,50,.52)}
.pokedex-discovery{animation:discoverCard 1.15s cubic-bezier(.16,.9,.18,1) both}@keyframes discoverCard{0%{filter:grayscale(1) brightness(.18);transform:scale(.88) rotateY(18deg);box-shadow:0 0 0 transparent}52%{filter:grayscale(.4) brightness(1.35);transform:scale(1.045) rotateY(0);box-shadow:0 0 55px rgba(103,232,249,.52)}100%{filter:none;transform:scale(1);box-shadow:inherit}}
@media(max-width:700px){.event-banner{min-height:36px;padding:7px 10px;gap:7px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.event-banner b{font-size:10px}.event-banner span{font-size:8px}.announcement-bar+.event-banner+.topbar{top:25px}.profile-badges{gap:4px}.profile-badges span{font-size:8px;padding:4px 6px}}

/* V3 continue pass — shiny variants, mobile nav, admin health */
.shiny-qty-badge{position:absolute;left:8px;top:8px;z-index:5;padding:4px 6px;border-radius:999px;background:linear-gradient(90deg,rgba(34,211,238,.94),rgba(168,85,247,.92));color:#fff;font-size:8px;font-weight:950;letter-spacing:.03em;box-shadow:0 0 18px rgba(34,211,238,.3);border:1px solid rgba(255,255,255,.34)}
.health-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.health-detail{padding:16px;border-radius:18px}.health-detail h3{margin:0 0 10px;font-size:15px}.health-detail button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-top:1px solid rgba(140,215,255,.08);background:transparent;color:#dbeafe;padding:10px 2px;text-align:left;font-size:12px;cursor:pointer}.health-detail button:hover{color:#7ddfff}.health-detail button small{color:#718ba3;font-size:9px}
.mobile-bottom-nav.cols-6{grid-template-columns:repeat(6,1fr)}
@media(max-width:700px){.mobile-bottom-nav.cols-6 button{font-size:7px}.mobile-bottom-nav.cols-6 .mini-ball{width:15px!important;height:15px!important}.health-detail-grid{grid-template-columns:1fr}.shiny-qty-badge{font-size:7px;padding:3px 5px}}
/* V3 JP mapping safety: never pretend an unrelated JP set is the selected pack. */
.pack-art.virtual-jp .pack-shell-art,.mini-pack.virtual-jp .pack-shell-art{background:linear-gradient(155deg,#551163 0%,#9b1bb1 44%,#171a5d 100%);overflow:hidden}
.pack-art.virtual-jp .pack-shell-art:before,.mini-pack.virtual-jp .pack-shell-art:before{content:"";position:absolute;inset:-22%;background:repeating-linear-gradient(135deg,rgba(255,255,255,.13) 0 2px,transparent 2px 18px);transform:rotate(8deg)}
.pack-art.virtual-jp .pack-set-fallback,.mini-pack.virtual-jp .pack-set-fallback{display:block;position:absolute;inset:auto 10px 38%;z-index:3;text-align:center;color:#fff;font-weight:950;text-shadow:0 2px 12px #000;letter-spacing:.02em}
.jp-edition-mark{position:absolute;z-index:4;left:50%;bottom:20%;transform:translateX(-50%);font-size:19px;font-weight:950;letter-spacing:.15em;color:#ffe96c;text-shadow:0 2px 10px #000}
.jp-map-note{margin:10px 0;padding:10px 12px;border:1px solid rgba(144,205,255,.25);border-radius:12px;background:rgba(20,67,110,.24);font-size:12px;line-height:1.5;color:#beddf4}
/* Pack modal must keep real width on single-column mobile layouts. */
.pack-modal-art{width:100%;min-width:0}
.pack-modal-art>.pack-art{width:100%}

/* =========================================================
   POKÉVAULT V4 — hard background isolation + battle redesign
   ========================================================= */
.world-bg .charizard-bg,.world-bg .page-bg{display:none!important;opacity:0!important}
body[data-route="home"] .world-bg .charizard-bg{display:block!important;opacity:.76!important}
body[data-route="shop"] .world-bg .bg-shop{display:block!important;opacity:.84!important}
body[data-route="battles"] .world-bg .bg-battles{display:block!important;opacity:.78!important}
body[data-route="collection"] .world-bg .bg-collection{display:block!important;opacity:.82!important}
body[data-route="pokedex"] .world-bg .bg-pokedex{display:block!important;opacity:.82!important}
body[data-route="admin"] .world-bg .bg-admin{display:block!important;opacity:.8!important}
body[data-route="profile"] .world-bg .bg-profile{display:block!important;opacity:.82!important}
body:not([data-route="home"]) .dragon-fire-breath{display:none!important}

/* Themes are intentionally obvious instead of only changing a hidden CSS variable. */
body[data-theme="halloween"] .world-vignette{background:linear-gradient(135deg,rgba(25,8,45,.48),rgba(86,27,8,.2) 55%,rgba(4,8,20,.5))!important}
body[data-theme="halloween"] .topbar,body[data-theme="halloween"] .sidebar{border-color:rgba(251,146,60,.2)!important;box-shadow:inset 0 0 45px rgba(168,85,247,.035)}
body[data-theme="christmas"] .world-vignette{background:linear-gradient(135deg,rgba(3,55,43,.42),rgba(92,15,24,.2) 60%,rgba(4,8,20,.48))!important}
body[data-theme="christmas"] .topbar,body[data-theme="christmas"] .sidebar{border-color:rgba(52,211,153,.2)!important}
body[data-theme="summer"] .world-vignette{background:linear-gradient(135deg,rgba(6,182,212,.15),rgba(250,204,21,.08) 50%,rgba(4,18,40,.35))!important}
body[data-theme="summer"] .glass{border-color:rgba(103,232,249,.2)}
body[data-theme="anniversary"] .world-vignette{background:linear-gradient(135deg,rgba(99,102,241,.26),rgba(219,39,119,.14) 52%,rgba(245,158,11,.08))!important}
body[data-theme="anniversary"] .glass{box-shadow:inset 0 0 30px rgba(244,114,182,.025)}
.admin-live-timer{display:inline-flex;align-items:center;gap:7px;margin:10px 0 2px;padding:7px 10px;border-radius:999px;border:1px solid rgba(103,232,249,.22);background:rgba(8,38,78,.55);font-size:10px;font-weight:850;color:#a7e8ff;text-transform:uppercase;letter-spacing:.08em}.admin-live-timer strong{color:#fff}

/* Pack shop empty state */
.shop-empty{margin-top:14px;background:rgba(4,18,40,.7);backdrop-filter:blur(18px)}

/* PackDraw-inspired but original Pokémon battle system */
.battle-page-v4{max-width:1600px}.battle-lobby-head-v4{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin:4px 0 16px}.battle-lobby-head-v4 h1{font-size:clamp(30px,4vw,54px);margin:4px 0 6px;letter-spacing:-.035em}.battle-lobby-head-v4 p{margin:0;color:#8da9bd;max-width:720px}.battle-lobby-head-v4>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.battle-tabs-v4{display:flex;gap:6px;padding:7px;border:1px solid rgba(119,207,255,.12);background:rgba(5,18,40,.68);border-radius:15px;margin-bottom:12px;backdrop-filter:blur(18px);overflow:auto}.battle-tabs-v4 button{border:0;background:transparent;color:#7d98ad;padding:9px 13px;border-radius:10px;font-weight:850;font-size:10px;white-space:nowrap}.battle-tabs-v4 button.active{color:#fff;background:linear-gradient(135deg,rgba(14,165,233,.34),rgba(59,130,246,.22));box-shadow:0 0 24px rgba(56,189,248,.1)}
.battle-lobby-v4{display:grid;gap:8px}.battle-lobby-row-v4{position:relative;display:grid;grid-template-columns:minmax(310px,1.25fr) minmax(220px,1fr) 180px auto;gap:15px;align-items:center;padding:12px 13px 12px 18px;border:1px solid rgba(113,202,255,.13);background:linear-gradient(90deg,rgba(5,19,42,.83),rgba(8,29,59,.7));border-radius:14px;overflow:hidden;backdrop-filter:blur(17px);transition:.2s}.battle-lobby-row-v4:hover{transform:translateY(-2px);border-color:rgba(94,210,255,.3);box-shadow:0 16px 50px rgba(0,0,0,.22)}.battle-lobby-state{position:absolute;left:0;top:0;bottom:0;width:3px;background:#38bdf8;box-shadow:0 0 18px #38bdf8}.battle-lobby-state.completed{background:#64748b;box-shadow:none}.battle-lobby-state.live{background:#34d399;box-shadow:0 0 18px #34d399}.battle-lobby-info{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:11px}.battle-lobby-info>div:first-child b{font-size:10px;color:#e5f7ff;letter-spacing:.08em}.battle-lobby-info>div:first-child small{display:block;margin-top:3px;font-size:8px;color:#6d879c}.battle-lobby-players{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.battle-player-dot{display:grid;justify-items:center;gap:3px;min-width:42px}.battle-player-dot .avatar{width:34px;height:34px}.battle-player-dot small{max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;color:#829caf}.battle-player-dot.empty{opacity:.46}.battle-player-dot.bot .avatar{background:linear-gradient(135deg,#7c3aed,#2563eb)}.battle-lobby-packs{display:flex;align-items:center;gap:3px;min-height:50px;overflow:hidden}.battle-lobby-packs>span{display:block;width:38px;height:52px;overflow:hidden;border-radius:6px;transform:rotate(-2deg)}.battle-lobby-packs>span:nth-child(even){transform:rotate(2deg)}.battle-lobby-packs .booster-box-art{width:76px!important;height:52px!important;transform:scale(.52);transform-origin:top left;margin:0!important}.battle-lobby-packs em{font-size:9px;color:#8ea9bc}.battle-lobby-meta{display:flex;gap:16px}.battle-lobby-meta span{display:grid;gap:2px;font-size:8px;color:#6e899e}.battle-lobby-meta b{font-size:10px;color:#dcefff}

.battle-create-v4{max-width:1320px;padding-bottom:112px}.battle-create-head{display:grid;grid-template-columns:170px 1fr 170px;align-items:center;text-align:center;margin:0 auto 24px}.battle-create-head h1{font-size:24px;margin:4px 0}.battle-create-head>.pill{justify-self:end}.battle-create-center{max-width:980px;margin:auto}.battle-create-section{margin:0 0 28px;text-align:center}.battle-create-section>label,.selected-pack-title>label{display:block;margin-bottom:11px;font-size:11px;color:#8199ab;font-weight:850}.battle-format-pills{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.battle-format-pills button{width:58px;height:58px;border-radius:50%;border:1px solid rgba(119,207,255,.13);background:rgba(7,24,50,.65);color:#91a9ba;font-weight:900;transition:.18s}.battle-format-pills button.active{color:#fff;background:linear-gradient(145deg,#1194e5,#2563eb);border-color:#58d1ff;box-shadow:0 0 28px rgba(30,164,235,.25);transform:scale(1.05)}.battle-mode-grid-v4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.battle-mode-card{min-height:150px;border:1px solid rgba(111,200,255,.12);background:rgba(7,22,46,.7);border-radius:16px;color:#90a9bb;padding:16px;display:grid;place-items:center;align-content:center;gap:7px;transition:.2s}.battle-mode-card.active{border-color:#48bdf4;color:#fff;background:linear-gradient(145deg,rgba(14,120,184,.28),rgba(9,26,55,.82));box-shadow:0 0 32px rgba(56,189,248,.12)}.battle-mode-graphic{font-size:25px;color:#8ddfff;letter-spacing:.08em}.battle-mode-card b{font-size:13px}.battle-mode-card small{font-size:8px;color:#6f8b9f}.mode-help{font-size:9px;color:#687f91;margin:10px 0 0}.battle-options-v4{display:grid;grid-template-columns:1fr 1fr;gap:10px}.battle-option{min-height:68px;border:1px solid rgba(112,199,255,.11);background:rgba(7,23,49,.68);border-radius:13px;color:#a1b5c3;padding:12px 14px;display:grid;grid-template-columns:auto 1fr auto;text-align:left;align-items:center;gap:10px}.battle-option>span{font-size:17px}.battle-option b{font-size:10px}.battle-option small{display:block;font-size:8px;color:#627f95;margin-top:2px}.battle-option i{width:31px;height:18px;border-radius:999px;background:#27394c;position:relative}.battle-option i:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#7a91a4;left:3px;top:3px;transition:.18s}.battle-option.on{border-color:rgba(74,202,255,.27)}.battle-option.on i{background:#0f81c5}.battle-option.on i:after{left:16px;background:#dff8ff}.selected-pack-title{display:flex;align-items:center;justify-content:space-between;text-align:left}.battle-selected-packs-v4{display:flex;gap:9px;overflow:auto;padding:5px 2px 10px}.battle-selected-pack{flex:0 0 130px;position:relative;padding:8px;border-radius:13px;border:1px solid rgba(115,203,255,.12);background:rgba(5,19,41,.72);text-align:left}.battle-selected-pack .booster-box-art{height:80px!important}.battle-selected-pack b{font-size:9px;display:block;margin-top:6px}.battle-selected-pack small{font-size:8px;color:#ffd25f}.battle-selected-pack>button{position:absolute;right:5px;top:5px;border:0;background:rgba(3,12,26,.78);color:#fff;width:22px;height:22px;border-radius:50%}.battle-add-pack-big{min-width:180px;min-height:125px;border:1px dashed rgba(110,206,255,.22);border-radius:14px;background:rgba(4,16,36,.5);color:#7f9cb1;display:grid;place-items:center;align-content:center;gap:4px}.battle-add-pack-big span{font-size:26px}.battle-add-pack-big b{font-size:10px}.battle-add-pack-big small{font-size:8px}.battle-slots-v4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.battle-slot-v4{min-height:64px;padding:10px;border:1px solid rgba(111,202,255,.11);background:rgba(5,20,44,.65);border-radius:13px;display:flex;align-items:center;justify-content:space-between;text-align:left}.battle-slot-v4>div{display:flex;align-items:center;gap:8px}.battle-slot-v4 .avatar{width:38px;height:38px}.battle-slot-v4 span b{display:block;font-size:10px}.battle-slot-v4 span small{font-size:8px;color:#6f899e}.battle-slot-v4 em{font-size:7px;color:#72d9ff}.battle-slot-v4.empty{border-style:dashed}.battle-create-sticky{position:fixed;z-index:48;left:calc(var(--sidebar-w) + 28px);right:28px;bottom:18px;display:grid;grid-template-columns:1fr minmax(320px,520px);align-items:center;gap:18px;padding:10px 12px 10px 18px;border:1px solid rgba(112,206,255,.18);background:rgba(4,18,39,.93);backdrop-filter:blur(22px);border-radius:15px;box-shadow:0 18px 60px rgba(0,0,0,.4)}.battle-create-sticky span{font-size:8px;color:#678399}.battle-create-sticky b{display:block;font-size:10px;margin-top:2px}.battle-create-submit{height:46px;border:0;border-radius:11px;background:linear-gradient(90deg,#22c55e,#16a34a);color:white;font-weight:950}.battle-create-submit:disabled{filter:grayscale(1);opacity:.4}

.battle-case-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.battle-case-toolbar .search-wrap{flex:1}.battle-case-selector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:64vh;overflow:auto;padding:2px 3px 12px}.battle-pack-choice{position:relative;border:1px solid rgba(110,202,255,.12);background:rgba(5,20,43,.75);border-radius:13px;padding:8px;display:grid;gap:7px}.battle-pack-choice .booster-box-art{height:135px!important}.battle-pack-choice>div:nth-last-of-type(1){display:flex;align-items:center;justify-content:space-between;gap:6px}.battle-pack-choice b{font-size:9px}.battle-pack-choice span{font-size:8px;color:#ffd15f}.battle-selector-sticky{position:sticky;bottom:-20px;margin:10px -20px -20px;padding:12px 20px;border-top:1px solid rgba(111,201,255,.12);background:rgba(4,17,37,.96);display:flex;align-items:center;justify-content:space-between}.battle-selector-sticky span{font-size:10px;color:#87a2b7}

.live-battle-v4{min-height:calc(100dvh - 68px);padding:15px 18px 55px;max-width:1700px;margin:auto}.live-battle-nav{display:grid;grid-template-columns:170px 1fr 170px;align-items:center;gap:12px}.battle-round-strip{display:flex;justify-content:center;align-items:center;gap:4px;overflow:hidden}.battle-round-strip>span{width:38px;height:52px;border-radius:6px;opacity:.35;overflow:hidden;transition:.22s}.battle-round-strip>span.active{opacity:1;transform:translateY(2px) scale(1.08);box-shadow:0 0 18px rgba(93,216,255,.25)}.battle-round-strip>span.done{opacity:.62}.battle-round-strip .booster-box-art{width:76px!important;height:52px!important;transform:scale(.5);transform-origin:top left}.live-battle-cost{text-align:right;font-size:8px;color:#718da3}.live-battle-cost b{display:block;color:#ffd15f;font-size:11px;margin-top:2px}.live-battle-status{text-align:center;margin:14px 0 12px;display:grid;justify-items:center;gap:3px}.live-battle-status .mode-line{font-size:8px;letter-spacing:.13em;border-left:2px solid #34d399;padding-left:7px;color:#a9f0d5}.live-battle-status .mode-line.crazy{border-color:#a78bfa;color:#d8c7ff}.live-battle-status b{font-size:11px;color:#879fb1}.live-battle-status strong{font-size:13px}.live-player-header-grid,.battle-reel-grid-v4{display:grid;grid-template-columns:repeat(var(--players),minmax(120px,1fr));gap:6px}.live-player-v4{min-width:0;padding:9px;border:1px solid rgba(110,203,255,.1);background:rgba(5,19,41,.72);border-radius:12px;display:flex;align-items:center;gap:7px}.live-player-v4 .avatar{width:30px;height:30px;flex:none}.live-player-v4 span{min-width:0}.live-player-v4 span b,.live-player-v4 span small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-player-v4 span b{font-size:9px}.live-player-v4 span small{font-size:7px;color:#687f93}.live-player-v4 em{margin-left:auto;color:#ffd15f;font-size:9px;font-weight:900;font-style:normal}.live-player-v4.team-1{border-bottom-color:rgba(56,189,248,.55)}.live-player-v4.team-2{border-bottom-color:rgba(244,114,182,.55)}.battle-reel-grid-v4{margin-top:6px}.battle-reel-lane{min-height:430px;border:1px solid rgba(107,200,255,.08);background:linear-gradient(180deg,rgba(6,20,42,.54),rgba(3,13,29,.74));border-radius:12px;overflow:hidden;position:relative}.battle-reel-window{height:350px;display:grid;place-items:center;padding:14px;overflow:hidden;position:relative}.battle-reel-window:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:1px;background:linear-gradient(90deg,transparent,#66d4ff,transparent);opacity:.28;box-shadow:0 0 18px #38bdf8}.battle-landed-card{width:min(190px,90%);animation:reelLandV4 .7s cubic-bezier(.16,.9,.2,1) both}.battle-landed-card .tcg-card{box-shadow:0 20px 50px rgba(0,0,0,.35)}.battle-landed-card>strong{display:block;text-align:center;color:#ffd25e;margin-top:6px;font-size:11px}.battle-landed-card.mega{filter:drop-shadow(0 0 24px rgba(255,213,73,.3));animation:reelLandV4 .7s cubic-bezier(.16,.9,.2,1) both,megaMiniGlow 1.2s ease-in-out infinite alternate}@keyframes reelLandV4{0%{opacity:0;transform:translateY(-130px) scale(.78);filter:blur(6px)}65%{opacity:1;transform:translateY(9px) scale(1.035);filter:blur(0)}100%{transform:none}}.battle-reel-motion{width:100%;height:140%;position:relative;animation:reelMotionV4 .7s linear infinite}.battle-reel-motion span{position:absolute;left:50%;top:calc(var(--i)*24% - 15%);transform:translateX(-50%);animation:reelCardPulse .42s ease-in-out infinite alternate;animation-delay:var(--delay)}.card-back-mini{display:block;width:105px;height:147px;border-radius:9px;background:radial-gradient(circle at center,#fff 0 9%,#172336 10% 13%,transparent 14%),linear-gradient(#1d4ed8 0 44%,#111827 45% 55%,#f8fafc 56%);border:4px solid #e9f6ff;box-shadow:0 8px 25px rgba(0,0,0,.35)}@keyframes reelMotionV4{to{transform:translateY(-24%)}}@keyframes reelCardPulse{to{filter:brightness(1.15)}}.battle-pull-history-v4{height:70px;border-top:1px solid rgba(110,201,255,.08);display:flex;align-items:center;justify-content:center;gap:4px;padding:8px;overflow:hidden}.battle-pull-history-v4 span{width:36px;height:50px;border-radius:4px;overflow:hidden;opacity:.62}.battle-pull-history-v4 img{width:100%;height:100%;object-fit:cover}.live-battle-footer{margin-top:10px;display:flex;justify-content:center;gap:14px;color:#7893a7;font-size:9px}.live-battle-footer b{color:#b9d8e9}.battle-result-v4{position:relative;overflow:hidden;text-align:center;max-width:900px;margin:20px auto;padding:38px;border:1px solid rgba(106,208,255,.17);border-radius:23px;background:rgba(5,20,43,.8);backdrop-filter:blur(20px)}.battle-result-v4 h1{font-size:clamp(36px,6vw,65px);margin:6px 0;color:#dff8ff;text-shadow:0 0 35px rgba(56,189,248,.22)}.battle-results-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:20px 0}.battle-result-team{padding:14px;border:1px solid rgba(110,202,255,.1);border-radius:12px;background:rgba(4,16,35,.5)}.battle-result-team span{font-size:9px;color:#7590a5}.battle-result-team b{display:block;font-size:18px;color:#dcefff;margin-top:3px}.battle-result-team.winner{border-color:rgba(52,211,153,.38);box-shadow:0 0 30px rgba(52,211,153,.11)}.battle-result-team.winner b{color:#79edc1}.best-pull-v4{width:190px;margin:22px auto}.best-pull-v4>span{display:block;font-size:9px;color:#8ba4b6;margin-bottom:7px}.reward-v4{display:inline-grid;gap:3px;padding:12px 18px;border-radius:13px;background:rgba(250,204,21,.08);border:1px solid rgba(250,204,21,.18);margin:3px auto 16px}.reward-v4 span{font-size:8px;color:#968b62}.reward-v4 b{color:#ffd15f;font-size:20px}.battle-result-confetti i{position:absolute;width:6px;height:12px;left:calc((var(--i) + 1)*4%);top:-20px;background:hsl(calc(var(--i)*31deg) 80% 62%);animation:confettiV4 calc(2.4s + (var(--i)%5)*.25s) linear infinite;animation-delay:calc(var(--i)*-.13s);opacity:.65}@keyframes confettiV4{to{transform:translate(calc((var(--i)%3 - 1)*45px),560px) rotate(540deg)}}

@media(max-width:1100px){.battle-lobby-row-v4{grid-template-columns:1fr auto}.battle-lobby-packs,.battle-lobby-meta{grid-row:2}.battle-lobby-packs{grid-column:1}.battle-lobby-meta{grid-column:2}.battle-case-selector-grid{grid-template-columns:repeat(3,1fr)}.battle-create-sticky{left:20px;right:20px}}
@media(max-width:700px){.battle-lobby-head-v4{display:grid}.battle-lobby-head-v4>div:last-child{display:grid;grid-template-columns:1fr 1fr}.battle-lobby-row-v4{grid-template-columns:1fr;padding:12px}.battle-lobby-info{grid-template-columns:72px 1fr}.battle-lobby-packs,.battle-lobby-meta{grid-column:1;grid-row:auto}.battle-lobby-meta{justify-content:space-between}.battle-lobby-row-v4>.btn{width:100%}.battle-create-head{grid-template-columns:1fr auto;text-align:left}.battle-create-head>button{grid-column:1/-1;justify-self:start}.battle-create-head>.pill{grid-column:2}.battle-mode-grid-v4,.battle-options-v4,.battle-slots-v4{grid-template-columns:1fr}.battle-case-selector-grid{grid-template-columns:repeat(2,1fr)}.battle-create-sticky{grid-template-columns:1fr;left:10px;right:10px;bottom:78px;gap:7px}.battle-create-sticky>div{display:none}.live-battle-v4{padding:12px 8px 88px}.live-battle-nav{grid-template-columns:1fr auto}.live-battle-nav>button{display:none}.battle-round-strip{justify-content:flex-start;overflow-x:auto}.live-battle-cost{grid-column:2}.live-player-header-grid,.battle-reel-grid-v4{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.live-player-v4,.battle-reel-lane{flex:0 0 78vw;scroll-snap-align:center}.live-player-header-grid{margin-bottom:6px}.battle-reel-lane{min-height:390px}.battle-reel-window{height:315px}.battle-result-v4{padding:25px 14px}.battle-case-toolbar{display:grid}.battle-selector-sticky{gap:8px}}
\n\n/* =========================================================\n   POKÉVAULT V4.1 — mobile breathing room + short-screen fit\n   ========================================================= */\n@media(max-width:560px){\n  .pack-grid,.pack-grid-large{grid-template-columns:1fr!important;gap:14px!important}\n  .pack-card{padding:11px!important;border-radius:19px!important}\n  .pack-art{height:330px!important}\n  .pack-info h3{font-size:15px!important}\n  .pack-meta{font-size:10px!important}\n  .pack-hint{font-size:9px!important}\n  .section-title h2{font-size:25px!important}\n  .coin-chip{font-size:11px!important;padding:8px 10px!important}\n  .mobile-bottom-nav{height:68px!important}\n  .mobile-bottom-nav button{font-size:9px!important}\n  .mobile-bottom-nav .mini-ball{width:18px!important;height:18px!important}\n  .live-player-v4,.battle-reel-lane{flex-basis:84vw!important}\n}\n@media(max-height:690px) and (min-width:901px){\n  .sidebar{padding:8px 13px!important}\n  .sidebar .brand-mark{padding:2px 6px 6px!important}\n  .sidebar .brand-orb{width:34px!important;height:34px!important}\n  .sidebar .brand-name{font-size:18px!important}\n  .nav-label{padding:2px 9px 3px!important;font-size:8px!important}\n  .nav{gap:1px!important}\n  .nav button{min-height:34px!important;padding:6px 10px!important;font-size:12px!important}\n  .nav-dot{width:7px!important;height:7px!important}\n  .sidebar-bottom{padding-top:3px!important}\n  .mini-profile{padding:7px!important;border-radius:13px!important}\n  .mini-profile .avatar{width:32px!important;height:32px!important}\n  .mini-profile .name{font-size:11px!important}\n  .mini-profile .coins{font-size:9px!important}\n  .logout-link{padding:4px 8px!important;font-size:10px!important;margin-top:2px!important}\n  .event-mini{padding:5px!important;margin-top:3px!important}\n}\n

/* POKÉVAULT V5 */
.pool-count-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px;color:#b9d8ee}.pool-count-line b{font-size:17px;color:#eef9ff}.full-pool-grid{max-height:58vh;overflow:auto;padding-right:6px;align-items:start}.best-result-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;margin:0 0 12px;border:1px solid rgba(253,211,90,.35);background:rgba(253,211,90,.08);border-radius:14px}.best-result-banner span{color:#f9d66b;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.best-result-banner b{font-size:13px;text-align:right}.collection-summary+.toolbar{position:relative}.section-title .btn-warm{white-space:nowrap}.battle-slot-v4.empty small{max-width:220px}.pack-opening-cinematic .opening-copy span{max-width:420px}
@media(max-width:700px){.full-pool-grid{max-height:none;overflow:visible}.best-result-banner{align-items:flex-start;flex-direction:column}.best-result-banner b{text-align:left}.section-title .btn-warm{width:100%;margin-top:10px}.pack-modal-stats{grid-template-columns:1fr 1fr}}
