:root{
  --bg:#070a14;
  --bg-2:#0b1020;
  --panel:rgba(16,23,43,.78);
  --panel-strong:rgba(20,29,55,.94);
  --text:#f7f8ff;
  --muted:#aab4d1;
  --line:rgba(255,255,255,.12);
  --accent:#ffd34d;
  --accent-2:#ff5c5c;
  --accent-3:#5de1ff;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:28px;
  --card-width:minmax(180px,1fr);
}
[data-theme="aqua"]{--accent:#5de1ff;--accent-2:#71ffb8;--accent-3:#fff16b;}
[data-theme="plasma"]{--accent:#c77dff;--accent-2:#ff5ccf;--accent-3:#82ffef;}
[data-density="compact"]{--card-width:minmax(145px,1fr);}
[data-density="showcase"]{--card-width:minmax(240px,1fr);}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,211,77,.18),transparent 25rem),
    radial-gradient(circle at 84% 18%,rgba(93,225,255,.15),transparent 28rem),
    linear-gradient(135deg,#050711 0%,#0b1020 52%,#120b1b 100%);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 85%);
}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.site-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 36px));margin:auto}
.site-header{
  position:sticky;top:14px;z-index:20;
  margin:14px 0 34px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(7,10,20,.76);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 40px rgba(0,0,0,.22);
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{width:42px;height:42px;filter:drop-shadow(0 0 12px rgba(255,211,77,.35))}
.brand-copy{display:grid;line-height:1.02}
.brand-copy strong{font-size:1rem;letter-spacing:.02em}
.brand-copy em{font-size:.72rem;color:var(--muted);font-style:normal;text-transform:uppercase;letter-spacing:.12em}
.site-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.nav-link{
  border:1px solid transparent;
  color:var(--muted);
  background:transparent;
  border-radius:999px;
  padding:10px 13px;
  cursor:pointer;
}
.nav-link:hover,.nav-link.is-active{color:var(--text);border-color:var(--line);background:rgba(255,255,255,.07)}
.settings-link{color:var(--accent)}
.mobile-menu-button{display:none;background:transparent;border:0;padding:8px;cursor:pointer}
.mobile-menu-button span{display:block;width:24px;height:2px;background:var(--text);margin:5px;border-radius:2px}
.hero{min-height:620px;display:grid;align-items:center;padding:48px 0 78px}
.hero-grid{grid-template-columns:1.05fr .95fr;gap:48px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:.77rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800}
.eyebrow::before{content:"";width:28px;height:3px;border-radius:8px;background:var(--accent)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.4rem,7vw,5.8rem);line-height:.92;letter-spacing:-.07em;margin-bottom:22px}
h2{font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.02;letter-spacing:-.045em;margin-bottom:16px}
h3{font-size:1.2rem;margin-bottom:10px}
p{color:var(--muted);line-height:1.7;font-size:1.02rem}
code{background:rgba(255,255,255,.08);border:1px solid var(--line);padding:.15em .4em;border-radius:8px;color:#fff}
.hero-copy p{max-width:680px;font-size:1.12rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 28px}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:46px;padding:0 19px;border-radius:999px;border:1px solid var(--line);
  background:rgba(255,255,255,.06);color:var(--text);font-weight:800;cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.1)}
