/* PokeScan AR — Mobile-first CSS */
:root{
  --bg:#0a0a0f;--bg2:#111119;--bg3:#1a1a26;
  --accent:#8b5cf6;--accent2:#a78bfa;
  --t1:#f0f0ff;--t2:#9898b0;--t3:#555568;
  --glass:rgba(16,16,28,.82);--gborder:rgba(139,92,246,.15);
  --st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--t1);font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
  overflow-x:hidden;min-height:100dvh}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}
svg{display:inline-block;vertical-align:middle;flex-shrink:0}

/* ── app shell ──────────────────────────── */
#app{position:fixed;inset:0;overflow:hidden}
.view{position:absolute;inset:0;display:none;opacity:0;transition:opacity .2s ease}
.view.active{display:block;opacity:1}
#view-scanner.view{transition:none}
#view-scanner.view.active{opacity:1}

/* ── nav ────────────────────────────────── */
.nav-bar{display:flex;align-items:center;justify-content:space-between;
  padding:calc(var(--st) + 12px) 20px 12px;position:sticky;top:0;z-index:20;
  background:rgba(10,10,15,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-brand{display:flex;align-items:center;gap:8px;font-family:'Orbitron',monospace;font-size:16px;font-weight:700;color:var(--accent2)}
.nav-brand svg{color:var(--accent)}
.nav-btn{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  color:var(--t2);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}

/* ── home ───────────────────────────────── */
.home-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--sb) + 24px)}
.hero{position:relative;text-align:center;padding:32px 24px 28px;overflow:hidden}
.hero-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-sprites{position:relative;z-index:1;display:flex;justify-content:center;gap:4px;margin-bottom:12px;height:72px;align-items:flex-end}
.hero-sprite{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 8px rgba(139,92,246,.3))}
.hs-0{animation:hs-bob 2.2s ease-in-out infinite}.hs-1{animation:hs-bob 2.5s ease-in-out infinite .2s}
.hs-2{animation:hs-bob 1.8s ease-in-out infinite .4s;width:56px;height:56px}
.hs-3{animation:hs-bob 2.6s ease-in-out infinite .1s}.hs-4{animation:hs-bob 2.0s ease-in-out infinite .3s}
.hs-5{animation:hs-bob 2.4s ease-in-out infinite .5s}
@keyframes hs-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-tag{position:relative;z-index:1;font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.16em;color:var(--accent2);margin-bottom:12px}
.hero-title{position:relative;z-index:1;font-family:'Orbitron',monospace;font-size:clamp(24px,6.5vw,38px);font-weight:900;line-height:1.12;margin-bottom:12px}
.hero-grad{background:linear-gradient(135deg,#facc15,#f97316,#ef4444,#a855f7,#3b82f6);background-size:200% 200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:hero-grad-shift 4s ease infinite}
@keyframes hero-grad-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.hero-desc{position:relative;z-index:1;font-size:14px;color:var(--t2);line-height:1.55;max-width:360px;margin:0 auto 24px}

/* cta button */
.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:14px;font-family:'Orbitron',monospace;font-size:13px;font-weight:600;
  background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;letter-spacing:.03em;
  box-shadow:0 4px 20px rgba(139,92,246,.35);transition:transform .2s,box-shadow .2s}
.cta-btn:active{transform:scale(.96)}
.cta-btn.sm{padding:10px 20px;font-size:11px;border-radius:10px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 24px;border-radius:14px;font-family:'Orbitron',monospace;font-size:13px;font-weight:500;
  border:1px solid var(--gborder);color:var(--t2);letter-spacing:.03em;transition:all .2s}
.btn-outline:active{background:rgba(139,92,246,.08)}
.btn-outline.sm{padding:10px 20px;font-size:11px;border-radius:10px}

/* showcase */
.showcase{padding:0 16px 24px}
.showcase-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3);text-align:center;margin-bottom:10px}
.showcase-row{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 0;scrollbar-width:none}
.showcase-row::-webkit-scrollbar{display:none}
.showcase-card{flex:0 0 88px;padding:10px 6px 8px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px;
  text-align:center;transition:transform .2s,border-color .2s}
.showcase-card:active{transform:scale(.95)}
.sc-fire{border-color:rgba(255,107,53,.3)}.sc-water{border-color:rgba(79,195,247,.3)}
.sc-electric{border-color:rgba(255,214,0,.3)}.sc-psychic{border-color:rgba(206,147,216,.3)}
.sc-ghost{border-color:rgba(126,87,194,.3)}.sc-dragon{border-color:rgba(124,77,255,.3)}
.showcase-sprite{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;margin-bottom:4px;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.15))}
.showcase-name{font-family:'Orbitron',monospace;font-size:9px;font-weight:600;white-space:nowrap}
.showcase-type{font-size:8px;color:var(--t3);text-transform:uppercase;letter-spacing:.08em;margin-top:1px}

/* modes */
.modes{padding:0 16px 24px;display:flex;flex-direction:column;gap:10px}
.mode-card{display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--bg2);border:1px solid var(--gborder);
  border-radius:14px;cursor:pointer;transition:border-color .2s,transform .2s}
.mode-card:active{transform:scale(.98);border-color:var(--accent)}
.mode-icon{color:var(--accent);flex-shrink:0;margin-top:2px}
.mode-info h3{font-family:'Orbitron',monospace;font-size:13px;font-weight:600;margin-bottom:4px}
.mode-info p{font-size:12px;color:var(--t2);line-height:1.5}

