: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}}


/* =========================================================
   POKÉVAULT V4.1 — mobile breathing room + short-screen fit
   ========================================================= */
@media(max-width:560px){
  .pack-grid,.pack-grid-large{grid-template-columns:1fr!important;gap:14px!important}
  .pack-card{padding:11px!important;border-radius:19px!important}
  .pack-art{height:330px!important}
  .pack-info h3{font-size:15px!important}
  .pack-meta{font-size:10px!important}
  .pack-hint{font-size:9px!important}
  .section-title h2{font-size:25px!important}
  .coin-chip{font-size:11px!important;padding:8px 10px!important}
  .mobile-bottom-nav{height:68px!important}
  .mobile-bottom-nav button{font-size:9px!important}
  .mobile-bottom-nav .mini-ball{width:18px!important;height:18px!important}
  .live-player-v4,.battle-reel-lane{flex-basis:84vw!important}
}
@media(max-height:690px) and (min-width:901px){
  .sidebar{padding:8px 13px!important}
  .sidebar .brand-mark{padding:2px 6px 6px!important}
  .sidebar .brand-orb{width:34px!important;height:34px!important}
  .sidebar .brand-name{font-size:18px!important}
  .nav-label{padding:2px 9px 3px!important;font-size:8px!important}
  .nav{gap:1px!important}
  .nav button{min-height:34px!important;padding:6px 10px!important;font-size:12px!important}
  .nav-dot{width:7px!important;height:7px!important}
  .sidebar-bottom{padding-top:3px!important}
  .mini-profile{padding:7px!important;border-radius:13px!important}
  .mini-profile .avatar{width:32px!important;height:32px!important}
  .mini-profile .name{font-size:11px!important}
  .mini-profile .coins{font-size:9px!important}
  .logout-link{padding:4px 8px!important;font-size:10px!important;margin-top:2px!important}
  .event-mini{padding:5px!important;margin-top:3px!important}
}


/* 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}}

/* =========================================================
   POKÉVAULT V7 — GAME UI, PACK ART, GRADING & BATTLES
   ========================================================= */