.button-primary{background:linear-gradient(135deg,var(--accent),#fff3ad);color:#171200;border-color:transparent;box-shadow:0 14px 36px rgba(255,211,77,.2)}
.button-ghost{background:rgba(255,255,255,.05)}
.button-small{min-height:38px;padding:0 14px;font-size:.9rem}
.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:610px}
.hero-stats div,.dex-summary{
  border:1px solid var(--line);border-radius:22px;padding:16px;background:rgba(255,255,255,.055);
}
.hero-stats strong,.dex-summary strong{display:block;font-size:1.75rem;color:var(--accent);line-height:1}
.hero-stats span,.dex-summary span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.hero-card-stack{position:relative;min-height:520px;display:grid;place-items:center}
.floating-card{
  position:absolute;width:min(290px,46vw);aspect-ratio:2.5/3.5;border-radius:24px;
  border:1px solid rgba(255,255,255,.22);
  background:
    linear-gradient(135deg,rgba(255,255,255,.25),transparent 30%),
    radial-gradient(circle at 50% 35%,rgba(255,211,77,.5),transparent 22%),
    linear-gradient(160deg,#121a36,#101728 48%,#33215c);
  box-shadow:var(--shadow), inset 0 0 0 8px rgba(255,255,255,.045);
}
.floating-card::before{content:"";position:absolute;inset:15px;border-radius:18px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(180deg,transparent,rgba(255,255,255,.06))}
.card-a{transform:rotate(-10deg) translate(-80px,12px)}
.card-b{transform:rotate(8deg) translate(60px,-25px);background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 30%),radial-gradient(circle at 50% 30%,rgba(93,225,255,.48),transparent 22%),linear-gradient(160deg,#111a33,#0f1d2c 48%,#17385d)}
.card-c{transform:rotate(0deg) translateY(46px);z-index:2;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 30%),radial-gradient(circle at 50% 32%,rgba(255,92,92,.45),transparent 22%),linear-gradient(160deg,#151d33,#1a1424 48%,#4d202d)}
.scan-ring{width:430px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,211,77,.18);box-shadow:0 0 80px rgba(255,211,77,.08), inset 0 0 80px rgba(93,225,255,.08);animation:pulse 5s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.07);opacity:.6}}
.section-panel,.info-card,.feature-card,.download-card,.rule-block{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(16px);box-shadow:0 18px 60px rgba(0,0,0,.22)
}
.section-panel{padding:28px;margin-bottom:26px}
.split-panel{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:center}
.feature-list{display:grid;gap:12px}
.feature-list article{padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.055)}
.feature-list strong{display:block;margin-bottom:6px;color:var(--text)}
.feature-list span{color:var(--muted);line-height:1.55}
.section-grid{display:grid;gap:18px;margin:26px 0 46px}
.three-up{grid-template-columns:repeat(3,1fr)}
.two-up{grid-template-columns:repeat(2,1fr)}
.feature-card,.info-card{padding:26px;min-height:220px;transition:transform .18s ease,border-color .18s ease}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(255,211,77,.42)}
.feature-card span,.rule-block span,.panel-number{color:var(--accent);font-size:.82rem;font-weight:900;letter-spacing:.16em}
.page-hero{padding:42px 0 34px}
.compact-hero h1{max-width:980px;font-size:clamp(2.2rem,5vw,4.7rem)}
.compact-hero p{max-width:820px}
.lore-panel{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:center}
.panel-number{font-size:1.2rem;display:grid;place-items:center;height:180px;border-radius:50%;border:1px solid rgba(255,211,77,.35);background:radial-gradient(circle,rgba(255,211,77,.18),transparent 62%)}
.rules-layout{display:grid;grid-template-columns:220px 1fr;gap:22px;margin-bottom:50px;align-items:start}
.rules-toc{position:sticky;top:110px;border:1px solid var(--line);border-radius:24px;background:rgba(7,10,20,.68);padding:12px;display:grid;gap:6px}
.rules-toc a{padding:12px 14px;border-radius:16px;color:var(--muted)}
.rules-toc a:hover{background:rgba(255,255,255,.08);color:var(--text)}
.rules-content{display:grid;gap:16px}
.rule-block{padding:24px;scroll-margin-top:120px}
.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:52px}
.download-card{padding:26px;min-height:230px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.primary-download{grid-column:1/-1;min-height:260px;background:linear-gradient(135deg,rgba(255,211,77,.18),rgba(93,225,255,.08)),var(--panel)}
.pill{display:inline-flex;border:1px solid rgba(255,211,77,.45);border-radius:999px;padding:7px 10px;font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);margin-bottom:18px}
.carddex-hero{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:end}
.carddex-hero h1{font-size:clamp(2.2rem,5vw,4.9rem);max-width:880px}
.dex-summary{text-align:center;padding:28px}
.dex-summary strong{font-size:3.2rem}
.dex-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:end}
.dex-toolbar label,.search-box{display:grid;gap:8px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
input,select{
  width:100%;height:46px;border-radius:16px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:var(--text);padding:0 14px;outline:none;
}
input:focus,select:focus{border-color:rgba(255,211,77,.5);box-shadow:0 0 0 4px rgba(255,211,77,.08)}
.dex-status{margin:18px 0;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,var(--card-width));gap:18px;margin:18px 0 56px}
.dex-card{
  display:block;border:1px solid var(--line);border-radius:22px;padding:12px;background:rgba(12,17,32,.76);box-shadow:0 16px 44px rgba(0,0,0,.22);transition:transform .18s ease,border-color .18s ease;
}
.dex-card:hover{transform:translateY(-5px);border-color:rgba(255,211,77,.42)}
.card-crop{aspect-ratio:635/914;border-radius:16px;background-color:#101629;background-repeat:no-repeat;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);overflow:hidden;position:relative}
.card-crop::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.18),transparent 28%,transparent 72%,rgba(0,0,0,.25));pointer-events:none}
.card-meta{padding:12px 4px 2px}
.card-meta strong{display:block;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-meta span{display:block;color:var(--muted);font-size:.82rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.card-tags em{font-style:normal;font-size:.68rem;color:var(--accent);border:1px solid rgba(255,211,77,.28);border-radius:999px;padding:4px 7px;background:rgba(255,211,77,.06)}
.card-detail-shell{margin:34px 0 58px}
.card-detail{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:32px;align-items:start}
.detail-image-wrap{position:sticky;top:118px;border:1px solid var(--line);border-radius:30px;padding:14px;background:rgba(7,10,20,.76);box-shadow:var(--shadow);display:flex;justify-content:center;align-items:flex-start}
.detail-image-wrap .card-crop{border-radius:22px;width:min(100%,calc((100vh - 170px) * .695),360px);max-width:360px;aspect-ratio:635/914}
.detail-panel{border:1px solid var(--line);border-radius:30px;background:var(--panel);padding:30px;box-shadow:var(--shadow)}
.detail-panel h1{font-size:clamp(2rem,4vw,4.4rem);margin-bottom:12px}
.detail-subtitle{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;margin-bottom:22px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}
.stat{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.055);padding:13px}
.stat span{display:block;color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.stat strong{font-size:1.05rem}
.rules-text{border-left:4px solid var(--accent);padding:14px 0 14px 18px;margin:20px 0;background:linear-gradient(90deg,rgba(255,211,77,.08),transparent)}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.detail-actions .button{min-height:42px}
.edit-note{margin-top:22px;padding:16px;border:1px dashed rgba(255,255,255,.22);border-radius:18px;color:var(--muted)}
.site-footer{display:flex;justify-content:space-between;gap:22px;align-items:center;border-top:1px solid var(--line);padding:28px 0 42px;margin-top:20px;color:var(--muted)}
.site-footer p{font-size:.9rem;margin:5px 0 0}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.footer-links a,.footer-links button{color:var(--muted);background:transparent;border:0;cursor:pointer;padding:8px}.footer-links a:hover,.footer-links button:hover{color:var(--text)}
.settings-panel{position:fixed;inset:0;z-index:60;display:none}.settings-panel.is-open{display:block}.settings-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}
.settings-card{position:absolute;right:18px;top:18px;width:min(520px,calc(100% - 36px));border:1px solid var(--line);border-radius:30px;background:rgba(12,17,32,.96);box-shadow:var(--shadow);padding:24px}.settings-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}.settings-head h2{margin:5px 0 0}.icon-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--text);font-size:1.6rem;cursor:pointer}.setting-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.setting-row span{display:block;color:var(--muted);font-size:.9rem;margin-top:3px}.setting-row input{width:170px}.setting-row select{width:190px}.settings-note{font-size:.86rem;margin:10px 0 0}
@media (max-width:860px){
  .site-shell{width:min(100% - 24px,1180px)}.site-header{border-radius:26px;align-items:flex-start}.mobile-menu-button{display:block}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;border:1px solid var(--line);border-radius:24px;background:rgba(7,10,20,.96);padding:10px}.site-nav.is-open{display:grid}.nav-link{text-align:left}.hero-grid,.split-panel,.lore-panel,.rules-layout,.carddex-hero,.card-detail{grid-template-columns:1fr}.hero{min-height:auto;padding-top:24px}.hero-card-stack{min-height:420px}.three-up,.two-up,.download-grid,.dex-toolbar{grid-template-columns:1fr}.hero-stats,.stat-grid{grid-template-columns:1fr}.rules-toc,.detail-image-wrap{position:static}.site-footer{display:grid}.setting-row{grid-template-columns:1fr}.setting-row input,.setting-row select{width:100%}
}