/* stats preview */
.stats-preview{padding:0 16px 24px}
.sp-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3);text-align:center;margin-bottom:10px}
.sp-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sp-item{text-align:center;padding:12px 4px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px}
.sp-val{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:#facc15}
.sp-lbl{font-size:9px;color:var(--t3);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}

/* signin btn */
.signin-btn{background:linear-gradient(135deg,var(--accent),#7c3aed)!important;box-shadow:0 4px 20px rgba(139,92,246,.3)!important}
.bottom-cta-text{font-size:13px;color:var(--t2);margin-bottom:12px}

/* how */
.how{padding:32px 20px}
.how h2{font-family:'Orbitron',monospace;font-size:18px;text-align:center;margin-bottom:24px}
.how-list{display:flex;flex-direction:column;gap:18px}
.how-item{display:flex;gap:14px;align-items:flex-start}
.how-num{width:36px;height:36px;border-radius:50%;background:var(--bg2);border:2px solid var(--accent);
  display:flex;align-items:center;justify-content:center;font-family:'Orbitron',monospace;font-size:14px;
  color:var(--accent2);flex-shrink:0}
.how-item h3{font-family:'Orbitron',monospace;font-size:13px;margin-bottom:2px}
.how-item p{font-size:13px;color:var(--t2);line-height:1.45}
.bottom-cta{text-align:center;padding:32px 20px 16px}
.foot{text-align:center;font-size:11px;color:var(--t3);padding:16px 20px}

/* ── scanner ────────────────────────────── */
.scan-wrap{position:absolute;inset:0;background:#000;overflow:hidden}
#cam{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ptc{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.scan-ui{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;pointer-events:none}
.scan-ui>*{pointer-events:auto}
.scan-top{display:flex;align-items:center;justify-content:space-between;
  padding:calc(var(--st) + 10px) 16px 10px;background:linear-gradient(rgba(0,0,0,.5),transparent)}
.pill-btn{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.1);color:#fff}
.pill-btn:active{transform:scale(.9)}
.scan-status{display:flex;align-items:center;gap:6px;font-family:'Orbitron',monospace;font-size:10px;
  letter-spacing:.1em;color:rgba(255,255,255,.6)}
.dot-live{width:7px;height:7px;border-radius:50%;background:#22c55e;animation:blink 2s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.scan-mid{flex:1;display:flex;align-items:center;justify-content:center}
.card-frame{width:280px;height:190px;position:relative}
.cf{position:absolute;width:28px;height:28px;border-color:rgba(139,92,246,.5);border-style:solid;border-width:0}
.cf-tl{top:0;left:0;border-top-width:3px;border-left-width:3px;border-radius:6px 0 0 0}
.cf-tr{top:0;right:0;border-top-width:3px;border-right-width:3px;border-radius:0 6px 0 0}
.cf-bl{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 6px}
.cf-br{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 6px 0}
.scan-bot{display:flex;flex-direction:column;align-items:center;gap:12px;
  padding:16px 16px calc(var(--sb) + 20px);background:linear-gradient(transparent,rgba(0,0,0,.5))}
.shutter{width:72px;height:72px;border-radius:50%;border:3px solid #fff;background:transparent;position:relative}
.shutter-inner{position:absolute;inset:5px;border-radius:50%;background:#fff;transition:transform .15s}
.shutter:active .shutter-inner{transform:scale(.82);background:var(--accent)}
.scan-hint{font-size:12px;color:rgba(255,255,255,.4);font-family:'Orbitron',monospace;letter-spacing:.06em}

/* Mode toggle — SCAN / BATTLE */
.mode-toggle{padding:8px 20px;border-radius:99px;font-family:'Orbitron',monospace;font-size:11px;font-weight:700;
  letter-spacing:.12em;color:rgba(255,255,255,.7);background:rgba(0,0,0,.5);
  border:1.5px solid rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:all .3s;min-width:90px;text-align:center}
.mode-toggle.active{color:#ef4444;border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.15);
  box-shadow:0 0 16px rgba(239,68,68,.3),inset 0 0 8px rgba(239,68,68,.08);
  animation:battle-pulse 2s ease-in-out infinite}
@keyframes battle-pulse{0%,100%{box-shadow:0 0 16px rgba(239,68,68,.3)}50%{box-shadow:0 0 24px rgba(239,68,68,.5)}}

/* Battle container — pointer-events:none so shutter button works through it */
.battle-container{position:absolute;inset:0;z-index:7;pointer-events:none}
.battle-container.hidden{display:none}
.battle-container>*{pointer-events:auto}

/* Battle scan phase — doesn't cover bottom where shutter is */
.battle-scan{position:absolute;top:0;left:0;right:0;bottom:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;pointer-events:none}
.battle-scan>*{pointer-events:auto}
.battle-prompt{font-family:'Orbitron',monospace;font-size:14px;letter-spacing:.08em;color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.8);margin-bottom:32px}
.battle-slots{display:flex;align-items:center;gap:16px}
.battle-slot{width:120px;height:160px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:rgba(0,0,0,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:2px dashed rgba(255,255,255,.15)}
.battle-slot.filled{border-style:solid;border-color:rgba(139,92,246,.4)}
.slot-sprite{width:80px;height:auto;image-rendering:pixelated}
.slot-name{font-family:'Orbitron',monospace;font-size:11px;margin-top:6px;color:#fff}
.slot-hp{font-size:10px;color:var(--t2)}
.slot-icon{font-size:32px;color:rgba(255,255,255,.15)}
.slot-label{font-family:'Orbitron',monospace;font-size:9px;color:var(--t3);letter-spacing:.1em}
.battle-vs{font-family:'Orbitron',monospace;font-size:20px;font-weight:900;color:#ef4444;
  text-shadow:0 0 20px rgba(239,68,68,.5)}

/* Battle arena */
.battle-arena{position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--st) + 60px) 16px calc(var(--sb) + 16px)}
.battle-hud{display:flex;gap:10px;margin-bottom:12px}
.battle-hud-card{flex:1;padding:8px 10px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:10px;border:1px solid rgba(255,255,255,.08)}
.hud-name{font-family:'Orbitron',monospace;font-size:11px;font-weight:600;margin-bottom:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hp-bar{height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden}
.hp-fill{height:100%;border-radius:4px;transition:width .4s,background .4s}
.hp-text{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--t2);margin-top:2px}

/* Battle field */
.battle-field{flex:1;display:flex;align-items:center;justify-content:space-around;position:relative}
.battle-sprite{display:flex;flex-direction:column;align-items:center}
.fighter-sprite{width:clamp(80px,22vw,140px);height:auto;image-rendering:pixelated;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
.fighter-name{font-family:'Orbitron',monospace;font-size:12px}

/* Battle log */
.battle-log{padding:10px 14px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:12px;border:1px solid rgba(255,255,255,.08);margin-bottom:12px;min-height:44px;
  display:flex;align-items:center}
.blog-msg{font-family:'JetBrains Mono',monospace;font-size:12px;color:#fff;line-height:1.4}
.blog-msg.super{color:#facc15;text-shadow:0 0 8px rgba(250,204,21,.3)}

/* Fight button */
.fight-btn{width:100%;padding:16px;border-radius:14px;font-family:'Orbitron',monospace;font-size:16px;
  font-weight:900;letter-spacing:.15em;color:#fff;
  background:linear-gradient(135deg,#ef4444,#dc2626);
  box-shadow:0 4px 24px rgba(239,68,68,.4);border:none;cursor:pointer;transition:transform .2s}
.fight-btn:active{transform:scale(.96)}

/* Battle result */
.battle-result{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;
  background:rgba(0,0,0,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.result-winner{text-align:center;margin-bottom:32px}
.winner-sprite{width:clamp(120px,35vw,200px);height:auto;image-rendering:pixelated;
  filter:drop-shadow(0 0 30px rgba(250,204,21,.5)) drop-shadow(0 8px 24px rgba(0,0,0,.6))}
.winner-name{font-family:'Orbitron',monospace;font-size:24px;font-weight:900;margin-top:16px;
  background:linear-gradient(135deg,#facc15,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.winner-detail{font-size:13px;color:var(--t2);margin-top:6px}
.battle-result-btns{display:flex;gap:10px}

/* Animated sprite — floats above holo card */
.ar-sprite{position:absolute;top:12%;left:50%;transform:translateX(-50%);z-index:7;pointer-events:none;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.6)) drop-shadow(0 0 20px var(--accent))}
.sprite-img{width:clamp(100px,30vw,180px);height:auto;image-rendering:pixelated}

/* Holo container — sits over camera */
.holo-container{position:absolute;inset:0;z-index:6}
.holo-container.hidden{display:none}

/* AR overlay — floating name + type over camera */
.ar-overlay{position:absolute;inset:0;z-index:7;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:160px}
.ar-overlay.hidden{display:none}
.ar-name-float{padding:12px 20px;background:rgba(0,0,0,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(139,92,246,.3);border-radius:16px;text-align:center;margin-bottom:10px}
.ar-card-name{display:block;font-family:'Orbitron',monospace;font-size:22px;font-weight:900;letter-spacing:.02em;
  text-shadow:0 0 30px rgba(139,92,246,.5),0 2px 8px rgba(0,0,0,.8)}
.ar-card-set{display:block;font-size:12px;color:var(--t2);margin-top:4px}
.ed-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.06em;
  background:linear-gradient(135deg,#facc15,#f97316);color:#000;vertical-align:middle}
.ar-type-float{padding:6px 16px;background:rgba(0,0,0,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(139,92,246,.2);border-radius:99px;font-family:'Orbitron',monospace;font-size:12px;letter-spacing:.06em}

/* price pill — floating button over camera */
.price-pill{position:absolute;top:calc(var(--st) + 58px);right:14px;z-index:8;
  display:flex;align-items:center;gap:6px;padding:8px 14px;
  background:rgba(0,0,0,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(250,204,21,.25);border-radius:99px;cursor:pointer}
.price-pill.hidden{display:none}
.pill-price{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;color:#facc15;
  text-shadow:0 0 12px rgba(250,204,21,.3)}
.pill-arrow{color:var(--t2);display:flex}

/* price sheet — slides up from bottom */
.price-sheet{position:absolute;bottom:0;left:0;right:0;z-index:12;
  max-height:0;overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}
.price-sheet.open{max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.sheet-inner{padding:16px 16px calc(var(--sb) + 16px);
  background:rgba(10,10,18,.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-top:1px solid var(--gborder);border-radius:20px 20px 0 0}
.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sheet-head h3{font-family:'Orbitron',monospace;font-size:14px;font-weight:700}
.pill-btn-sm{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);color:var(--t2)}
.sheet-card-row{display:flex;gap:12px;align-items:center;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--gborder)}
.sheet-card-img{width:60px;border-radius:6px}
.sheet-card-name{font-family:'Orbitron',monospace;font-size:14px;font-weight:600}
.sheet-card-meta{font-size:11px;color:var(--t2);margin-top:2px}
.sheet-section{margin-bottom:14px}
.sheet-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.1em;color:var(--t3);margin-bottom:8px;text-transform:uppercase}
.sheet-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px}
.sheet-price{font-family:'JetBrains Mono',monospace;font-weight:600}
.sheet-price.hi{color:var(--accent2)}
.sheet-price.gem{color:#facc15;text-shadow:0 0 8px rgba(250,204,21,.3)}
.text-green{color:#22c55e}.text-red{color:#ef4444}

/* AR action buttons — bottom of screen during AR mode */
.ar-actions{position:absolute;bottom:0;left:0;right:0;z-index:8;
  display:flex;align-items:center;justify-content:space-around;
  padding:16px 20px calc(var(--sb) + 20px);
  background:linear-gradient(transparent,rgba(0,0,0,.6))}
.ar-actions.hidden{display:none}
.pill-btn-label{display:flex;align-items:center;gap:6px;padding:8px 14px;
  background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.1);border-radius:99px;font-size:12px;color:var(--t2);
  font-family:'Orbitron',monospace;letter-spacing:.04em}
.pill-btn-label:active{background:rgba(139,92,246,.15)}

/* ── collection ─────────────────────────── */
.coll-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--sb) + 24px)}
.coll-stats{display:flex;gap:8px;padding:16px 20px}
.stat{flex:1;text-align:center;padding:14px 8px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px}
.stat-v{font-family:'Orbitron',monospace;font-size:18px;font-weight:700;color:var(--accent2)}
.stat-l{font-size:10px;color:var(--t3);letter-spacing:.08em;margin-top:2px;text-transform:uppercase}
.coll-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:0 20px}
.cc{padding:14px 16px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px;
  border-left:3px solid var(--tc,var(--accent));display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.cc-type{font-family:'Orbitron',monospace;font-size:10px;color:var(--tc,var(--accent));letter-spacing:.08em;width:100%}
.cc-name{font-family:'Orbitron',monospace;font-size:14px;font-weight:600;flex:1}
.cc-price{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:var(--accent2)}
.cc-set{font-size:11px;color:var(--t3);width:100%}
.coll-empty{text-align:center;padding:48px 20px;grid-column:1/-1}
.coll-empty h3{font-family:'Orbitron',monospace;font-size:16px;margin-bottom:6px}
.coll-empty p{font-size:13px;color:var(--t2);margin-bottom:16px}

/* ── loading ────────────────────────────── */
.loading-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,10,15,.88);display:flex;align-items:center;justify-content:center}
.loading-overlay.hidden{display:none}
.loading-content{text-align:center}
.loading-spinner{width:40px;height:40px;border:3px solid var(--bg3);border-top-color:var(--accent);
  border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-family:'Orbitron',monospace;font-size:11px;letter-spacing:.1em;color:var(--t2)}

/* ── toast ──────────────────────────────── */
#toast-container{position:fixed;top:calc(var(--st) + 10px);left:50%;transform:translateX(-50%);z-index:200;
  display:flex;flex-direction:column;gap:6px;width:90%;max-width:340px;pointer-events:none}
.toast{pointer-events:auto;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:500;text-align:center;
  background:rgba(16,16,28,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--gborder)}
.toast-success{border-color:rgba(34,197,94,.3);color:#22c55e}
.toast-error{border-color:rgba(239,68,68,.3);color:#ef4444}
.toast-info{color:var(--accent2)}

/* ── skeleton ───────────────────────────── */
.skel{background:linear-gradient(90deg,var(--bg2) 25%,var(--bg3) 50%,var(--bg2) 75%);
  background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── holographic card ───────────────────── */
.holo-scene{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:6;pointer-events:auto;perspective:900px}
.holo-card{width:72vw;max-width:300px;aspect-ratio:2.5/3.5;border-radius:14px;cursor:grab;
  transform-style:preserve-3d;will-change:transform;transition:transform .05s linear}
.holo-card-inner{position:relative;width:100%;height:100%;border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 2px rgba(255,255,255,.08),0 20px 60px rgba(0,0,0,.6),0 0 40px var(--gc1,#8b5cf6)}
.holo-img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.holo-shine{position:absolute;inset:0;border-radius:14px;pointer-events:none;mix-blend-mode:color-dodge;opacity:.25;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 30%,transparent 70%);
  background-size:200% 200%;transition:opacity .1s}
.holo-rainbow{position:absolute;inset:0;border-radius:14px;pointer-events:none;mix-blend-mode:overlay;opacity:.3;
  background:linear-gradient(115deg,rgba(255,0,0,.1),rgba(255,165,0,.1),rgba(255,255,0,.1),rgba(0,255,0,.1),rgba(0,255,255,.1),rgba(0,0,255,.1),rgba(128,0,255,.1))}
.holo-sparkle-wrap{position:absolute;inset:0;border-radius:14px;overflow:hidden;pointer-events:none}
.holo-sparkle{position:absolute;inset:0;width:100%;height:100%}
.holo-edge-glow{position:absolute;inset:-3px;border-radius:17px;pointer-events:none;
  background:transparent;z-index:-1;
  box-shadow:0 0 20px 4px var(--gc1,#8b5cf6),0 0 40px 8px var(--gc2,#a78bfa),0 0 80px 16px var(--gc3,#c4b5fd);
  animation:edge-pulse 2s ease-in-out infinite}
@keyframes edge-pulse{0%,100%{opacity:.7;filter:brightness(1)}50%{opacity:1;filter:brightness(1.3)}}

.hidden{display:none!important}

/* glass utility */
.glass{background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--gborder);border-radius:16px}

/* ── PACK SIMULATOR ─────────────────────── */

/* Pack select */
.pack-select-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);padding-bottom:calc(var(--sb) + 24px)}
.pack-header{text-align:center;padding:24px 20px 20px}
.pack-title{font-family:'Orbitron',monospace;font-size:22px;font-weight:900;
  background:linear-gradient(135deg,#facc15,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.pack-subtitle{font-size:13px;color:var(--t2);margin-top:6px}
.pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 16px}
.pack-item{padding:0;border:1.5px solid var(--gborder);border-radius:14px;background:var(--bg2);
  overflow:hidden;transition:transform .2s,border-color .2s;cursor:pointer}
.pack-item:active{transform:scale(.95);border-color:var(--accent)}
.pack-item-inner{padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:120px;justify-content:center}
.pack-logo{max-width:100%;max-height:50px;object-fit:contain}
.pack-name{font-family:'Orbitron',monospace;font-size:11px;font-weight:600;text-align:center;line-height:1.3}
.pack-count{font-size:10px;color:var(--t3)}
.pack-meta{font-size:10px;color:var(--t3);letter-spacing:.03em}
.pack-rates-hint{font-size:8px;color:var(--accent2);margin-top:2px;opacity:.7;letter-spacing:.02em}

/* Pack info button */
.pack-info-btn{display:block;width:100%;padding:6px 0;font-family:'Orbitron',monospace;font-size:8px;
  font-weight:600;letter-spacing:.08em;color:var(--accent2);background:rgba(139,92,246,.06);
  border-top:1px solid rgba(139,92,246,.12);cursor:pointer;transition:all .15s;border-radius:0 0 12px 12px}
.pack-info-btn:active{background:rgba(139,92,246,.15)}

/* ── SET INFO SHEET ──────────────────── */
.set-info-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.7);display:flex;
  align-items:flex-end;justify-content:center;cursor:pointer}
.set-info-sheet{width:100%;max-width:440px;max-height:85vh;background:var(--bg);border-radius:20px 20px 0 0;
  overflow:hidden;display:flex;flex-direction:column;cursor:default}
.set-info-header{position:relative;padding:24px 20px 16px;text-align:center;overflow:hidden}
.set-info-header-bg{position:absolute;inset:0;opacity:.15}
.set-info-close{position:absolute;top:12px;right:12px;z-index:2;width:32px;height:32px;border-radius:50%;
  background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:16px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px)}
.set-info-logo{position:relative;z-index:1;max-width:70%;max-height:50px;object-fit:contain;margin-bottom:8px}
.set-info-name{position:relative;z-index:1;font-family:'Orbitron',monospace;font-size:16px;font-weight:700}
.set-info-meta{position:relative;z-index:1;display:flex;gap:6px;justify-content:center;align-items:center;
  margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--t2)}
.set-info-1st{font-family:'Orbitron',monospace;font-size:9px;font-weight:700;
  padding:2px 6px;border-radius:4px;background:linear-gradient(135deg,#facc15,#f97316);color:#000}

.set-info-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 20px 24px}
.set-info-god-eligible{display:flex;align-items:center;gap:6px;padding:10px 14px;margin:12px 0;
  background:rgba(250,204,21,.06);border:1px solid rgba(250,204,21,.2);border-radius:10px;
  font-family:'Orbitron',monospace;font-size:10px;font-weight:600;color:#facc15;letter-spacing:.04em}
.set-info-god-icon{font-size:14px}

.set-info-section{margin-top:16px}
.set-info-label{font-family:'Orbitron',monospace;font-size:9px;font-weight:700;letter-spacing:.1em;
  color:var(--accent2);margin-bottom:8px}
.set-info-desc{font-size:11px;color:var(--t2);margin-bottom:10px;line-height:1.4}

/* Rates bars */
.set-info-rates{display:flex;flex-direction:column;gap:6px}
.set-info-rate-row{display:flex;align-items:center;gap:8px}
.set-info-rate-label{font-family:'Orbitron',monospace;font-size:9px;font-weight:600;min-width:68px;text-align:right}
.set-info-rate-bar{flex:1;height:10px;background:rgba(255,255,255,.06);border-radius:5px;overflow:hidden}
.set-info-rate-fill{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.4,0,.2,1)}
.set-info-rate-pct{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--t2);min-width:36px}

/* Chase cards carousel */
.set-info-chase-carousel{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  padding:4px 0 8px;scrollbar-width:none;scroll-snap-type:x mandatory}
.set-info-chase-carousel::-webkit-scrollbar{display:none}
.set-info-chase-card{flex:0 0 90px;scroll-snap-align:start;text-align:center}
.set-info-chase-img{width:90px;aspect-ratio:2.5/3.5;object-fit:cover;border-radius:8px;
  border:1.5px solid var(--gborder);box-shadow:0 4px 12px rgba(0,0,0,.4);
  transition:transform .2s,border-color .2s}
.set-info-chase-img:active{transform:scale(.95)}
.set-info-chase-name{width:90px;aspect-ratio:2.5/3.5;display:flex;align-items:center;justify-content:center;
  font-size:9px;text-align:center;padding:4px;background:var(--bg2);border-radius:8px;border:1px solid var(--gborder)}
.set-info-chase-label{font-family:'Orbitron',monospace;font-size:8px;color:var(--t2);margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}

/* Pack composition */
.set-info-comp{display:flex;flex-direction:column;gap:4px}
.set-info-comp-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--t2)}
.set-info-comp-row span:first-child{font-family:'JetBrains Mono',monospace;font-weight:700;color:#facc15;
  width:20px;text-align:center}

/* Rip button */
.set-info-rip-btn{display:block;width:100%;margin-top:20px;padding:14px;border-radius:14px;
  font-family:'Orbitron',monospace;font-size:13px;font-weight:700;letter-spacing:.06em;
  color:#fff;background:linear-gradient(135deg,var(--si-c1,var(--accent)),var(--si-c2,#7c3aed));
  border:none;cursor:pointer;box-shadow:0 4px 20px rgba(139,92,246,.3);transition:transform .2s}
.set-info-rip-btn:active{transform:scale(.96)}
.pack-item.first-ed{border-color:rgba(250,204,21,.3);box-shadow:0 0 12px rgba(250,204,21,.1)}
.pack-1st-badge{font-family:'Orbitron',monospace;font-size:8px;font-weight:700;letter-spacing:.08em;
  padding:3px 8px;border-radius:4px;color:#000;
  background:linear-gradient(135deg,#facc15,#f97316);margin-bottom:4px}
.pack-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg)}

/* Pack hold — realistic foil wrapper */
.pack-hold{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 50% 40%,rgba(30,30,50,.9),var(--bg))}
.pack-3d{width:200px;perspective:600px;cursor:grab;transform-style:preserve-3d}

/* Tear strip at top */
.pack-tear-strip{height:18px;border-radius:4px 4px 0 0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;
  position:relative;z-index:2;will-change:transform}
.tear-notch{width:8px;height:8px;background:rgba(0,0,0,.3);border-radius:50%}
.tear-text{font-family:'Orbitron',monospace;font-size:6px;letter-spacing:.2em;color:rgba(0,0,0,.4);text-transform:uppercase}

/* Main pack body */
.pack-body{position:relative;height:310px;border-radius:0 0 6px 6px;overflow:hidden;
  background:linear-gradient(170deg,var(--pc1),var(--pc2) 50%,var(--pc1));
  box-shadow:0 20px 60px rgba(0,0,0,.7),0 0 30px color-mix(in srgb, var(--pc2) 30%, transparent);
  will-change:transform}
.pack-foil-bg{position:absolute;inset:0;
  background:repeating-linear-gradient(135deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px)}
.pack-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px}
.pack-pokemon-logo{font-family:'Orbitron',monospace;font-size:10px;font-weight:900;letter-spacing:.25em;color:rgba(255,255,255,.25);text-transform:uppercase}
.pack-hold-logo{max-width:85%;max-height:80px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.pack-set-name{font-family:'Orbitron',monospace;font-size:13px;font-weight:700;text-align:center;
  text-shadow:0 2px 6px rgba(0,0,0,.5);margin-top:4px}
.pack-card-count{font-size:8px;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-top:2px}
.pack-booster-text{font-family:'Orbitron',monospace;font-size:8px;letter-spacing:.25em;color:rgba(255,255,255,.3);margin-top:8px}

/* Foil shimmer overlays */
/* Crimp marks — top and bottom of pack */
.pack-crimp-top,.pack-crimp-bot{position:absolute;left:0;right:0;height:10px;z-index:4;
  background:repeating-linear-gradient(90deg,transparent,transparent 6px,rgba(0,0,0,.15) 6px,rgba(0,0,0,.15) 8px)}
.pack-crimp-top{top:0;border-bottom:1px solid rgba(255,255,255,.06)}
.pack-crimp-bot{bottom:0;border-top:1px solid rgba(255,255,255,.06)}

.pack-shine-layer{position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;opacity:.15;
  background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.6) 0%,transparent 50%);background-size:200% 200%;z-index:2}
.pack-holo-layer{position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.2;z-index:3;
  background:linear-gradient(135deg,rgba(255,0,0,.1),rgba(255,165,0,.1),rgba(255,255,0,.1),rgba(0,255,0,.1),rgba(0,255,255,.1),rgba(0,0,255,.1),rgba(128,0,255,.1))}

/* Pack side edges (3D depth effect) */
.pack-edge-left,.pack-edge-right{position:absolute;top:0;bottom:0;width:4px;z-index:4;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(0,0,0,.2))}
.pack-edge-left{left:0;border-right:1px solid rgba(255,255,255,.05)}
.pack-edge-right{right:0;border-left:1px solid rgba(255,255,255,.05)}

.pack-rip-hint{text-align:center;margin-top:28px;font-family:'Orbitron',monospace;font-size:11px;
  letter-spacing:.12em;color:var(--t2);animation:hint-bounce 1.5s ease-in-out infinite}
.rip-arrow{font-size:24px;margin-bottom:4px}
@keyframes hint-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.rip-flash{position:fixed;inset:0;background:rgba(250,204,21,.6);z-index:999;pointer-events:none}
.rip-loading{z-index:10;background:var(--bg)}

/* Card stack — swipeable reveals */
.stack-wrap{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  padding:calc(var(--st) + 16px) 20px calc(var(--sb) + 16px);background:var(--bg)}
.stack-top-bar{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:10px;padding:0 4px}
.stack-counter{font-family:'Orbitron',monospace;font-size:11px;color:var(--t3);letter-spacing:.1em}
.stack-running{font-family:'JetBrains Mono',monospace;font-size:12px;color:#facc15;font-weight:600}
.stack-area{position:relative;width:clamp(240px,65vw,280px);aspect-ratio:2.5/3.5;touch-action:none}
.stack-card{position:absolute;inset:0;transition:transform .3s;will-change:transform,opacity;border-radius:16px}
.stack-card:not(.active){transform:scale(calc(1 - var(--depth) * 0.02)) translateY(calc(var(--depth) * 4px));pointer-events:none;opacity:.3}
.stack-card:not(.active) .stack-card-info{display:none}
.stack-card.active{opacity:1;pointer-events:auto}
.stack-card-inner{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.5);background:#0a0a14;display:flex;align-items:center;justify-content:center}
.stack-card-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:14px}
.stack-card-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-family:'Orbitron',monospace;font-size:14px;padding:16px;text-align:center}
.stack-card-info{text-align:center;margin-top:10px}
.stack-info-name{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;margin-bottom:4px}
.stack-info-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:nowrap}
.stack-card-rarity{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.06em;white-space:nowrap}
.stack-card-price{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:#facc15;white-space:nowrap}
.stack-psa10{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--t2);white-space:nowrap}
.stack-swipe-hint{font-size:11px;color:var(--t3);text-align:center;margin-top:10px;letter-spacing:.04em;opacity:.5}
.stack-progress{display:flex;gap:6px;justify-content:center;margin-top:8px}
.stack-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.15);transition:all .3s}
.stack-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent)}
.stack-1st{display:inline-block;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:700;
  background:linear-gradient(135deg,#facc15,#f97316);color:#000;vertical-align:middle;margin-right:4px}

/* Pack summary */
.summary-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px calc(var(--sb) + 24px);background:var(--bg)}
.summary-header{text-align:center;margin-bottom:20px}
.summary-title{font-family:'Orbitron',monospace;font-size:24px;font-weight:900;
  background:linear-gradient(135deg,#facc15,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.summary-set{font-size:13px;color:var(--t2);margin-top:4px}
.summary-value{text-align:center;padding:20px;background:var(--bg2);border:1px solid var(--gborder);border-radius:16px;margin-bottom:20px}
.summary-value-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3)}
.summary-value-amount{font-family:'JetBrains Mono',monospace;font-size:32px;font-weight:700;color:#facc15;
  text-shadow:0 0 20px rgba(250,204,21,.3);margin-top:4px}
.summary-psa-total{font-family:'JetBrains Mono',monospace;font-size:14px;color:var(--t2);margin-top:4px}
.summary-best{margin-bottom:20px}
.summary-best-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3);margin-bottom:8px}
.summary-best-card{display:flex;gap:14px;padding:14px;background:var(--bg2);border:1.5px solid var(--bc,var(--gborder));border-radius:14px;
  box-shadow:0 0 20px color-mix(in srgb, var(--bc) 30%, transparent)}