:root{--sidebar-w:306px;--ui-card:rgba(7,22,43,.88);--ui-card-2:rgba(10,31,57,.92);--ui-line:rgba(126,186,228,.22)}
.shell{grid-template-columns:var(--sidebar-w) minmax(0,1fr)!important}
.sidebar{width:var(--sidebar-w)!important;padding:20px 16px 16px!important;background:rgba(7,25,48,.94)!important;backdrop-filter:blur(16px)!important;border-right:1px solid rgba(125,184,226,.18)!important;box-shadow:8px 0 28px rgba(0,0,0,.16)!important}
.sidebar .brand-mark{padding:4px 8px 18px!important}
.nav-v7{display:grid!important;gap:12px!important;width:100%!important}
.nav-group-v7{width:100%;padding:6px;border:1px solid rgba(122,181,224,.16);background:rgba(12,34,61,.72);border-radius:14px;overflow:hidden}
.nav-group-v7 button{width:100%;min-height:46px;padding:10px 12px!important;border-radius:9px!important;font-size:14px!important}
.nav-group-v7 button+button{margin-top:2px}
.nav-group-v7 button.active{background:#175184!important;box-shadow:inset 0 0 0 1px rgba(126,214,255,.34)!important}
.nav-group-v7 button.active:before{display:none!important}
.nav-arrow{margin-left:auto;color:#86a9c4;font-size:18px;line-height:1}.nav-dot{width:12px!important;height:12px!important;border-radius:50%!important;position:relative;background:linear-gradient(#ef4444 0 45%,#f8fafc 46% 100%);border:1px solid rgba(255,255,255,.7)!important;box-shadow:none!important}.nav-dot:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;border:1px solid #173452;left:50%;top:50%;transform:translate(-50%,-50%)}
.admin-nav-v7{margin-top:0}
.sidebar-panel-v7{width:100%;min-height:106px;margin-top:12px;padding:15px;border:1px solid rgba(122,181,224,.15);border-radius:14px;background:rgba(9,30,55,.62);display:flex;flex-direction:column;justify-content:center;gap:4px}
.sidebar-panel-v7 span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#68859e;font-weight:900}.sidebar-panel-v7 b{font-size:17px;color:#eaf7ff}.sidebar-panel-v7 small{font-size:10px;color:#8da6ba;line-height:1.45}
.sidebar-bottom{margin-top:auto!important;padding-top:12px}.mini-profile{border-radius:13px!important;background:#0b3158!important;padding:11px!important}.logout-link{font-size:12px!important}

/* A calmer, purpose-built visual language: fewer generic glass effects. */
.panel,.card,.stat,.profile-stat,.quick,.case-card,.battle-row,.profile-hero,.admin-status-card,.health-card,.data-table,.modal{backdrop-filter:none!important}
.btn{border-radius:10px!important;font-weight:800!important}.btn-primary{background:#1678c8!important;box-shadow:none!important}.btn:hover{filter:brightness(1.08)}
.topbar{height:78px!important;padding:0 28px!important;background:rgba(8,27,50,.94)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid rgba(123,190,232,.18)!important}
.breadcrumb{font-size:15px!important}.topbar-right{gap:10px!important;align-items:center!important;margin-left:auto!important}.top-chip,.sound-toggle{min-height:42px!important;padding:10px 14px!important;font-size:12px!important;border-radius:12px!important;background:#0d3157!important;border:1px solid rgba(127,191,232,.18)!important}.coin-chip{font-size:14px!important;padding-right:16px!important}.coin-chip strong{font-size:15px!important;color:#ffd85b!important}
.coin-icon{display:inline-block;width:17px;height:17px;flex:0 0 17px;border-radius:50%;background:linear-gradient(145deg,#fff0a2 0 12%,#f7c932 26%,#d99a0a 68%,#ffdf58 100%);border:1px solid rgba(255,241,170,.85);box-shadow:inset -2px -2px 3px rgba(115,72,0,.28),inset 2px 2px 2px rgba(255,255,255,.38);vertical-align:-3px;position:relative}.coin-icon:after{content:"";position:absolute;inset:4px;border:1px solid rgba(113,73,0,.32);border-radius:50%}
.page{padding:34px 34px 96px!important;max-width:1640px!important}.section-title h2{font-size:29px!important}.section-title p{font-size:12px!important}.eyebrow{font-size:10px!important}

/* Shop: show the sealed booster itself, not a card-shaped presentation box. */
.pack-grid.pack-grid-large{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:26px 20px!important;align-items:start}
.pack-tile-v7{position:relative!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0 4px 18px!important;overflow:visible!important;min-width:0}.pack-tile-v7:hover{transform:translateY(-4px)!important;background:transparent!important;box-shadow:none!important}.pack-tile-v7 .pack-art.pack-v7{height:350px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;display:grid;place-items:center;padding:5px 8px!important}.pack-tile-v7 .pack-art.pack-v7:before,.pack-tile-v7 .pack-art.pack-v7:after{display:none!important}.pack-tile-v7 .pack-info{padding:8px 7px 0!important;border-top:0!important}.pack-tile-v7 .pack-info h3{font-size:16px!important}.pack-tile-v7 .pack-meta{font-size:10px!important}.pack-tile-v7 .pack-hint{font-size:9px!important;border-top:1px solid rgba(121,185,225,.14);padding-top:9px;margin-top:8px}.pack-tile-v7 .pack-fav{top:6px!important;right:7px!important;background:rgba(8,28,52,.86)!important}
.pack-real-v7{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.34));border:0!important;border-radius:0!important;background:transparent!important;position:relative;z-index:2}
.pack-generated-v7{width:min(76%,205px);height:320px;position:relative;display:grid;place-items:center;overflow:hidden;clip-path:polygon(5% 0,95% 0,100% 4%,97% 96%,92% 100%,8% 100%,3% 96%,0 4%);background:linear-gradient(145deg,#1d74b5,#103a74 46%,#1a5c9c);border-top:9px repeating-linear-gradient(90deg,#d9f6ff 0 5px,#55b9ee 5px 10px);filter:drop-shadow(0 18px 18px rgba(0,0,0,.34));box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 0 34px rgba(111,221,255,.18)}
.pack-generated-v7:before,.pack-generated-v7:after{content:"";position:absolute;left:5px;right:5px;height:12px;background:repeating-linear-gradient(90deg,rgba(224,247,255,.75) 0 4px,rgba(35,136,198,.85) 4px 8px);z-index:3}.pack-generated-v7:before{top:4px}.pack-generated-v7:after{bottom:4px}.pack-generated-v7 .pack-face-card{width:92%!important;height:72%!important;opacity:.78!important;filter:saturate(1.15) contrast(1.05)!important;transform:none!important;border-radius:0!important;mask-image:linear-gradient(to bottom,rgba(0,0,0,.96),rgba(0,0,0,.75))!important}.pack-generated-v7 .pack-logo{position:absolute!important;top:30px!important;width:82%!important;z-index:4!important;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.pack-generated-v7 .pack-title-v7{position:absolute;left:12px;right:12px;bottom:32px;z-index:4;text-align:center;font-size:17px;font-weight:950;letter-spacing:.02em;color:white;text-shadow:0 2px 3px #05234b,0 0 8px rgba(0,0,0,.7)}
.pack-modal-art .pack-art.pack-v7{height:440px!important;background:transparent!important;border:0!important}.pack-modal-art .pack-generated-v7{height:410px;width:260px}.pack-language-note-v7{font-size:10px;color:#8eb0c9;line-height:1.5;margin-top:8px}

/* Collection grading. */
.grade-pill-v7{display:inline-flex;align-items:center;gap:4px;background:#0f3f68;border:1px solid rgba(113,202,255,.3);color:#dff7ff;border-radius:8px;padding:4px 7px;font-size:9px;font-weight:900}.grade-pill-v7.ten{background:#5b4308;border-color:rgba(255,215,85,.55);color:#ffe893}.grade-actions-v7{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.grade-cost-v7{font-size:9px;color:#89a7bd}.grade-slab-v7{width:min(330px,80vw);margin:0 auto;padding:12px;border-radius:12px;background:linear-gradient(#eef5f8,#d9e3ea);border:1px solid #a9bac5;box-shadow:0 24px 60px rgba(0,0,0,.45);animation:slabDropV7 .65s cubic-bezier(.18,.88,.24,1.2) both}.grade-slab-head-v7{height:62px;border-radius:8px;background:#fff;border:1px solid #bdcbd3;color:#152b3f;display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 11px;margin-bottom:10px}.grade-slab-head-v7 b{font-size:13px}.grade-number-v7{font-size:31px;font-weight:1000;line-height:1;color:#c31520}.grade-slab-v7 .tcg-img-wrap{border-radius:5px;overflow:hidden}.grade-substats-v7{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px;color:#17354d;font-size:10px}.grade-substats-v7 span{background:#fff;border:1px solid #c5d2da;border-radius:6px;padding:6px}.grade-reveal-v7.ten .grade-slab-v7{box-shadow:0 0 0 2px #ffd24d,0 0 52px rgba(255,206,63,.46),0 28px 70px rgba(0,0,0,.5)}@keyframes slabDropV7{from{opacity:0;transform:translateY(-45px) rotateX(20deg) scale(.84)}to{opacity:1;transform:none}}

/* Battle builder and spectator entry. */
.battle-head-actions-v7{display:flex;gap:9px;align-items:center}.spectator-card-v7{margin:14px 0 24px;padding:15px 16px;border:1px solid rgba(113,191,232,.2);background:rgba(8,31,57,.82);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.spectator-card-v7 div{display:grid;gap:3px}.spectator-card-v7 b{font-size:13px}.spectator-card-v7 span{font-size:10px;color:#8ea7ba}.slot-v7{min-height:70px!important}.slot-v7 .slot-note-v7{color:#6f8da4;font-size:9px}.bot-note-v7{padding:10px 12px;border-radius:9px;background:rgba(9,36,65,.75);border:1px solid rgba(108,183,228,.16);font-size:10px;color:#8facbf}

/* Live battle: bot controls sit in the player header; actual card art rolls. */
.live-player-header-grid{gap:7px!important}.live-player-v4{min-height:65px!important;position:relative!important;padding:10px 12px!important;border-radius:11px!important;background:#102f50!important;border:1px solid rgba(121,184,226,.16)!important}.live-player-v4.empty{background:rgba(8,27,49,.82)!important;border-style:dashed!important}.live-call-bot-v7{margin-left:auto!important;white-space:nowrap!important;padding:7px 9px!important;font-size:9px!important}.bot-remove-v7{position:absolute;right:7px;top:5px;width:21px;height:21px;border:0;border-radius:50%;background:rgba(255,88,111,.18);color:#ff9aa8;font-size:15px}.battle-empty-lane-v7{height:100%;display:grid;place-items:center;align-content:center;gap:8px;color:#718ea5}.battle-empty-lane-v7 span{font-size:42px;font-weight:300}.battle-empty-lane-v7 b{font-size:11px}
.battle-real-reel-v7{position:absolute!important;inset:-52% 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:16px!important;animation:battleReelV7 1.1s cubic-bezier(.12,.74,.28,1) infinite!important;will-change:transform}.battle-real-reel-v7>span{display:block;width:min(66%,185px);flex:0 0 auto;filter:drop-shadow(0 9px 10px rgba(0,0,0,.32))}.battle-roll-card-v7{width:100%;aspect-ratio:2.5/3.5;display:grid;place-items:center;border-radius:8px;overflow:hidden;background:#132d4a}.battle-roll-card-v7 img{width:100%;height:100%;object-fit:contain}.battle-reel-lane.rolling:nth-child(2n) .battle-real-reel-v7{animation-duration:.92s!important;animation-direction:reverse!important}.battle-reel-lane.rolling:nth-child(3n) .battle-real-reel-v7{animation-duration:1.24s!important}@keyframes battleReelV7{from{transform:translateY(-12%)}to{transform:translateY(32%)}}
.battle-reel-lane.landed .battle-reel-window{animation:battleLandV7 .5s cubic-bezier(.17,.89,.27,1.25)}.battle-landed-card.mega{animation:battleMegaV7 .75s ease both}.battle-landed-card.mega:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 0deg,transparent,#79e4ff55,transparent,#ffe56855,transparent);animation:battleAuraV7 2.2s linear infinite;z-index:-1}@keyframes battleLandV7{from{transform:scale(.72) rotateY(38deg);filter:brightness(2);opacity:.35}to{transform:none;filter:none;opacity:1}}@keyframes battleMegaV7{0%{transform:scale(.68)}50%{transform:scale(1.08)}100%{transform:scale(1)}}@keyframes battleAuraV7{to{transform:rotate(360deg)}}
.live-battle-v4:not(.waiting){animation:battleAmbientV7 5s ease-in-out infinite}@keyframes battleAmbientV7{50%{filter:saturate(1.07)}}.battle-result-v4 .winner,.winner-glow{animation:winnerPulseV7 1.35s ease-in-out 2}@keyframes winnerPulseV7{50%{box-shadow:0 0 0 2px rgba(74,222,128,.5),0 0 46px rgba(74,222,128,.28)}}
.battle-pull-history-v4 img{width:30px!important;height:42px!important;object-fit:cover;border-radius:3px}

/* Themes change both interface accents and the actual scene behind it. */
.world-bg:before{content:"";position:absolute;inset:0;z-index:3;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity .35s ease;pointer-events:none}.world-bg>*{z-index:1}.world-bg .world-vignette{z-index:5}.world-bg .ambient-particles,.world-bg .dragon-fire-breath{z-index:6}
body[data-theme="halloween"] .world-bg:before{background-image:url('./theme-halloween.svg');opacity:.84}body[data-theme="halloween"] .charizard-bg,body[data-theme="halloween"] .sky-layer{opacity:.18!important}body[data-theme="halloween"] .sidebar,body[data-theme="halloween"] .topbar{background:rgba(28,15,40,.94)!important}body[data-theme="halloween"] .nav-group-v7,body[data-theme="halloween"] .sidebar-panel-v7{background:rgba(43,24,51,.78)}body[data-theme="halloween"] .nav-group-v7 button.active{background:#6f2d86!important}
body[data-theme="christmas"] .world-bg:before{background-image:url('./theme-christmas.svg');opacity:.9}body[data-theme="christmas"] .charizard-bg,body[data-theme="christmas"] .sky-layer{opacity:.12!important}body[data-theme="christmas"] .sidebar,body[data-theme="christmas"] .topbar{background:rgba(8,43,41,.94)!important}body[data-theme="christmas"] .nav-group-v7 button.active{background:#0f765e!important}
body[data-theme="summer"] .world-bg:before{background-image:url('./theme-summer.svg');opacity:.88}body[data-theme="summer"] .charizard-bg,body[data-theme="summer"] .sky-layer{opacity:.14!important}body[data-theme="summer"] .sidebar,body[data-theme="summer"] .topbar{background:rgba(4,52,74,.92)!important}body[data-theme="summer"] .nav-group-v7 button.active{background:#0a86a7!important}
body[data-theme="anniversary"] .world-bg:before{background-image:url('./theme-anniversary.svg');opacity:.88}body[data-theme="anniversary"] .charizard-bg,body[data-theme="anniversary"] .sky-layer{opacity:.14!important}body[data-theme="anniversary"] .sidebar,body[data-theme="anniversary"] .topbar{background:rgba(29,20,69,.93)!important}body[data-theme="anniversary"] .nav-group-v7 button.active{background:#5a43b9!important}

/* Japanese language marker appears only as a fallback hint while Japanese art resolves. */
.tcg-img-wrap:has(img[data-lang="ja"]){position:relative}.tcg-img-wrap:has(img[data-lang="ja"]):after{content:"日本語";position:absolute;right:6px;bottom:6px;padding:3px 5px;border-radius:5px;background:rgba(7,20,36,.78);color:#fff;font-size:7px;font-weight:900;letter-spacing:.04em;pointer-events:none}

@media(max-width:1180px){:root{--sidebar-w:270px}.pack-grid.pack-grid-large{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))!important}.pack-tile-v7 .pack-art.pack-v7{height:315px!important}}
@media(max-width:900px){.shell{grid-template-columns:1fr!important}.sidebar{width:min(88vw,330px)!important}.topbar{height:70px!important;padding:0 14px!important}.top-chip,.sound-toggle{min-height:38px!important;padding:8px 10px!important}.page{padding:24px 16px 88px!important}.pack-grid.pack-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 10px!important}.pack-tile-v7 .pack-art.pack-v7{height:300px!important}.spectator-card-v7{align-items:flex-start;flex-direction:column}.battle-head-actions-v7{width:100%}.battle-head-actions-v7 .btn{flex:1}.live-player-header-grid{overflow-x:auto!important}.live-player-v4{min-width:220px}.world-bg:before{background-position:60% center}}
@media(max-width:520px){.pack-grid.pack-grid-large{grid-template-columns:1fr!important}.pack-tile-v7 .pack-art.pack-v7{height:390px!important}.pack-generated-v7{height:360px;width:230px}.topbar-right .desktop-only{display:none!important}.coin-chip{padding:8px 10px!important}.sound-toggle{display:none!important}.page{padding-left:12px!important;padding-right:12px!important}.grade-slab-v7{width:min(300px,86vw)}.battle-head-actions-v7{display:grid;grid-template-columns:1fr 1fr}.sidebar-panel-v7{min-height:86px}}

/* V7.1 small component aliases + admin scene previews */
.grade-slab-head{height:62px;border-radius:8px;background:#fff;border:1px solid #bdcbd3;color:#152b3f;display:grid;grid-template-columns:1fr auto;align-items:center;padding:8px 11px;margin-bottom:10px}.grade-slab-head span{font-weight:800;font-size:12px}.grade-slab-head b{font-size:27px;color:#c31520}.grade-serial-v7{text-align:center;color:#375268;font-size:8px;font-weight:900;letter-spacing:.13em;margin-top:7px}.grade-stats-v7{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:13px 0}.grade-stats-v7 span{background:#0a2949;border:1px solid rgba(119,188,229,.17);border-radius:8px;padding:8px;color:#87a6bb;font-size:10px}.grade-stats-v7 b{float:right;color:#eaf8ff}.grade-value-v7{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin:0 0 12px;border-radius:9px;background:#0b3157;font-size:11px}.grade-value-v7 b{font-size:15px;color:#ffdb61}.grading-note-v7{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:11px 13px;border-left:3px solid #4fbbea;background:rgba(8,32,57,.72);font-size:10px;color:#8ea8bc}.grading-note-v7 b{color:#dff5ff;white-space:nowrap}.collection-card-v7{min-width:0}.collection-actions-v7{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px}.grade-badges-v7{display:flex;gap:4px;flex-wrap:wrap;padding:5px 2px 0}.grade-mini-v7{font-size:8px;font-weight:900;padding:3px 5px;border-radius:5px;background:#113a5e;color:#bfe8ff}.grade-mini-v7.grade-10{background:#6f5109;color:#ffe68d}.grade-mini-v7.ungraded{background:#1e2d3d;color:#8097a9}
.theme-preview-grid-v7{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.theme-preview-grid-v7 .theme-preview{padding:8px!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;text-align:left!important}.theme-preview-grid-v7 .theme-preview>span{display:grid;gap:2px;padding:0 3px 5px}.theme-preview-grid-v7 .theme-preview b{font-size:12px}.theme-preview-grid-v7 .theme-preview small{font-size:8px;color:#809bb0;line-height:1.35}.theme-scene-thumb-v7{height:86px;border-radius:9px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.09)}.theme-scene-default{background-image:linear-gradient(140deg,#061b3a,#1672b7 70%,#6cc7ec)}.theme-scene-halloween{background-image:url('./theme-halloween.svg')}.theme-scene-christmas{background-image:url('./theme-christmas.svg')}.theme-scene-summer{background-image:url('./theme-summer.svg')}.theme-scene-anniversary{background-image:url('./theme-anniversary.svg')}

/* V7.2 sealed-pack fallback internals and real-art overlay */
.pack-art.pack-v7,.mini-pack.pack-v7{position:relative!important;isolation:isolate}.pack-real-v7{position:absolute!important;inset:0!important;margin:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;z-index:5!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.34));background:transparent!important}.pack-generated-v7{z-index:1}.pack-scene-v7{position:absolute!important;inset:33px 8px 35px!important;width:calc(100% - 16px)!important;height:calc(100% - 68px)!important;object-fit:cover!important;opacity:.68!important;filter:saturate(1.2) contrast(1.05)!important;z-index:1!important}.pack-shade-v7{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(5,38,77,.08),rgba(3,24,59,.12) 45%,rgba(3,21,53,.7));box-shadow:inset 0 0 38px rgba(4,25,59,.42)}.pack-logo-v7{position:absolute!important;top:42px!important;left:50%!important;transform:translateX(-50%)!important;width:82%!important;max-height:86px!important;object-fit:contain!important;z-index:4!important;filter:drop-shadow(0 3px 3px rgba(0,0,0,.55))}.pack-brand-v7{position:absolute;left:12px;right:12px;bottom:49px;z-index:4;color:#ffdc44;font-size:23px;font-weight:1000;font-style:italic;letter-spacing:-.05em;text-align:center;text-shadow:-2px 2px 0 #17437e,2px 2px 0 #17437e,0 4px 6px rgba(0,0,0,.55)}.pack-lang-v7{position:absolute;top:17px;right:10px;z-index:5;background:rgba(4,24,50,.78);border:1px solid rgba(255,255,255,.25);border-radius:6px;padding:3px 5px;font-size:8px;font-weight:950;color:#fff}.pack-crimp-v7{position:absolute;left:4px;right:4px;top:4px;height:15px;z-index:5;background:repeating-linear-gradient(90deg,rgba(226,246,255,.75) 0 5px,rgba(51,144,202,.85) 5px 10px);opacity:.9}.pack-crimp-v7.bottom{top:auto;bottom:4px}.mini-pack.pack-v7{width:52px!important;height:72px!important;display:grid!important;place-items:center!important;overflow:visible!important}.mini-pack.pack-v7 .pack-generated-v7{width:48px!important;height:70px!important}.mini-pack.pack-v7 .pack-scene-v7{inset:10px 2px 9px!important;width:calc(100% - 4px)!important;height:calc(100% - 19px)!important}.mini-pack.pack-v7 .pack-logo-v7{top:12px!important;width:82%!important}.mini-pack.pack-v7 .pack-brand-v7{bottom:10px!important;font-size:7px!important}.mini-pack.pack-v7 .pack-lang-v7{display:none}.mini-pack.pack-v7 .pack-crimp-v7{height:4px!important}.mini-pack.pack-v7 .pack-real-v7{filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}.pack-modal-art .pack-real-v7{max-width:300px!important;left:50%!important;transform:translateX(-50%);right:auto!important}.cinematic-pack .pack-art.pack-v7{height:100%!important;min-height:350px}.cinematic-pack .pack-generated-v7{height:100%;max-height:420px}.pack-info-v7{display:grid;gap:5px}.pack-info-v7 h3{margin:0;font-size:16px}.pack-info-v7>div{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8ea7ba;font-size:10px}.pack-info-v7 strong{display:inline-flex;align-items:center;gap:5px;color:#ffd85b;font-size:12px}

/* =========================================================
   POKÉVAULT V8 — polish, borrow battles, premium grading,
   expanded seasonal scenes and resilient sealed-pack art
   ========================================================= */

/* --- Shop packs: sealed booster silhouettes only; never card-back shaped --- */
.pack-art.pack-v8{position:relative!important;display:grid!important;place-items:center!important;isolation:isolate;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:330px}
.pack-generated-v8{position:relative;width:min(218px,90%);height:330px;border-radius:13px 13px 10px 10px;overflow:hidden;clip-path:polygon(3% 0,97% 0,100% 4%,98% 96%,96% 100%,4% 100%,2% 96%,0 4%);background:linear-gradient(145deg,#1688ce 0%,#0f4d98 42%,#162958 100%);box-shadow:0 18px 35px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -55px 80px rgba(2,16,42,.45);transform:translateZ(0)}
.pack-generated-v8:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 0 24%,rgba(255,255,255,.25) 32%,transparent 40% 63%,rgba(255,255,255,.08) 70%,transparent 78%),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 4px);mix-blend-mode:screen}
.pack-generated-v8:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 42px rgba(1,11,31,.35),inset 0 0 0 1px rgba(209,240,255,.12)}
.pack-scene-clip-v8{position:absolute;z-index:0;left:7px;right:7px;top:22px;bottom:22px;overflow:hidden;border-radius:8px;background:#0c315e}
.pack-scene-v8{position:absolute;width:160%!important;height:160%!important;max-width:none!important;left:-30%!important;top:-30%!important;object-fit:cover!important;object-position:center!important;filter:saturate(1.2) contrast(1.05) brightness(.92);opacity:.9;transform:scale(1.1)}
.pack-foil-v8{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,24,60,.08),transparent 30%,rgba(4,14,39,.12) 60%,rgba(3,12,32,.65)),radial-gradient(circle at 25% 34%,rgba(88,213,255,.18),transparent 34%);pointer-events:none}
.pack-logo-v8{position:absolute!important;z-index:4!important;top:34px!important;left:50%!important;transform:translateX(-50%)!important;width:82%!important;max-height:92px!important;object-fit:contain!important;filter:drop-shadow(0 4px 2px rgba(0,0,0,.5))}
.pack-title-v8{position:absolute;z-index:4;left:12px;right:12px;top:124px;text-align:center;color:#fff;font-size:clamp(17px,1.6vw,24px);font-weight:1000;line-height:.95;text-transform:uppercase;letter-spacing:-.035em;text-shadow:0 3px 0 rgba(4,37,91,.9),0 4px 12px rgba(0,0,0,.8)}
.pack-brand-v8{position:absolute;z-index:4;left:12px;right:12px;bottom:48px;text-align:center;color:#ffd84b;font-weight:1000;font-size:23px;font-style:italic;letter-spacing:-.05em;text-shadow:-2px 2px 0 #173c7d,2px 2px 0 #173c7d,0 4px 10px rgba(0,0,0,.75)}
.pack-sub-v8{position:absolute;z-index:4;left:12px;right:12px;bottom:33px;text-align:center;color:#dff3ff;font-size:7px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 7px rgba(0,0,0,.8)}
.pack-crimp-v8{position:absolute;z-index:5;left:3px;right:3px;top:4px;height:15px;border-radius:7px 7px 2px 2px;background:repeating-linear-gradient(90deg,#d6f4ff 0 5px,#3e9cd5 5px 10px,#bcecff 10px 15px,#2b76b4 15px 20px);box-shadow:0 2px 3px rgba(0,0,0,.25)}
.pack-crimp-v8.bottom{top:auto;bottom:4px;transform:rotate(180deg)}
.pack-real-v8{position:absolute!important;z-index:12!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.38));border:0!important}
.pack-tile-v7 .pack-art.pack-v8{height:360px!important}.pack-tile-v7 .pack-art.pack-v8 .pack-generated-v8{height:340px}
.mini-pack.pack-v8{position:relative!important;width:50px!important;height:70px!important;min-height:70px!important;display:grid!important;place-items:center!important;overflow:visible!important;background:transparent!important}
.mini-pack.pack-v8 .pack-generated-v8{width:48px;height:70px;border-radius:4px}.mini-pack.pack-v8 .pack-scene-clip-v8{inset:6px 2px}.mini-pack.pack-v8 .pack-logo-v8{top:9px!important;width:82%!important}.mini-pack.pack-v8 .pack-title-v8{top:30px;font-size:6px}.mini-pack.pack-v8 .pack-brand-v8{bottom:10px;font-size:7px}.mini-pack.pack-v8 .pack-sub-v8{display:none}.mini-pack.pack-v8 .pack-crimp-v8{height:4px}.mini-pack.pack-v8 .pack-real-v8{filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}
.pack-modal-art>.pack-art.pack-v8{min-height:390px}.pack-modal-art .pack-generated-v8{height:390px;width:252px}.cinematic-pack .pack-art.pack-v8{height:100%!important;min-height:390px!important}.cinematic-pack .pack-generated-v8{height:390px}

/* --- Million Coin Vault and expanded crate catalog --- */
.case-card.million-case-v8,.booster-box-card.million-case-v8{position:relative;border-color:rgba(255,211,92,.64)!important;box-shadow:0 0 0 1px rgba(255,198,46,.16),0 0 36px rgba(245,158,11,.13),inset 0 0 30px rgba(255,196,61,.035)!important;background:linear-gradient(145deg,rgba(36,29,13,.88),rgba(8,31,62,.92))!important}
.case-card.million-case-v8:before,.booster-box-card.million-case-v8:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(110deg,#ffd65a,#fff2ae,#c58a17,#fff2ae,#ffd65a);background-size:260% 100%;animation:millionBorderV8 3.8s linear infinite;pointer-events:none;z-index:1;opacity:.72;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
@keyframes millionBorderV8{to{background-position:260% 0}}
.equal-odds-v8{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;border-radius:999px;background:rgba(255,207,74,.12);border:1px solid rgba(255,220,106,.25);color:#ffe28a;font-size:7px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}

/* --- Battle Borrow Mode --- */
.battle-options-v8{grid-template-columns:repeat(3,minmax(0,1fr))!important}.borrow-option-v8{position:relative;overflow:hidden}.borrow-option-v8.on{border-color:rgba(250,204,21,.44)!important;background:linear-gradient(145deg,rgba(91,66,8,.38),rgba(7,23,49,.72))!important}.borrow-option-v8.on>span{filter:drop-shadow(0 0 9px rgba(255,211,70,.55))}.borrow-banner-v8{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 13px;margin:7px auto 16px;border:1px solid rgba(255,212,73,.24);border-radius:10px;background:linear-gradient(90deg,rgba(69,50,8,.55),rgba(21,31,49,.7),rgba(69,50,8,.55));color:#f8dda0;font-size:9px;font-weight:850;text-align:center}.borrow-banner-v8 b{color:#ffe36e}.borrow-result-note-v8{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(84,60,7,.36);border:1px solid rgba(247,203,64,.2);color:#f5d77c;font-size:9px;line-height:1.5}.live-battle-v4.borrow-live-v8:before{content:"BORROW MODE · 50% ENTRY / 50% PAYOUT";display:block;margin:0 auto 9px;width:max-content;max-width:95%;padding:5px 9px;border-radius:999px;background:rgba(99,72,8,.74);border:1px solid rgba(255,216,84,.3);color:#ffe07a;font-size:7px;font-weight:950;letter-spacing:.09em}

/* --- Admin player tools --- */
.admin-user-tools-v8{width:min(820px,94vw);display:grid;gap:14px}.admin-user-tools-v8 .modal-title{margin-bottom:2px}.god-admin-v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.god-admin-v8>section{border:1px solid rgba(101,190,239,.14);border-radius:13px;background:rgba(6,23,48,.78);padding:12px;min-width:0}.god-admin-v8 h4{margin:0 0 4px;font-size:11px}.god-admin-v8 p{margin:0 0 10px;color:#7894a7;font-size:8px;line-height:1.45}.god-admin-v8 input{width:100%;min-width:0}.admin-card-picks-v8{display:grid;gap:5px;max-height:230px;overflow:auto;margin-top:7px}.admin-card-picks-v8 button{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:7px;width:100%;border:1px solid rgba(107,195,240,.1);background:#071c38;color:#d9effb;border-radius:8px;padding:5px;text-align:left}.admin-card-picks-v8 button:hover{border-color:#3fb8ed}.admin-card-picks-v8 img{width:35px;height:49px;object-fit:cover;border-radius:3px}.admin-card-picks-v8 b{font-size:8px}.admin-card-picks-v8 small{display:block;color:#708fa4;font-size:7px}.picked-card-v8{display:flex;align-items:center;gap:8px;padding:6px;border:1px solid rgba(94,205,255,.18);border-radius:8px;background:rgba(8,40,72,.68)}.picked-card-v8 img{width:34px;height:48px;object-fit:cover;border-radius:3px}.picked-card-v8 span{display:grid;gap:1px}.picked-card-v8 b{font-size:9px}.picked-card-v8 small{font-size:7px;color:#86a9bd}

/* --- Premium graded card slabs --- */
.grade-slab-card-v8{--grade-accent:#65bdea;position:relative;width:min(316px,100%);margin:auto;padding:12px 12px 15px;border-radius:17px;background:linear-gradient(145deg,rgba(222,239,249,.2),rgba(128,174,199,.08) 28%,rgba(223,241,250,.16) 60%,rgba(77,114,139,.1));border:2px solid rgba(199,231,248,.5);box-shadow:0 18px 50px rgba(0,0,0,.38),inset 0 0 0 3px rgba(235,250,255,.07),inset 0 0 25px rgba(151,216,245,.12);backdrop-filter:blur(7px);overflow:hidden;isolation:isolate}.grade-slab-card-v8:before{content:"";position:absolute;z-index:5;inset:-40% -80%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.3) 48%,rgba(255,255,255,.08) 52%,transparent 58%);transform:translateX(-50%) rotate(7deg);animation:slabShineV8 5s ease-in-out infinite;pointer-events:none}.grade-slab-card-v8:after{content:"";position:absolute;inset:5px;border-radius:13px;border:1px solid rgba(223,248,255,.16);pointer-events:none}.grade-slab-card-v8.grade-10{--grade-accent:#ffe26d;border-color:rgba(255,224,102,.78);background:linear-gradient(145deg,rgba(255,229,118,.18),rgba(175,116,9,.07) 25%,rgba(185,227,255,.14) 53%,rgba(255,181,63,.16));box-shadow:0 20px 58px rgba(0,0,0,.42),0 0 42px rgba(255,198,54,.16),inset 0 0 35px rgba(255,217,81,.12)}.grade-slab-card-v8.grade-9{--grade-accent:#b9dfff;border-color:rgba(179,222,249,.68)}.grade-slab-card-v8.grade-low{--grade-accent:#a7b7c3}.grade-slab-label-v8{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:linear-gradient(180deg,#fbfdff,#dfeef6);border:1px solid #b9cfdb;border-radius:9px;padding:8px 10px;color:#10263c;box-shadow:0 2px 8px rgba(0,0,0,.18);margin-bottom:11px}.grade-slab-label-v8>span{display:grid;gap:2px;min-width:0}.grade-slab-label-v8 b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-slab-label-v8 small{font-size:7px;color:#597084;letter-spacing:.08em;text-transform:uppercase}.grade-slab-label-v8 strong{display:grid;place-items:center;width:54px;height:43px;border-left:1px solid #c0d2dd;color:#d12028;font-size:27px;line-height:1}.grade-slab-card-v8.grade-10 .grade-slab-label-v8 strong{color:#ad7200;text-shadow:0 0 10px rgba(247,191,27,.25)}.grade-slab-art-v8{position:relative;z-index:2;border-radius:9px;padding:8px;background:rgba(9,26,44,.66);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.grade-slab-art-v8 img{display:block;width:100%;aspect-ratio:2.5/3.5;object-fit:contain;border-radius:6px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}.grade-slab-foot-v8{position:relative;z-index:2;margin-top:8px;display:flex;justify-content:space-between;gap:8px;color:#b6cfdd;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.grade-slab-foot-v8 b{color:var(--grade-accent)}.grade-reveal-v8{position:relative;display:grid;place-items:center;padding:26px 10px;overflow:hidden}.grade-reveal-v8 .grade-slab-card-v8{animation:slabRevealV8 .8s cubic-bezier(.18,.85,.27,1.18) both}.grade-rays-v8{position:absolute;width:620px;height:620px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(80,199,255,.13) 0 8deg,transparent 8deg 18deg);animation:raysSpinV8 14s linear infinite;pointer-events:none}.grade-reveal-v8.is-10 .grade-rays-v8{background:repeating-conic-gradient(from 0deg,rgba(255,218,76,.2) 0 8deg,transparent 8deg 18deg)}.collection-card-v7.has-grade-v8{border-color:rgba(113,202,240,.23)!important}.jp-print-badge-v8{display:inline-flex;margin:4px 0 0;padding:3px 5px;border-radius:5px;background:#7c1720;color:#fff;font-size:7px;font-weight:950}.jp-unavailable-v8{display:grid;place-items:center;aspect-ratio:2.5/3.5;background:#0a1e37;border:1px solid rgba(113,191,231,.13);border-radius:6px;color:#6f8ca1;font-size:8px;text-align:center;padding:10px}
@keyframes slabShineV8{0%,65%{transform:translateX(-55%) rotate(7deg)}88%,100%{transform:translateX(62%) rotate(7deg)}}@keyframes slabRevealV8{0%{opacity:0;transform:translateY(36px) scale(.8) rotateX(10deg)}70%{opacity:1;transform:translateY(-4px) scale(1.035)}100%{transform:none}}@keyframes raysSpinV8{to{transform:rotate(360deg)}}

/* --- Expanded themes: background scenes and previews --- */
.theme-preview-grid-v8{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important}.theme-preview-grid-v8 .theme-preview{padding:8px!important;display:grid!important;gap:7px!important;text-align:left!important}.theme-scene-thumb-v8{height:94px;border-radius:10px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 0 30px rgba(0,0,0,.18)}
.theme-scene-bonfire{background-image:url('./theme-bonfire.svg')}.theme-scene-newyear{background-image:url('./theme-newyear.svg')}.theme-scene-lunar{background-image:url('./theme-lunar.svg')}.theme-scene-spring{background-image:url('./theme-spring.svg')}.theme-scene-autumn{background-image:url('./theme-autumn.svg')}.theme-scene-cosmic{background-image:url('./theme-cosmic.svg')}.theme-scene-neon{background-image:url('./theme-neon.svg')}.theme-scene-frost{background-image:url('./theme-frost.svg')}
body[data-theme="bonfire"] .world-bg:before{background-image:url('./theme-bonfire.svg');opacity:.9}body[data-theme="newyear"] .world-bg:before{background-image:url('./theme-newyear.svg');opacity:.9}body[data-theme="lunar"] .world-bg:before{background-image:url('./theme-lunar.svg');opacity:.9}body[data-theme="spring"] .world-bg:before{background-image:url('./theme-spring.svg');opacity:.88}body[data-theme="autumn"] .world-bg:before{background-image:url('./theme-autumn.svg');opacity:.9}body[data-theme="cosmic"] .world-bg:before{background-image:url('./theme-cosmic.svg');opacity:.94}body[data-theme="neon"] .world-bg:before{background-image:url('./theme-neon.svg');opacity:.93}body[data-theme="frost"] .world-bg:before{background-image:url('./theme-frost.svg');opacity:.92}
body[data-theme="bonfire"] .sidebar,body[data-theme="bonfire"] .topbar{background:rgba(34,24,18,.94)!important;border-color:rgba(255,151,57,.19)!important}body[data-theme="bonfire"] .nav-group-v7 button.active{background:#9d4d18!important}
body[data-theme="newyear"] .sidebar,body[data-theme="newyear"] .topbar{background:rgba(11,18,39,.95)!important;border-color:rgba(255,215,99,.17)!important}body[data-theme="newyear"] .nav-group-v7 button.active{background:#826420!important}
body[data-theme="lunar"] .sidebar,body[data-theme="lunar"] .topbar{background:rgba(64,10,16,.95)!important;border-color:rgba(255,205,70,.21)!important}body[data-theme="lunar"] .nav-group-v7 button.active{background:#a51d29!important}
body[data-theme="spring"] .sidebar,body[data-theme="spring"] .topbar{background:rgba(25,51,51,.93)!important;border-color:rgba(255,170,206,.19)!important}body[data-theme="spring"] .nav-group-v7 button.active{background:#318276!important}
body[data-theme="autumn"] .sidebar,body[data-theme="autumn"] .topbar{background:rgba(54,30,18,.94)!important;border-color:rgba(232,130,50,.17)!important}body[data-theme="autumn"] .nav-group-v7 button.active{background:#8c4b24!important}
body[data-theme="cosmic"] .sidebar,body[data-theme="cosmic"] .topbar{background:rgba(17,12,48,.95)!important;border-color:rgba(160,110,255,.2)!important}body[data-theme="cosmic"] .nav-group-v7 button.active{background:#583aac!important}
body[data-theme="neon"] .sidebar,body[data-theme="neon"] .topbar{background:rgba(8,16,29,.96)!important;border-color:rgba(36,244,234,.2)!important}body[data-theme="neon"] .nav-group-v7 button.active{background:#0f7f8e!important}
body[data-theme="frost"] .sidebar,body[data-theme="frost"] .topbar{background:rgba(10,37,59,.94)!important;border-color:rgba(187,235,255,.23)!important}body[data-theme="frost"] .nav-group-v7 button.active{background:#397a9b!important}
body[data-theme="bonfire"] .charizard-bg,body[data-theme="bonfire"] .page-bg,body[data-theme="newyear"] .charizard-bg,body[data-theme="newyear"] .page-bg,body[data-theme="lunar"] .charizard-bg,body[data-theme="lunar"] .page-bg,body[data-theme="spring"] .charizard-bg,body[data-theme="spring"] .page-bg,body[data-theme="autumn"] .charizard-bg,body[data-theme="autumn"] .page-bg,body[data-theme="cosmic"] .charizard-bg,body[data-theme="cosmic"] .page-bg,body[data-theme="neon"] .charizard-bg,body[data-theme="neon"] .page-bg,body[data-theme="frost"] .charizard-bg,body[data-theme="frost"] .page-bg{opacity:.1!important}

/* --- Timed seasonal overlay events --- */
.theme-event-layer-v8{position:fixed;inset:0;z-index:9998;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .35s}.theme-event-layer-v8.active{opacity:1}.theme-event-layer-v8 *{pointer-events:none}
.santa-event-v8{position:absolute;left:-34vw;top:14vh;width:31vw;min-width:300px;height:190px;animation:santaFlyV8 10s linear forwards;filter:drop-shadow(0 18px 18px rgba(0,0,0,.35))}.santa-event-v8:before{content:"🎅";position:absolute;left:43%;top:17px;font-size:72px;transform:rotate(-7deg)}.santa-event-v8:after{content:"🛷";position:absolute;left:18%;top:60px;font-size:100px;transform:scaleX(-1)}.santa-event-v8 .reindeer-v8{position:absolute;right:7%;top:55px;font-size:65px;transform:scaleX(-1)}.gift-rain-v8{position:absolute;inset:0}.gift-rain-v8 i{position:absolute;top:-50px;left:calc((var(--i) * 13% + 12%) mod 90%);font-style:normal;font-size:clamp(23px,3vw,42px);animation:giftDropV8 calc(3s + (var(--i) * .13s)) ease-in calc(var(--i) * .18s) forwards}.gift-rain-v8 i:before{content:"🎁"}
.horseman-event-v8{position:absolute;left:-35vw;bottom:8vh;width:360px;height:190px;animation:horseRideV8 10s linear forwards;filter:drop-shadow(0 15px 12px rgba(0,0,0,.55))}.horseman-event-v8:before{content:"🐎";position:absolute;left:10px;bottom:0;font-size:130px;transform:scaleX(-1)}.horseman-event-v8:after{content:"🎃";position:absolute;left:153px;top:0;font-size:65px;filter:drop-shadow(0 0 15px #ff731c)}.skeleton-pack-v8{position:absolute;inset:0}.skeleton-pack-v8 i{position:absolute;left:calc(var(--i)*16% + 3%);bottom:-90px;font-style:normal;font-size:48px;animation:skeletonWalkV8 8s ease-out calc(var(--i)*.55s) forwards}.skeleton-pack-v8 i:before{content:"💀"}
.bonfire-v8{position:absolute;inset:0;background:radial-gradient(circle at 50% 91%,rgba(255,112,20,.21),transparent 32%)}.bonfire-v8:after{content:"🔥";position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);font-size:130px;filter:drop-shadow(0 0 28px #ff5f1f);animation:firePulseV8 .55s ease-in-out infinite alternate}.firework-event-v8 i,.newyear-event-v8 i{position:absolute;width:8px;height:8px;border-radius:50%;left:calc(12% + var(--i)*18%);top:calc(14% + (var(--i)%3)*16%);box-shadow:0 -58px 0 #ffd76a,41px -41px 0 #7ee7ff,58px 0 0 #ff80be,41px 41px 0 #82ffab,0 58px 0 #ffd76a,-41px 41px 0 #9f8cff,-58px 0 0 #ff7a64,-41px -41px 0 #fff;animation:fireworkBurstV8 1.8s ease-out calc(var(--i)*.38s) infinite}.newyear-event-v8 b{position:absolute;left:50%;top:41%;transform:translate(-50%,-50%);font-size:clamp(38px,9vw,120px);font-weight:1000;letter-spacing:-.06em;color:#fff0ac;text-shadow:0 0 20px #ffbd39,0 8px 30px #000;animation:newyearPopV8 2s ease-out both}
.dragon-event-v8{position:absolute;inset:0;animation:dragonFlyV8 10s linear forwards}.dragon-body-v8{position:absolute;left:-620px;top:28vh;width:620px;height:160px;filter:drop-shadow(0 14px 10px rgba(0,0,0,.4))}.dragon-body-v8:before{content:"🐲";position:absolute;right:0;top:18px;font-size:110px;transform:scaleX(-1)}.dragon-body-v8 i{position:absolute;width:74px;height:74px;border-radius:50%;left:calc(var(--i)*58px);top:calc(45px + sin(var(--i))*12px);background:radial-gradient(circle at 34% 30%,#ffe77f,#e23727 50%,#8c1018);border:5px solid #ffd25c;box-shadow:inset 0 0 0 4px rgba(110,0,0,.25)}.lanterns-v8{position:absolute;inset:0}.lanterns-v8 i{position:absolute;top:-70px;left:calc(6% + var(--i)*11%);font-style:normal;font-size:39px;animation:lanternDropV8 5s ease-out calc(var(--i)*.25s) forwards}.lanterns-v8 i:before{content:"🏮"}
.leaves-event-v8 i,.petal-event-v8 i,.frost-event-v8 i,.confetti-event-v8 i{position:absolute;top:-40px;left:calc((var(--i)*47)%97 * 1%);width:13px;height:18px;border-radius:70% 15% 70% 15%;animation:seasonFallV8 calc(4.5s + (var(--i)%5)*.5s) linear calc((var(--i)%7)*.2s) forwards}.leaves-event-v8 i{background:linear-gradient(140deg,#f7b448,#a9411d);transform:rotate(calc(var(--i)*23deg))}.petal-event-v8 i{width:12px;height:9px;border-radius:80% 20% 80% 20%;background:#ffb7d3}.frost-event-v8 i{width:8px;height:8px;border-radius:50%;background:#e9fbff;box-shadow:0 0 12px #a6e8ff}.confetti-event-v8 i{width:8px;height:15px;border-radius:1px;background:hsl(calc(var(--i)*43deg) 90% 65%)}.confetti-event-v8 b{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);font-size:clamp(34px,7vw,90px);color:#fff;font-weight:1000;text-shadow:0 5px 24px rgba(0,0,0,.55);animation:newyearPopV8 1.2s ease-out both}
.comet-event-v8 b{position:absolute;left:-18%;top:20%;width:110px;height:8px;border-radius:99px;background:#fff;box-shadow:0 0 20px #7bddff,0 0 42px #8d72ff;animation:cometV8 4s ease-in forwards}.comet-event-v8 b:after{content:"";position:absolute;right:80px;top:-7px;width:260px;height:22px;background:linear-gradient(90deg,transparent,#79d9ff);filter:blur(4px);transform:skewX(-30deg)}.comet-event-v8 i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 8px #fff;animation:starBlinkV8 .8s ease-in-out infinite alternate}.comet-event-v8 i:nth-child(1){left:20%;top:22%}.comet-event-v8 i:nth-child(2){left:70%;top:16%;animation-delay:.3s}.comet-event-v8 i:nth-child(3){left:48%;top:67%;animation-delay:.5s}
.neon-event-v8{position:absolute;inset:0;background:rgba(4,9,20,.08)}.neon-event-v8 b{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-size:clamp(45px,9vw,130px);font-weight:1000;color:#dcffff;text-shadow:0 0 8px #fff,0 0 18px #00eaff,0 0 42px #00eaff,0 0 70px #ff36df;animation:neonFlickerV8 3s steps(1) both}.neon-event-v8 i{position:absolute;inset:0;border:2px solid transparent;box-shadow:inset 0 0 100px rgba(0,238,255,.1),inset 0 0 190px rgba(255,0,204,.07)}
.summer-event-v8 i{position:absolute;right:8%;top:10%;width:100px;height:100px;border-radius:50%;background:#ffe269;box-shadow:0 0 40px #ffcd3d;animation:summerPulseV8 2s ease-in-out infinite}.summer-event-v8 b:before{content:"🏄";position:absolute;left:12%;bottom:10%;font-size:75px;animation:summerSurfV8 8s ease-in-out forwards}.summer-event-v8 span:before{content:"☁️  ☁️";position:absolute;left:-15%;top:17%;font-size:56px;letter-spacing:18vw;animation:cloudPassV8 10s linear forwards}
@keyframes santaFlyV8{to{left:110vw;transform:translateY(-6vh)}}@keyframes giftDropV8{to{top:108vh;transform:rotate(480deg)}}@keyframes horseRideV8{0%{left:-35vw}25%{transform:translateY(-10px) rotate(-1deg)}50%{transform:translateY(3px) rotate(1deg)}75%{transform:translateY(-8px)}100%{left:112vw}}@keyframes skeletonWalkV8{to{bottom:18vh;transform:rotate(12deg)}}@keyframes firePulseV8{to{transform:translateX(-50%) scale(1.09)}}@keyframes fireworkBurstV8{0%{transform:scale(.1);opacity:0}22%{opacity:1}65%{transform:scale(1.2);opacity:.9}100%{transform:scale(1.55);opacity:0}}@keyframes newyearPopV8{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}65%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}100%{transform:translate(-50%,-50%) scale(1)}}@keyframes dragonFlyV8{to{transform:translateX(calc(100vw + 720px)) translateY(6vh)}}@keyframes lanternDropV8{to{top:86vh;transform:rotate(8deg)}}@keyframes seasonFallV8{to{top:110vh;transform:translateX(calc((var(--i)%2)*80px - 40px)) rotate(520deg)}}@keyframes cometV8{to{left:115%;top:62%}}@keyframes starBlinkV8{to{opacity:.25;transform:scale(.5)}}@keyframes neonFlickerV8{0%,7%,11%,19%,22%,100%{opacity:1}8%,10%,20%,21%{opacity:.18}}@keyframes summerPulseV8{50%{transform:scale(1.06);box-shadow:0 0 65px #ffbf27}}@keyframes summerSurfV8{to{left:75%;transform:translateY(-4vh)}}@keyframes cloudPassV8{to{left:110%}}

/* Pokedex/media reliability: keep artwork within its own entry and make broken art obvious instead of mismatched. */
.pokedex-card img,.pokedex-grid img,.collection-grid-v8 img{object-fit:contain!important}.pokedex-card .tcg-img-wrap{background:#071b35;border-radius:8px;overflow:hidden}.pokedex-card img[src=""],.pokedex-card img:not([src]){visibility:hidden}

@media(max-width:980px){.battle-options-v8{grid-template-columns:1fr!important}.god-admin-v8{grid-template-columns:1fr}.pack-art.pack-v8{min-height:310px}.pack-generated-v8{height:300px;width:196px}.pack-tile-v7 .pack-art.pack-v8{height:330px!important}.pack-tile-v7 .pack-art.pack-v8 .pack-generated-v8{height:310px}}
@media(max-width:560px){.pack-art.pack-v8{min-height:350px}.pack-generated-v8{height:340px;width:220px}.pack-tile-v7 .pack-art.pack-v8{height:370px!important}.pack-tile-v7 .pack-art.pack-v8 .pack-generated-v8{height:350px}.theme-event-layer-v8 .santa-event-v8{transform:scale(.7);transform-origin:left center}.theme-event-layer-v8 .horseman-event-v8{transform:scale(.7);transform-origin:left bottom}.dragon-body-v8{transform:scale(.68);transform-origin:left center}.newyear-event-v8 b,.neon-event-v8 b{width:94%;text-align:center}}
@media(prefers-reduced-motion:reduce){.theme-event-layer-v8{display:none!important}.grade-slab-card-v8:before,.case-card.million-case-v8:before,.booster-box-card.million-case-v8:before{animation:none!important}}

/* V8 event positioning compatibility overrides */
.gift-rain-v8 i{left:calc(8% + var(--i)*10%)!important}
.skeleton-pack-v8 i:nth-child(1){left:18%}.skeleton-pack-v8 i:nth-child(2){left:48%;animation-delay:.6s}.skeleton-pack-v8 i:nth-child(3){left:78%;animation-delay:1.2s}
.firework-event-v8>span{position:absolute;width:8px;height:8px;border-radius:50%;left:calc(8% + var(--i)*16%);top:calc(15% + var(--i)*4%);box-shadow:0 -58px 0 #ffd76a,41px -41px 0 #7ee7ff,58px 0 0 #ff80be,41px 41px 0 #82ffab,0 58px 0 #ffd76a,-41px 41px 0 #9f8cff,-58px 0 0 #ff7a64,-41px -41px 0 #fff;animation:fireworkBurstV8 1.8s ease-out calc(var(--i)*.38s) infinite}
.bonfire-v8 i{display:none!important}
.dragon-body-v8 i{top:58px!important}.dragon-body-v8 i:nth-child(even){top:72px!important}.dragon-body-v8 i:nth-child(3n){top:47px!important}
.lanterns-v8 i:nth-child(1){left:12%}.lanterns-v8 i:nth-child(2){left:36%;animation-delay:.3s}.lanterns-v8 i:nth-child(3){left:64%;animation-delay:.65s}.lanterns-v8 i:nth-child(4){left:86%;animation-delay:.95s}
.leaves-event-v8 i{left:calc(3% + var(--i)*5.2%)!important}.petal-event-v8 i,.frost-event-v8 i{left:calc(3% + var(--i)*4.2%)!important}.confetti-event-v8 i{left:calc(2% + var(--i)*3.45%)!important}

/* V8.1 admin and audit layout corrections */
.admin-user-tools-v8{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-user-tools-v8>section{border:1px solid rgba(101,190,239,.14);border-radius:13px;background:rgba(6,23,48,.78);padding:12px;min-width:0}.god-admin-v8{display:block!important}.god-admin-v8>section{border:0!important;padding:0!important;background:none!important}.admin-audit-v8{margin-top:14px;padding:14px}.admin-audit-v8 h3{margin:3px 0 10px}.admin-audit-list-v8{display:grid;gap:5px;max-height:260px;overflow:auto}.admin-audit-list-v8>div{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:8px;background:rgba(7,25,49,.7);border:1px solid rgba(104,193,238,.1);font-size:9px}.admin-audit-list-v8 time{color:#718ea2;white-space:nowrap;font-size:8px}
@media(max-width:980px){.admin-user-tools-v8{grid-template-columns:1fr!important}.admin-audit-list-v8>div{display:grid;gap:3px}}