/* Imported card image support */
.card-crop{display:block;overflow:hidden}
.card-crop img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.detail-image-wrap .card-crop img{object-fit:contain;background:#070a14}
.card-crop-bg{width:100%;height:100%;background-repeat:no-repeat;background-color:#101629}
.sheet-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:18px 0 34px}
.sheet-source-card{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:20px;background:rgba(12,17,32,.72);padding:12px;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.sheet-preview{aspect-ratio:1/1;border-radius:16px;background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.sheet-source-card strong{display:block;color:var(--text);font-size:.98rem}.sheet-source-card span{display:block;color:var(--muted);font-size:.78rem;margin:4px 0 8px}.sheet-source-card a{font-size:.78rem;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.source-box{margin-top:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045);padding:16px;display:grid;gap:5px}.source-box strong{color:var(--text)}.source-box span{color:var(--muted)}.source-box a{color:var(--accent);font-weight:800}
@media (max-width:560px){.sheet-source-card{grid-template-columns:1fr}.sheet-preview{aspect-ratio:16/9}}


/* Homepage featured starter cards */
.starter-stack{isolation:isolate}
.starter-card{
  position:absolute;
  display:block;
  width:min(235px,28vw);
  aspect-ratio:635/914;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(7,10,20,.72);
  box-shadow:var(--shadow),0 0 36px rgba(255,211,77,.08);
  overflow:hidden;
  transform-origin:center;
  transition:transform .22s ease,border-color .22s ease,filter .22s ease;
}
.starter-card img{width:100%;height:100%;display:block;object-fit:cover}
.starter-card span{
  position:absolute;left:12px;right:12px;bottom:12px;
  display:flex;justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:7px 10px;
  background:rgba(7,10,20,.76);
  color:var(--text);
  font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.starter-card:hover{border-color:rgba(255,211,77,.68);filter:brightness(1.08);z-index:5}
.starter-treecko{transform:rotate(-11deg) translate(-126px,4px);z-index:2}
.starter-torchic{transform:rotate(5deg) translate(8px,-24px);z-index:3}
.starter-mudkip{transform:rotate(13deg) translate(138px,20px);z-index:1}
.starter-treecko:hover{transform:rotate(-8deg) translate(-126px,-8px) scale(1.035)}
.starter-torchic:hover{transform:rotate(2deg) translate(8px,-42px) scale(1.035)}
.starter-mudkip:hover{transform:rotate(10deg) translate(138px,4px) scale(1.035)}



@media (max-width:860px){
  .starter-card{width:min(205px,36vw)}
  .starter-treecko{transform:rotate(-10deg) translate(-82px,6px)}
  .starter-torchic{transform:rotate(4deg) translate(0,-18px)}
  .starter-mudkip{transform:rotate(11deg) translate(86px,18px)}
}
@media (max-width:560px){
  .starter-card{width:min(170px,42vw)}
  .starter-treecko{transform:rotate(-10deg) translate(-58px,8px)}
  .starter-torchic{transform:rotate(3deg) translate(0,-14px)}
  .starter-mudkip{transform:rotate(10deg) translate(60px,18px)}
  .detail-image-wrap .card-crop{width:min(100%,310px)}
}

/* Homepage starter display fix: fill the original floating hero cards with actual card art. */
.hero-card-stack.starter-stack .floating-card.filled-card{
  display:block;
  padding:0;
  background:#101629;
  overflow:hidden;
  aspect-ratio:635/914;
  width:min(290px,42vw);
  border-radius:24px;
  text-indent:0;
  box-shadow:var(--shadow),0 0 44px rgba(255,211,77,.10),inset 0 0 0 1px rgba(255,255,255,.08);
}
.hero-card-stack.starter-stack .floating-card.filled-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.hero-card-stack.starter-stack .floating-card.filled-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.20),transparent 24%,transparent 74%,rgba(0,0,0,.22));
  pointer-events:none;
  z-index:2;
}
.hero-card-stack.starter-stack .floating-card.filled-card:hover{
  border-color:rgba(255,211,77,.65);
  filter:brightness(1.08);
  z-index:6;
}
.hero-card-stack.starter-stack .filled-card.card-a:hover{transform:rotate(-8deg) translate(-80px,0) scale(1.035)}
.hero-card-stack.starter-stack .filled-card.card-b:hover{transform:rotate(6deg) translate(60px,-38px) scale(1.035)}
.hero-card-stack.starter-stack .filled-card.card-c:hover{transform:rotate(0deg) translateY(32px) scale(1.035)}
@media (max-width:860px){
  .hero-card-stack.starter-stack .floating-card.filled-card{width:min(245px,44vw)}
}
@media (max-width:560px){
  .hero-card-stack.starter-stack .floating-card.filled-card{width:min(190px,50vw)}
}


/* Card detail preview fix: use one stable full-card frame instead of oversized crop behavior. */
.card-detail.detail-preview-fixed{grid-template-columns:minmax(240px,340px) 1fr;align-items:start}
.detail-preview-fixed .detail-image-wrap{
  flex-direction:column;
  align-items:center;
  gap:12px;
}
.detail-card-frame{
  width:min(100%,320px,calc((100svh - 180px) * .695));
  max-width:320px;
  min-width:220px;
  aspect-ratio:635/914;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  background:#101629;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 16px 42px rgba(0,0,0,.28);
}
.detail-card-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(140deg,rgba(255,255,255,.13),transparent 24%,transparent 78%,rgba(0,0,0,.18));
}
.detail-card-image{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
}
img.detail-card-image{
  object-fit:contain;
  object-position:center;
  background:#070a14;
}
.detail-card-sheet-crop{
  background-repeat:no-repeat;
  background-color:#101629;
}
.detail-preview-tools{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
}
.detail-preview-tools a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:var(--accent);
  background:rgba(255,255,255,.045);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.detail-preview-tools a:hover{border-color:rgba(255,211,77,.45);background:rgba(255,211,77,.08)}