.summary-best-img{width:90px;border-radius:8px}
.summary-best-info{display:flex;flex-direction:column;justify-content:center;gap:4px}
.summary-best-name{font-family:'Orbitron',monospace;font-size:16px;font-weight:700}
.summary-best-rarity{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.1em}
.summary-best-price{font-family:'JetBrains Mono',monospace;font-size:18px;font-weight:600;color:#facc15}
.summary-cards-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3);margin-bottom:10px}
.summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:24px}
.summary-card{border-radius:8px;overflow:hidden;background:var(--bg2);border:1px solid var(--sc,var(--gborder));
  aspect-ratio:2.5/3.5;position:relative}
.summary-card-img{width:100%;height:100%;object-fit:cover}
.summary-card-name{width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:8px;text-align:center;padding:4px}
.summary-card-price{position:absolute;bottom:2px;right:2px;font-family:'JetBrains Mono',monospace;
  font-size:8px;background:rgba(0,0,0,.7);padding:1px 4px;border-radius:4px;color:#facc15}
.summary-actions{display:flex;flex-direction:column;gap:10px;align-items:center}
.summary-actions .cta-btn,.summary-actions .btn-outline{width:100%;text-align:center}

/* Hero buttons row */
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.rip-btn{background:linear-gradient(135deg,#f97316,#ef4444)!important;box-shadow:0 4px 20px rgba(239,68,68,.35)!important}

/* ── AUTH ─────────────────────────────── */
.login-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);padding-bottom:calc(var(--sb) + 24px)}
.login-box{max-width:320px;margin:40px auto;padding:0 20px}
.login-title{font-family:'Orbitron',monospace;font-size:22px;font-weight:700;text-align:center}
.login-sub{font-size:13px;color:var(--t2);text-align:center;margin:6px 0 20px}
.login-tabs{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--gborder);margin-bottom:20px}
.login-tab{flex:1;padding:10px;font-family:'Orbitron',monospace;font-size:11px;background:transparent;color:var(--t2);
  border:none;cursor:pointer;transition:all .2s}
