:root{
  --bg:#06050d;--bg2:#0b0a18;--glass:rgba(17,15,38,.72);--glass2:rgba(24,21,52,.8);
  --line:#2a2450;--line2:#3d3570;--ink:#eeeaff;--ink2:#c9c4ec;--mut:#9b96c4;
  --pk:#ff4fd8;--cy:#39e6ff;--vi:#8b5cff;--yl:#ffe14a;--gd:#ffcf4a;--ok:#4ade80;--bad:#ff5a7a;--or:#ff9f1c;
  --r:16px;--disp:"Audiowide","Chakra Petch",system-ui,sans-serif;--ui:"Chakra Petch",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Share Tech Mono",ui-monospace,monospace;
  --glowp:0 0 12px rgba(255,79,216,.55),0 0 30px rgba(255,79,216,.25);--glowc:0 0 12px rgba(57,230,255,.55),0 0 30px rgba(57,230,255,.22);
  color-scheme:dark;
}
*{box-sizing:border-box}[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}
body.lock{overflow:hidden}
a{color:var(--cy)}button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:6px}
#fx{position:fixed;inset:0;z-index:0;pointer-events:none}
.grid-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:
  linear-gradient(transparent 0 calc(100% - 1px),rgba(139,92,255,.07) 0) 0 0/100% 48px,
  linear-gradient(90deg,transparent 0 calc(100% - 1px),rgba(57,230,255,.05) 0) 0 0/48px 100%;
  mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 0%,transparent 75%)}
.wrap{max-width:1280px;margin:0 auto;padding:0 20px}
main{position:relative;z-index:1;min-height:70vh}