@media (max-width:860px){
  .card-detail.detail-preview-fixed{grid-template-columns:1fr}
  .detail-card-frame{width:min(100%,310px);min-width:0}
}
@media (max-width:560px){
  .detail-card-frame{width:min(100%,285px)}
}


/* Nexus radio audio controls */
.audio-console{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:45;
  width:min(430px,calc(100% - 36px));
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(12,17,32,.88),rgba(7,10,20,.78));
  backdrop-filter:blur(18px);
  box-shadow:0 18px 60px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.045);
}
.audio-console-orb{
  width:38px;
  height:38px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 32%,#fff8c8 0 8%,var(--accent) 9% 33%,rgba(255,211,77,.1) 34% 62%,rgba(93,225,255,.18));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 18px rgba(255,211,77,.22);
}
.audio-console-main{min-width:0;display:grid;gap:2px}
.audio-kicker{color:var(--accent);font-size:.63rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900}
.audio-console-main strong{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.audio-console-main small{color:var(--muted);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.audio-console-controls{display:flex;align-items:center;gap:6px}
.audio-btn{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:var(--text);
  cursor:pointer;
  font-weight:900;
  line-height:1;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.audio-btn:hover{transform:translateY(-2px);border-color:rgba(255,211,77,.52);background:rgba(255,211,77,.11)}
.audio-btn-primary{background:linear-gradient(135deg,var(--accent),#fff3ad);color:#171200;border:0;box-shadow:0 8px 22px rgba(255,211,77,.18)}
.setting-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.audio-now-row [data-track-status]{font-size:.78rem;color:var(--accent);margin-top:4px}
@media (max-width:700px){
  .audio-console{grid-template-columns:auto 1fr;bottom:12px;right:12px;width:calc(100% - 24px)}
  .audio-console-controls{grid-column:1/-1;justify-content:space-between}
  .audio-btn{width:38px;height:38px}
}


/* Nexus Battle Simulator */
.battle-site-shell{--battle-green:#82e887;--battle-red:#ff6b7a;--battle-blue:#79d9ff;}
.battle-main{display:grid;gap:1.35rem;}
.battle-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:1rem;align-items:center;overflow:hidden;position:relative;}
.battle-hero:after{content:"";position:absolute;inset:auto -12% -30% 48%;height:300px;background:radial-gradient(circle,rgba(255,224,107,.18),transparent 60%);pointer-events:none;}
.battle-hero h1{font-size:clamp(2.25rem,6vw,5.5rem);line-height:.9;margin:.25rem 0 1rem;letter-spacing:-.07em;}
.battle-hero p{max-width:760px;color:var(--muted);font-size:1.08rem;line-height:1.7;}
.battle-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.1rem;}
.battle-hero-card{position:relative;border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:1.15rem;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 24px 70px rgba(0,0,0,.35);display:grid;gap:.4rem;z-index:1;}
.battle-hero-card span,.battle-hero-card em{color:var(--muted);font-style:normal;}
.battle-hero-card strong{font-size:1.45rem;color:var(--text);}
.battle-app{display:grid;gap:1rem;}
.battle-menu-panel,.draft-screen,.league-screen,.battle-screen,.result-screen{border:1px solid rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(180deg,rgba(12,19,39,.9),rgba(8,12,25,.92));box-shadow:0 24px 80px rgba(0,0,0,.3);padding:clamp(1rem,2.5vw,1.5rem);}
.battle-menu-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,470px);gap:1.2rem;align-items:start;}
.battle-menu-copy h2,.draft-head h2,.league-head h2,.battle-topbar h2,.result-card h2{font-size:clamp(2rem,4vw,3.4rem);line-height:.95;margin:.2rem 0 .8rem;letter-spacing:-.05em;}
.battle-menu-copy p,.draft-head p,.league-head p{color:var(--muted);line-height:1.65;}
.trainer-form{border:1px solid rgba(255,255,255,.13);border-radius:24px;padding:1rem;background:rgba(255,255,255,.04);display:grid;gap:.55rem;}
.trainer-form label{font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;color:var(--accent);}
.trainer-form-row{display:flex;gap:.55rem;align-items:center;}
.trainer-form-row input{width:100%;min-width:0;background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:.9rem 1rem;font-weight:800;outline:0;}
.trainer-form-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,220,93,.14);}
.battle-tips{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;}
.battle-tips article{border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:1rem;background:rgba(255,255,255,.04);display:grid;gap:.35rem;}
.battle-tips strong{font-size:1rem;}
.battle-tips span{color:var(--muted);font-size:.92rem;line-height:1.5;}
.is-hidden{display:none!important;}
.draft-head,.league-head,.battle-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;}
.draft-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end;}
.draft-actions select{background:rgba(255,255,255,.08);color:var(--text);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.78rem 1rem;font-weight:900;}
.selected-team{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1rem;}
.selected-slot{min-height:94px;border:1px dashed rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.035);display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:900;padding:.55rem;}
.selected-slot.filled{border-style:solid;border-color:rgba(255,224,102,.3);background:linear-gradient(180deg,rgba(255,224,102,.11),rgba(255,255,255,.035));}
.selected-slot img{image-rendering:pixelated;height:56px;width:76px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.35));}
.selected-slot span{font-size:.8rem;display:block;}
.draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;max-height:680px;overflow:auto;padding-right:.35rem;}
.draft-mon{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.045);padding:.75rem;display:grid;gap:.4rem;text-align:left;color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.draft-mon:hover{transform:translateY(-2px);border-color:rgba(255,224,102,.45);background:rgba(255,255,255,.07);}
.draft-mon.is-selected{border-color:rgba(130,232,135,.65);box-shadow:0 0 0 2px rgba(130,232,135,.12) inset;}
.draft-mon:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.draft-mon img{image-rendering:pixelated;width:100%;height:82px;object-fit:contain;filter:drop-shadow(0 15px 14px rgba(0,0,0,.4));}
.draft-mon strong{font-size:1rem;}
.type-pills{display:flex;gap:.35rem;flex-wrap:wrap;}
.type-pill{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:.16rem .42rem;color:#fff;background:rgba(255,255,255,.09);font-weight:900;}
.leader-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.75rem;margin-bottom:1rem;}
.leader-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.04);padding:.85rem;display:grid;gap:.45rem;position:relative;overflow:hidden;}
.leader-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--accent);opacity:.7;}
.leader-card.is-complete{border-color:rgba(130,232,135,.35);}
.leader-card.is-current{box-shadow:0 0 0 2px rgba(255,224,102,.22) inset;background:rgba(255,224,102,.06);}
.leader-card span{color:var(--muted);font-size:.85rem;}
.leader-card strong{font-size:1.05rem;}
.party-inspector{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;}
.party-card{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.04);padding:.75rem;display:grid;gap:.45rem;}
.party-card img{image-rendering:pixelated;height:60px;width:100%;object-fit:contain;}
.mini-hp{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;}
.mini-hp i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--battle-green),var(--accent));}
.battle-screen{padding:1rem;}
.battlefield{position:relative;min-height:520px;border:1px solid rgba(255,255,255,.12);border-radius:30px;background:radial-gradient(circle at 72% 25%,rgba(255,224,102,.14),transparent 22%),radial-gradient(circle at 20% 80%,rgba(93,210,255,.12),transparent 24%),linear-gradient(180deg,rgba(15,28,52,.95),rgba(7,10,20,.96));overflow:hidden;display:grid;grid-template-rows:1fr 1fr;}
.battlefield:after{content:"";position:absolute;left:10%;right:10%;top:52%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);}
.combatant{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:1rem;z-index:1;}
.enemy-side{align-items:start;}
.player-side{align-items:end;}
.enemy-stage{justify-self:center;align-self:end;}
.player-stage{justify-self:center;align-self:start;}
.sprite-stage{position:relative;width:min(34vw,260px);height:190px;display:grid;place-items:center;}
.sprite-stage:before{content:"";position:absolute;left:12%;right:12%;bottom:22px;height:28px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(6px);}
.sprite-stage img{position:relative;image-rendering:pixelated;max-width:100%;max-height:160px;width:auto;height:auto;transform:scale(2);transform-origin:center bottom;filter:drop-shadow(0 20px 18px rgba(0,0,0,.38));transition:transform .18s ease,filter .18s ease,opacity .18s ease;}
.sprite-stage span{position:absolute;inset:auto 1rem 1rem;text-align:center;color:var(--muted);font-weight:900;}
.combat-card{border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(7,12,24,.82);box-shadow:0 20px 60px rgba(0,0,0,.3);padding:1rem;display:grid;gap:.65rem;max-width:380px;backdrop-filter:blur(12px);}
.enemy-info{justify-self:start;align-self:start;}
.player-info{justify-self:end;align-self:end;}
.combat-card strong{font-size:1.35rem;display:block;}
.combat-card span{color:var(--muted);font-size:.9rem;}
.hp-shell{display:grid;gap:.35rem;}
.hp-bar{height:14px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.hp-bar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--battle-green),#eaff92);transition:width .45s ease,background .25s ease;}
.hp-bar.low i{background:linear-gradient(90deg,#ff6b7a,#ffd166);}
.battle-console{display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(230px,.85fr) minmax(260px,1fr);gap:.8rem;margin-top:.8rem;}
.move-grid,.switch-grid{display:grid;gap:.55rem;align-content:start;}
.move-button,.switch-button{border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.055);color:var(--text);padding:.75rem;text-align:left;cursor:pointer;font-weight:900;display:grid;gap:.25rem;transition:.16s ease;}
.move-button:hover,.switch-button:hover{transform:translateY(-1px);border-color:rgba(255,224,102,.45);background:rgba(255,255,255,.08);}
.move-button:disabled,.switch-button:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.move-button span,.switch-button span{font-size:.78rem;color:var(--muted);font-weight:700;}
.switch-button.active{border-color:rgba(130,232,135,.55);}
.battle-log{min-height:210px;max-height:270px;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(0,0,0,.22);padding:.75rem;color:var(--muted);line-height:1.55;font-size:.95rem;}
.battle-log p{margin:0 0 .45rem;}
.battle-log strong{color:var(--text);}
.sprite-hit img{animation:battleHit .34s ease;}
.sprite-attack img{animation:battleAttack .32s ease;}
.sprite-faint img{opacity:.25;transform:scale(1.65) translateY(22px);filter:grayscale(1) drop-shadow(0 20px 18px rgba(0,0,0,.38));}
@keyframes battleHit{0%,100%{transform:scale(2) translateX(0)}25%{transform:scale(2) translateX(-8px)}60%{transform:scale(2) translateX(7px)}}
@keyframes battleAttack{0%,100%{transform:scale(2) translateX(0)}50%{transform:scale(2.08) translateX(18px)}}
.result-screen{min-height:360px;display:grid;place-items:center;text-align:center;}
.result-card{max-width:620px;display:grid;gap:.75rem;}
.result-card p{color:var(--muted);line-height:1.65;font-size:1.05rem;}
.result-actions{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;}
.battle-notes p{color:var(--muted);line-height:1.7;}
@media (max-width: 920px){.battle-hero,.battle-menu-panel{grid-template-columns:1fr}.battle-tips{grid-template-columns:1fr}.selected-team{grid-template-columns:repeat(3,1fr)}.battle-console{grid-template-columns:1fr}.battlefield{min-height:620px}.combatant{grid-template-columns:1fr}.enemy-info,.player-info{justify-self:stretch}.player-side{display:flex;flex-direction:column-reverse}.sprite-stage{width:100%;}.sprite-stage img{transform:scale(1.65)}@keyframes battleHit{0%,100%{transform:scale(1.65) translateX(0)}25%{transform:scale(1.65) translateX(-8px)}60%{transform:scale(1.65) translateX(7px)}}@keyframes battleAttack{0%,100%{transform:scale(1.65) translateX(0)}50%{transform:scale(1.72) translateX(18px)}}}
@media (max-width: 620px){.trainer-form-row,.draft-head,.league-head,.battle-topbar{flex-direction:column}.draft-actions{justify-content:flex-start}.selected-team{grid-template-columns:repeat(2,1fr)}.battlefield{min-height:680px}.battle-hero h1{font-size:3rem}}

/* Battle Arcade 0.2 additions */
.nexus-arcade-menu{align-items:start;}
.trainer-picker-wrap{display:grid;gap:1rem;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:1rem;}
.trainer-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;}
.trainer-choice{min-height:96px;border:1px solid rgba(255,255,255,.13);background:rgba(7,12,28,.72);border-radius:18px;color:var(--text);display:grid;place-items:center;gap:.25rem;padding:.65rem;cursor:pointer;transition:.18s ease;}
.trainer-choice:hover,.trainer-choice.is-selected{transform:translateY(-2px);border-color:rgba(255,211,77,.62);box-shadow:0 14px 30px rgba(0,0,0,.22);}
.trainer-choice img{image-rendering:pixelated;max-height:46px;max-width:70px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45));}
.trainer-choice strong{font-size:.75rem;line-height:1.1;text-align:center;}
.trainer-fallback{display:none;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,rgba(255,211,77,.9),rgba(89,195,255,.65));color:#10131d;font-weight:900;}
.mode-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:.5rem;}
.mode-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border-radius:24px;color:var(--text);padding:1.15rem;text-align:left;display:grid;gap:.45rem;cursor:pointer;transition:.2s ease;min-height:132px;}
.mode-card strong{font-size:1.05rem;}
.mode-card span,.mini-muted{color:var(--muted);line-height:1.5;}
.mode-card:hover{transform:translateY(-3px);border-color:rgba(255,211,77,.58);background:linear-gradient(145deg,rgba(255,211,77,.14),rgba(89,195,255,.055));}
.toggle-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:.55rem .8rem;color:var(--muted);background:rgba(255,255,255,.04);font-size:.85rem;font-weight:800;}
.toggle-chip input{accent-color:var(--accent);}
.selected-slot small{font-size:.62rem;color:var(--muted);line-height:1.25;text-align:center;max-width:150px;}
.selected-slot.is-editing{border-color:rgba(255,211,77,.75);box-shadow:0 0 0 3px rgba(255,211,77,.12);}
.move-editor{margin:1rem 0 1.1rem;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:rgba(255,255,255,.04);padding:1rem;display:grid;gap:1rem;}
.move-editor h3{margin:0;font-size:1.2rem;}
.move-editor p{margin:.3rem 0 0;color:var(--muted);line-height:1.55;}
.move-editor-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;}
.learnset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;}
.learnset-move{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(5,9,20,.68);padding:.7rem;display:grid;gap:.25rem;cursor:pointer;transition:.15s ease;}
.learnset-move input{position:absolute;opacity:0;pointer-events:none;}
.learnset-move strong{font-size:.9rem;}
.learnset-move span{font-size:.7rem;color:var(--muted);line-height:1.35;}
.learnset-move.is-chosen{border-color:rgba(255,211,77,.72);background:rgba(255,211,77,.11);}
.map-screen,.minigame-screen{display:grid;gap:1rem;}
.rogue-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;}
.rogue-status article{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.04);padding:.85rem;display:grid;gap:.2rem;}
.rogue-status span{color:var(--muted);font-size:.85rem;}
.rogue-map{display:grid;grid-template-columns:repeat(10,minmax(74px,1fr));grid-auto-rows:96px;gap:.8rem;overflow-x:auto;padding:1rem;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));}
.map-node{border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(7,12,28,.75);color:var(--text);display:grid;place-items:center;text-align:center;gap:.2rem;padding:.45rem;min-width:74px;cursor:pointer;transition:.18s ease;}
.map-node span{font-size:1.3rem;}.map-node strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;}.map-node:disabled{opacity:.42;cursor:not-allowed}.map-node.is-available:not(:disabled){border-color:rgba(255,211,77,.6);box-shadow:0 0 0 3px rgba(255,211,77,.08)}.map-node.is-complete{background:rgba(122,199,76,.12);border-color:rgba(122,199,76,.45)}
.map-node.heal{background:rgba(122,199,76,.09)}.map-node.relic{background:rgba(255,211,77,.09)}.map-node.rift{background:rgba(111,53,252,.16)}.map-node.champion{background:rgba(255,85,105,.12)}
.trainer-badge{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:18px;padding:.5rem;display:grid;place-items:center;min-width:84px;min-height:84px;align-self:center;}
.trainer-badge img{image-rendering:pixelated;max-width:80px;max-height:72px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.44));}
.trainer-badge span{display:none;width:46px;height:46px;border-radius:999px;background:rgba(255,211,77,.85);color:#111827;font-weight:900;place-items:center;}
.minigame-tabs{display:flex;flex-wrap:wrap;gap:.75rem;}
.minigame-stage{min-height:390px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.04);padding:1rem;display:grid;gap:1rem;}
.mini-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;}.mini-head h3{margin:0;font-size:1.35rem}.mini-head p{margin:0;color:var(--muted)}
.catch-arena{position:relative;min-height:300px;border-radius:22px;background:radial-gradient(circle at 30% 20%,rgba(122,199,76,.14),transparent 28%),linear-gradient(135deg,rgba(89,195,255,.08),rgba(255,211,77,.05));overflow:hidden;border:1px solid rgba(255,255,255,.09);}
.catch-target{position:absolute;width:96px;height:96px;border:0;background:transparent;cursor:pointer;transition:left .22s ease,top .22s ease,transform .12s ease;}.catch-target:hover{transform:scale(1.08)}.catch-target img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 12px 12px rgba(0,0,0,.42));}
.match-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}.match-card{min-height:76px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(7,12,28,.75);color:var(--text);font-weight:900;cursor:pointer;}.match-card.matched{background:rgba(122,199,76,.13);border-color:rgba(122,199,76,.5);}
.type-target{display:grid;place-items:center;gap:.5rem;padding:1rem;border-radius:22px;background:rgba(7,12,28,.6);border:1px solid rgba(255,255,255,.08);}.type-target img{height:106px;image-rendering:pixelated;}.type-target h4{margin:0;font-size:1.25rem}.type-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;}
.leader-card img{image-rendering:pixelated;max-width:58px;max-height:58px;object-fit:contain;justify-self:center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.42));}
@media (max-width: 980px){.mode-grid{grid-template-columns:1fr}.trainer-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.learnset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rogue-status{grid-template-columns:1fr}.rogue-map{grid-template-columns:repeat(10,84px)}.type-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 620px){.learnset-grid,.match-grid{grid-template-columns:1fr}.move-editor-head,.mini-head{align-items:flex-start;flex-direction:column}.trainer-picker{grid-template-columns:1fr}}