.login-tab.active{background:var(--accent);color:#fff}
.login-form{display:flex;flex-direction:column;gap:12px}
.login-input{padding:14px 16px;border-radius:12px;background:var(--bg2);border:1px solid var(--gborder);color:#fff;font-size:15px;
  font-family:inherit;outline:none;transition:border-color .2s}
.login-input:focus{border-color:var(--accent)}
.login-submit{margin-top:4px}
.login-error{color:#ef4444;font-size:12px;text-align:center}
.nav-right{display:flex;align-items:center;gap:8px}
.nav-user{font-size:11px;color:var(--t2);font-family:'Orbitron',monospace}
.nav-btn-label{padding:6px 12px;border-radius:8px;font-family:'Orbitron',monospace;font-size:10px;
  color:var(--accent);border:1px solid var(--accent);background:transparent;text-decoration:none;cursor:pointer}

/* ── BINDER ──────────────────────────── */
.binder-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);padding-bottom:calc(var(--sb) + 24px)}
.binder-stats{display:flex;justify-content:center;gap:20px;padding:20px 16px}
.binder-stat{text-align:center}
.binder-stat-val{font-family:'JetBrains Mono',monospace;font-size:24px;font-weight:700;color:#facc15}
.binder-stat-label{font-size:10px;color:var(--t3);margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.binder-value{padding:12px 20px;margin:0 16px 20px;background:var(--bg2);border:1px solid var(--gborder);border-radius:14px}
.binder-val-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;color:var(--t2)}
.binder-val-amt{font-family:'JetBrains Mono',monospace;font-weight:600;color:#facc15}
.binder-psa .binder-val-amt{color:var(--t2)}
.binder-sets-label{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.12em;color:var(--t3);padding:0 20px;margin-bottom:10px}
.binder-set-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px}
.binder-set-tile{padding:14px 12px;background:var(--bg2);border:1.5px solid var(--gborder);border-radius:14px;
  text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:6px}
.binder-set-tile:active{border-color:var(--accent);transform:scale(.97)}
.binder-tile-logo{height:36px;display:flex;align-items:center;justify-content:center}
.binder-tile-logo img{max-height:36px;max-width:100%;object-fit:contain}
.binder-tile-name{font-family:'Orbitron',monospace;font-size:10px;font-weight:600;line-height:1.3}
.binder-tile-count{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;color:var(--accent)}
.binder-tile-bar{width:100%;height:4px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.binder-tile-fill{height:100%;background:linear-gradient(90deg,var(--accent),#7c3aed);border-radius:2px;transition:width .5s ease}
.binder-tile-val{font-family:'JetBrains Mono',monospace;font-size:10px;color:#facc15}
.binder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px}
.binder-card{position:relative;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--gborder);aspect-ratio:2.5/3.5}
.binder-card-img{width:100%;height:100%}
.binder-card-img img{width:100%;height:100%;object-fit:contain}
.binder-card-name{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:9px;text-align:center;padding:4px}
.binder-qty{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.7);color:#facc15;font-family:'JetBrains Mono',monospace;
  font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px}
.binder-card-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));
  padding:12px 4px 4px;font-size:9px;text-align:center}