/* ---------- top bar ---------- */
.top{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);background:rgba(6,5,13,.72);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:14px;height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand img{width:42px;height:42px;border-radius:10px;filter:drop-shadow(0 0 8px rgba(57,230,255,.5))}
.brand .wm{font-family:var(--disp);font-size:15px;line-height:1.05;letter-spacing:.06em}
.brand .wm b{display:block;color:var(--pk);text-shadow:var(--glowp);font-weight:400}
.brand .wm span{color:var(--cy);font-size:11px;letter-spacing:.24em}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a,.nav button.lnk{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:10px;color:var(--ink2);text-decoration:none;font-weight:600;letter-spacing:.04em;font-size:14px;text-transform:uppercase;border:0;background:none;cursor:pointer;min-height:44px}
.nav a:hover,.nav a.on{color:#fff;background:rgba(139,92,255,.14)}
.nav a.on{box-shadow:inset 0 -2px 0 var(--pk)}
.nav svg{width:18px;height:18px}
.pilebtn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;border:1px solid var(--pk);background:rgba(255,79,216,.1);color:#fff;font-weight:700;cursor:pointer;min-height:44px;box-shadow:var(--glowp)}
.pilebtn svg{width:18px;height:18px}
.pilebtn .n{font-family:var(--mono);background:var(--pk);color:#1a0016;border-radius:999px;padding:0 7px;font-size:13px;min-width:22px;text-align:center}
.me-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--line2);text-decoration:none;color:var(--ink);background:var(--glass);min-height:44px}
.me-chip .av{width:36px;height:36px;border-radius:50%;background:#0b0a19;overflow:hidden;display:grid;place-items:center}
.me-chip .av svg{width:44px;height:44px}
.me-chip small{display:block;font-family:var(--mono);color:var(--cy);font-size:11px;line-height:1}
.me-chip b{font-size:13px;line-height:1.1;display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.burger{display:none}
@media (max-width:620px){
  .brand .wm{display:none}.top .wrap{gap:6px}.me-chip b,.me-chip small{display:none}.me-chip{padding:4px}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 20px;border-radius:12px;border:1px solid var(--line2);background:var(--glass2);color:var(--ink);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:14px;cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px);border-color:var(--cy);box-shadow:var(--glowc)}
.btn:active{transform:translateY(1px)}
.btn.p{background:linear-gradient(135deg,#ff4fd8,#8b5cff);border-color:transparent;color:#fff;box-shadow:var(--glowp)}
.btn.p:hover{box-shadow:0 0 18px rgba(255,79,216,.8),0 0 44px rgba(139,92,255,.5)}
.btn.c{background:rgba(57,230,255,.1);border-color:var(--cy);color:#dffbff}
.btn.sm{min-height:38px;padding:7px 12px;font-size:12px;border-radius:10px}
.btn.gh{background:transparent}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.btn svg{width:18px;height:18px;flex-shrink:0}
.x{width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--glass2);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.x svg{width:20px;height:20px}

/* ---------- hero ---------- */
.hero{position:relative;z-index:1;border-bottom:1px solid var(--line);padding-bottom:40px}
.hero .art{position:relative;width:100%;aspect-ratio:1221/546;max-height:80vh;min-height:300px;overflow:hidden}
.hero .bg{position:absolute;inset:-3%;background:url(img/hero-main.webp) center 45%/cover no-repeat;transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .3s ease-out;filter:saturate(1.15)}
.hero .art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,5,13,.35),rgba(6,5,13,0) 18%,rgba(6,5,13,0) 62%,var(--bg) 100%),linear-gradient(90deg,rgba(6,5,13,.6),transparent 14%,transparent 86%,rgba(6,5,13,.6))}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.hero .scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);pointer-events:none}
.hero .in{position:relative;z-index:2;max-width:880px;margin:-110px auto 0;padding:26px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
@media (max-width:640px){.hero .in{margin:-60px 14px 0;padding:20px 16px}}
.hero .lead{margin:6px 0 18px}
.hero .cta{justify-content:center}
.eyebrow{font-family:var(--mono);color:var(--cy);letter-spacing:.3em;text-transform:uppercase;font-size:13px;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--cy);box-shadow:var(--glowc)}
.h1{font-family:var(--disp);font-weight:400;font-size:clamp(38px,7.4vw,96px);line-height:.95;margin:14px 0 16px;letter-spacing:.02em;text-transform:uppercase}
.lead{max-width:640px;color:var(--ink2);font-size:clamp(16px,1.6vw,19px);margin:0 0 26px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
@keyframes float{50%{transform:translateY(-14px) rotate(1.5deg)}}

.ticker{border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,79,216,.08),rgba(57,230,255,.08));overflow:hidden;white-space:nowrap;position:relative;z-index:1}
.ticker .t{display:inline-flex;gap:38px;padding:13px 0;animation:tick 40s linear infinite;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:var(--ink2)}
.ticker .t span::before{content:"◆";color:var(--pk);margin-right:14px}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding:70px 0;position:relative;z-index:1}
.sec h2,.h2{font-family:var(--disp);font-weight:400;font-size:clamp(26px,3.4vw,40px);letter-spacing:.04em;text-transform:uppercase;margin:6px 0 10px}
.sec h2 em,.h2 em{font-style:normal;color:var(--pk);text-shadow:var(--glowp)}
.sub{color:var(--mut);max-width:640px;margin:0 0 28px}
.row{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.panel{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.neon-edge{position:relative}
.neon-edge::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,var(--pk),transparent 40%,transparent 60%,var(--cy));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.cat{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px 14px;text-align:center;text-decoration:none;color:var(--ink);border-radius:var(--r);background:var(--glass);border:1px solid var(--line);transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer}
.cat:hover{transform:translateY(-4px);border-color:var(--pk);box-shadow:var(--glowp)}
.cat svg{width:52px;height:52px;filter:drop-shadow(0 0 8px rgba(255,79,216,.7))}
.cat b{font-family:var(--disp);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.cat small{color:var(--mut);font-size:13px;line-height:1.35}

.games{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.game{position:relative;overflow:hidden;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
.game h3{font-family:var(--disp);font-weight:400;letter-spacing:.05em;margin:0;font-size:22px;text-transform:uppercase}
.game .st{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.game.live{border-color:var(--cy);box-shadow:var(--glowc)}
.game.live .st{color:var(--ok)}.game .st{color:var(--mut)}
.game::after{content:"";position:absolute;right:-30px;bottom:-30px;width:130px;height:130px;border-radius:50%;background:radial-gradient(var(--c,rgba(255,79,216,.35)),transparent 70%)}

.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,220px);gap:16px;overflow-x:auto;padding:6px 4px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.scroller>*{scroll-snap-align:start}

.odyssey-teaser{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
@media (max-width:860px){.odyssey-teaser{grid-template-columns:1fr}}
.stagebox{display:grid;place-items:center;aspect-ratio:1;max-width:440px;margin:0 auto;position:relative}
.stagebox svg{width:100%;height:auto}
.stagebox .lbl{position:absolute;bottom:4%;left:0;right:0;text-align:center;font-family:var(--disp);letter-spacing:.1em;text-transform:uppercase;color:#fff;text-shadow:var(--glowc)}
.steps{display:grid;gap:12px;counter-reset:s}
.step{display:flex;gap:14px;align-items:flex-start;padding:14px 16px}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--mono);color:var(--pk);font-size:22px;line-height:1.1;text-shadow:var(--glowp)}
.step b{display:block;font-size:16px;letter-spacing:.04em}
.step span{color:var(--mut);font-size:14px}

/* ---------- shop ---------- */
.shophead{padding:36px 0 12px}
.tools{position:sticky;top:68px;z-index:20;padding:12px 0;background:linear-gradient(var(--bg) 70%,transparent)}
.tools .in{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--glass);border:1px solid var(--line);gap:2px;flex-wrap:wrap}
.seg button{border:0;background:none;padding:8px 13px;border-radius:9px;cursor:pointer;color:var(--ink2);font-weight:600;font-size:14px;min-height:38px;display:inline-flex;gap:6px;align-items:center}
.seg button.on{background:linear-gradient(135deg,rgba(255,79,216,.28),rgba(139,92,255,.28));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,79,216,.6)}
.seg button svg{width:16px;height:16px}
.search{flex:1 1 220px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:12px;background:var(--glass);border:1px solid var(--line);min-height:48px}
.search:focus-within{border-color:var(--cy);box-shadow:var(--glowc)}
.search svg{width:18px;height:18px;color:var(--mut)}
.search input{flex:1;border:0;background:none;outline:none;min-height:44px;font-size:16px}
select.sel{min-height:48px;border-radius:12px;background:var(--glass);border:1px solid var(--line);padding:0 12px}
.count{font-family:var(--mono);color:var(--mut);font-size:13px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;padding:8px 0 30px}
@media (max-width:520px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.tile{position:relative;border-radius:18px;background:linear-gradient(160deg,rgba(28,24,60,.95),rgba(12,10,28,.95));border:1px solid var(--line);padding:10px;display:flex;flex-direction:column;gap:8px;transform-style:preserve-3d;transition:transform .12s ease-out,border-color .2s,box-shadow .25s;will-change:transform}
.tile:hover{border-color:rgba(255,79,216,.8);box-shadow:0 18px 40px -18px rgba(255,79,216,.6),0 0 0 1px rgba(255,79,216,.25)}
.tile.gold{border-color:rgba(255,207,74,.5)}
.tile.gold:hover{border-color:var(--gd);box-shadow:0 18px 40px -18px rgba(255,207,74,.6)}
.tile .ph{position:relative;aspect-ratio:5/7;border-radius:12px;overflow:hidden;background:#0a0918;cursor:zoom-in;display:block;width:100%;border:0;padding:0}
.tile .ph img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .35s}
.tile .ph img.real{object-fit:cover}
.tile:hover .ph img{transform:scale(1.035)}
.tile .glare{position:absolute;inset:0;pointer-events:none;border-radius:12px;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.35),transparent 45%),linear-gradient(115deg,transparent 30%,rgba(57,230,255,.18) 45%,rgba(255,79,216,.18) 55%,transparent 70%);mix-blend-mode:overlay;opacity:0;transition:opacity .25s}
.tile:hover .glare{opacity:1}
.tile.gold .glare{background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,236,160,.5),transparent 45%),linear-gradient(115deg,transparent 30%,rgba(255,207,74,.3) 50%,transparent 70%)}
.badges{position:absolute;top:8px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:5px;pointer-events:none;z-index:2}
.bdg{font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:2px 7px;border-radius:6px;background:rgba(6,5,13,.82);border:1px solid var(--line2);color:var(--ink);text-transform:uppercase;backdrop-filter:blur(4px)}
.bdg.g{color:var(--gd);border-color:rgba(255,207,74,.6)}.bdg.gr{color:var(--cy);border-color:rgba(57,230,255,.6)}.bdg.cam{color:var(--pk);border-color:rgba(255,79,216,.6)}
.bdg.jp{color:#ff8b8b;border-color:#7a2a3a}.bdg.cn{color:#ffd27a;border-color:#6a4a10}.bdg.sl{color:var(--or);border-color:#6a4010}
.soldcover{position:absolute;inset:0;display:grid;place-items:center;background:rgba(6,5,13,.62);z-index:2}
.soldcover span{font-family:var(--disp);letter-spacing:.2em;padding:6px 14px;border:2px solid var(--bad);color:var(--bad);transform:rotate(-12deg);text-shadow:0 0 12px rgba(255,90,122,.6);background:rgba(6,5,13,.6)}
.soldcover.res span{border-color:var(--or);color:var(--or)}
.tile .nm{font-weight:700;font-size:15px;line-height:1.25;margin:2px 2px 0;min-height:2.5em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
.tile .meta{font-size:12.5px;color:var(--mut);margin:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .ft{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding:0 2px}
.price{font-family:var(--mono);font-size:20px;color:#fff;text-shadow:0 0 10px rgba(57,230,255,.5)}
.tile.gold .price{color:var(--gd);text-shadow:0 0 10px rgba(255,207,74,.5)}
.add{width:44px;height:44px;border-radius:12px;border:1px solid var(--pk);background:rgba(255,79,216,.14);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .15s,box-shadow .2s}
.add:hover{box-shadow:var(--glowp);transform:scale(1.06)}
.add svg{width:20px;height:20px}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--pk);border-radius:12px;overflow:hidden;background:rgba(255,79,216,.12)}
.stepper button{width:38px;height:42px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.stepper button svg{width:16px;height:16px}
.stepper span{min-width:24px;text-align:center;font-family:var(--mono);font-size:16px}
.tile.inpile{border-color:var(--pk);box-shadow:0 0 0 1px var(--pk),var(--glowp)}
.more{display:flex;justify-content:center;padding:10px 0 60px}
.empty{padding:60px 20px;text-align:center;color:var(--mut)}

/* list view */
.cards.list{grid-template-columns:1fr;gap:8px}
.cards.list .tile{flex-direction:row;align-items:center;padding:8px 12px;gap:14px;border-radius:14px}
.cards.list .tile .ph{width:64px;flex-shrink:0;border-radius:8px}
.cards.list .badges{display:none}
.cards.list .tile .nm{min-height:0;-webkit-line-clamp:1;flex:1}
.cards.list .tile .body{flex:1;min-width:0}
.cards.list .tile .ft{margin:0;gap:14px}
.cards.list .inl-b{display:inline-flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.inl-b{display:none}

/* ---------- modal / drawer ---------- */
.ov{position:fixed;inset:0;z-index:100;background:rgba(3,2,8,.78);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px;animation:fade .2s}
@keyframes fade{from{opacity:0}}
.modal{width:min(1040px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:22px;background:linear-gradient(160deg,#141132,#09081a);border:1px solid var(--line2);box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 0 1px rgba(255,79,216,.15);animation:pop .25s cubic-bezier(.2,1.3,.4,1)}
@keyframes pop{from{transform:scale(.94) translateY(10px);opacity:0}}
.mhead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(14,12,34,.94);backdrop-filter:blur(8px);z-index:2}
.mhead h3{margin:0;font-family:var(--disp);font-weight:400;letter-spacing:.05em;font-size:18px;text-transform:uppercase}
.detail{display:grid;grid-template-columns:1.05fr 1fr;gap:24px;padding:20px}
@media (max-width:820px){.detail{grid-template-columns:1fr}}
.viewer{display:flex;flex-direction:column;gap:10px}
.stage-img{position:relative;border-radius:16px;overflow:hidden;background:#07061a;border:1px solid var(--line);aspect-ratio:5/6;display:grid;place-items:center;cursor:zoom-in}
.stage-img img{width:100%;height:100%;object-fit:contain}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.thumbs button{flex:0 0 68px;height:88px;border-radius:10px;border:1px solid var(--line);background:#0a0918;padding:0;cursor:pointer;overflow:hidden;position:relative}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.thumbs button.on{border-color:var(--pk);box-shadow:var(--glowp)}
.thumbs button small{position:absolute;left:0;right:0;bottom:0;font-family:var(--mono);font-size:10px;background:rgba(6,5,13,.8);text-transform:uppercase;letter-spacing:.05em}
.copies{display:flex;gap:6px;flex-wrap:wrap}
.chip{border:1px solid var(--line2);background:var(--glass);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:13px;min-height:36px}
.chip.on{background:var(--pk);border-color:var(--pk);color:#1a0016;font-weight:700}
.info h2{font-family:var(--disp);font-weight:400;font-size:28px;line-height:1.1;margin:0 0 6px;letter-spacing:.02em}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:18px 0;font-size:15px}
.kv dt{color:var(--mut);font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding-top:2px}.kv dd{margin:0}
.bigprice{font-family:var(--mono);font-size:40px;color:#fff;text-shadow:var(--glowc);line-height:1}
.note{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(57,230,255,.06);color:var(--ink2);font-size:14px}
.note.pk{background:rgba(255,79,216,.07);border-color:rgba(255,79,216,.4)}
.zoom{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:14px;cursor:zoom-out}
.zoom img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}

.drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);z-index:110;background:linear-gradient(180deg,#120f2c,#08071a);border-left:1px solid var(--line2);display:flex;flex-direction:column;box-shadow:-30px 0 80px rgba(0,0,0,.6);transform:translateX(105%);transition:transform .3s cubic-bezier(.2,.9,.3,1)}
.drawer.on{transform:none}
.dscrim{position:fixed;inset:0;z-index:105;background:rgba(3,2,8,.6);backdrop-filter:blur(3px)}
.dbody{flex:1;overflow:auto;padding:16px 18px}
.dfoot{padding:14px 18px;border-top:1px solid var(--line);background:rgba(10,9,26,.95)}
.pitem{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.pitem img{width:52px;height:72px;object-fit:cover;border-radius:6px;background:#0a0918}
.pitem .t{flex:1;min-width:0}.pitem .t b{display:block;font-size:14px;line-height:1.25}.pitem .t small{color:var(--mut);font-size:12px}
.total{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;margin-bottom:10px}
.total b{font-family:var(--mono);font-size:26px;color:#fff;text-shadow:var(--glowp)}
.fld{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.fld label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.fld input,.fld textarea,.fld select{min-height:48px;border-radius:12px;border:1px solid var(--line2);background:#0a0919;padding:10px 12px;font-size:16px;outline:none}
.fld textarea{min-height:90px;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{border-color:var(--cy);box-shadow:var(--glowc)}
.fld input[aria-invalid=true]{border-color:var(--bad)}
.err{color:var(--bad);font-size:14px;min-height:1.2em;margin:4px 0}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- auth ---------- */
.auth{display:grid;grid-template-columns:1.1fr 1fr;min-height:calc(100vh - 68px)}
@media (max-width:900px){.auth{grid-template-columns:1fr}.auth .art{min-height:280px}}
.auth .art{position:relative;overflow:hidden;background:url(img/hero-energy.webp) center/cover;display:grid;place-items:center}
.auth .art::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(6,5,13,.35) 20%,rgba(6,5,13,.85) 80%),linear-gradient(90deg,transparent 60%,var(--bg))}
.auth .art .c{position:relative;z-index:2;text-align:center;padding:30px}
.auth .art img{border-radius:22px;width:clamp(140px,22vw,240px);filter:drop-shadow(0 0 30px rgba(57,230,255,.7));animation:float 6s ease-in-out infinite}
.auth .art h2{font-family:var(--disp);font-weight:400;font-size:clamp(24px,3vw,38px);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 4px;text-shadow:var(--glowp)}
.auth .art p{color:#fff;margin:0 auto;display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(6,5,13,.7);backdrop-filter:blur(6px)}
.auth .form{display:flex;align-items:center;justify-content:center;padding:30px 20px}
.authbox{width:min(440px,100%);padding:28px}
.tabs2{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:#0a0919;border:1px solid var(--line);margin-bottom:20px}
.tabs2 button{border:0;background:none;padding:11px;border-radius:10px;cursor:pointer;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);min-height:44px}
.tabs2 button.on{background:linear-gradient(135deg,rgba(255,79,216,.3),rgba(139,92,255,.3));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,79,216,.5)}
.social{display:grid;gap:10px;margin-bottom:16px}
.sbtn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:#1f1f1f;font-weight:700;cursor:pointer;font-size:15px;position:relative}
.sbtn.fb{background:#1877f2;color:#fff;border-color:#1877f2}
.sbtn svg{width:22px;height:22px}
.sbtn[disabled]{opacity:.5;cursor:not-allowed}
.sbtn .soon{position:absolute;right:10px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:2px 6px;border-radius:6px;background:rgba(0,0,0,.15)}
.or{display:flex;align-items:center;gap:12px;color:var(--mut);font-family:var(--mono);font-size:12px;letter-spacing:.2em;margin:16px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line2)}
.gwrap{display:flex;justify-content:center;min-height:50px}
.fine{font-size:12.5px;color:var(--mut);margin-top:14px;text-align:center}
.linkbtn{background:none;border:0;color:var(--cy);cursor:pointer;text-decoration:underline;padding:4px;font-size:14px}

/* ---------- profile ---------- */
.dash{display:grid;grid-template-columns:380px 1fr;gap:22px;padding:34px 0 60px}
@media (max-width:980px){.dash{grid-template-columns:1fr}}
.idcard{position:relative;overflow:hidden;border-radius:22px;padding:22px;aspect-ratio:1.586;display:flex;flex-direction:column;justify-content:space-between;background:
  radial-gradient(circle at 85% 15%,rgba(57,230,255,.35),transparent 40%),radial-gradient(circle at 10% 90%,rgba(255,79,216,.4),transparent 45%),linear-gradient(135deg,#1a1440,#0b0920);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px -20px rgba(255,79,216,.55);transform-style:preserve-3d;transition:transform .15s}
.idcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) 45%,rgba(57,230,255,.12) 52%,transparent 65%);background-size:250% 100%;animation:sheen 5s linear infinite;pointer-events:none}
@keyframes sheen{from{background-position:120% 0}to{background-position:-120% 0}}
.idcard .top1{display:flex;justify-content:space-between;align-items:flex-start}
.idcard img{width:46px}
.idcard .tier{font-family:var(--disp);font-size:13px;letter-spacing:.2em;color:var(--yl);text-shadow:0 0 10px rgba(255,225,74,.6)}
.idcard .nm{font-family:var(--disp);font-size:24px;letter-spacing:.04em;line-height:1.1;word-break:break-word}
.idcard .num{font-family:var(--mono);color:var(--ink2);letter-spacing:.2em;font-size:13px}
.idcard .lv{position:absolute;right:18px;bottom:16px;text-align:right;font-family:var(--mono)}
.idcard .lv b{display:block;font-family:var(--disp);font-size:44px;line-height:1;color:#fff;text-shadow:var(--glowc)}
.xpbar{height:14px;border-radius:999px;background:#0a0919;border:1px solid var(--line2);overflow:hidden;position:relative}
.xpbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--pk),var(--vi),var(--cy));box-shadow:0 0 14px rgba(255,79,216,.8);border-radius:999px;transition:width 1s cubic-bezier(.2,.9,.3,1)}
.xpbar i::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 6px,transparent 6px 12px);animation:bar 1s linear infinite}
@keyframes bar{to{background-position:17px 0}}
.xpt{display:flex;justify-content:space-between;font-family:var(--mono);font-size:13px;color:var(--mut);margin-top:6px}
.compan{padding:18px;text-align:center}
.compan .big{max-width:320px;margin:0 auto}
.compan .big svg{width:100%;height:auto}
.compan h3{font-family:var(--disp);font-weight:400;margin:4px 0 0;font-size:24px;letter-spacing:.06em;text-transform:uppercase}
.compan .el{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cy)}
.evo{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.evo div{border:1px solid var(--line);border-radius:12px;padding:6px 4px;background:#0a0919;position:relative}
.evo div.on{border-color:var(--pk);box-shadow:var(--glowp)}
.evo svg{width:100%;height:auto}
.evo small{display:block;font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.evo .lk{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--mut)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.stat{padding:14px}
.stat small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--mut)}
.stat b{font-family:var(--disp);font-weight:400;font-size:24px;color:#fff}
.achs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.ach{padding:14px 12px;border-radius:14px;border:1px solid var(--line);background:#0a0919;text-align:center;position:relative;transition:transform .2s}
.ach .ic{width:52px;height:52px;margin:0 auto 8px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:rgba(255,255,255,.03);border:1px solid var(--line2);color:var(--mut)}
.ach b{display:block;font-size:14px;letter-spacing:.03em}
.ach small{display:block;color:var(--mut);font-size:12px;line-height:1.35;margin-top:3px}
.ach.got{border-color:rgba(255,79,216,.5);background:linear-gradient(160deg,rgba(255,79,216,.1),rgba(57,230,255,.06))}
.ach.got .ic{color:#fff;border-color:var(--pk);box-shadow:var(--glowp);background:rgba(255,79,216,.15);text-shadow:0 0 10px #fff}
.ach.got:hover{transform:translateY(-3px)}
.ach:not(.got){opacity:.55}
.ach .xp{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:10px;color:var(--cy)}
.blk{padding:20px}
.blk h3{font-family:var(--disp);font-weight:400;font-size:18px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;display:flex;align-items:center;gap:10px}
.blk h3 svg{width:22px;height:22px;color:var(--pk)}
.req{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.req code{font-family:var(--mono);color:var(--cy)}
.pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;border:1px solid var(--line2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.pill.done{color:var(--ok);border-color:var(--ok)}.pill.new{color:var(--pk);border-color:var(--pk)}

/* ---------- tiers / species pickers ---------- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.tier{padding:20px;text-align:center;position:relative;overflow:hidden}
.tier .rng{font-family:var(--mono);color:var(--cy);font-size:13px;letter-spacing:.15em}
.tier h3{font-family:var(--disp);font-weight:400;font-size:22px;letter-spacing:.08em;margin:4px 0;text-transform:uppercase}
.tier p{color:var(--ink2);font-size:14px;margin:6px 0 0}
.tier .av{max-width:170px;margin:0 auto}
.tier .av svg{width:100%;height:auto}
.tier.t4{border-color:var(--yl);box-shadow:0 0 30px -8px rgba(255,225,74,.5)}
.tier.t4 h3{color:var(--yl);text-shadow:0 0 12px rgba(255,225,74,.6)}
.species{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.sp{border:1px solid var(--line);border-radius:16px;background:#0a0919;padding:10px;cursor:pointer;text-align:center;transition:transform .2s,border-color .2s,box-shadow .2s;color:var(--ink)}
.sp:hover{transform:translateY(-3px);border-color:var(--cy)}
.sp.on{border-color:var(--pk);box-shadow:var(--glowp);background:linear-gradient(160deg,rgba(255,79,216,.12),#0a0919)}
.sp svg{width:100%;height:auto}
.sp b{display:block;font-family:var(--disp);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:14px}
.sp small{font-family:var(--mono);color:var(--mut);font-size:11px;letter-spacing:.12em;text-transform:uppercase}

/* ---------- arena ---------- */
.energy{display:inline-flex;gap:4px;align-items:center}
.energy i{width:12px;height:20px;border-radius:3px;background:#1b1838;border:1px solid var(--line2);transform:skewX(-12deg)}
.energy i.on{background:var(--cy);box-shadow:var(--glowc);border-color:var(--cy)}
.path{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.boss{padding:14px;text-align:center;position:relative;overflow:hidden}
.boss .av{max-width:150px;margin:0 auto}
.boss .av svg{width:100%;height:auto}
.boss b{display:block;font-family:var(--disp);font-weight:400;letter-spacing:.05em;text-transform:uppercase}
.boss small{display:block;color:var(--mut);font-size:12.5px;min-height:2.6em}
.boss .lvt{font-family:var(--mono);font-size:12px;color:var(--cy)}
.boss.cur{border-color:var(--pk);box-shadow:var(--glowp)}
.boss.dead{opacity:.6}
.boss.dead::after{content:"DELETED";position:absolute;top:18px;right:-34px;transform:rotate(35deg);background:var(--ok);color:#022;font-family:var(--mono);font-size:11px;letter-spacing:.15em;padding:3px 40px}
.boss.lock .av{filter:grayscale(1) brightness(.35)}
.odc-av.boss{filter:hue-rotate(150deg) saturate(1.4)}
.lb{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:760px){.lb{grid-template-columns:1fr}}
.lbr{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.lbr .rk{font-family:var(--mono);width:26px;color:var(--mut)}
.lbr .a{width:36px;height:36px;border-radius:50%;background:#0a0919;overflow:hidden;display:grid;place-items:center}
.lbr .a svg{width:46px;height:46px}
.lbr .v{margin-left:auto;font-family:var(--mono);color:var(--cy)}

.battle{position:fixed;inset:0;z-index:130;background:#05040c;display:flex;flex-direction:column;animation:fade .3s}
.battle .field{position:relative;flex:1;overflow:hidden;background:url(img/hero-energy.webp) center/cover}
.battle .field::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,4,12,.55),rgba(5,4,12,.35) 40%,rgba(5,4,12,.9));backdrop-filter:blur(3px)}
.battle .floor{position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(transparent,rgba(139,92,255,.2)),repeating-linear-gradient(90deg,rgba(57,230,255,.25) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(57,230,255,.25) 0 1px,transparent 1px 40px);transform:perspective(500px) rotateX(58deg);transform-origin:bottom;opacity:.5}
.fighter{position:absolute;width:min(34vw,300px);transition:transform .25s}
.fighter svg{width:100%;height:auto}
.fighter.me{left:8%;bottom:6%}
.fighter.foe{right:8%;top:14%}
.fighter.me svg{transform:scaleX(-1)}
.fighter.lunge-me{transform:translate(18%,-10%)}
.fighter.lunge-foe{transform:translate(-18%,10%)}
.fighter.hurt{animation:hurt .45s}
@keyframes hurt{20%{transform:translateX(-10px);filter:brightness(3) saturate(0)}40%{transform:translateX(10px)}60%{transform:translateX(-6px);filter:none}80%{transform:translateX(4px)}}
.fighter.ko{animation:ko .8s forwards}
@keyframes ko{to{opacity:0;transform:translateY(30px) scale(.8);filter:grayscale(1)}}
.hpbox{position:absolute;padding:10px 14px;min-width:min(300px,44vw);z-index:3}
.hpbox.me{right:5%;bottom:10%}.hpbox.foe{left:5%;top:9%}
@media (max-width:640px){.hpbox.me{right:3%;bottom:2%}.hpbox.foe{left:3%;top:3%}.fighter.me{bottom:18%}.fighter.foe{top:16%}.fighter{width:40vw}}
.hpbox b{display:block;font-family:var(--disp);font-weight:400;letter-spacing:.05em;font-size:15px}
.hpbox small{font-family:var(--mono);color:var(--mut);font-size:12px}
.hp{height:12px;border-radius:999px;background:#1b1838;overflow:hidden;margin-top:6px;border:1px solid var(--line2)}
.hp i{display:block;height:100%;background:linear-gradient(90deg,#4ade80,#a3e635);transition:width .5s;border-radius:999px}
.hp i.mid{background:linear-gradient(90deg,#facc15,#fb923c)}.hp i.low{background:linear-gradient(90deg,#ff5a7a,#ff2b6e)}
.float{position:absolute;z-index:5;font-family:var(--disp);font-size:34px;pointer-events:none;animation:up 1.1s forwards;text-shadow:0 0 12px currentColor}
@keyframes up{from{transform:translateY(0) scale(.6);opacity:0}20%{transform:translateY(-10px) scale(1.15);opacity:1}to{transform:translateY(-70px) scale(1);opacity:0}}
.flash{position:absolute;inset:0;z-index:6;background:#fff;opacity:0;pointer-events:none}
.flash.on{animation:fl .5s}
@keyframes fl{15%{opacity:.85}to{opacity:0}}
.shake{animation:shake .5s}
@keyframes shake{20%{transform:translate(-8px,4px)}40%{transform:translate(8px,-4px)}60%{transform:translate(-5px,2px)}80%{transform:translate(4px,-2px)}}
.bpanel{position:relative;z-index:2;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:rgba(8,7,22,.96);border-top:1px solid var(--line2)}
.blog{font-family:var(--mono);min-height:24px;margin-bottom:10px;color:var(--ink);font-size:15px}
.moves{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.mv{position:relative;text-align:left;border:1px solid var(--line2);background:linear-gradient(160deg,#16133a,#0c0a22);border-radius:12px;padding:10px 12px;cursor:pointer;min-height:58px;overflow:hidden}
.mv b{display:block;font-size:15px;letter-spacing:.03em}
.mv small{font-family:var(--mono);color:var(--mut);font-size:11.5px}
.mv:hover:not([disabled]){border-color:var(--cy);box-shadow:var(--glowc)}
.mv.ult{border-color:var(--yl);background:linear-gradient(160deg,#3a2a06,#140c02)}
.mv.ult b{color:var(--yl);text-shadow:0 0 10px rgba(255,225,74,.7)}
.mv[disabled]{opacity:.4;cursor:not-allowed}
.mv .cdv{position:absolute;right:10px;top:10px;font-family:var(--mono);font-size:12px;color:var(--pk)}
.bres{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:rgba(5,4,12,.8);animation:fade .4s}
.bres .panel{padding:30px;text-align:center;max-width:420px;width:calc(100% - 30px)}
.bres h2{font-family:var(--disp);font-weight:400;font-size:44px;margin:0;letter-spacing:.08em}
.bres .w{color:var(--cy);text-shadow:var(--glowc)}.bres .l{color:var(--bad);text-shadow:0 0 18px rgba(255,90,122,.6)}

/* ---------- transform cinematic ---------- */
.evofx{position:fixed;inset:0;z-index:150;background:radial-gradient(circle,#1a1440,#030208 70%);display:grid;place-items:center;text-align:center;animation:fade .4s}
.evofx .av{width:min(70vw,380px);position:relative}
.evofx .av svg{width:100%;height:auto}
.evofx .av .old{animation:evoOld 2.6s forwards}
.evofx .av .new{position:absolute;inset:0;opacity:0;animation:evoNew 1.4s 2.4s forwards}
@keyframes evoOld{0%{filter:none}30%{filter:brightness(2)}60%,80%{filter:brightness(10) saturate(0);transform:scale(1.05)}100%{filter:brightness(10) saturate(0);opacity:0;transform:scale(1.2)}}
@keyframes evoNew{from{opacity:0;filter:brightness(10) saturate(0);transform:scale(.7)}to{opacity:1;filter:none;transform:none}}
.evofx h2{font-family:var(--disp);font-weight:400;font-size:clamp(22px,4vw,36px);letter-spacing:.08em;text-transform:uppercase;margin:10px 20px 6px;text-shadow:var(--glowp);opacity:0;animation:fade .6s 3.2s forwards}
.evofx p{color:var(--ink2);opacity:0;animation:fade .6s 3.5s forwards;margin:0 20px 18px}
.evofx .btn{opacity:0;animation:fade .6s 3.8s forwards}
.evofx .rays{position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg,rgba(255,79,216,.12) 0 6deg,transparent 6deg 18deg);animation:spin 12s linear infinite;pointer-events:none}

/* ---------- toasts ---------- */
#toasts{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(420px,calc(100% - 24px))}
.toast{pointer-events:auto;display:flex;gap:12px;align-items:center;width:100%;padding:12px 16px;border-radius:14px;background:rgba(14,12,34,.96);border:1px solid var(--line2);box-shadow:0 12px 40px rgba(0,0,0,.6);animation:tin .35s cubic-bezier(.2,1.3,.4,1)}
.toast.tach{border-color:var(--pk);box-shadow:var(--glowp),0 12px 40px rgba(0,0,0,.6)}
.toast .ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(255,79,216,.18);font-size:20px;flex-shrink:0}
.toast small{display:block;font-family:var(--mono);color:var(--pk);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
@keyframes tin{from{transform:translateY(20px) scale(.95);opacity:0}}

footer{position:relative;z-index:1;border-top:1px solid var(--line);padding:34px 0 50px;color:var(--mut);font-size:14px;margin-top:40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center}
footer img{width:34px;vertical-align:middle;margin-right:8px}

.spin{transform-origin:100px 110px;animation:spin 18s linear infinite}
.spin-rev{transform-origin:100px 110px;animation:spin 26s linear infinite reverse}
.spin-slow{transform-box:fill-box;transform-origin:center;animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.odc-av.live .bob{animation:bob 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-4px)}}
.odc-av.sil .bob{animation:none}
.loading{display:grid;place-items:center;padding:80px 0;color:var(--mut);font-family:var(--mono);letter-spacing:.2em}
.loading::before{content:"";width:44px;height:44px;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--pk);animation:spin .8s linear infinite;margin-bottom:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* reduced-motion: only page transitions are skipped (in JS); decorative effects stay on by owner request */
@media (max-width:700px){.tools{position:static;background:none}}
.tile .ph img.merged{object-position:0 50%}

/* ===== v3: storefront layout ===== */
.hero2{position:relative;overflow:hidden;border-bottom:1px solid var(--line);z-index:1}
.hero2 .amb{position:absolute;inset:-40px;background:url(img/hero-main.webp) center 40%/cover;filter:blur(16px) brightness(.42) saturate(1.3);transform:scale(1.08)}
.hero2 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.7}
.hero2 .in{position:relative;display:flex;align-items:center;gap:34px;padding-top:44px;padding-bottom:44px}
.hero2 .logo{width:150px;height:150px;border-radius:26px;flex-shrink:0;box-shadow:0 0 0 1px rgba(57,230,255,.5),0 0 40px rgba(57,230,255,.35),0 0 80px rgba(255,79,216,.25);animation:float 6s ease-in-out infinite}
.hero2 .txt{flex:1;min-width:0}
.wordmark{margin:0;font-family:var(--disp);font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(30px,5vw,58px)}
.wordmark span:first-child{display:block;background:linear-gradient(90deg,#ff7ae6,#ff4fd8 40%,#b36bff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 14px rgba(255,79,216,.55))}
.wordmark span:last-child{display:block;font-size:.52em;letter-spacing:.32em;color:var(--cy);text-shadow:var(--glowc);margin-top:6px}
.tag{color:#fff;opacity:.9;font-size:clamp(15px,1.5vw,18px);margin:14px 0 18px}
.hsearch{display:flex;align-items:center;gap:8px;max-width:640px;padding:6px 6px 6px 16px;border-radius:14px;background:rgba(6,5,13,.75);border:1px solid var(--line2);backdrop-filter:blur(8px)}
.hsearch:focus-within{border-color:var(--cy);box-shadow:var(--glowc)}
.hsearch svg{width:20px;height:20px;color:var(--mut);flex-shrink:0}
.hsearch input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:17px;min-height:44px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips a{padding:8px 14px;border-radius:999px;background:rgba(6,5,13,.7);border:1px solid var(--line2);color:#fff;text-decoration:none;font-weight:600;font-size:14px;min-height:40px;display:inline-flex;align-items:center}
.chips a:hover{border-color:var(--pk);box-shadow:var(--glowp)}
@media (max-width:700px){.hero2 .in{flex-direction:column;align-items:flex-start;gap:18px;padding-top:26px;padding-bottom:28px}.hero2 .logo{width:92px;height:92px;border-radius:18px}.hsearch .btn{padding:10px 14px}}
.h2s{font-family:var(--disp);font-weight:400;font-size:clamp(22px,2.6vw,30px);letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px}
.promo{display:flex;align-items:center;gap:24px;padding:20px 26px}
.promo .pav{width:170px;flex-shrink:0}.promo .pav svg{width:100%;height:auto}
.promo p{color:var(--ink2);margin:0 0 16px;max-width:620px}
@media (max-width:640px){.promo{flex-direction:column;text-align:center}.promo .cta{justify-content:center}}
.games{grid-template-columns:repeat(4,1fr)}
.game{min-height:0;padding:16px 18px}.game h3{font-size:17px;margin-top:4px}.game::after{display:none}
@media (max-width:760px){.games{grid-template-columns:repeat(2,1fr)}}
.shophead{display:flex;align-items:baseline;gap:14px;padding:26px 0 4px}
.tools .in{flex-direction:column;align-items:stretch;gap:10px}
.fchips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.fchips button{flex-shrink:0;border:1px solid var(--line2);background:var(--glass);border-radius:999px;padding:8px 16px;font-weight:600;cursor:pointer;min-height:42px;color:var(--ink2);white-space:nowrap}
.fchips button.on{background:var(--pk);border-color:var(--pk);color:#1a0016}
.fchips .ghost{margin-left:auto;background:none}
.morebox{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--ink2)}
.chk input{width:20px;height:20px;accent-color:var(--pk)}
.add{width:auto;padding:0 14px;gap:6px;display:inline-flex;align-items:center;font-weight:700;font-size:14px}
.add svg{width:16px;height:16px}
.tile .nm{min-height:0}
.nav a .t{display:inline}
.tabbar{display:none}
@media (max-width:760px){
  .nav a{display:none}.nav .me-chip{display:none}
  .tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(8,7,20,.96);border-top:1px solid var(--line2);padding:4px 4px calc(4px + env(safe-area-inset-bottom));backdrop-filter:blur(10px)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;color:var(--mut);text-decoration:none;font-size:11px;font-weight:600;min-height:52px;justify-content:center}
  .tabbar a svg{width:22px;height:22px}
  .tabbar a.on{color:var(--pk)}
  body{padding-bottom:64px}
  #toasts{bottom:80px}
  .brand .wm{display:block}.brand .wm span{display:block}
}
.tools .search{flex:none}

/* ===================== v4 — Cyberpunk game UI (asset library style) ===================== */
:root{--disp2:"Orbitron","Audiowide",system-ui,sans-serif;
  --carbon:repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0 2px,transparent 2px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.25) 0 2px,transparent 2px 4px),linear-gradient(180deg,#12131d,#0b0c14);
  --metal:linear-gradient(160deg,#5d6275 0%,#262834 22%,#474b5c 48%,#1c1e27 70%,#565a6c 100%)}
body{background:#05050b radial-gradient(1200px 600px at 50% -10%,rgba(139,92,255,.18),transparent 70%)}
.crt{position:fixed;inset:0;z-index:300;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.45) 100%);mix-blend-mode:overlay}
#glow{position:fixed;left:0;top:0;width:300px;height:300px;border-radius:50%;pointer-events:none;z-index:0;opacity:0;background:radial-gradient(circle,rgba(255,79,216,.16),rgba(57,230,255,.06) 40%,transparent 70%);transition:opacity .4s;will-change:transform}

/* boot */
#boot{position:fixed;inset:0;z-index:400;background:#030308;display:grid;place-items:center;transition:opacity .45s}
#boot.out{opacity:0}
#boot .bx{width:min(520px,90vw)}
#boot img{width:84px;border-radius:14px;box-shadow:0 0 30px rgba(57,230,255,.6);margin-bottom:14px}
#boot pre{font-family:var(--mono);color:var(--cy);font-size:14px;line-height:1.7;min-height:10.5em;margin:0 0 12px;text-shadow:0 0 8px rgba(57,230,255,.7);white-space:pre-wrap}
#boot .bar{height:6px;background:#15162a;border-radius:3px;overflow:hidden}
#boot .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--pk),var(--cy));box-shadow:0 0 12px var(--pk);transition:width .16s}

/* route glitch */
main.rin{animation:rin .45s steps(6)}
@keyframes rin{0%{opacity:0;filter:hue-rotate(90deg);transform:translateX(-6px)}30%{opacity:1;transform:translateX(4px);clip-path:inset(10% 0 40% 0)}60%{transform:translateX(-2px);clip-path:inset(40% 0 10% 0)}100%{opacity:1;transform:none;clip-path:none;filter:none}}

/* metallic framed carbon panels */
.panel,.tile,.game,.stat,.ach,.boss,.tier,.sp,.mv,.modal,.drawer,.authbox,.bres .panel,.hpbox{
  border:2px solid transparent!important;background:var(--carbon) padding-box,var(--metal) border-box!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 0 0 1px rgba(0,0,0,.6),0 14px 34px -14px rgba(0,0,0,.9)!important}
.neon-edge::before{display:none}
.panel,.tile{border-radius:12px}

/* section titles like the asset sheet */
.h2s,.sec h2,.h2{font-family:var(--disp2);font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#ff7ae6,#c77dff 50%,#7ad7ff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(199,125,255,.45))}
.sec h2 em,.h2 em{color:inherit;text-shadow:none}
.h2s span{font-family:var(--mono);font-size:.55em;color:var(--cy);-webkit-text-fill-color:var(--cy);margin-right:12px;vertical-align:middle;letter-spacing:.1em;padding:2px 8px;border:1px solid rgba(57,230,255,.5);border-radius:4px}
.eyebrow{font-family:var(--mono)}

/* header as a metal HUD bar */
.top{background:linear-gradient(180deg,rgba(18,19,29,.95),rgba(8,8,14,.92));border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,#ff4fd8 20%,#8b5cff 50%,#39e6ff 80%,transparent) 1;box-shadow:0 6px 30px rgba(0,0,0,.6)}
.brand .wm{font-family:var(--disp2);font-weight:800}
.nav a{font-family:var(--disp2);font-size:12px;letter-spacing:.14em;border:1px solid transparent}
.nav a:hover{border-color:rgba(57,230,255,.45);background:rgba(57,230,255,.06);box-shadow:inset 0 0 12px rgba(57,230,255,.15)}
.nav a.on{border-color:var(--pk);background:rgba(255,79,216,.1);box-shadow:inset 0 0 14px rgba(255,79,216,.25),0 0 12px rgba(255,79,216,.35)}

/* buttons: kit style */
.btn{font-family:var(--disp2);font-weight:700;letter-spacing:.12em;font-size:12.5px;border-radius:8px;border:1.5px solid #4a4e60;background:linear-gradient(180deg,#2a2c3a,#16171f);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 0 #07070b}
.btn.p{background:linear-gradient(180deg,#ff6fe0,#d12fb5);border-color:#ffa6ef;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 16px rgba(255,79,216,.6),0 0 40px rgba(255,79,216,.25)}
.btn.c{background:linear-gradient(180deg,rgba(57,230,255,.18),rgba(57,230,255,.04));border-color:var(--cy);color:#e5fcff;box-shadow:inset 0 0 12px rgba(57,230,255,.25),0 0 12px rgba(57,230,255,.35)}
.btn:hover{filter:brightness(1.12)}
.add{border-radius:8px;border:1.5px solid #ffa6ef;background:linear-gradient(180deg,#ff6fe0,#c42aa9);font-family:var(--disp2);font-size:11.5px;letter-spacing:.1em;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 0 12px rgba(255,79,216,.45)}
.stepper{border-radius:8px}
.chips a,.fchips button{font-family:var(--disp2);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:8px;border:1.5px solid #4a4e60;background:linear-gradient(180deg,#232533,#14151d)}
.chips a:hover,.fchips button:hover{border-color:var(--cy);box-shadow:0 0 12px rgba(57,230,255,.4)}
.fchips button.on{background:linear-gradient(180deg,#ff6fe0,#c42aa9);border-color:#ffa6ef;color:#fff;box-shadow:0 0 14px rgba(255,79,216,.55)}
.search,.sel,.fld input,.fld textarea,.fld select{border-radius:8px!important;border:1.5px solid #3b3e50!important;background:#07070d!important;box-shadow:inset 0 2px 8px rgba(0,0,0,.6)}

/* hero */
.hero3{position:relative;overflow:hidden;border-bottom:2px solid #1d1e2b;z-index:1}
.hero3 .amb{position:absolute;inset:-40px;background:url(img/hero-main.webp) center 40%/cover;filter:blur(14px) brightness(.38) saturate(1.4);transform:scale(1.08)}
.hero3 .floor3{position:absolute;left:-20%;right:-20%;bottom:-10%;height:55%;background:repeating-linear-gradient(90deg,rgba(255,79,216,.35) 0 1px,transparent 1px 70px),repeating-linear-gradient(0deg,rgba(57,230,255,.35) 0 1px,transparent 1px 44px);transform:perspective(420px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(transparent,#000 70%);-webkit-mask-image:linear-gradient(transparent,#000 70%);animation:floor 3s linear infinite}
@keyframes floor{to{background-position:0 0,0 44px}}
.hero3 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.8}
.hero3 .in{position:relative;display:grid;grid-template-columns:1.35fr .9fr;align-items:center;gap:30px;padding-top:54px;padding-bottom:64px}
.sys{font-family:var(--mono);font-size:12.5px;letter-spacing:.22em;color:var(--cy);margin-bottom:12px}
.blink{color:var(--ok);animation:bl 1s steps(2) infinite}@keyframes bl{50%{opacity:0}}
.wm3{margin:0;line-height:.95;font-family:var(--disp2);text-transform:uppercase}
.wm3 .g{position:relative;display:block;font-weight:900;font-size:clamp(44px,7.6vw,104px);letter-spacing:.02em;background:linear-gradient(180deg,#ffd6f7 0%,#ff4fd8 55%,#9c2bff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 16px rgba(255,79,216,.65)) drop-shadow(0 0 40px rgba(156,43,255,.4))}
.wm3 .g::before,.wm3 .g::after{content:attr(data-t);position:absolute;inset:0;background:none;-webkit-text-fill-color:currentColor;opacity:0}
.wm3 .g::before{color:#39e6ff;animation:gl1 4.5s infinite steps(1)}
.wm3 .g::after{color:#ff2b6e;animation:gl2 4.5s infinite steps(1)}
@keyframes gl1{0%,90%,100%{opacity:0;transform:none}91%{opacity:.85;transform:translate(-5px,-2px);clip-path:inset(12% 0 58% 0)}94%{opacity:.85;transform:translate(4px,1px);clip-path:inset(60% 0 12% 0)}}
@keyframes gl2{0%,90%,100%{opacity:0;transform:none}92%{opacity:.8;transform:translate(5px,2px);clip-path:inset(38% 0 36% 0)}95%{opacity:.8;transform:translate(-3px,-1px);clip-path:inset(78% 0 4% 0)}}
.wm3 .s{display:block;font-weight:700;font-size:clamp(16px,2.3vw,30px);letter-spacing:.42em;color:#9ff3ff;text-shadow:0 0 12px rgba(57,230,255,.8);margin-top:10px}
.hero3 .tag{color:#e8e6ff;font-size:clamp(15px,1.5vw,18px);margin:18px 0 20px;max-width:560px}
.hero3 .tag b{color:#fff}
.cmd{display:flex;align-items:center;gap:10px;max-width:620px;padding:6px 6px 6px 14px;border-radius:10px;background:rgba(3,3,8,.85);border:1.5px solid #3b3e50;box-shadow:inset 0 2px 10px rgba(0,0,0,.7),0 0 0 1px rgba(57,230,255,.12)}
.cmd:focus-within{border-color:var(--cy);box-shadow:0 0 18px rgba(57,230,255,.4)}
.cmd .pr{font-family:var(--mono);color:var(--pk);font-size:18px;text-shadow:0 0 8px var(--pk);animation:bl 1.1s steps(2) infinite}
.cmd input{flex:1;min-width:0;border:0;background:none;outline:none;font-family:var(--mono);font-size:17px;color:#9ff3ff;min-height:44px}
.cmd input::placeholder{color:#5f6b8a}
.hero3 .chips{margin-top:16px}
.holo3{perspective:1100px;display:flex;flex-direction:column;align-items:center;gap:14px;transition:opacity .35s}
.holo3.swap{opacity:0}
.hc{display:block;width:min(300px,70vw);aspect-ratio:5/7;border:0;padding:0;background:none;cursor:pointer;transform-style:preserve-3d;transform:rotateX(var(--rx,4deg)) rotateY(var(--ry,-14deg));transition:transform .25s ease-out;animation:hover3 6s ease-in-out infinite}
@keyframes hover3{50%{translate:0 -10px}}
.hcin{position:relative;display:block;width:100%;height:100%;border-radius:16px;overflow:hidden;background:#0b0b14;box-shadow:0 0 0 2px #5d6275,0 0 0 4px #15161f,0 0 40px rgba(255,79,216,.55),0 0 90px rgba(57,230,255,.25),0 40px 60px -20px rgba(0,0,0,.9)}
.hcin img{width:100%;height:100%;object-fit:cover}
.hsh{position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.35) 42%,rgba(57,230,255,.25) 48%,rgba(255,79,216,.25) 54%,transparent 70%);background-size:260% 100%;background-position:var(--hx,50%) 0;mix-blend-mode:color-dodge;animation:sheen2 5s linear infinite}
@keyframes sheen2{from{background-position:130% 0}to{background-position:-130% 0}}
.hcap{text-align:center;font-family:var(--mono)}
.hcap span{display:block;font-size:11px;letter-spacing:.2em;color:var(--mut)}
.hcap b{display:block;font-family:var(--disp2);font-size:15px;letter-spacing:.06em;color:#fff}
.hcap em{font-style:normal;color:var(--gd);font-size:20px;text-shadow:0 0 10px rgba(255,207,74,.6)}
@media (max-width:860px){.hero3 .in{grid-template-columns:1fr;padding-top:30px;padding-bottom:36px}.holo3{order:-1}.hc{width:min(210px,56vw)}}

/* tiles */
.tile{padding:9px;gap:6px}
.tile .ph{border-radius:8px;box-shadow:inset 0 0 0 1px rgba(57,230,255,.25);background:#05050a}
.tile:hover{transform:translateY(-3px)}
.tile:hover .ph{box-shadow:inset 0 0 0 1px var(--cy),0 0 18px rgba(57,230,255,.35)}
.tile.inpile{box-shadow:0 0 0 2px var(--pk),0 0 22px rgba(255,79,216,.5)!important}
.tile .nm{font-family:var(--disp2);font-weight:700;font-size:13.5px;letter-spacing:.03em}
.price{font-family:var(--disp2);font-weight:800;font-size:18px;color:#fff;text-shadow:0 0 10px rgba(255,79,216,.6)}
.scanl{position:absolute;left:0;right:0;height:30%;top:-30%;background:linear-gradient(transparent,rgba(57,230,255,.18),transparent);pointer-events:none;z-index:2;opacity:0}
.tile:hover .scanl{opacity:1;animation:scan 1.3s linear infinite}
@keyframes scan{to{top:100%}}
.hexb{position:absolute;right:7px;top:7px;z-index:3;width:40px;height:44px;display:grid;place-items:center;align-content:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,#6b5cff,#2a1c7a);font-family:var(--disp2);line-height:1;color:#fff;text-shadow:0 0 6px rgba(255,255,255,.6);filter:drop-shadow(0 0 6px rgba(139,92,255,.9))}
.hexb b{font-size:11px;font-weight:900;letter-spacing:.02em}.hexb small{font-size:9px;font-weight:700}
.hexb.sir{background:linear-gradient(160deg,#ff6fe0,#8b1f7a)}.hexb.ir{background:linear-gradient(160deg,#39e6ff,#0b5d7a)}
.hexb.gold{background:linear-gradient(160deg,#ffe58a,#b88400);color:#2a1a00;text-shadow:none;filter:drop-shadow(0 0 8px rgba(255,207,74,.9))}
.hexb.sr{background:linear-gradient(160deg,#c9ccda,#4d5163)}.hexb.ur{background:linear-gradient(160deg,#ff9f1c,#8a3b00)}
.hexb.slab{background:linear-gradient(160deg,#ff3b5c,#7a0a1f);filter:drop-shadow(0 0 8px rgba(255,59,92,.8))}
.badges{right:52px}
.stk{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin:2px 2px 0}
.stk.ok{color:var(--ok)}.stk.low{color:var(--or);text-shadow:0 0 6px rgba(255,159,28,.6)}
.soldcover span{font-family:var(--disp2);font-weight:900}

/* misc */
.shophead{padding-top:30px}
.promo{border-radius:12px}
.game{border-radius:12px}.game h3{font-family:var(--disp2);font-weight:800;letter-spacing:.08em}
.game.live{box-shadow:0 0 0 1px var(--cy),0 0 20px rgba(57,230,255,.35)!important}
.tabbar{background:linear-gradient(180deg,#14151f,#07070c);border-top:2px solid #2a2c3a}
.tabbar a{font-family:var(--disp2);font-size:9.5px;letter-spacing:.08em}
.mhead h3{font-family:var(--disp2);font-weight:800;letter-spacing:.1em}
.info h2,.idcard .nm,.compan h3,.tier h3,.boss b,.sp b,.bres h2{font-family:var(--disp2);font-weight:800}
.bigprice{font-family:var(--disp2);font-weight:800}
.hero3 .txt{min-width:0}
@media (max-width:520px){.cmd .btn{padding:10px 12px;letter-spacing:.06em}.cmd input{font-size:15px}.wm3 .s{letter-spacing:.3em}}
.tile .ph img.merged{width:200%;max-width:none;height:100%;object-fit:cover;object-position:0 50%}.tile:hover .ph img.merged{transform:none}

/* v6: hi-res brand assets */
.emb{position:relative;perspective:900px;display:grid;place-items:center}
.emb img{width:100%;max-width:640px;height:auto;transform:rotateY(var(--ex,0deg)) rotateX(var(--ey,0deg));transition:transform .3s ease-out;animation:float 7s ease-in-out infinite;
  mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 58%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 58%,transparent 100%);filter:saturate(1.15) drop-shadow(0 0 30px rgba(255,79,216,.35))}
.emb::after{content:"";position:absolute;inset:18% 22%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 60%);mix-blend-mode:screen;animation:pulse 2.4s ease-in-out infinite;pointer-events:none}
@keyframes pulse{50%{opacity:.35;transform:scale(1.15)}}
.hero3 .in{grid-template-columns:1.15fr 1fr}
@media (max-width:860px){.hero3 .in{grid-template-columns:1fr}.emb{order:-1}.emb img{max-width:420px}}
.icats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:760px){.icats{grid-template-columns:repeat(2,1fr);gap:10px}}
.icat{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px 10px 18px;border-radius:12px;text-decoration:none;color:#fff;cursor:pointer;font:inherit;border:2px solid transparent;background:var(--carbon) padding-box,var(--metal) border-box;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 34px -14px rgba(0,0,0,.9);transition:transform .2s,box-shadow .2s}
.icat img{height:150px;width:auto;max-width:100%;object-fit:contain;mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);transition:transform .3s,filter .3s}
.icat b{font-family:var(--disp2);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:14px;margin-top:6px}
.icat small{color:var(--mut);font-size:12.5px}
.icat:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--pk),0 0 26px rgba(255,79,216,.45),0 20px 40px -18px #000}
.icat:hover img{transform:scale(1.07);filter:brightness(1.2)}
@media (max-width:760px){.icat img{height:110px}}
.duo{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;align-items:stretch}
@media (max-width:860px){.duo{grid-template-columns:1fr}}
.feat{padding:20px;display:flex;flex-direction:column;align-items:center}
.feat .h2s{align-self:flex-start}
.feat .hc{width:min(230px,60vw)}
.promo{height:100%}

/* v7 */
.hero3 .txt{position:relative;z-index:2}
.wm3 .g{font-size:clamp(40px,6.2vw,86px);padding-right:.08em}
.hero3 .in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}
.emb img{mask-image:none;-webkit-mask-image:none;filter:drop-shadow(0 0 24px rgba(255,79,216,.45)) drop-shadow(0 0 60px rgba(57,230,255,.25));max-width:600px}
.emb::after{inset:30% 32%}
.icat img{mask-image:none;-webkit-mask-image:none;height:170px;filter:drop-shadow(0 0 10px rgba(255,79,216,.55)) drop-shadow(0 0 22px rgba(57,230,255,.25))}
.icat:hover img{filter:drop-shadow(0 0 16px rgba(255,79,216,.9)) drop-shadow(0 0 34px rgba(57,230,255,.5)) brightness(1.1)}
@media (max-width:760px){.icat img{height:120px}}
/* stock first, real photo on hover */
.tile .ph img.main{position:relative}
.tile .ph .realhov{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s;z-index:1}
.tile .ph .realhov.merged{width:200%;max-width:none;object-position:0 50%}
.tile .ph .rhl{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.06em;white-space:nowrap;padding:3px 8px;border-radius:6px;background:rgba(6,5,13,.85);border:1px solid var(--pk);color:#fff;opacity:0;transition:opacity .3s}
@media (hover:hover){.tile:hover .ph .realhov,.tile:hover .ph .rhl{opacity:1}}
/* lifelike graded slab */
.slab{position:relative;display:flex;flex-direction:column;height:100%;aspect-ratio:3.3/5.4;margin:0 auto;padding:5% 6% 6%;gap:4%;border-radius:7% / 4.4%;
  background:linear-gradient(135deg,rgba(255,255,255,.34),rgba(255,255,255,.06) 30%,rgba(255,255,255,.02) 55%,rgba(255,255,255,.18) 80%,rgba(255,255,255,.3)),linear-gradient(180deg,#cfd6e2,#8e96a8);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),inset 0 0 0 3px rgba(120,130,150,.5),inset 0 -6px 14px rgba(0,0,0,.25),0 10px 24px rgba(0,0,0,.6)}
.slab::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 45%,transparent 55%);pointer-events:none;opacity:.55;mix-blend-mode:screen}
.slabl{flex:0 0 auto;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:0 6px;padding:5% 6%;border-radius:4px;background:linear-gradient(180deg,#fdfdfd,#e9ecf2);color:#1b1d26;border:1px solid #a3a9b8;text-align:left;line-height:1.1}
.sl1{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--disp2)}
.sl1 b{font-size:clamp(7px,.75vw,11px);font-weight:900;color:#b3122e;letter-spacing:.06em}
.sl1 i{font-style:normal;font-size:clamp(13px,1.5vw,22px);font-weight:900;color:#111}
.sl2{grid-column:1;font-weight:700;font-size:clamp(7px,.7vw,11px);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl3{grid-column:1;font-size:clamp(6px,.55vw,9px);color:#4a4f5e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.slabw{flex:1;min-height:0;display:grid;place-items:center;padding:4%;border-radius:4px;background:linear-gradient(180deg,#1a1c26,#0d0e14);box-shadow:inset 0 0 0 2px rgba(0,0,0,.55),inset 0 0 12px rgba(0,0,0,.7)}
.slabw img{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;border-radius:3%}
.tile .ph.isslab{padding:6px;background:radial-gradient(circle at 50% 30%,#1d1f2e,#07070c)}
.tile .ph.isslab .realhov{display:none}
.stage-img .slab{height:94%}
.stage-img .sl2{font-size:14px}.stage-img .sl3{font-size:11px}.stage-img .sl1 b{font-size:13px}.stage-img .sl1 i{font-size:30px}
.stage-img{position:relative}
.zhint{position:absolute;right:10px;bottom:10px;font-family:var(--mono);font-size:12px;padding:4px 9px;border-radius:6px;background:rgba(6,5,13,.8);border:1px solid var(--line2);pointer-events:none}
/* zoom viewer */
.zoom{overflow:hidden;cursor:grab;touch-action:none;display:grid;place-items:center}
.zoom img{max-width:94vw;max-height:88vh;transform-origin:center;transition:transform .08s;will-change:transform;user-select:none;-webkit-user-drag:none}
.zoom.zoomed{cursor:move}
.zbar{position:fixed;top:14px;right:14px;display:flex;gap:6px;z-index:2}
.zbar button{min-width:46px;height:46px;border-radius:10px;border:1.5px solid #4a4e60;background:rgba(14,14,24,.9);color:#fff;font-size:18px;font-weight:700;cursor:pointer;padding:0 12px}
.zbar button:hover{border-color:var(--cy);box-shadow:0 0 12px rgba(57,230,255,.5)}
.ztip{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:12px;color:var(--mut);background:rgba(6,5,13,.8);padding:5px 12px;border-radius:999px;pointer-events:none}
.slabw{position:relative;display:block}
.slabw img{position:absolute!important;left:5%;top:4%;width:90%!important;height:92%!important;max-width:none;max-height:none;object-fit:contain}
.stage-img .slab{height:92%;max-width:92%}
.tile .ph.isslab .badges{display:none}
.stage-img .slab{height:92%!important;width:auto;max-width:none!important;flex:none}
.stage-img .slab{height:auto!important;width:62%!important}

/* v9: hover zoom in card view */
#bigImg{transition:transform .15s ease-out}
.stage-img.hz #bigImg{transform:scale(2.4);cursor:zoom-in}
.slabw{overflow:hidden}
.stage-img.hz .zhint{opacity:0}
#realBtn{margin-top:2px}
.copies[hidden]{display:none}
.tile .ph.issealed{background:radial-gradient(circle at 50% 40%,#2a2d40,#0a0a12)}
.tile .ph.issealed img{object-fit:contain;padding:8%}
.hexb:empty{display:none}

/* v12: assets while browsing */
.shopban{position:relative;overflow:hidden;margin:22px 0 6px;border-radius:14px;border:2px solid transparent;background:linear-gradient(#0b0b14,#0b0b14) padding-box,var(--metal) border-box;min-height:190px}
.sbbg{position:absolute;inset:-30px;background:url(img/hero-energy.webp) center/cover;filter:blur(10px) brightness(.35) saturate(1.4)}
.sbfloor{position:absolute;left:-10%;right:-10%;bottom:-20%;height:70%;background:repeating-linear-gradient(90deg,rgba(255,79,216,.3) 0 1px,transparent 1px 60px),repeating-linear-gradient(0deg,rgba(57,230,255,.3) 0 1px,transparent 1px 38px);transform:perspective(380px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(transparent,#000 75%);-webkit-mask-image:linear-gradient(transparent,#000 75%);animation:floor 3s linear infinite}
.shopban canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.6}
.sbin{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px}
.sbt{margin:4px 0 6px;font-family:var(--disp2);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(28px,4vw,48px);background:linear-gradient(180deg,#ffd6f7,#ff4fd8 60%,#9c2bff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,79,216,.6))}
.sbtx p{margin:0 0 6px;color:#e8e6ff;max-width:560px}
.sbic{height:170px;width:auto;flex-shrink:0;filter:drop-shadow(0 0 16px rgba(255,79,216,.7)) drop-shadow(0 0 34px rgba(57,230,255,.35));animation:float 6s ease-in-out infinite}
.sbic.emb{height:190px}
@media (max-width:640px){.sbin{padding:18px}.sbic{height:96px}.sbic.emb{height:110px}.shopban{min-height:0}}
.fchips button{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px}
.fchips button img{height:28px;width:auto;filter:drop-shadow(0 0 6px rgba(255,79,216,.6))}
.pb{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding:14px 24px;border-radius:12px;border:2px solid transparent;background:radial-gradient(circle at 12% 50%,rgba(255,79,216,.18),transparent 45%) padding-box,var(--carbon) padding-box,var(--metal) border-box;box-shadow:0 14px 34px -14px rgba(0,0,0,.9)}
.pb img{height:110px;width:auto;flex-shrink:0;filter:drop-shadow(0 0 12px rgba(255,79,216,.6))}
.pbav{width:120px;flex-shrink:0}.pbav svg{width:100%;height:auto}
.pbt{flex:1;min-width:0}.pbt b{display:block;font-family:var(--disp2);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:18px;color:#fff}
.pbt span{color:var(--ink2);font-size:14.5px}
.pb-se{background:radial-gradient(circle at 12% 50%,rgba(57,230,255,.18),transparent 45%) padding-box,var(--carbon) padding-box,var(--metal) border-box}
@media (max-width:640px){.pb{flex-wrap:wrap;justify-content:center;text-align:center;padding:16px}.pb img{height:80px}.pbav{width:90px}}
.cards.list .pb{padding:10px 16px}
.dic{height:34px;width:auto;filter:drop-shadow(0 0 6px rgba(255,79,216,.6))}
.drawer .mhead{justify-content:flex-start;gap:10px}.drawer .mhead .x{margin-left:auto}
.modal.wm{background:url(img/emblem-v2.webp) right -60px bottom -60px/340px no-repeat,var(--carbon) padding-box,var(--metal) border-box!important}
.modal.wm .detail{background:linear-gradient(90deg,transparent 55%,rgba(8,8,14,.55))}
.cambadge{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);z-index:3;white-space:nowrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:rgba(6,5,13,.86);border:1px solid rgba(255,79,216,.7);color:#fff;box-shadow:0 0 10px rgba(255,79,216,.35);pointer-events:none}
.tile:hover .cambadge{border-color:var(--cy);box-shadow:0 0 12px rgba(57,230,255,.6)}
@media (max-width:520px){.cambadge{font-size:9px;padding:2px 6px}}
@media (max-width:640px){.sbin{display:block;padding:18px 18px 20px}.sbic,.sbic.emb{position:absolute;right:10px;top:12px;height:78px;opacity:.9}.sbtx .sys{padding-right:80px}.sbt{font-size:28px;padding-right:70px}}

/* ===== v13: commerce features ===== */
.trust{position:relative;z-index:1;border-bottom:1px solid #1d1e2b;background:linear-gradient(90deg,rgba(255,79,216,.08),rgba(57,230,255,.08))}
.trust .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding-top:12px;padding-bottom:12px;font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:#e8e6ff}
.carsec{margin:8px 0 34px}
.carnav{display:flex;gap:8px;align-items:center}
.cbtn{width:42px;height:42px;border-radius:10px;border:1.5px solid #4a4e60;background:linear-gradient(180deg,#232533,#14151d);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.cbtn:hover{border-color:var(--cy);box-shadow:0 0 12px rgba(57,230,255,.5)}
.car{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,214px);gap:16px;overflow-x:auto;padding:6px 4px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#4a4e60 transparent}
.car>.tile{scroll-snap-align:start}
.car.mini{grid-auto-columns:minmax(170px,180px)}
@media (max-width:640px){.car{grid-auto-columns:minmax(160px,46vw)}.cbtn{display:none}}
.price s{font-size:.7em;color:var(--mut);margin-right:6px;text-shadow:none}
.bdg.deal{color:#fff;background:linear-gradient(90deg,#ff2b6e,#ff4fd8);border-color:#ff9ac0;font-weight:700;box-shadow:0 0 10px rgba(255,43,110,.7)}
.relbox{padding:0 20px 20px}
.scrollbtns{position:fixed;right:18px;bottom:104px;z-index:55;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transition:opacity .3s}
.scrollbtns.on{opacity:1;pointer-events:auto}
.scrollbtns button{width:46px;height:46px;border-radius:12px;border:1.5px solid #4a4e60;background:linear-gradient(180deg,#232533,#14151d);color:#fff;font-size:14px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.6)}
.scrollbtns button:hover{border-color:var(--pk);box-shadow:0 0 14px rgba(255,79,216,.6)}
.scrollbtns button.dim{opacity:.35}
@media (max-width:760px){.scrollbtns{right:12px;bottom:154px}.scrollbtns button{width:40px;height:40px}}
/* sell & trade */
.tradeban{margin-top:24px}
.steps4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 22px}
.steps4 .panel{padding:14px 16px;display:flex;gap:12px;align-items:center}
.steps4 b{font-family:var(--disp2);font-size:24px;color:var(--pk);text-shadow:var(--glowp)}
.steps4 span{font-size:14px;color:var(--ink2)}
@media (max-width:860px){.steps4{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.steps4{grid-template-columns:1fr}}
.tbuild{padding:20px;margin-bottom:40px}
.titem{padding:14px;margin-bottom:12px}
.tirow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.tirow .fld{flex:1 1 220px;margin-bottom:0}.tirow .fld.sm{flex:0 1 150px}.tirow .fld.xs{flex:0 0 80px}
.tirow+.tirow{margin-top:12px}
.cands{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px}
.cand{flex:0 0 150px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;border-radius:10px;border:1.5px solid #3b3e50;background:#0a0a12;cursor:pointer;text-align:center;color:#fff}
.cand img{width:90px;border-radius:5px;margin-bottom:4px}
.cand b{font-size:13px}.cand small{font-size:11px;color:var(--mut)}.cand em{font-style:normal;font-size:11.5px;color:var(--ink2)}.cand strong{font-family:var(--mono);color:var(--ok);font-size:13px}
.cand.on{border-color:var(--pk);box-shadow:0 0 14px rgba(255,79,216,.5);background:rgba(255,79,216,.08)}
.tphotos{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex:1 1 260px}
.tph{position:relative}.tph img{height:64px;width:48px;object-fit:cover;border-radius:6px;border:1px solid #3b3e50}
.tph button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--bad);color:#fff;cursor:pointer;font-weight:700}
.tup{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 14px;border-radius:10px;border:1.5px dashed var(--cy);color:#dffbff;cursor:pointer;background:rgba(57,230,255,.06)}
.tup svg{width:20px;height:20px}.tup.busy{opacity:.6}
.test{margin-left:auto;text-align:right;font-family:var(--mono)}.test small{display:block;color:var(--mut);font-size:11px}.test b{font-family:var(--disp2);font-size:20px;color:var(--ok)}
.wantl{margin-bottom:10px}
.tsum{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 16px}
.tsum>div{flex:1 1 180px;padding:14px 16px;border-radius:10px;background:#0a0a12;border:1px solid #2a2c3a}
.tsum small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.tsum b{font-family:var(--disp2);font-size:24px;color:#fff}
.tsum .big{border-color:var(--pk);box-shadow:0 0 16px rgba(255,79,216,.3)}.tsum .big b{color:var(--pk);text-shadow:var(--glowp)}
.live{font-family:var(--mono);font-size:11px;color:var(--ok);-webkit-text-fill-color:var(--ok);margin-left:8px;animation:bl 1.4s steps(2) infinite}
.tcard{padding:16px;margin-bottom:12px}
.tchd{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.tchd code{font-family:var(--mono);color:var(--cy)}
.tst{font-weight:700}.st-offer .tst{color:var(--pk)}.st-accepted .tst,.st-done .tst{color:var(--ok)}.st-cancelled .tst,.st-declined .tst{color:var(--mut)}
.tcitems{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.tci{display:flex;gap:10px;align-items:center;padding:8px;border-radius:8px;background:#0a0a12;border:1px solid #2a2c3a}
.tci img{width:44px;height:60px;object-fit:cover;border-radius:4px}
.tci b{font-size:14px}.tci small{display:block;color:var(--mut);font-size:12px}.tci em{font-style:normal;font-family:var(--mono);font-size:12.5px;color:var(--mut)}
.tci.ok em{color:var(--ok)}.tci.declined em{color:var(--bad)}
.toffer{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;margin-top:12px;padding:14px;border-radius:10px;border:1.5px solid var(--pk);background:rgba(255,79,216,.08)}
.toffer small{display:block;font-family:var(--mono);font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.12em}
.toffer b{font-family:var(--disp2);font-size:28px;color:#fff;text-shadow:var(--glowp);margin-right:10px}.toffer span{color:var(--ink2)}.toffer p{margin:6px 0 0;color:var(--ink2)}
/* bot */
.bot{position:fixed;right:18px;bottom:18px;z-index:90}
@media (max-width:760px){.bot{right:12px;bottom:78px}}
.botbtn{position:relative;width:72px;height:72px;border-radius:50%;border:2px solid var(--cy);background:radial-gradient(circle,#15183a,#07070f);cursor:pointer;padding:0;display:grid;place-items:center;box-shadow:0 0 18px rgba(57,230,255,.55),0 10px 26px rgba(0,0,0,.6);animation:float 5s ease-in-out infinite}
.botbtn svg{width:78px;height:78px;margin-top:-6px}
.botping{position:absolute;top:-4px;right:-4px;width:24px;height:24px;border-radius:50%;background:var(--pk);color:#fff;font-weight:900;font-size:14px;display:grid;place-items:center;box-shadow:var(--glowp)}
.bot.open .botping{display:none}
@media (max-width:760px){.botbtn{width:58px;height:58px}.botbtn svg{width:64px;height:64px}}
.botpanel{position:absolute;right:0;bottom:84px;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100vh - 170px));display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:2px solid transparent;background:var(--carbon) padding-box,var(--metal) border-box;box-shadow:0 20px 60px rgba(0,0,0,.8),0 0 30px rgba(57,230,255,.25);animation:pop .25s cubic-bezier(.2,1.3,.4,1)}
.botpanel[hidden]{display:none}
.bothd{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #2a2c3a;background:rgba(14,14,26,.9)}
.bothd svg{width:44px;height:44px}.bothd b{font-family:var(--disp2);letter-spacing:.08em}.bothd small{display:block;font-family:var(--mono);font-size:11px;color:var(--mut)}.bothd .x{margin-left:auto;width:38px;height:38px}
.botlog{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}
.bm{max-width:88%;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.45}
.bm.it{align-self:flex-start;background:#15172a;border:1px solid #2d3050;color:#e8e6ff;border-bottom-left-radius:4px}
.bm.me{align-self:flex-end;background:linear-gradient(135deg,#ff4fd8,#8b5cff);color:#fff;border-bottom-right-radius:4px}
.bm a{color:var(--cy)}
.typing{display:flex;gap:4px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--cy);animation:bl .9s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
.bhits{display:grid;gap:6px;margin-top:8px}
.bhit{display:flex;gap:8px;align-items:center;padding:6px;border-radius:8px;background:#0a0a12;border:1px solid #2a2c3a;text-decoration:none;color:#fff}
.bhit img{width:34px;height:47px;object-fit:cover;border-radius:3px}.bhit b{display:block;font-size:13px}.bhit small{display:block;color:var(--mut);font-size:11px}.bhit em{font-style:normal;font-family:var(--mono);color:var(--pk)}
.botq{display:flex;gap:6px;overflow-x:auto;padding:8px 10px;border-top:1px solid #2a2c3a;scrollbar-width:none}
.botq button{flex-shrink:0;border:1px solid #3b3e50;background:#12131d;color:#e8e6ff;border-radius:999px;padding:6px 11px;font-size:12.5px;cursor:pointer}
.botq button:hover{border-color:var(--cy)}
.botin{display:flex;gap:8px;padding:10px;border-top:1px solid #2a2c3a}
.botin input{flex:1;min-width:0;min-height:44px;border-radius:10px;border:1.5px solid #3b3e50;background:#07070d;padding:0 12px;font-size:15px;outline:none}
.botin input:focus{border-color:var(--cy)}

/* ===== v14: reviews, delivery, suggestions, wishlist, newsletter, info ===== */
.tr-rate{color:var(--gd);text-decoration:none;font-weight:700;text-shadow:0 0 8px rgba(255,207,74,.5)}
.revgrid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:14px}
@media (max-width:900px){.revgrid{grid-template-columns:1fr 1fr}.rquotes{grid-column:1/-1}}
@media (max-width:520px){.revgrid{grid-template-columns:1fr}}
.rscore{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:12px;text-decoration:none;color:#fff;border:2px solid transparent;background:var(--carbon) padding-box,var(--metal) border-box;transition:transform .2s,box-shadow .2s}
.rscore:hover{transform:translateY(-3px);box-shadow:0 0 22px rgba(255,207,74,.35)}
.rsn{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cy)}
.rscore b{font-family:var(--disp2);font-size:40px;font-weight:900;color:var(--gd);text-shadow:0 0 14px rgba(255,207,74,.55);line-height:1.05}
.rscore b i{font-style:normal;font-size:18px;letter-spacing:2px;vertical-align:middle}
.rscore span{color:var(--ink2);font-size:14px}.rscore em{font-style:normal;font-size:12.5px;color:var(--mut);margin-top:auto}
.rquotes{padding:18px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:170px}
.rq p{margin:0;font-size:clamp(16px,1.6vw,20px);line-height:1.45;color:#fff;font-style:italic}
.rq span{display:block;margin-top:8px;font-family:var(--mono);font-size:12.5px;color:var(--gd)}
.rq.in{animation:fade .6s}
.rstr{display:flex;flex-wrap:wrap;gap:6px}.rstr span{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid rgba(74,222,128,.5);color:var(--ok);background:rgba(74,222,128,.07)}
.shipbox{margin-top:16px}.shipbox.sm{margin-top:10px}
.shipl{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;border:1px solid rgba(57,230,255,.35);background:rgba(57,230,255,.05);font-size:13.5px;color:var(--ink2)}
.shipl b{color:#fff}.shipl .fs{color:var(--ok)}.shipl small{color:var(--mut);font-size:12px}.shic{font-size:20px;line-height:1}
.sgbox{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:70;border-radius:12px;overflow:hidden;border:2px solid transparent;background:linear-gradient(#0d0d18,#0d0d18) padding-box,var(--metal) border-box;box-shadow:0 20px 50px rgba(0,0,0,.8)}
.sgbox[hidden]{display:none}
.sgi{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid #1d1e2b;background:none;color:#fff;cursor:pointer;text-align:left}
.sgi:hover,.sgi.on{background:rgba(255,79,216,.12)}
.sgi img{width:34px;height:47px;object-fit:contain;border-radius:3px;background:#07070c}
.sgi span{flex:1;min-width:0}.sgi b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sgi small{display:block;color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sgi em{font-style:normal;font-family:var(--disp2);font-weight:800;color:#fff}
.sgall{width:100%;padding:10px 12px;border:0;background:rgba(57,230,255,.08);color:var(--cy);cursor:pointer;text-align:left;font-weight:600}
.sgnone{padding:12px;color:var(--mut);font-size:14px}
.hero3 .cmd{position:relative}
.heart{width:40px;height:40px;border-radius:10px;border:1.5px solid #3b3e50;background:#0e0f18;color:#ff7ab8;font-size:19px;cursor:pointer;margin-left:auto;margin-right:6px;flex-shrink:0;line-height:1}
.heart:hover{border-color:#ff7ab8;box-shadow:0 0 10px rgba(255,122,184,.5)}
.heart.on{background:rgba(255,43,110,.18);border-color:#ff5a9a;color:#ff5a9a;text-shadow:0 0 8px rgba(255,90,154,.8)}
.heartbtn.on{border-color:#ff5a9a;color:#ffb3d1}
.wishlnk{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid #3b3e50;color:#ff7ab8;text-decoration:none;font-size:20px}
.wishlnk:hover,.wishlnk.on{border-color:#ff5a9a;box-shadow:0 0 12px rgba(255,90,154,.5)}
.wishlnk span{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:999px;background:#ff2b6e;color:#fff;font-family:var(--mono);font-size:12px;display:grid;place-items:center;padding:0 5px}
.nlbox{padding:22px 26px}
.nlin{display:flex;align-items:center;gap:24px}
.nlimg{width:200px;flex-shrink:0;filter:drop-shadow(0 0 18px rgba(255,79,216,.5))}
.nltx{flex:1}.nltx p{color:var(--ink2);margin:0 0 12px}
.nlf{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.nlf input[type=email]{flex:1 1 240px;min-height:48px;border-radius:10px;border:1.5px solid #3b3e50;background:#07070d;padding:0 14px;font-size:16px;outline:none}
.nlf input[type=email]:focus{border-color:var(--cy)}
.nlf .chk{flex-basis:100%;font-size:13px}.nlf .err{flex-basis:100%}
.nlok{font-size:17px;color:var(--ok)}
@media (max-width:640px){.nlin{flex-direction:column;text-align:center}.nlimg{width:140px}}
.infopage{display:grid;grid-template-columns:220px 1fr;gap:20px;padding-top:30px;padding-bottom:60px}
@media (max-width:760px){.infopage{grid-template-columns:1fr}}
.infonav{display:flex;flex-direction:column;gap:6px}
@media (max-width:760px){.infonav{flex-direction:row;overflow-x:auto}}
.infonav a{padding:10px 14px;border-radius:10px;border:1.5px solid #2a2c3a;text-decoration:none;color:var(--ink2);font-weight:600;white-space:nowrap}
.infonav a.on{border-color:var(--pk);color:#fff;background:rgba(255,79,216,.1)}
.infobody{padding:24px 28px;line-height:1.7;color:var(--ink2)}
.infobody h3{color:#fff;font-family:var(--disp2);letter-spacing:.06em;margin:18px 0 6px}
.infobody li{margin:6px 0}.infobody b{color:#fff}
.faq{border-bottom:1px solid #2a2c3a;padding:10px 0}.faq summary{cursor:pointer;font-weight:700;color:#fff;font-size:16px}.faq p{margin:8px 0 0}

/* ===== v16: shop hero carousel, erupting emblem, mascots, polish ===== */
.shopcar{position:relative;overflow:hidden;margin:22px 0 8px;border-radius:18px;min-height:380px;background:#05050b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 30px 60px -30px rgba(0,0,0,.9)}
.scbg{position:absolute;inset:0;background:radial-gradient(ellipse 60% 90% at 72% 50%,rgba(139,92,255,.28),transparent 70%),radial-gradient(ellipse 50% 70% at 10% 100%,rgba(255,79,216,.18),transparent 70%)}
.shopcar .sbfloor{opacity:.6}
.shopcar canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.5}
.scslides{position:relative;height:100%;min-height:380px}
.scs{position:absolute;inset:0;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;padding:30px 70px 44px;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}
.scs.on{opacity:1;visibility:visible}
.scs.on .sctx>*{animation:slideIn .6s both}
.scs.on .sctx>*:nth-child(2){animation-delay:.05s}.scs.on .sctx>*:nth-child(3){animation-delay:.1s}.scs.on .sctx>*:nth-child(4){animation-delay:.15s}.scs.on .sctx>*:nth-child(5){animation-delay:.2s}.scs.on .sctx>*:nth-child(6){animation-delay:.25s}
@keyframes slideIn{from{opacity:0;transform:translateX(-24px)}}
.sccat{font-family:var(--disp2);font-weight:800;letter-spacing:.3em;text-transform:uppercase;font-size:13px;color:var(--h);text-shadow:0 0 12px var(--h);margin-top:6px}
.scname{margin:6px 0 4px;font-family:var(--disp2);font-weight:900;font-size:clamp(26px,3.6vw,48px);line-height:1.02;letter-spacing:.02em;color:#fff;text-shadow:0 0 24px color-mix(in srgb,var(--h) 60%,transparent)}
.scmeta{color:var(--ink2);font-size:15px}.scmeta b{color:#fff}
.scprice{font-family:var(--disp2);font-weight:900;font-size:clamp(30px,3.4vw,44px);color:var(--h);text-shadow:0 0 18px var(--h);margin:12px 0 16px}
.scprice s{font-size:.5em;color:var(--mut);text-shadow:none;margin-right:10px}
.scart{position:relative;justify-self:center;height:330px;aspect-ratio:5/7;border:0;padding:0;background:none;cursor:pointer;perspective:1000px}
.scart>img,.scart>.slab{position:relative;z-index:1;height:100%;width:100%;object-fit:contain;border-radius:14px;transform:rotateX(var(--rx,2deg)) rotateY(var(--ry,-10deg));transition:transform .25s ease-out;filter:drop-shadow(0 30px 40px rgba(0,0,0,.8)) drop-shadow(0 0 30px color-mix(in srgb,var(--h) 55%,transparent))}
.scart>.slab{width:auto;margin:0 auto}
.scs.on .scart{animation:pop3 .7s cubic-bezier(.2,1.3,.4,1) both}
@keyframes pop3{from{opacity:0;transform:translateY(30px) scale(.9)}}
.scglow{position:absolute;inset:-18%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--h) 55%,transparent),transparent 65%);filter:blur(20px);animation:pulse 3s ease-in-out infinite}
.scart .hsh{z-index:2;border-radius:14px;pointer-events:none}
.scnav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);background:rgba(8,8,16,.6);color:#fff;font-size:26px;cursor:pointer;backdrop-filter:blur(6px)}
.scnav:hover{border-color:var(--cy);box-shadow:0 0 14px rgba(57,230,255,.6)}
.scnav.prev{left:14px}.scnav.next{right:14px}
.scdots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.scdots button{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s;padding:0}
.scdots button.on{width:30px;background:linear-gradient(90deg,var(--pk),var(--cy));box-shadow:0 0 10px var(--pk)}
.scmascot{position:absolute;left:-14px;bottom:-26px;width:130px;z-index:4;opacity:.95;transform:rotate(-8deg);pointer-events:none}
.scmascot svg{width:100%;height:auto}
.scount{position:absolute;right:18px;top:14px;z-index:5}
@media (max-width:760px){.shopcar,.scslides{min-height:520px}.scs{grid-template-columns:1fr;padding:22px 20px 44px;text-align:center;align-content:start}.scart{order:-1;height:230px}.scs .cta{justify-content:center}.scnav{display:none}.scmascot{width:90px;bottom:-18px}}

/* erupting emblem */
.emb{isolation:isolate}
.emb .void{position:absolute;inset:6% 10%;border-radius:50%;background:radial-gradient(circle,#000 0%,rgba(0,0,0,.85) 35%,transparent 70%);z-index:-2}
.emb .rays{position:absolute;inset:-10%;z-index:-1;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,79,216,.22) 0 3deg,transparent 3deg 14deg,rgba(57,230,255,.18) 14deg 16deg,transparent 16deg 30deg);mask-image:radial-gradient(circle,#000 18%,transparent 62%);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 62%);animation:spin 30s linear infinite}
.emb canvas{position:absolute;inset:-10%;width:120%;height:120%;pointer-events:none;z-index:2;mix-blend-mode:screen}
.emb img{position:relative;z-index:1;max-width:620px;filter:drop-shadow(0 0 30px rgba(255,79,216,.55)) drop-shadow(0 0 70px rgba(57,230,255,.3));animation:erupt 1.1s cubic-bezier(.2,1.4,.3,1) both,float 7s ease-in-out 1.1s infinite}
@keyframes erupt{0%{opacity:0;transform:scale(.55) translateY(40px);filter:brightness(4) blur(6px)}60%{opacity:1;filter:brightness(1.8)}100%{transform:none}}
.emb::after{inset:34% 36%;z-index:0}
.mas{position:absolute;width:24%;z-index:3;pointer-events:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.8))}
.mas svg{width:100%;height:auto}
.mas.m1{left:-4%;bottom:0;animation:peek 1.4s .9s both,float 6s ease-in-out 2.3s infinite}
.mas.m2{right:-2%;top:2%;animation:peek 1.4s 1.2s both,float 7s ease-in-out 2.6s infinite}
.mas.m2 svg{transform:scaleX(-1)}
@keyframes peek{from{opacity:0;transform:translateY(30px) scale(.6)}}
@media (max-width:860px){.mas{width:22%}}

/* polish */
.crt{opacity:.55}
.tile{transition:transform .2s ease-out,box-shadow .25s}
.tile:hover{transform:translateY(-6px);box-shadow:0 26px 40px -18px rgba(0,0,0,.9),0 0 0 1px rgba(255,79,216,.5),0 0 28px rgba(255,79,216,.25)!important}
.price{font-size:19px}
.carsec .row{margin-bottom:4px}
@media (max-width:760px){.shopcar,.scslides{min-height:600px}.scs .cta{flex-wrap:wrap}.scmascot{display:none}.scdots{bottom:12px}}

/* ===== v17: game ===== */
.enbox{display:flex;gap:22px;padding:12px 18px;align-items:center;flex-wrap:wrap}
.enbox small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--mut);margin-bottom:4px}
.enbox b{font-family:var(--disp2);font-size:24px;color:var(--gd);text-shadow:0 0 10px rgba(255,207,74,.5)}
.energy.pk i.on{background:var(--pk);border-color:var(--pk);box-shadow:var(--glowp)}
.evotree{display:flex;align-items:stretch;gap:4px;margin-top:14px;overflow-x:auto;padding-bottom:6px}
.evs{flex:1 0 120px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 6px;border-radius:12px;border:1px solid #2a2c3a;background:#0a0a12;opacity:.6}
.evs.got{opacity:1;border-color:rgba(57,230,255,.4)}
.evs.cur{border-color:var(--pk);box-shadow:0 0 16px rgba(255,79,216,.45)}
.eva{width:90px}.eva svg{width:100%;height:auto}
.evs b{font-family:var(--disp2);font-size:12px;letter-spacing:.04em;margin-top:2px}
.evs small{font-family:var(--mono);font-size:10.5px;color:var(--cy)}
.evs ul{list-style:none;margin:6px 0 0;padding:0;width:100%}
.evs li{display:flex;justify-content:space-between;gap:4px;font-size:11px;padding:2px 4px;border-radius:4px;color:var(--mut)}
.evs li.on{color:#fff;background:rgba(74,222,128,.08)}.evs li em{font-style:normal;font-family:var(--mono);color:var(--ok)}
.evs li:not(.on) em{color:var(--mut)}
.evarrow{align-self:center;font-style:normal;color:var(--pk);text-shadow:var(--glowp);font-size:18px}
/* damage feedback */
.vig{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 35%,rgba(255,20,60,.55) 100%)}
.vig.on{animation:vig .6s ease-out}
@keyframes vig{0%{opacity:0}15%{opacity:1}100%{opacity:0}}
.shake2{animation:shake2 .55s}
@keyframes shake2{10%{transform:translate(-16px,8px) rotate(-1deg)}25%{transform:translate(14px,-10px) rotate(1deg)}40%{transform:translate(-12px,6px)}55%{transform:translate(10px,-6px)}70%{transform:translate(-6px,3px)}85%{transform:translate(4px,-2px)}}
.fighter.hurt{animation:hurt2 .55s}
@keyframes hurt2{0%{filter:none}10%{filter:brightness(3) saturate(0) drop-shadow(0 0 30px #fff);transform:translateX(-14px)}25%{filter:sepia(1) saturate(8) hue-rotate(-50deg) brightness(1.2);transform:translateX(14px)}45%{transform:translateX(-10px)}65%{filter:sepia(1) saturate(6) hue-rotate(-50deg);transform:translateX(6px)}100%{filter:none;transform:none}}
.hpbox.dmg{animation:hpdmg .5s}
@keyframes hpdmg{20%{box-shadow:0 0 0 2px #ff3b5c,0 0 30px rgba(255,59,92,.8)!important;transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-3px)}}
.hp i{transition:width .45s cubic-bezier(.3,1.4,.5,1)}
.float.big{font-size:58px;font-weight:900;-webkit-text-stroke:2px rgba(0,0,0,.6)}
.hitburst{position:absolute;z-index:5;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;pointer-events:none;box-shadow:0 0 0 0 #fff;animation:burst .55s ease-out forwards;background:radial-gradient(circle,#fff,rgba(255,255,255,0) 70%)}
.hitburst.me{background:radial-gradient(circle,#ff3b5c,rgba(255,59,92,0) 70%)}
@keyframes burst{0%{transform:scale(1);opacity:1}100%{transform:scale(26);opacity:0}}
.ptsgain{font-family:var(--disp2);font-size:26px;font-weight:900}.ptsgain.up{color:var(--gd);text-shadow:0 0 14px rgba(255,207,74,.7)}.ptsgain.dn{color:var(--bad)}
.odc-av.live.art{animation:bob 3.2s ease-in-out infinite}.odc-av.sil.art{animation:none}
/* v19 set filter */
.fchips .setsel{min-height:38px;min-width:170px;max-width:260px;height:38px;border-radius:999px;padding:0 34px 0 14px;font-size:13px;text-overflow:ellipsis}
.fchips .setsel:has(option:checked:not([value=""])){border-color:var(--c,#20e3ff);box-shadow:0 0 0 1px var(--c,#20e3ff) inset,0 0 14px rgba(32,227,255,.25)}
.setall{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--c,#20e3ff);margin-left:10px;text-decoration:none;white-space:nowrap}
.setall:hover{text-decoration:underline}
.tools .in{min-width:0}.tools .in>*{min-width:0;max-width:100%}.fchips .setsel{flex:0 0 auto}
@media (max-width:640px){.fchips{flex-wrap:wrap;overflow:visible}.fchips .setsel{flex:1 1 100%;max-width:none;order:9}.fchips .ghost{order:10;margin-left:0}}
body{overflow-x:clip}
/* v20 battle 2.0 */
.battle.v2 .hpbox{min-width:min(320px,46vw)}
.hpt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.hpt .pw{font-family:var(--mono);font-size:11px;color:var(--yl);letter-spacing:.1em}
.battle .hp{position:relative}
.battle .hp s{position:absolute;left:0;top:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(57,230,255,.85) 0 4px,rgba(57,230,255,.45) 4px 8px);box-shadow:0 0 10px #39e6ff;border-radius:inherit;transition:width .35s;text-decoration:none;width:0}
.hprow{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:3px}
.enp{display:inline-flex;align-items:center;gap:2px}
.enp i{width:7px;height:11px;border-radius:2px;background:#232536;border:1px solid #33364a;transform:skewX(-12deg)}
.enp i.on{background:linear-gradient(180deg,#ffe98a,#ffb800);border-color:#ffe14a;box-shadow:0 0 6px rgba(255,200,0,.7)}
.enp em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--yl);margin-left:4px}
.fxrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;min-height:20px}
.fxc{font-family:var(--mono);font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid #3a3d52;background:#11121c;color:#e8e6ff;white-space:nowrap}
.fxc.sh{border-color:#39e6ff;color:#8ff3ff}.fxc.burn{border-color:#ff8a3d;color:#ffb07a}.fxc.poison{border-color:#a3e635;color:#c7f36b}
.fxc.chill{border-color:#7dd3fc;color:#bae6fd}.fxc.expose{border-color:#ff4fd8;color:#ff9fea}.fxc.rage{border-color:#ff3b5c;color:#ff8da0}
.fxc.guard{border-color:#60a5fa;color:#bfdbfe}.fxc.regen{border-color:#4ade80;color:#86efac}.fxc.stun{border-color:#ffe14a;color:#fff1a8}.fxc.enr{border-color:#ff3b5c;background:#3a0712;color:#ffb3c0;animation:glowp 1s infinite}
.turnc{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:4;font-family:var(--disp2);font-size:12px;letter-spacing:.3em;color:var(--mut);background:rgba(8,7,22,.7);padding:4px 12px;border-radius:999px;border:1px solid var(--line2)}
.intent{position:absolute;z-index:4;right:6%;top:9%;max-width:min(300px,44vw);padding:8px 12px;border-radius:12px;background:rgba(10,8,28,.85);border:1px solid var(--line2);font-size:12.5px;display:flex;flex-direction:column;gap:2px}
.intent:empty{display:none}
.intent b{font-family:var(--disp2);letter-spacing:.06em;font-size:12px;color:#e8e6ff}
.intent span{color:var(--mut);font-family:var(--mono);font-size:11.5px}
.intent.big{border-color:#ff3b5c;box-shadow:0 0 18px rgba(255,59,92,.45);animation:glowp 1.2s infinite}
.intent.big b{color:#ff8da0}
.banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) scale(.6);z-index:6;font-family:var(--disp2);font-weight:800;font-size:clamp(22px,4vw,40px);letter-spacing:.12em;opacity:0;pointer-events:none;text-shadow:0 0 18px currentColor;white-space:nowrap}
.banner.on{animation:bann 1.3s ease-out}
.banner.sup{color:#ffe14a}.banner.crit{color:#ff4fd8}.banner.enr{color:#ff3b5c}.banner.ult{color:#39e6ff}
@keyframes bann{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-60%) scale(1)}}
.fighter.shielded svg{filter:drop-shadow(0 0 16px #39e6ff) drop-shadow(0 0 30px rgba(57,230,255,.6))}
.fighter.enraged svg{filter:drop-shadow(0 0 14px #ff3b5c) saturate(1.4)}
.battle.v2 .bpanel{max-height:52vh;overflow-y:auto}
.battle.v2 .moves{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.battle.v2 .moves{grid-template-columns:repeat(2,minmax(0,1fr))}}
.battle.v2 .mv{display:flex;flex-direction:column;gap:3px;min-height:92px;padding:9px 11px;border-left-width:3px}
.mvh{display:flex;justify-content:space-between;align-items:center;gap:6px}
.mvh b{font-size:14px}
.cost{display:inline-flex;gap:2px}
.cost i{width:6px;height:10px;border-radius:2px;background:linear-gradient(180deg,#ffe98a,#ffb800);transform:skewX(-12deg)}
.cost u{text-decoration:none;font-family:var(--mono);font-size:10px;color:var(--ok);letter-spacing:.1em}
.mvn{display:flex;gap:6px;align-items:center}
.mvn .dmg{font-family:var(--mono);font-size:12.5px;color:#fff;font-weight:700}
.mvn .dmg.sup2{color:var(--ok);font-weight:600}
.mvn em{font-style:normal;font-family:var(--mono);font-size:10px;padding:0 6px;border-radius:4px}
.mvn em.sup{background:#3a3106;color:#ffe14a}.mvn em.wk{background:#2a1320;color:#ff8da0}
.battle.v2 .mv small{font-family:var(--body,inherit);font-size:11.5px;line-height:1.35;color:#a9a6cf;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mv.k-bas{border-left-color:#8b8fa8}.mv.k-atk{border-left-color:#ff4fd8}.mv.k-sus{border-left-color:#4ade80}.mv.k-buf{border-left-color:#39e6ff}.mv.k-ult{border-left-color:#ffe14a}
.mv.need{opacity:.45}
.needt{font-family:var(--mono);font-size:10px;color:var(--yl)}
.bfoot{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.bfoot #stim{display:inline-flex;gap:8px;align-items:center}
.bfoot #stim small{font-family:var(--mono);font-size:10.5px;opacity:.75}
.bfoot .linkbtn:last-child{margin-left:auto}
.bguide ul,.howto ul{margin:10px 0 0;padding-left:18px;color:var(--ink2);font-size:13.5px;line-height:1.55}
.bguide li,.howto li{margin-bottom:5px}
.coregain{font-family:var(--disp2);font-size:22px;color:#39e6ff;text-shadow:var(--glowc);margin:6px 0}
.coregain small{display:block;font-family:var(--mono);font-size:11px;color:var(--mut);text-shadow:none;letter-spacing:.06em}
.btip{font-size:13.5px;color:var(--ink2);background:rgba(255,225,74,.06);border:1px solid rgba(255,225,74,.25);border-radius:10px;padding:8px 12px;text-align:left}
.corev{font-family:var(--disp2);color:#39e6ff;text-shadow:0 0 10px rgba(57,230,255,.6)}
.corev.big{font-size:22px}.corev small{font-size:11px;color:var(--mut);text-shadow:none;font-family:var(--mono)}
.agrid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;margin-bottom:18px}
@media (max-width:860px){.agrid{grid-template-columns:1fr}}
.lab,.intel{padding:18px}
.labh{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lab h3,.intel h3{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--disp2);font-size:17px;letter-spacing:.05em}
.labp{color:var(--ink2);font-size:13.5px;margin:8px 0 12px}
.trow{display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.trn b{display:block;font-size:14px}.trn small{font-family:var(--mono);font-size:11px;color:var(--mut)}
.trk{display:flex;gap:3px}.trk i{width:9px;height:14px;border-radius:2px;background:#1b1d2a;border:1px solid #2e3144;transform:skewX(-12deg)}
.trk i.on{background:linear-gradient(180deg,#8ff3ff,#1fb6d9);border-color:#39e6ff;box-shadow:0 0 6px rgba(57,230,255,.6)}
@media (max-width:520px){.trow{grid-template-columns:1fr auto}.trk{grid-column:1/-1;order:3}}
.pwbar{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:12px 0 6px;text-align:center}
.pwbar small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--mut);letter-spacing:.15em}
.pwbar b{font-family:var(--disp2);font-size:24px}
.pwbar .vs{font-family:var(--mono);font-size:12px;padding:6px 8px;border-radius:8px;border:1px solid}
.vs.ok{color:#86efac;border-color:#22c55e;background:rgba(34,197,94,.08)}.vs.mid{color:#fde68a;border-color:#eab308;background:rgba(234,179,8,.08)}
.vs.hard{color:#fdba74;border-color:#f97316;background:rgba(249,115,22,.08)}.vs.bad{color:#fda4af;border-color:#f43f5e;background:rgba(244,63,94,.08)}
.etag{display:inline-block;margin-top:6px;font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:6px}
.etag.ok{background:rgba(34,197,94,.12);color:#86efac}.etag.bad{background:rgba(244,63,94,.12);color:#fda4af}
.bmoves{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.bmoves li{padding:6px 10px;border-radius:8px;background:#0c0b1a;border:1px solid var(--line)}
.bmoves b{font-size:13px;display:block}.bmoves small{color:var(--mut);font-size:12px}
.howto{padding:12px 18px;margin-bottom:18px}.howto summary{cursor:pointer;font-family:var(--disp2);letter-spacing:.06em}
.bweak{font-family:var(--mono);font-size:10.5px;color:var(--cy);margin-top:4px}
@keyframes glowp{50%{box-shadow:0 0 4px rgba(255,59,92,.2)}}
.odc-av.boss{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;overflow:visible!important}
.lab h3 svg,.intel h3 svg{width:20px;height:20px;flex:none;stroke:currentColor}
@media (max-width:640px){.turnc{top:auto;bottom:8px;left:10px;transform:none;font-size:10px}}
/* v21 PvE / PvP hub */
.modetabs{display:inline-flex;gap:6px;padding:5px;border-radius:14px;background:rgba(10,9,24,.8);border:1px solid var(--line2);margin-bottom:18px}
.modetabs a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-family:var(--disp2);letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--ink2);text-decoration:none}
.modetabs a svg{width:18px;height:18px}
.modetabs a small{font-family:var(--mono);font-size:10px;opacity:.7}
.modetabs a.on{background:linear-gradient(180deg,#ff6fe0,#c42aa9);color:#fff;box-shadow:0 0 16px rgba(255,79,216,.5)}
.mxb{width:90px;height:5px;border-radius:3px;background:#1b1d2a;margin-top:4px;overflow:hidden}.mxb i{display:block;height:100%;background:linear-gradient(90deg,#39e6ff,#ff4fd8)}
.zones{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-bottom:18px}
.zone{padding:16px;display:flex;flex-direction:column;gap:6px;position:relative}
.zone.lock{opacity:.55}
.zone.clr{border-color:rgba(74,222,128,.35)}
.zh{display:flex;justify-content:space-between;align-items:center}
.zn{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--cy)}
.zl{font-family:var(--mono);font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid var(--line2);color:var(--ink2)}
.zl.ok{border-color:#22c55e;color:#86efac}.zl.mid{border-color:#eab308;color:#fde68a}.zl.hard{border-color:#f43f5e;color:#fda4af}
.zt{font-family:var(--disp2);font-size:18px;letter-spacing:.04em}
.zone>small{color:var(--mut);font-size:12.5px;min-height:2.4em}
.zb{display:flex;gap:10px;align-items:center;padding:8px;border-radius:10px;background:#0b0a18;border:1px solid var(--line)}
.zav{width:58px;flex:none}.zav svg{width:100%;height:auto}
.zb small{display:block;font-family:var(--mono);font-size:10px;color:var(--mut);letter-spacing:.1em}
.zb b{display:block;font-size:14px}.zb em{font-style:normal;font-size:11.5px;color:var(--cy)}
.zbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.zbtns .btn svg{width:16px;height:16px}
.zlock{font-size:12px;color:var(--mut)}
.opps{padding:18px;margin-bottom:18px}
.opps h3{margin:0;display:flex;align-items:center;gap:8px;font-family:var(--disp2);font-size:17px}
.opps h3 svg,.intel h3 svg{width:20px;height:20px}
.opplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;margin-top:12px}
.opp{display:grid;grid-template-columns:64px 1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#0b0a18;border:1px solid var(--line)}
.oin b{display:block;font-size:14px}.oin small{display:block;font-family:var(--mono);font-size:11px;color:var(--mut)}
.opw{font-family:var(--mono);font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid}
.opw.ok{color:#86efac;border-color:#22c55e}.opw.mid{color:#fde68a;border-color:#eab308}.opw.hard{color:#fda4af;border-color:#f43f5e}
@media (max-width:520px){.opplist{grid-template-columns:1fr}.opp{grid-template-columns:52px 1fr auto}.opp .btn{grid-column:1/-1}}
.lvup{font-family:var(--disp2);font-weight:800;font-size:24px;color:#ffe14a;text-shadow:0 0 16px rgba(255,225,74,.6);margin:6px 0;animation:bann 1.6s ease-out 1 reverse both}
.lvup{animation:none}
.lvup b{color:#fff}.lvup small{display:block;font-family:var(--mono);font-size:12px;color:#fde68a;text-shadow:none}
.xpgain{font-family:var(--disp2);font-size:20px;color:#ff9fea;text-shadow:0 0 12px rgba(255,79,216,.6);margin:4px 0}
/* v22 battle clarity + fx */
.battle.v2 .field::before{background:radial-gradient(ellipse at 50% 55%,rgba(5,4,12,.55),rgba(5,4,12,.9) 75%),linear-gradient(180deg,rgba(5,4,12,.6),rgba(5,4,12,.75));backdrop-filter:blur(7px) saturate(.7);-webkit-backdrop-filter:blur(7px) saturate(.7)}
.battle.v2 .fighter{width:min(36vw,380px);z-index:2;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.battle.v2 .fighter.me{left:9%;bottom:4%}.battle.v2 .fighter.foe{right:9%;top:11%}
.battle.v2 .fighter svg{position:relative;z-index:2;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.9)) drop-shadow(0 0 16px var(--ec)) drop-shadow(0 10px 18px rgba(0,0,0,.8))}
.battle.v2 .fighter .spot{position:absolute;inset:-12%;z-index:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ec) 34%,transparent),transparent 62%);pointer-events:none;animation:spotp 3s ease-in-out infinite}
.battle.v2 .fighter .ped{position:absolute;left:8%;right:8%;bottom:-2%;height:16%;z-index:0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--ec) 55%,transparent),transparent 70%);box-shadow:0 0 30px color-mix(in srgb,var(--ec) 40%,transparent);border:2px solid color-mix(in srgb,var(--ec) 60%,transparent);transform:perspective(300px) rotateX(60deg)}
@keyframes spotp{50%{opacity:.65;transform:scale(1.06)}}
.battle.v2 .odc-av.boss{filter:none}
.battle.v2 .fighter.isboss svg{filter:drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 18px #ff3b5c) drop-shadow(0 0 40px rgba(255,59,92,.5))}
.battle.v2 .fighter.charge svg{animation:chg .4s ease-in-out infinite alternate}
@keyframes chg{to{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 30px var(--ec)) drop-shadow(0 0 60px var(--ec)) brightness(1.35)}}
.battle.v2 .fighter.lunge-me{transform:translate(22%,-12%) scale(1.06)}.battle.v2 .fighter.lunge-foe{transform:translate(-22%,12%) scale(1.06)}
.battle.v2 .fighter.hurt svg{animation:hurtv .6s}
@keyframes hurtv{0%,100%{transform:translateX(0)}10%{transform:translateX(-14px);filter:brightness(3) sepia(1) hue-rotate(-50deg) saturate(5)}25%{transform:translateX(12px)}40%{transform:translateX(-9px);filter:brightness(2) sepia(1) hue-rotate(-50deg) saturate(4)}60%{transform:translateX(6px)}80%{transform:translateX(-3px)}}
.battle.v2 .fighter.dodge{transform:translateX(-30px) skewX(-8deg);opacity:.6}
.battle.v2 .fighter.ko{animation:kov 1.2s forwards}
@keyframes kov{30%{filter:brightness(3)}100%{opacity:0;transform:translateY(40px) scale(.7);filter:grayscale(1) brightness(.4)}}
.fxcv{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none}
.battle .field.hitstop .fighter,.battle .field.hitstop .fxcv{animation-play-state:paused}
.battle .field.hitstop{filter:contrast(1.25) saturate(1.3)}
.flash.crit{background:radial-gradient(circle,#fff,#ff4fd8 60%)}
.banner.weak{color:#9b96c4;font-size:clamp(16px,2.4vw,24px)}
.banner.crit{font-size:clamp(30px,5.5vw,58px);color:#ff4fd8}
.blist{max-height:118px;overflow-y:auto;margin:-2px 0 10px;padding:6px 10px;border-radius:10px;background:rgba(5,4,14,.75);border:1px solid var(--line);font-size:12.5px;line-height:1.55;scroll-behavior:smooth}
.blist:empty{display:none}
.bl{color:var(--ink2);animation:fade .3s}
.bl b{color:#fff}.bl em{font-style:normal;color:var(--cy)}.bl strong{color:#fff;font-family:var(--mono)}
.bl u{text-decoration:none;color:#ffe14a;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em}
.bl.me b:first-child{color:#8ff3ff}.bl.foe b:first-child{color:#ff9fea}
.bl.dmgfoe strong{color:#ffe14a}.bl.dmgme strong{color:#ff5a7a}
.bl.heal strong{color:#4ade80}.bl.shield strong{color:#39e6ff}
.bl i{font-style:normal;font-family:var(--mono);font-size:10.5px;padding:0 5px;border-radius:4px;margin-left:4px}
.bl i.c{background:#3d0b33;color:#ff9fea}.bl i.s{background:#3a3106;color:#ffe14a}.bl i.w{background:#1d1b30;color:#9b96c4}.bl i.sh{background:#08303a;color:#8ff3ff}
.bl.tn{color:var(--mut);font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-align:center;margin-top:4px}
.bl.st{color:#c4b5fd}
.blog{font-size:14px;color:#fff}
@media (max-width:640px){.battle.v2 .fighter{width:44vw}.battle.v2 .fighter.me{left:3%;bottom:20%}.battle.v2 .fighter.foe{right:3%;top:17%}.blist{max-height:84px}}
.battle.v2 .field{container-type:size}
.battle.v2 .fighter.foe{width:min(30vw,56cqh);top:7%;right:8%}
.battle.v2 .fighter.me{width:min(32vw,60cqh);bottom:5%;left:8%}
.battle.v2 .hpbox.me{right:4%;bottom:5%}.battle.v2 .hpbox.foe{left:4%;top:7%}
.battle.v2 .intent{top:7%;right:3%}
@media (max-width:640px){.battle.v2 .fighter.foe{width:min(46vw,46cqh);top:22%;right:3%}.battle.v2 .fighter.me{width:min(48vw,46cqh);bottom:22%;left:2%}.battle.v2 .hpbox.me{right:2%;bottom:2%}.battle.v2 .hpbox.foe{left:2%;top:2%}.battle.v2 .intent{top:auto;bottom:auto;top:2%;right:2%;max-width:40vw}}
@media (max-width:640px){.battle.v2 .fighter.foe{width:min(42vw,40cqh);top:21%}.battle.v2 .fighter.me{width:min(46vw,44cqh);bottom:3%}.battle.v2 .mv small{-webkit-line-clamp:2}.battle.v2 .mv{min-height:78px}}
/* v23 game hidden */
body.nogame .gm{display:none!important}
/* v25 sealed promo wrapper */
.sealp{position:relative;display:block;height:100%;aspect-ratio:2.75/4.1;margin:0 auto;padding:9% 6% 7%;border-radius:6px;
  background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(255,255,255,.05) 40%,rgba(255,255,255,.14) 70%,rgba(255,255,255,.04));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 0 18px rgba(255,255,255,.12),0 8px 22px rgba(0,0,0,.5)}
.sealp::before,.sealp::after{content:"";position:absolute;left:0;right:0;height:5%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 2px,rgba(255,255,255,.12) 2px 5px);border-radius:3px}
.sealp::before{top:1.5%}.sealp::after{bottom:1.5%}
.sealin{display:block;height:100%}
.sealin img{width:100%!important;height:100%!important;object-fit:contain;border-radius:4%;filter:saturate(.95)}
.sealfx{position:absolute;inset:0;pointer-events:none;border-radius:6px;background:
  linear-gradient(115deg,transparent 18%,rgba(255,255,255,.32) 24%,transparent 30%,transparent 58%,rgba(255,255,255,.18) 63%,transparent 68%),
  radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.18),transparent 45%);mix-blend-mode:screen}
.sealtag{position:absolute;left:50%;bottom:-1px;transform:translate(-50%,50%);font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.14em;padding:2px 8px;border-radius:999px;background:#0b0a18;border:1px solid rgba(255,225,74,.6);color:#ffe14a;white-space:nowrap}
.tile .ph .sealp{height:100%}
.stage-img .sealp{height:94%}
.stage-img .sealp{height:92%!important;width:auto;max-width:86%}
.stage-img .sealin img{width:100%!important;height:100%!important}
.stage-img .sealp{height:auto!important;width:62%;max-width:none}
/* v28 hover: original glare (stronger) + the featured card's living holo sweep, looping while hovered */
.tile .glare{background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.55),rgba(255,255,255,.12) 22%,transparent 46%),linear-gradient(115deg,transparent 30%,rgba(57,230,255,.26) 45%,rgba(255,79,216,.26) 55%,transparent 70%);mix-blend-mode:overlay}
.tile:hover .glare{opacity:1}
.tile .ph::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;border-radius:inherit;opacity:0;transition:opacity .3s;
  background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.55) 40%,rgba(57,230,255,.45) 47%,rgba(255,79,216,.45) 54%,transparent 72%);
  background-size:260% 100%;background-position:130% 0;mix-blend-mode:color-dodge}
.tile:hover .ph::after{opacity:1;animation:sheen2 2.4s linear infinite}
.tile:hover .ph{box-shadow:0 0 18px rgba(57,230,255,.4),0 0 36px rgba(255,79,216,.3);animation:tglow 2.4s ease-in-out infinite}
@keyframes tglow{50%{box-shadow:0 0 26px rgba(255,79,216,.5),0 0 48px rgba(57,230,255,.35)}}
.tile.gold .ph::after{background:linear-gradient(115deg,transparent 22%,rgba(255,250,220,.6) 42%,rgba(255,207,74,.55) 50%,transparent 72%);background-size:260% 100%}
.tile.gold:hover .ph{box-shadow:0 0 22px rgba(255,207,74,.5);animation:none}

/* v29 the up-and-down shine (scan band) is the star: brighter, glowing, bounces top<->bottom while hovered */
.tile .scanl{height:38%;top:-38%;z-index:4;mix-blend-mode:screen;
  background:linear-gradient(180deg,transparent,rgba(57,230,255,.18) 30%,rgba(255,255,255,.55) 50%,rgba(255,79,216,.2) 70%,transparent);
  filter:blur(1px)}
.tile:hover .scanl{opacity:1;animation:scanud 1.8s ease-in-out infinite alternate}
@keyframes scanud{from{top:-38%}to{top:100%}}
.tile.gold .scanl{background:linear-gradient(180deg,transparent,rgba(255,207,74,.25) 30%,rgba(255,250,220,.6) 50%,rgba(255,207,74,.25) 70%,transparent)}
.tile .ph::after{opacity:0!important}
.tile .scanl{background:linear-gradient(180deg,transparent,rgba(57,230,255,.35) 32%,rgba(255,255,255,.95) 49%,rgba(255,255,255,.95) 51%,rgba(255,79,216,.35) 68%,transparent);filter:blur(1.5px) drop-shadow(0 0 8px rgba(57,230,255,.9))}
/* v31 tile footer never overflows: on narrow tiles the price gets its own row, heart + Add share the next */
.tile{container-type:inline-size}
@container (max-width:260px){
  .tile .ft{flex-wrap:wrap;row-gap:8px}
  .tile .ft .price{flex:1 0 100%}
  .tile .ft [data-slot]{flex:1;min-width:0;display:flex}
  .tile .ft [data-slot]>*{flex:1;min-width:0;justify-content:center}
  .tile .ft .heart{flex:none}
}
/* v32 availability filter */
.stseg{display:inline-flex;flex:none;border:1px solid var(--line2);border-radius:999px;overflow:hidden;background:rgba(10,9,24,.7);height:38px}
.stseg button{border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;min-height:0!important;padding:0 12px!important;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.1em;color:var(--ink2);cursor:pointer}
.stseg button+button{border-left:1px solid var(--line2)!important}
.stseg button.on{background:linear-gradient(180deg,#ff6fe0,#c42aa9)!important;color:#fff}
.stseg .dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.stseg .dot.ok{background:#4ade80;box-shadow:0 0 6px #4ade80}.stseg .dot.so{background:#ff5a7a;box-shadow:0 0 6px #ff5a7a}
@media (max-width:640px){.fchips .stseg{order:9;flex:1 1 100%;justify-content:stretch}.stseg button{flex:1;justify-content:center}}
/* v33 orders-closed mode */
.closedbar{position:relative;z-index:60;text-align:center;padding:9px 16px;font-size:13px;line-height:1.4;color:#fff;background:linear-gradient(90deg,#3a0f4f,#7a1c8c 50%,#123a5a);border-bottom:1px solid #ff4fd8}
.closedbar b{color:#ffd3f5;letter-spacing:.04em}
.closedn{margin:0 0 10px;padding:10px 12px;border:1px solid #ff4fd8;border-radius:10px;background:rgba(255,79,216,.08);font-size:13px;line-height:1.5;color:#f3dcff}
/* v34 hype list + hype meter */
.hypeb{filter:grayscale(1) brightness(.75);transition:filter .2s,transform .15s,box-shadow .2s}
.hypeb:hover{filter:grayscale(.3) brightness(1);transform:scale(1.06)}
.hypeb.on{filter:none;background:rgba(255,120,40,.16);border-color:#ff8a3d;box-shadow:0 0 14px rgba(255,120,40,.55),inset 0 0 8px rgba(255,79,216,.25);animation:hflick 1.6s ease-in-out infinite}
@keyframes hflick{0%,100%{box-shadow:0 0 12px rgba(255,120,40,.5),inset 0 0 8px rgba(255,79,216,.2)}50%{box-shadow:0 0 22px rgba(255,79,216,.75),inset 0 0 10px rgba(255,160,60,.35)}}
.hm{margin-top:6px;display:none;align-items:center;gap:7px}
.hm.on{display:flex}
.hmb{flex:1;max-width:90px;height:5px;border-radius:9px;background:#1b1830;overflow:hidden;box-shadow:inset 0 0 0 1px #2c2748}
.hmb i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ffb347,#ff4fd8);background-size:200% 100%;animation:hflow 2.2s linear infinite}
.hmt{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#ffb39a;white-space:nowrap}
.hm.l4 .hmt,.hm.l5 .hmt{color:#ff7ad9;text-shadow:0 0 8px rgba(255,79,216,.7)}
.hm.l5 .hmb i{background:linear-gradient(90deg,#39e6ff,#ff4fd8,#ffb347,#39e6ff);background-size:300% 100%;animation-duration:1.2s}
@keyframes hflow{to{background-position:-200% 0}}
.hypebox{margin:16px 0 4px;padding:14px 16px;border-radius:14px;border:1px solid #3a2650;background:linear-gradient(160deg,rgba(40,14,48,.75),rgba(10,9,24,.85));box-shadow:inset 0 0 30px rgba(255,79,216,.06)}
.hypebox.l3,.hypebox.l4{border-color:#7a2f6a;box-shadow:0 0 22px rgba(255,79,216,.18),inset 0 0 30px rgba(255,120,40,.08)}
.hypebox.l5{border-color:#ff4fd8;box-shadow:0 0 34px rgba(255,79,216,.4),inset 0 0 40px rgba(57,230,255,.12);animation:hbglow 1.8s ease-in-out infinite}
@keyframes hbglow{50%{box-shadow:0 0 50px rgba(255,79,216,.6),inset 0 0 40px rgba(255,179,71,.18)}}
.hbtop{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px}
.hbt{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#9f8fc4}
.hbl{font-family:'Orbitron',var(--mono);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(90deg,#ffb347,#ff4fd8);-webkit-background-clip:text;background-clip:text;color:transparent}
.hypebox.l0 .hbl{background:none;color:#7f86a6}
.hbar{position:relative;height:14px;border-radius:9px;background:#140f24;box-shadow:inset 0 0 0 1px #2f2650,inset 0 2px 6px rgba(0,0,0,.6);overflow:visible}
.hbar>i{position:relative;display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#ff9f1c,#ff4fd8 60%,#b14dff);background-size:200% 100%;animation:hflow 2s linear infinite;box-shadow:0 0 14px rgba(255,79,216,.6);transition:width .8s cubic-bezier(.2,1.4,.4,1)}
.hypebox.l0 .hbar>i{background:#3a3550;box-shadow:none;animation:none}
.hbar>i b{position:absolute;right:-9px;top:50%;transform:translateY(-58%);font-size:17px;line-height:1;filter:drop-shadow(0 0 6px #ff7a2f);animation:hfl .5s ease-in-out infinite alternate}
.hbar>i b::before{content:'🔥'}
.hypebox.l0 .hbar>i b{display:none}
@keyframes hfl{from{transform:translateY(-58%) scale(.92) rotate(-6deg)}to{transform:translateY(-66%) scale(1.12) rotate(6deg)}}
.hbar em{position:absolute;top:-3px;width:2px;height:20px;margin-left:-1px;background:#3a3156;border-radius:2px}
.hbar em.hit{background:#ffd1f3;box-shadow:0 0 8px #ff4fd8}
.hbbot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.hbn{font-size:13.5px;color:#cfc8ea}.hbn b{color:#fff;font-size:16px}
.hypebtn{border:1.5px solid #ff8a3d!important;background:rgba(255,120,40,.1)!important;color:#ffd2b8!important}
.hypebtn.on{background:linear-gradient(90deg,#ff7a2f,#ff4fd8)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 0 18px rgba(255,79,216,.6)}
.hypebox.bump{animation:hbump .6s ease-out}
@keyframes hbump{30%{transform:scale(1.035);box-shadow:0 0 40px rgba(255,120,40,.7)}}
.hspark{position:fixed;z-index:9999;pointer-events:none;font-size:15px;transform:translate(-50%,-50%);animation:hsp .95s cubic-bezier(.15,.8,.3,1) forwards;text-shadow:0 0 8px currentColor}
@keyframes hsp{to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--r)) scale(.3);opacity:0}}
.wishlnk{font-size:18px}
/* hype list manager */
.hlstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 12px}
.hlstats>div{padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:rgba(14,12,32,.7)}
.hlstats b{display:block;font-family:'Orbitron',var(--mono);font-size:20px;color:#fff}
.hlstats span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#9f8fc4}
.hltools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;margin-bottom:12px}
.hlseg{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.hlseg button{border:1px solid var(--line2);background:rgba(10,9,24,.7);color:var(--ink2);border-radius:999px;padding:6px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.hlseg button.on{background:linear-gradient(180deg,#ff6fe0,#c42aa9);color:#fff;border-color:transparent}
.hlbulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hlist{display:flex;flex-direction:column;gap:8px}
.hlrow{display:grid;grid-template-columns:22px 62px minmax(0,1fr) 130px 90px auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line2);background:rgba(14,12,32,.72);transition:opacity .25s,transform .25s,border-color .2s}
.hlrow:hover{border-color:#5b3b7a}
.hlrow[data-pri=must]{border-left:3px solid #ff4fd8}.hlrow[data-pri=want]{border-left:3px solid #ffb347}.hlrow[data-pri=maybe]{border-left:3px solid #39e6ff}
.hlrow.sold{opacity:.72}.hlrow.sold .hlimg img{filter:grayscale(.7)}
.hlrow.gone{opacity:0;transform:translateX(30px)}
.hlrow input[type=checkbox]{width:18px;height:18px;accent-color:#ff4fd8}
.hlimg{border:0;background:none;padding:0;cursor:pointer}.hlimg img{width:62px;height:86px;object-fit:contain;border-radius:6px;display:block}
.hlnm{border:0;background:none;padding:0;color:#fff;font-weight:700;font-size:15px;text-align:left;cursor:pointer}.hlnm:hover{color:#ff9be8}
.hlinfo .meta{font-size:12.5px;color:var(--ink2);margin:2px 0}
.stk.so{color:#ff8fa8}
.hlprice{font-family:'Orbitron',var(--mono);font-weight:700;color:#fff;text-align:right}.hlprice s{display:block;font-size:11px;color:#8a83a8}
.hlact{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.hlx{width:34px;height:34px;border-radius:9px;border:1px solid #3b3e50;background:#0e0f18;color:#ff8fa8;cursor:pointer;font-size:14px}.hlx:hover{border-color:#ff5a7a;background:rgba(255,90,122,.12)}
.hlpri{height:36px;font-size:12.5px;padding:0 8px}
@media (max-width:760px){
  .hlstats{grid-template-columns:repeat(2,1fr)}
  .hlrow{grid-template-columns:22px 54px minmax(0,1fr) auto;grid-template-areas:"c i n p" "c i s a"}
  .hlrow>input{grid-area:c}.hlrow .hlimg{grid-area:i}.hlrow .hlinfo{grid-area:n}.hlrow .hlprice{grid-area:p}.hlrow .hlpri{grid-area:s}.hlrow .hlact{grid-area:a}
  .hlimg img{width:54px;height:75px}
}
.tabbar .tbhype .tbfl{display:block;font-size:19px;line-height:22px;height:22px;filter:drop-shadow(0 0 6px rgba(255,120,40,.7))}