/* Battle Arcade 0.3 polish: tighter UI, corrected battle staging, real board token */
.battle-menu-panel,.draft-screen,.league-screen,.battle-screen,.result-screen,.map-screen,.minigame-screen{
  border-radius:24px;
  background:linear-gradient(180deg,rgba(12,18,36,.94),rgba(6,10,22,.96));
}
.battle-topbar{align-items:center;margin-bottom:.75rem;}
.battle-topbar h2{font-size:clamp(2.1rem,4.5vw,3.2rem);}
.battle-screen{padding:clamp(.75rem,1.6vw,1.05rem);}
.battlefield{
  display:block;
  min-height:500px;
  border-radius:26px;
  background:
    radial-gradient(ellipse at 72% 25%,rgba(255,231,117,.18),transparent 27%),
    radial-gradient(ellipse at 23% 78%,rgba(93,210,255,.16),transparent 30%),
    linear-gradient(180deg,rgba(13,27,53,.97),rgba(5,9,21,.98));
}
.battlefield:before{
  content:"";
  position:absolute;
  inset:36px 7% 36px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.07),transparent 64%);
  transform:skewX(-9deg);
  pointer-events:none;
}
.battlefield:after{top:50%;opacity:.65;}
.combatant{position:absolute;display:block;padding:0;z-index:1;}
.enemy-side{top:34px;right:5%;left:auto;width:min(56%,610px);height:205px;}
.player-side{left:5%;bottom:36px;width:min(58%,650px);height:230px;}
.enemy-info{position:absolute;left:0;top:0;width:min(330px,46vw);justify-self:auto;align-self:auto;z-index:4;}
.player-info{position:absolute;right:0;bottom:0;width:min(330px,46vw);justify-self:auto;align-self:auto;z-index:4;}
.enemy-stage{position:absolute;right:72px;top:56px;width:250px;height:150px;justify-self:auto;align-self:auto;z-index:3;}
.player-stage{position:absolute;left:96px;bottom:62px;width:280px;height:170px;justify-self:auto;align-self:auto;z-index:3;}
.enemy-side .trainer-badge{position:absolute;right:0;top:0;min-width:92px;min-height:78px;z-index:2;opacity:.9;}
.player-side .trainer-badge{position:absolute;left:0;bottom:0;min-width:92px;min-height:78px;z-index:2;opacity:.9;}
.sprite-stage{--sprite-scale:2.05;}
.player-stage{--sprite-scale:2.12;}
.sprite-stage:before{bottom:10px;left:17%;right:17%;height:22px;opacity:.85;}
.sprite-stage img{transform:scale(var(--sprite-scale));max-height:118px;}
.player-stage img{max-height:122px;}
.sprite-faint img{opacity:.25;transform:scale(calc(var(--sprite-scale) * .83)) translateY(22px);filter:grayscale(1) drop-shadow(0 20px 18px rgba(0,0,0,.38));}
@keyframes battleHit{0%,100%{transform:scale(var(--sprite-scale)) translateX(0)}25%{transform:scale(var(--sprite-scale)) translateX(-8px)}60%{transform:scale(var(--sprite-scale)) translateX(7px)}}
@keyframes battleAttack{0%,100%{transform:scale(var(--sprite-scale)) translateX(0)}50%{transform:scale(calc(var(--sprite-scale) + .08)) translateX(18px)}}
.combat-card{border-radius:18px;padding:.85rem .95rem;max-width:none;background:rgba(5,10,23,.86);}
.combat-card strong{font-size:1.2rem;}
.battle-console{grid-template-columns:minmax(280px,1.1fr) minmax(230px,.75fr) minmax(260px,.95fr);gap:.65rem;}
.move-button,.switch-button{border-radius:14px;padding:.65rem .72rem;}
.battle-log{border-radius:14px;min-height:190px;max-height:245px;}
.rogue-map{
  position:relative;
  grid-template-columns:repeat(10,86px);
  grid-template-rows:repeat(3,96px);
  grid-auto-rows:96px;
  justify-content:start;
  gap:.65rem;
  min-height:330px;
  min-width:1040px;
  overflow:hidden;
  padding:1rem 1.1rem;
  border-radius:26px;
  background:
    radial-gradient(circle at 11% 18%,rgba(122,199,76,.13),transparent 16%),
    radial-gradient(circle at 73% 52%,rgba(111,53,252,.16),transparent 19%),
    radial-gradient(circle at 95% 18%,rgba(255,85,105,.14),transparent 17%),
    linear-gradient(135deg,rgba(14,31,50,.92),rgba(8,12,26,.96));
}
.map-path-lines{position:absolute;inset:1rem 1.1rem;z-index:0;width:1000px;height:318px;pointer-events:none;opacity:.6;}
.map-path-lines line{stroke:rgba(255,224,102,.24);stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,224,102,.15));}
.map-node{position:relative;z-index:2;border-radius:18px;background:rgba(6,12,26,.83);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.24);}
.map-node span{font-size:1.45rem;line-height:1;}
.map-node strong{font-size:.68rem;}
.map-node.has-token{border-color:rgba(255,255,255,.5);}
.map-token{z-index:5;align-self:start;justify-self:center;width:52px;height:52px;margin-top:-18px;border-radius:999px;background:linear-gradient(135deg,rgba(255,224,102,.95),rgba(93,210,255,.82));border:2px solid rgba(255,255,255,.85);box-shadow:0 12px 25px rgba(0,0,0,.45),0 0 0 6px rgba(255,224,102,.12);display:grid;place-items:center;pointer-events:none;animation:tokenArrive .42s ease both;}
.map-token img{image-rendering:pixelated;max-width:44px;max-height:46px;filter:drop-shadow(0 7px 8px rgba(0,0,0,.4));}
.map-token span{display:none;width:100%;height:100%;place-items:center;color:#111827;font-weight:1000;font-size:1.15rem;}
@keyframes tokenArrive{from{transform:translateY(-12px) scale(.88);opacity:.35}to{transform:translateY(0) scale(1);opacity:1}}
.rogue-status article,.party-card,.leader-card,.trainer-form,.move-editor,.minigame-stage{border-radius:16px;}
.draft-mon{border-radius:18px;}
.selected-slot{border-radius:18px;}
@media (max-width: 920px){
  .battlefield{min-height:600px;}
  .enemy-side,.player-side{left:1rem;right:1rem;width:auto;}
  .enemy-stage{right:1.5rem;top:86px;}
  .player-stage{left:2rem;bottom:90px;}
  .enemy-info,.player-info{width:min(340px,70vw);}
  .player-info{right:0;}
  .battle-console{grid-template-columns:1fr;}
}
@media (max-width: 620px){
  .battlefield{min-height:660px;}
  .enemy-side{top:20px;}
  .player-side{bottom:22px;}
  .enemy-stage,.player-stage{position:absolute;left:50%;right:auto;transform:translateX(-50%);}
  .enemy-stage{top:120px;}
  .player-stage{bottom:120px;}
  .enemy-info,.player-info{left:0;right:0;width:auto;}
  .enemy-side .trainer-badge,.player-side .trainer-badge{display:none;}
  .sprite-stage{--sprite-scale:1.72;}
}