.binder-loading{display:flex;align-items:center;justify-content:center;padding:60px 0}

/* ── NEW/DUPE BADGES ─────────────────── */
.stack-new-badge{position:absolute;top:12px;left:12px;z-index:5;padding:4px 10px;border-radius:8px;
  font-family:'Orbitron',monospace;font-size:11px;font-weight:700;letter-spacing:.06em;
  background:linear-gradient(135deg,#facc15,#f97316);color:#000;
  box-shadow:0 2px 12px rgba(250,204,21,.4);transform:scale(0);opacity:0}
.stack-dupe-badge{position:absolute;top:12px;right:12px;z-index:5;padding:3px 8px;border-radius:6px;
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;
  background:rgba(0,0,0,.6);color:var(--t2);backdrop-filter:blur(4px)}
.dex-btn{background:linear-gradient(135deg,#f59e0b,#d97706)!important;box-shadow:0 4px 20px rgba(245,158,11,.3)!important}
.binder-btn{background:linear-gradient(135deg,#22c55e,#16a34a)!important;box-shadow:0 4px 20px rgba(34,197,94,.3)!important}
.binder-card-name-sm{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:9px;text-align:center;padding:4px}

/* ── CARD VIEWER OVERLAY ─────────────── */
.card-viewer-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;cursor:pointer}
.card-viewer{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:20px 20px 60px;cursor:default}
.cv-close{position:absolute;top:calc(var(--st) + 12px);right:16px;z-index:210;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.1);border:none;color:#fff;font-size:18px;cursor:pointer;backdrop-filter:blur(4px)}
.cv-particles{position:absolute;inset:0;z-index:0;pointer-events:none}
.cv-sprite{position:absolute;top:8%;left:50%;transform:translateX(-50%);z-index:3;width:120px;height:120px;object-fit:contain;
  filter:drop-shadow(0 0 24px rgba(255,255,255,.4));image-rendering:pixelated;
  animation:cv-sprite-float 2.5s ease-in-out infinite, cv-sprite-glow 3s ease-in-out infinite alternate}
@keyframes cv-sprite-float{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-12px)}}
@keyframes cv-sprite-glow{0%{filter:drop-shadow(0 0 16px rgba(255,255,255,.3))}100%{filter:drop-shadow(0 0 32px rgba(255,255,255,.6)) drop-shadow(0 0 60px rgba(139,92,246,.3))}}
.cv-card{position:relative;z-index:2;width:clamp(220px,60vw,260px);aspect-ratio:2.5/3.5;border-radius:16px;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.5);animation:cv-card-breathe 4s ease-in-out infinite}
.cv-card::after{content:'';position:absolute;inset:0;z-index:1;border-radius:16px;pointer-events:none;
  background:linear-gradient(135deg,transparent 20%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.08) 60%,transparent 80%);
  background-size:200% 200%;animation:cv-holo-sweep 3s ease-in-out infinite}
@keyframes cv-holo-sweep{0%{background-position:200% 200%}100%{background-position:-200% -200%}}
@keyframes cv-card-breathe{0%,100%{box-shadow:0 20px 60px rgba(0,0,0,.5)}50%{box-shadow:0 24px 70px rgba(0,0,0,.4),0 0 30px rgba(139,92,246,.15)}}
.cv-card-img{width:100%;height:100%;object-fit:contain}
.cv-card-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Orbitron',monospace;
  font-size:14px;background:var(--bg2);padding:16px;text-align:center}
.cv-info{position:relative;z-index:2;text-align:center;margin-top:16px}
.cv-name{font-family:'Orbitron',monospace;font-size:18px;font-weight:700}
.cv-rarity{font-family:'Orbitron',monospace;font-size:11px;letter-spacing:.08em;margin-top:4px}
.cv-prices{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px}
.cv-price{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:600;color:#facc15;text-shadow:0 0 10px rgba(250,204,21,.3)}
.cv-psa{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--t2)}
.cv-meta{display:flex;gap:12px;justify-content:center;margin-top:8px;font-size:11px;color:var(--t3)}

/* ── ADMIN ───────────────────────────── */
.admin-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);padding-bottom:calc(var(--sb) + 24px)}
.admin-login-box{max-width:300px;margin:60px auto;padding:0 20px}
.admin-section{padding:16px}
.admin-title{font-family:'Orbitron',monospace;font-size:11px;letter-spacing:.12em;color:var(--accent);margin-bottom:12px}
.admin-subtitle{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.1em;color:var(--t3);margin:16px 0 8px}
.admin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.admin-stat{text-align:center;padding:12px 4px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px}
.admin-stat-val{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:#facc15}
.admin-stat-lbl{font-size:9px;color:var(--t3);margin-top:2px;text-transform:uppercase;letter-spacing:.06em}
.admin-value-bar{padding:10px 14px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px}
.admin-vb-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--t2)}
.admin-vb-amt{font-family:'JetBrains Mono',monospace;font-weight:600;color:#facc15}
.admin-vb-amt.dim{color:var(--t2)}
.admin-pop-sets{display:flex;flex-direction:column;gap:6px}
.admin-pop-set{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg2);border-radius:10px;font-size:12px}
.admin-pop-rank{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--accent);min-width:24px}
.admin-pop-name{font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-pop-meta{font-size:10px;color:var(--t3);white-space:nowrap}

/* User cards */
.admin-user-card{background:var(--bg2);border:1px solid var(--gborder);border-radius:14px;padding:14px;margin-bottom:10px}
.admin-user-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.admin-user-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#7c3aed);
  display:flex;align-items:center;justify-content:center;font-family:'Orbitron',monospace;font-size:16px;font-weight:700}
.admin-user-info{flex:1}
.admin-user-name{font-family:'Orbitron',monospace;font-size:14px;font-weight:600}
.admin-user-handle{font-size:11px;color:var(--t3)}
.admin-user-id{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--t3)}
.admin-user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.admin-us{text-align:center;padding:8px 4px;background:var(--bg3);border-radius:10px}
.admin-us-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;color:#facc15}
.admin-us-lbl{font-size:8px;color:var(--t3);text-transform:uppercase;letter-spacing:.05em;margin-top:1px}
.admin-user-values{padding:8px 12px;background:var(--bg3);border-radius:10px;margin-bottom:8px}
.admin-uv{display:flex;justify-content:space-between;padding:3px 0;font-size:12px;color:var(--t2)}
.admin-uv-amt{font-family:'JetBrains Mono',monospace;font-weight:600;color:#facc15}
.admin-uv-amt.dim{color:var(--t2)}
.admin-user-best{font-size:11px;color:var(--t2);margin-bottom:6px;padding:6px 10px;background:rgba(250,204,21,.06);border-radius:8px;border-left:3px solid #facc15}
.admin-rarity-bar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.admin-rb{padding:4px 8px;border-radius:6px;font-size:10px;display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.05)}
.admin-rb-tier{text-transform:capitalize;color:var(--t2)}
.admin-rb-cnt{font-family:'JetBrains Mono',monospace;font-weight:700}
.admin-rb.tier-common .admin-rb-cnt{color:#a1a1aa}
.admin-rb.tier-uncommon .admin-rb-cnt{color:#22c55e}
.admin-rb.tier-rare .admin-rb-cnt{color:#3b82f6}
.admin-rb.tier-holo .admin-rb-cnt{color:#a855f7}
.admin-rb.tier-ultra .admin-rb-cnt{color:#facc15}
.admin-rb.tier-fullart .admin-rb-cnt{color:#f97316}
.admin-rb.tier-secret .admin-rb-cnt{color:#ef4444}
.admin-user-meta{display:flex;justify-content:space-between;font-size:10px;color:var(--t3)}
.admin-user-last{font-size:10px;color:var(--t3);margin-top:4px}

/* ── GOD PACK TAKEOVER ───────────────── */
.god-pack-takeover,.mega-pull-takeover{position:absolute;inset:0;z-index:100;display:flex;flex-direction:column;
  align-items:center;justify-content:center;overflow:hidden}
.god-pack-takeover{background:radial-gradient(ellipse at 50% 30%,#3d2800,#1a0f00 60%,#000)}
.mega-pull-takeover{background:radial-gradient(ellipse at 50% 30%,#1a1a3e,#0a0a1a 60%,#000)}
.god-confetti{position:absolute;inset:0;z-index:0;pointer-events:none}
.god-cracks{position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center}
.god-crack-line{position:absolute;width:50vw;height:2px;
  background:linear-gradient(90deg,transparent,rgba(250,204,21,.6),rgba(250,204,21,.2),transparent);
  transform-origin:left center;transform:rotate(var(--angle)) scaleX(0)}
.god-text-wrap,.mega-text-wrap{position:relative;z-index:2;text-align:center;margin-bottom:16px}
.god-label{font-family:'Orbitron',monospace;font-size:clamp(36px,10vw,56px);font-weight:900;letter-spacing:.1em;
  background:linear-gradient(135deg,#facc15,#f59e0b,#fbbf24,#fff,#facc15);background-size:200% 200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  animation:god-shimmer 2s ease infinite;
  text-shadow:none;filter:drop-shadow(0 4px 20px rgba(250,204,21,.5))}
@keyframes god-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.mega-label{font-family:'Orbitron',monospace;font-size:clamp(32px,9vw,48px);font-weight:900;letter-spacing:.1em;
  background:linear-gradient(135deg,#a855f7,#7c3aed,#c084fc,#fff,#a855f7);background-size:200% 200%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  animation:god-shimmer 2s ease infinite;
  filter:drop-shadow(0 4px 20px rgba(168,85,247,.5))}
.god-set,.mega-set{font-family:'Orbitron',monospace;font-size:13px;color:rgba(255,255,255,.5);letter-spacing:.08em;margin-top:4px}
.god-value-wrap{position:relative;z-index:2;text-align:center;margin-bottom:20px}
.god-value-label{font-family:'Orbitron',monospace;font-size:10px;color:rgba(250,204,21,.6);letter-spacing:.12em}
.god-value{font-family:'JetBrains Mono',monospace;font-size:clamp(28px,8vw,40px);font-weight:700;
  color:#facc15;text-shadow:0 0 30px rgba(250,204,21,.5)}
.god-psa{font-family:'JetBrains Mono',monospace;font-size:13px;color:rgba(255,255,255,.4);margin-top:4px}
.mega-value{font-family:'JetBrains Mono',monospace;font-size:28px;font-weight:700;color:#a855f7;margin-top:8px;
  text-shadow:0 0 20px rgba(168,85,247,.4)}

/* God pack card fan */
.god-cards-fan{position:relative;z-index:2;display:flex;justify-content:center;gap:4px;margin-bottom:20px;
  perspective:600px;padding:0 8px}
.god-fan-card{width:clamp(50px,8vw,70px);aspect-ratio:2.5/3.5;border-radius:6px;overflow:hidden;
  box-shadow:0 4px 16px rgba(250,204,21,.3),0 0 0 1px rgba(250,204,21,.2);
  transform:rotateY(calc((var(--fan-i) - var(--fan-total) / 2) * 3deg))}
.god-fan-img{width:100%;height:100%;object-fit:cover}
.god-fan-name{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:7px;
  text-align:center;padding:2px;background:var(--bg2)}
.god-continue{position:relative;z-index:2;padding:12px 32px;border-radius:99px;
  font-family:'Orbitron',monospace;font-size:12px;font-weight:700;letter-spacing:.08em;
  color:#000;background:linear-gradient(135deg,#facc15,#f59e0b);border:none;cursor:pointer;
  box-shadow:0 4px 20px rgba(250,204,21,.4);transition:transform .2s}
.mega-pull-takeover .god-continue{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff;
  box-shadow:0 4px 20px rgba(168,85,247,.4)}
.god-continue:active{transform:scale(.95)}

/* Chase card badge */
.stack-chase-badge{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:5;
  padding:6px 16px;border-radius:8px;font-family:'Orbitron',monospace;font-size:12px;font-weight:700;
  letter-spacing:.08em;color:#000;
  background:linear-gradient(135deg,#facc15,#f59e0b);
  box-shadow:0 2px 16px rgba(250,204,21,.5);white-space:nowrap}

/* ── STACK CARD ACTIVE FIX ────────────── */
.stack-card.active{opacity:1!important;visibility:visible!important}

/* ── PULL RATES BUTTON ───────────────── */
.rates-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:8px 18px;
  border-radius:99px;font-family:'Orbitron',monospace;font-size:11px;font-weight:600;letter-spacing:.06em;
  color:var(--accent2);background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.25);
  cursor:pointer;transition:all .2s}
.rates-btn:active{transform:scale(.95);background:rgba(139,92,246,.2)}

/* ── PULL RATES MODAL ────────────────── */
.rates-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.85);display:flex;align-items:center;
  justify-content:center;padding:20px;cursor:pointer}
.rates-modal{background:var(--bg2);border:1px solid var(--gborder);border-radius:20px;width:100%;max-width:420px;
  max-height:80vh;overflow:hidden;display:flex;flex-direction:column;cursor:default;
  box-shadow:0 20px 60px rgba(0,0,0,.6)}
.rates-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;
  border-bottom:1px solid var(--gborder)}
.rates-title{font-family:'Orbitron',monospace;font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--accent2)}
.rates-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);color:var(--t2);font-size:16px;border:none;cursor:pointer}
.rates-body{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px 24px}
.rates-set{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.05)}
.rates-set:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.rates-set-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}
.rates-set-name{font-family:'Orbitron',monospace;font-size:11px;font-weight:700;color:#facc15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;margin-right:8px}
.rates-set-year{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--t3);flex-shrink:0}
.rates-set-desc{font-size:10px;color:var(--t2);margin-bottom:6px;line-height:1.4}
.rates-bars{display:flex;flex-direction:column;gap:4px}
.rates-bar-row{display:flex;align-items:center;gap:6px}
.rates-bar-label{font-family:'Orbitron',monospace;font-size:8px;font-weight:600;letter-spacing:.04em;min-width:62px;text-align:right}
.rates-bar-track{flex:1;height:8px;background:rgba(255,255,255,.06);border-radius:4px;overflow:hidden}
.rates-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}
.rates-bar-pct{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:600;color:var(--t2);min-width:34px}

/* ── LEADERBOARD ─────────────────────── */
.lb-scroll{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg);padding-bottom:calc(var(--sb) + 24px)}
.lb-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:16px 16px 12px}
.lb-stat{text-align:center;padding:10px 4px;background:var(--bg2);border:1px solid var(--gborder);border-radius:10px}
.lb-stat-val{font-family:'JetBrains Mono',monospace;font-size:16px;font-weight:700;color:var(--accent2)}
.lb-stat-val.lb-gold{color:#facc15}
.lb-stat-lbl{font-size:8px;color:var(--t3);margin-top:2px;text-transform:uppercase;letter-spacing:.05em}
.lb-tabs{display:flex;gap:4px;padding:0 16px 12px}
.lb-tab{padding:6px 16px;border-radius:8px;font-family:'Orbitron',monospace;font-size:10px;font-weight:600;
  color:var(--t3);background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s}
.lb-tab.active{color:var(--accent2);border-color:var(--gborder);background:var(--bg2)}
.lb-list{padding:0 16px;display:flex;flex-direction:column;gap:8px}
.lb-entry{display:flex;gap:10px;padding:12px;background:var(--bg2);border:1px solid var(--gborder);border-radius:12px}
.lb-entry.lb-god{border-color:rgba(250,204,21,.3);box-shadow:0 0 12px rgba(250,204,21,.1)}
.lb-entry.lb-mega{border-color:rgba(168,85,247,.3);box-shadow:0 0 12px rgba(168,85,247,.1)}
.lb-entry-rank{font-family:'Orbitron',monospace;font-size:16px;font-weight:700;color:var(--t3);min-width:32px;
  display:flex;align-items:flex-start;justify-content:center;padding-top:2px}
.lb-entry-body{flex:1;min-width:0}
.lb-entry-top{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.lb-entry-user{font-family:'Orbitron',monospace;font-size:12px;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-badge{padding:2px 6px;border-radius:4px;font-family:'Orbitron',monospace;font-size:7px;font-weight:700;letter-spacing:.06em}
.lb-badge-god{background:linear-gradient(135deg,#facc15,#f59e0b);color:#000}
.lb-badge-mega{background:linear-gradient(135deg,#a855f7,#7c3aed);color:#fff}
.lb-entry-set{font-size:10px;color:var(--t3);margin-bottom:4px}
.lb-entry-vals{display:flex;gap:10px;align-items:center}
.lb-entry-val{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:#facc15}
.lb-entry-psa{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--t3)}
.lb-entry-best{font-size:10px;color:var(--t2);margin-top:2px}
.lb-entry-cards{display:flex;gap:4px;margin-top:6px;align-items:center}
.lb-card-thumb{width:28px;height:auto;border-radius:3px;aspect-ratio:2.5/3.5;object-fit:cover}
.lb-more{font-size:10px;color:var(--t3)}
.lb-empty{text-align:center;padding:40px 20px}
.lb-empty h3{font-family:'Orbitron',monospace;font-size:16px;margin-bottom:6px}
.lb-empty p{font-size:13px;color:var(--t2)}

/* Admin toggle */
.admin-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;
  background:var(--bg2);border:1px solid var(--gborder);border-radius:10px;margin-bottom:12px;font-size:12px;color:var(--t2)}
.admin-toggle{padding:6px 16px;border-radius:8px;font-family:'Orbitron',monospace;font-size:10px;font-weight:700;
  color:var(--t3);background:var(--bg3);border:1px solid var(--gborder);cursor:pointer;transition:all .2s;letter-spacing:.06em}
.admin-toggle.on{color:#22c55e;border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.1)}

/* ── desktop ────────────────────────────── */
@media(min-width:600px){
  .coll-grid{grid-template-columns:repeat(2,1fr)}
  .card-frame{width:320px;height:210px}
}
@media(min-width:900px){
  .coll-grid{grid-template-columns:repeat(3,1fr)}
  .modes{flex-direction:row;flex-wrap:wrap}.mode-card{flex:1 1 calc(50% - 8px)}
}
