﻿*{box-sizing:border-box;margin:0;padding:0;}
/* Tokens compartidos + paletas por tema (NTE — violeta cósmico · Rediseño 2026) */
:root{
  --font-sans:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --purple:#7B6BF2;
  --purple-deep:#5B4AD4;
  --purple2:#B4AAFC;
  --green:#2DD4A8;
  --amber:#F5B942;
  --red:#F06565;
  --orange:#E88838;
  --s-color:#E8B830;
  --a-color:#A78BFA;
  --b-color:#5EB8F0;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --radius-xl:20px;
  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(0,0,.2,1);
  --ease-spring:cubic-bezier(.34,1.4,.64,1);
  --dur-fast:.15s;
  --dur-normal:.25s;
  --dur-slow:.35s;
  --dur-theme:.32s;
  --accent-line:linear-gradient(90deg,var(--nte-teal),var(--nte-cyan));
  --nte-cyan:#5EDDD4;
  --nte-teal:#3DBFB5;
  --nte-pink:#E85D9A;
  --surface-border:var(--border2);
  --surface-shadow:var(--shadow-md),0 0 0 1px rgba(0,0,0,.2);
  --surface-inset:inset 0 1px 2px rgba(0,0,0,.12);
  /* ── Tokens semánticos (Fase 4 · UI/UX) — alias legibles sobre la paleta base ── */
  --accent:var(--nte-teal);
  --accent-2:var(--nte-cyan);
  --surface:var(--bg1);
  --surface-2:var(--bg2);
  --surface-3:var(--bg3);
  --content-text:var(--text1);
  --content-muted:var(--text3);
  --border-soft:var(--border);
  --border-strong:var(--border2);
  --ring:var(--nte-teal);
  --ring-soft:var(--focus-ring);
  --success:var(--green);
  --danger:var(--red);
  --warning:var(--amber);
  /* Escala de espaciado 4/8px (base grid) */
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
  --space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
  /* Rediseño 2026 — tokens premium */
  --glass-bg:rgba(10,13,20,.72);
  --glass-border:rgba(255,255,255,.06);
  --glow-teal:0 0 20px rgba(61,191,181,.15);
  --glow-purple:0 0 20px rgba(123,107,242,.12);
  --card-shadow:0 1px 4px rgba(0,0,0,.22);
  --card-shadow-hover:0 4px 16px rgba(0,0,0,.28);
  --topbar-blur:blur(16px) saturate(1.5);
  --gradient-brand:linear-gradient(135deg,var(--nte-teal),var(--nte-cyan));
  --gradient-accent:linear-gradient(135deg,var(--purple),var(--nte-cyan));
}
[data-theme="dark"]{
  color-scheme:dark;
  --bg0:#050710;
  --bg1:#0A0E18;
  --bg2:#111622;
  --bg3:#1A2030;
  --bg4:#242C3C;
  --glass:rgba(8,10,18,.82);
  --border:rgba(255,255,255,.06);
  --border2:rgba(255,255,255,.10);
  --text1:#EDF1F7;
  --text2:#8E9AB0;
  --text3:#7A8BA5;
  --purple-dim:rgba(61,191,181,.10);
  --purple-glow:rgba(61,191,181,.18);
  --green-dim:rgba(45,212,168,.10);
  --amber-dim:rgba(245,185,66,.10);
  --red-dim:rgba(240,101,101,.10);
  --s-dim:rgba(232,184,48,.10);
  --a-dim:rgba(167,139,250,.10);
  --b-dim:rgba(94,184,240,.10);
  --shadow-sm:0 1px 4px rgba(0,0,0,.25),0 4px 16px rgba(0,0,0,.15);
  --shadow-md:0 4px 12px rgba(0,0,0,.3),0 12px 40px rgba(0,0,0,.2);
  --shadow-lg:0 8px 24px rgba(0,0,0,.35),0 24px 64px rgba(0,0,0,.25);
  --body-gradient:
    radial-gradient(ellipse 80% 50% at 50% -20%,rgba(61,191,181,.07),transparent),
    radial-gradient(ellipse 50% 35% at 100% 0%,rgba(94,184,240,.04),transparent),
    radial-gradient(ellipse 40% 30% at 0% 100%,rgba(123,107,242,.03),transparent);
  --shell-nav-bg:rgba(10,14,24,.78);
  --shell-panel-fill:var(--bg1);
  --focus-ring:rgba(61,191,181,.18);
  --logo-border:rgba(61,191,181,.20);
  --border-green:#1A5C3A;
  --border-amber:#5C3C0E;
  --shape-canvas:#0E0C16;
  --shape-ring-idle:#3A3A4A;
  --drop-overlay-bg:rgba(123,107,242,.15);
  --modal-backdrop:rgba(3,5,10,.80);
  --icon-shadow:0 4px 16px rgba(0,0,0,.35);
}
[data-theme="light"]{
  color-scheme:light;
  --surface-shadow:var(--shadow-md),0 0 0 1px rgba(26,29,46,.06);
  --surface-inset:inset 0 1px 2px rgba(26,29,46,.04);
  --bg0:#E4EAF4;
  --bg1:#F4F7FC;
  --bg2:#E8EDF6;
  --bg3:#DDE4F0;
  --bg4:#CED6E4;
  --glass:rgba(244,247,252,.92);
  --border:rgba(26,40,60,.1);
  --border2:rgba(26,40,60,.16);
  --text1:#121820;
  --text2:#3D4A5C;
  --text3:#566374;
  --purple-dim:rgba(255,77,154,.1);
  --purple-glow:rgba(61,191,181,.16);
  --s-dim:rgba(202,138,4,.12);
  --a-dim:rgba(124,58,237,.1);
  --b-dim:rgba(37,99,235,.1);
  --shadow-sm:0 2px 10px rgba(26,29,46,.07);
  --shadow-md:0 8px 28px rgba(26,29,46,.1);
  --shadow-lg:0 16px 40px rgba(26,29,46,.14);
  --body-gradient:
    radial-gradient(ellipse 90% 55% at 50% -15%,rgba(61,191,181,.08),transparent),
    radial-gradient(ellipse 50% 35% at 100% 0%,rgba(94,184,240,.04),transparent);
  --shell-nav-bg:rgba(255,255,255,.94);
  --shell-panel-fill:var(--bg1);
  --focus-ring:rgba(61,191,181,.18);
  --logo-border:rgba(61,191,181,.22);
  --green:#047857;
  --amber:#B45309;
  --red:#DC2626;
  --orange:#C2410C;
  --green-dim:rgba(4,120,87,.13);
  --amber-dim:rgba(180,83,9,.13);
  --red-dim:rgba(220,38,38,.1);
  --border-green:#34D399;
  --border-amber:#F59E0B;
  --shape-canvas:#F8F6FD;
  --shape-ring-idle:#C8C2D8;
  --drop-overlay-bg:rgba(123,107,242,.12);
  --modal-backdrop:rgba(26,29,46,.45);
  --icon-shadow:0 4px 14px rgba(26,29,46,.12);
}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--text1);
  background:var(--bg0);
  background-image:var(--body-gradient);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
}
/* Transición de tema — solo capas shell (nunca * universal) */
html.theme-xfade body,
html.theme-xfade .topbar,
html.theme-xfade .tabs,
html.theme-xfade .inv-controls,
html.theme-xfade .inv-search-field,
html.theme-xfade .inv-controls-foot,
html.theme-xfade .btn,
html.theme-xfade .tab,
html.theme-xfade .fp,
html.theme-xfade .theme-btn,
html.theme-xfade .stat-chip,
html.theme-xfade .modal,
html.theme-xfade .guide-card,
html.theme-xfade .info-banner,
html.theme-xfade .char-pick-bar,
html.theme-xfade .ic,
html.theme-xfade .char-card,
html.theme-xfade .arc-card,
html.theme-xfade .inv-picker-panel,
html.theme-xfade .inv-card,
html.theme-xfade input,
html.theme-xfade select{
  transition:background-color var(--dur-theme) var(--ease),color var(--dur-theme) var(--ease),border-color var(--dur-theme) var(--ease)!important;
}
/* Rendimiento: listas largas — solo visibility, sin contain pesado */
.ic,.char-card,.arc-card,.cap-card{
  content-visibility:auto;
  contain-intrinsic-size:auto 240px;
}
.char-card{contain-intrinsic-size:auto 520px;}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .ic,.char-card,.arc-card,.cap-card{content-visibility:visible;}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Foco visible universal (WCAG 2.2 · guía UI/UX) — rellena huecos donde no hay regla específica */
:focus-visible{outline:2px solid var(--nte-teal);outline-offset:2px;}
/* Theming adaptativo / contextual (guía: accesibilidad primero + theming contextual) */
@media (prefers-contrast:more){
  :root{--border:rgba(255,255,255,.3);--border2:rgba(255,255,255,.45);--text3:#9AA7BC;}
  [data-theme="light"]{--border:rgba(26,40,60,.32);--border2:rgba(26,40,60,.5);--text3:#3D4A5C;}
}
@media (prefers-reduced-transparency:reduce){
  .topbar{backdrop-filter:none;background:var(--bg0);}
  .bc-char-card,.glass-panel{backdrop-filter:none;}
}
::-webkit-scrollbar{width:7px;height:7px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:99px;border:2px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:var(--nte-teal);border:1px solid transparent;background-clip:content-box;}

/* SHELL */
.app-shell{min-height:100vh;display:flex;flex-direction:column;}
#main-content{display:flex;flex-direction:column;flex:1;min-width:0;}

/* TOPBAR */
.topbar{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  padding:10px 1.75rem;
  border-bottom:1px solid var(--glass-border);
  background:var(--shell-nav-bg);
  backdrop-filter:var(--topbar-blur);
  -webkit-backdrop-filter:var(--topbar-blur);
  box-shadow:0 1px 0 var(--glass-border),var(--shadow-sm);
}
.topbar::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 5%,var(--nte-teal) 30%,var(--nte-cyan) 50%,var(--purple) 70%,transparent 95%);
  opacity:.4;
}
.topbar::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 60%);
}
.topbar-brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo{
  width:40px;height:40px;min-width:40px;border-radius:10px;
  background:linear-gradient(135deg,var(--bg2),var(--bg3));
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--logo-border);
  overflow:hidden;
  box-shadow:0 2px 8px rgba(61,191,181,.1);
  transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);
}
.logo:hover{transform:scale(1.05);box-shadow:0 4px 16px rgba(61,191,181,.15);}
.app-logo-img{width:100%;height:100%;object-fit:contain;padding:3px;}
.app-logo-fallback{font-size:20px;color:var(--nte-teal);}
.app-title{font-size:15px;font-weight:800;color:var(--text1);letter-spacing:-.03em;}
.app-sub{font-size:10px;color:var(--text3);margin-top:1px;font-weight:500;letter-spacing:.01em;}
.app-ext-link{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--purple2);margin-top:3px;text-decoration:none;opacity:.8;transition:opacity .15s;}
.app-ext-link:hover{opacity:1;text-decoration:underline;}
.topbar-stats{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-height:40px;flex:1;min-width:0;}
.stat-chip{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:60px;padding:5px 10px;border-radius:var(--radius-md);
  background:rgba(255,255,255,.02);border:1px solid var(--border);
  transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);
  backdrop-filter:blur(8px);
}
.char-pick-stats .stat-chip{font-size:10px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--bg1);color:var(--text2);border:1px solid var(--border);display:inline-flex;align-items:center;gap:4px;min-width:auto;flex-direction:row;backdrop-filter:none;}
.topbar-stats .stat-chip{flex-direction:row;gap:6px;min-width:0;}
.topbar-stats .stat-chip:first-child{grid-column:auto;}
.topbar-stats .stat-lbl{margin-top:0;}
@media(hover:hover) and (pointer:fine){
  .stat-chip:hover{border-color:var(--border2);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
}
.stat-num{font-size:14px;font-weight:800;line-height:1.2;letter-spacing:-.02em;}
.stat-lbl{font-size:8px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-top:2px;}
.stat-chip.stat-great .stat-num{color:var(--green);}
.stat-chip.stat-ok .stat-num{color:var(--amber);}
.stat-chip.stat-trash .stat-num{color:var(--red);}
.stat-chip.stat-purple .stat-num{color:var(--nte-teal);}
.topbar-actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}

/* THEME SWITCH */
.theme-switch{
  display:inline-flex;align-items:center;gap:2px;padding:3px;
  background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:var(--radius-md);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
}
.theme-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:30px;padding:0;border:none;border-radius:calc(var(--radius-md) - 4px);
  background:transparent;color:var(--text3);cursor:pointer;
  font-size:15px;line-height:1;
  transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}
.theme-btn:hover{color:var(--text1);background:var(--bg3);transform:scale(1.05);}
.theme-btn.on{
  color:#fff;
  background:var(--gradient-brand);
  box-shadow:0 2px 10px rgba(61,191,181,.3);
}
.theme-btn:focus-visible{outline:2px solid var(--nte-teal);outline-offset:1px;}

/* TABS */
.tabs{
  display:flex;gap:2px;padding:8px 1.75rem;
  background:var(--bg1);
  border-bottom:1px solid var(--border);
  overflow-x:auto;scrollbar-width:none;
  position:sticky;top:var(--topbar-h,68px);z-index:90;
  box-shadow:0 1px 0 var(--border);
}
[data-theme="dark"] .tabs{box-shadow:0 1px 0 var(--border),0 4px 20px rgba(0,0,0,.15);}
.tabs::-webkit-scrollbar{display:none;}
.tab{
  display:flex;align-items:center;gap:6px;
  padding:8px 14px;
  font-size:12px;font-weight:600;cursor:pointer;
  border:none;border-radius:var(--radius-md);
  background:transparent;color:var(--text2);
  font-family:var(--font-sans);white-space:nowrap;
  position:relative;
  transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.tab:hover:not(.active){color:var(--text1);background:rgba(255,255,255,.04);}
.tab.active{
  color:var(--nte-teal);
  background:rgba(61,191,181,.10);
}
.tab.active::after{
  content:'';position:absolute;bottom:-8px;left:20%;right:20%;height:2px;
  background:var(--gradient-brand);border-radius:2px;
  animation:tab-indicator .25s var(--ease-spring) forwards;
}
@keyframes tab-indicator{
  from{transform:scaleX(0);opacity:0;}
  to{transform:scaleX(1);opacity:1;}
}
.tab:focus-visible{outline:2px solid var(--nte-teal);outline-offset:2px;}
.tab-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;}
.tab-ico-img{width:18px;height:18px;min-width:18px;min-height:18px;object-fit:contain;opacity:.8;}
.tab.active .tab-ico-img{opacity:1;}
.tab i{font-size:16px;opacity:.8;line-height:1;}
.tab.active i{color:var(--nte-teal);opacity:1;}
.cnt{
  font-size:9px;background:rgba(255,255,255,.08);color:var(--text2);
  border-radius:99px;padding:1px 6px;font-weight:700;
  min-width:18px;text-align:center;
}
.tab.active .cnt{background:rgba(61,191,181,.15);color:var(--nte-teal);}
[data-theme="light"] .cnt{background:rgba(26,40,60,.08);color:var(--text2);}

/* PANELS */
.panel{display:none;padding:1.35rem 1.75rem 2.75rem;max-width:1920px;margin:0 auto;width:100%;}
.panel.active{display:block;}

/* BUTTONS */
.btn{
  display:inline-flex;align-items:center;gap:5px;padding:8px 14px;
  font-size:12px;font-weight:600;border:1px solid var(--border);
  border-radius:var(--radius-md);cursor:pointer;
  background:rgba(255,255,255,.02);color:var(--text2);
  font-family:var(--font-sans);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06);
  transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
  white-space:nowrap;
}
@media(hover:hover) and (pointer:fine){
  .btn:hover{background:var(--bg3);color:var(--text1);border-color:var(--border2);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
  .btn:active{transform:none;box-shadow:none;}
}
.btn-p{
  background:var(--gradient-brand);
  color:#fff;border-color:transparent;
  box-shadow:0 2px 10px rgba(61,191,181,.25),inset 0 1px 0 rgba(255,255,255,.1);
  font-weight:600;
}
.btn-p:hover{background:linear-gradient(135deg,#4ecfc6,var(--nte-teal));color:#fff;box-shadow:0 4px 16px rgba(61,191,181,.35);transform:translateY(-1px);}
.btn-sm{padding:5px 10px;font-size:11px;border-radius:var(--radius-sm);}
.btn-danger{background:var(--red-dim);color:var(--red);border-color:rgba(240,101,101,.25);}
.btn-danger:hover{background:rgba(240,101,101,.18);color:#FCA5A5;border-color:rgba(240,101,101,.35);}
.btn-trash-on{background:var(--red-dim)!important;color:var(--red)!important;border-color:rgba(240,101,101,.3)!important;}
.btn-team-on{
  color:#fff!important;
  background:var(--gradient-brand)!important;
  border-color:transparent!important;
  box-shadow:0 2px 10px rgba(61,191,181,.25)!important;
}
.btn-file-label{cursor:pointer;}
.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text3);}
.btn-ghost:hover{background:var(--bg3);color:var(--text1);border-color:var(--border);}
.btn:focus-visible,.inv-act-btn:focus-visible,.fp:focus-visible,.inv-switch-btn:focus-visible{outline:2px solid var(--nte-teal);outline-offset:2px;}
.fbar{display:flex;gap:3px;flex-wrap:wrap;flex:1;}
.char-pick-sel{padding:9px 12px;font-size:12px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg0);color:var(--text1);min-width:160px;cursor:pointer;font-family:var(--font-sans);box-shadow:var(--surface-inset);transition:border-color .2s,box-shadow .2s;}
.char-pick-sel:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px var(--focus-ring);}
.char-pick-bar{
  display:flex;align-items:center;gap:12px;padding:12px 16px;
  background:linear-gradient(135deg,rgba(123,107,242,.08),rgba(255,255,255,.02));
  border:1px solid rgba(123,107,242,.22);border-radius:var(--radius-xl);
  margin-bottom:1.25rem;flex-wrap:wrap;
  box-shadow:var(--card-shadow),inset 0 1px 0 rgba(255,255,255,.03);
  position:relative;overflow:hidden;
}
.char-pick-bar::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.60;
}
.char-pick-bar-sticky{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);margin-bottom:0.75rem}
.char-pri-strip{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px}
.char-pri-pill{font-size:9px;font-weight:600;padding:2px 7px;border-radius:999px;background:rgba(123,107,242,.12);color:var(--text2);border:1px solid rgba(123,107,242,.2)}
.char-pick-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.stat-chip-green{color:var(--green);border-color:rgba(46,204,140,.3);background:rgba(46,204,140,.08)}
.stat-chip-red{color:var(--red);border-color:rgba(255,107,107,.3);background:rgba(255,107,107,.08)}
.pick-filter-bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 1rem;padding:0 2px}
.pick-filter-chip{
  display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:11px;font-weight:600;
  border:1px solid var(--border);border-radius:999px;background:var(--bg1);color:var(--text2);cursor:pointer;
  transition:background .15s,border-color .15s,color .15s;
}
.pick-filter-chip:hover{border-color:rgba(123,107,242,.4);color:var(--text1)}
.pick-filter-chip.on{background:rgba(123,107,242,.15);border-color:rgba(123,107,242,.45);color:var(--purple2)}
.pick-filter-n{font-size:10px;opacity:.75;font-weight:700}
.pick-section{margin-bottom:1.25rem}
.split-lbl-sub{font-size:10px;font-weight:500;opacity:.7;margin-left:4px}
.cart-pick-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.cart-pick-card{
  flex:0 0 min(280px,85vw);scroll-snap-align:start;
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;
}
.cart-pick-card:hover{border-color:rgba(123,107,242,.45);box-shadow:var(--shadow-sm)}
.cart-pick-card.cart-pick-eq{border-color:rgba(46,204,140,.35);background:rgba(46,204,140,.04)}
.cart-pick-rank{position:absolute;top:6px;left:6px;font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;background:var(--purple);color:#fff}
.cart-pick-body{flex:1;min-width:0}
.cart-pick-title{font-size:12px;font-weight:600;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-pick-meta{font-size:10px;color:var(--text3);margin-top:2px}
.cart-pick-stars{font-size:11px;margin-top:4px;color:var(--green)}
.eq-badge-sm{font-size:9px;padding:2px 5px}
.prio-meter{display:flex;gap:3px;margin:6px 0 4px}
.prio-seg{
  flex:var(--pw,1);min-width:0;height:18px;border-radius:4px;font-size:8px;font-weight:700;
  display:flex;align-items:center;justify-content:center;letter-spacing:-0.02em;
}
.prio-on{background:rgba(46,204,140,.25);color:var(--green);border:1px solid rgba(46,204,140,.4)}
.prio-off{background:rgba(255,107,107,.08);color:var(--text3);border:1px solid rgba(255,107,107,.15);opacity:.65}
.fit-reasons{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 6px}
.fit-chip{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;background:rgba(46,204,140,.1);color:var(--green);border:1px solid rgba(46,204,140,.25)}
.rec-compact{margin:6px 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.rec-compact-sum{
  padding:6px 10px;font-size:11px;font-weight:600;cursor:pointer;list-style:none;
  background:rgba(123,107,242,.06);color:var(--text1);
}
.rec-compact-sum::-webkit-details-marker{display:none}
.rec-compact[open] .rec-compact-sum{border-bottom:1px solid var(--border)}
.rec-compact .recommend-preview{margin:0;border:none;border-radius:0}
.items-grid-pick{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px}
.ic-pick{padding:12px}
.ic-pick-top{border-color:rgba(124,111,247,.35)!important;box-shadow:0 0 0 1px rgba(124,111,247,.15)}
.ic-pick .cactions{margin-top:8px}
.ic-pick .vb{font-size:10px;padding:4px 8px}
.ic-pick .mainbox{padding:6px 8px}
.ic-pick .ic-identity{margin-bottom:6px}
.master-tier{display:inline-flex;font-size:9px;font-weight:700;padding:2px 7px;border-radius:999px;margin-left:4px;vertical-align:middle}
.tier-god{background:linear-gradient(135deg,#ffd700,#ff8c00);color:#1a1000;border:1px solid rgba(255,200,0,.6)}
.tier-perfect{background:rgba(46,204,140,.2);color:var(--green);border:1px solid rgba(46,204,140,.45)}
.tier-excel{background:rgba(123,107,242,.2);color:var(--purple2);border:1px solid rgba(123,107,242,.4)}
.tier-great{background:rgba(46,204,140,.12);color:var(--green);border:1px solid rgba(46,204,140,.25)}
.tier-good{background:rgba(240,169,59,.12);color:var(--amber);border:1px solid rgba(240,169,59,.3)}
.pri-weight{font-size:9px;color:var(--purple2);font-weight:700;margin-left:2px}
.pri-w{color:var(--purple2);font-weight:700}
.rec-ctx-line{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0;padding:0 8px}
.score-bd-compact{display:flex;flex-wrap:wrap;gap:4px;margin:6px 8px;align-items:center}
.bd-chip{font-size:9px;font-weight:700;padding:2px 6px;border-radius:6px;background:var(--bg2);border:1px solid var(--border);color:var(--text2)}
.bd-chip.bd-prio{color:var(--purple2);border-color:rgba(123,107,242,.35)}
.bd-chip.bd-ctx{color:var(--green);border-color:rgba(46,204,140,.35)}
.bd-chip.bd-main{color:var(--amber);border-color:rgba(240,169,59,.35)}
.bd-chip.bd-bonus{color:var(--cyan,#5bc0de);border-color:rgba(91,192,222,.35)}
.bd-chip.bd-rare{color:#ffd700;border-color:rgba(255,215,0,.35)}
.bd-chip.bd-lvl{color:var(--text3)}
.bd-chip.bd-pen{color:var(--red);border-color:rgba(239,68,68,.35)}
.bd-chip.bd-total{background:linear-gradient(135deg,rgba(124,111,247,.2),rgba(46,204,140,.12));color:var(--green);border-color:rgba(46,204,140,.4)}
.score-bd-master{margin:8px;padding:8px;background:var(--bg0);border:1px solid var(--border);border-radius:8px}
.score-bd-master-hdr{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:6px}
.badge-upgrade{display:inline-flex;font-size:9px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(255,215,0,.15);color:#ffd700;border:1px solid rgba(255,215,0,.4);margin-left:4px;vertical-align:middle}
.farm-phase-badge{display:inline-flex;font-size:8px;font-weight:600;padding:2px 6px;border-radius:999px;margin-left:4px;vertical-align:middle;white-space:nowrap}
.farm-save{background:rgba(255,215,0,.12);color:#ffd700;border:1px solid rgba(255,215,0,.35)}
.farm-shape{background:rgba(0,200,120,.12);color:var(--green);border:1px solid rgba(0,200,120,.35)}
.farm-forma{background:rgba(100,180,255,.12);color:#7ec8ff;border:1px solid rgba(100,180,255,.35)}
.farm-subs{background:rgba(180,140,255,.12);color:#c4a8ff;border:1px solid rgba(180,140,255,.35)}
.farm-set{background:rgba(0,200,120,.1);color:var(--green);border:1px solid rgba(0,200,120,.25)}
.rec-action-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:4px;vertical-align:middle;letter-spacing:.02em}
.rec-action-line{display:flex;align-items:center;gap:8px;margin:6px 8px;padding:6px 8px;border-radius:8px;background:var(--bg0);border:1px solid var(--border)}
.rec-action-why{font-size:11px;color:var(--text2)}
.act-equip,.act-upgrade{background:rgba(255,215,0,.14);color:#ffd700;border:1px solid rgba(255,215,0,.4)}
.act-keep{background:rgba(46,204,140,.14);color:var(--green);border:1px solid rgba(46,204,140,.35)}
.act-farm,.act-improve{background:rgba(100,180,255,.12);color:#7ec8ff;border:1px solid rgba(100,180,255,.35)}
.act-fodder{background:rgba(240,169,59,.12);color:var(--amber);border:1px solid rgba(240,169,59,.3)}
.act-trash{background:rgba(239,68,68,.12);color:var(--red);border:1px solid rgba(239,68,68,.3)}
.act-ok{background:var(--bg2);color:var(--text2);border:1px solid var(--border)}
.rec-action-line.act-equip,.rec-action-line.act-upgrade{border-color:rgba(255,215,0,.35);background:rgba(255,215,0,.06)}
.rec-action-line.act-keep{border-color:rgba(46,204,140,.3);background:rgba(46,204,140,.06)}
.rec-action-line.act-farm,.rec-action-line.act-improve{border-color:rgba(100,180,255,.3);background:rgba(100,180,255,.06)}
.rec-action-line.act-trash{border-color:rgba(239,68,68,.3);background:rgba(239,68,68,.06)}
.farm-main{background:rgba(255,180,80,.12);color:#ffb84d;border:1px solid rgba(255,180,80,.35)}
.farm-low{background:rgba(120,120,120,.1);color:var(--text3);border:1px solid rgba(120,120,120,.25)}
.rec-farm-phase{margin:4px 0 6px}
.rec-main-line{font-size:9px;color:var(--amber);margin:2px 0 6px}
.prio-seg.prio-pre{opacity:.55;border-style:dashed}
.bd-chip.bd-battle{background:rgba(100,200,255,.12);color:#7ec8ff;border-color:rgba(100,200,255,.3)}
.rec-warn-tip{font-size:9px;color:var(--amber);background:rgba(255,180,0,.08);border:1px solid rgba(255,180,0,.25);border-radius:6px;padding:4px 8px;margin:4px 0;display:flex;align-items:center;gap:4px}
.rec-upgrade-tip{font-size:10px;color:var(--amber);padding:4px 8px;margin:4px 0}
.inv-gap{font-size:10px;padding:6px 10px;border-radius:8px;margin:6px 0;line-height:1.4}
.inv-gap-ok{background:rgba(46,204,140,.08);border:1px solid rgba(46,204,140,.25);color:var(--green)}
.inv-gap-warn{background:rgba(240,169,59,.08);border:1px solid rgba(240,169,59,.3);color:var(--amber)}
.char-pri-strip-cart{margin-top:4px;opacity:.92}
.char-pri-pill.cart-pri{border-color:rgba(240,169,59,.35);background:rgba(240,169,59,.06)}
.char-pri-pill.main-pri{border-color:rgba(46,204,140,.35);background:rgba(46,204,140,.06)}
.char-build-notes{font-size:10px;line-height:1.45;color:var(--text2);padding:6px 8px;border-radius:6px;background:rgba(123,107,242,.08);border:1px solid rgba(123,107,242,.15)}
.char-build-notes i{color:var(--purple2);margin-right:4px}
.char-build-avoid{font-size:10px;line-height:1.45;color:var(--amber);padding:6px 8px;border-radius:6px;background:rgba(240,169,59,.08);border:1px solid rgba(240,169,59,.25)}
.char-build-avoid i{margin-right:4px}
.char-prefer-subs{font-size:10px;line-height:1.45;color:var(--green);padding:5px 8px;border-radius:6px;background:rgba(46,204,140,.08);border:1px solid rgba(46,204,140,.2)}
.char-prefer-subs i{color:var(--green);margin-right:4px;font-size:9px}
.char-reaction-tag{font-size:10px;color:var(--amber);padding:4px 8px;border-radius:6px;background:rgba(240,169,59,.08)}
.char-reaction-tag i{margin-right:4px}
.badge-reaction{font-size:9px;padding:2px 6px;border-radius:4px;background:rgba(240,169,59,.15);color:var(--amber);border:1px solid rgba(240,169,59,.25)}
.build-variant-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0 6px}
.build-variant-lbl{font-size:10px;color:var(--text3);display:flex;align-items:center;gap:4px}
.build-variant-btn{font-size:10px;padding:3px 8px;border-radius:5px;border:1px solid var(--border);background:var(--bg1);color:var(--text2);cursor:pointer}
.build-variant-btn.on{border-color:var(--purple2);background:rgba(123,107,242,.15);color:var(--purple2);font-weight:600}
.team-comps{margin:6px 0;font-size:10px}
.team-comps summary{cursor:pointer;color:var(--text2);font-weight:600;padding:4px 0}
.team-comps summary i{margin-right:4px;color:var(--purple2)}
.team-comps-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.team-comp-row{display:flex;flex-direction:column;gap:4px;padding:6px 8px;border-radius:6px;background:var(--bg1);border:1px solid var(--border)}
.team-comp-name{font-weight:600;color:var(--text1);font-size:10px}
.team-comp-chars{display:flex;flex-wrap:wrap;gap:4px}
.team-char-pill{font-size:9px;padding:2px 6px;border-radius:4px;background:rgba(123,107,242,.1);border:1px solid rgba(123,107,242,.2);cursor:pointer}
.team-char-pill.self{border-color:var(--green);background:rgba(46,204,140,.12);font-weight:600}
.team-char-pill small{display:block;font-size:8px;color:var(--text3);font-weight:400}
.team-reaction-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;padding:6px 8px;border-radius:6px;background:rgba(240,169,59,.08);border:1px solid rgba(240,169,59,.2);font-size:10px}
.team-reaction-bar.team-reaction-warn{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.25);color:var(--amber)}
.team-reaction-lbl{font-weight:600;color:var(--amber);display:flex;align-items:center;gap:4px}
.rx-pill{padding:2px 7px;border-radius:4px;font-size:9px;font-weight:600}
.rx-pill.duo{background:rgba(46,204,140,.15);color:var(--green);border:1px solid rgba(46,204,140,.3)}
.rx-pill.triple{background:rgba(123,107,242,.18);color:var(--purple2);border:1px solid rgba(123,107,242,.35)}
.team-reaction-stats{margin-left:auto;color:var(--text2);font-size:9px}
.auto-team-bar{
  display:flex;flex-direction:column;gap:8px;padding:12px 14px;margin-bottom:1rem;
  background:linear-gradient(135deg,rgba(61,191,181,.06),rgba(123,107,242,.04));
  border:1px solid rgba(61,191,181,.22);border-radius:var(--radius-lg);
  box-shadow:var(--card-shadow),inset 0 1px 0 rgba(255,255,255,.02);
}
.auto-team-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.auto-team-title{font-size:12px;font-weight:700;color:var(--nte-teal);display:flex;align-items:center;gap:6px}
.auto-team-chips{display:flex;flex-wrap:wrap;gap:4px}
.auto-team-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.auto-team-toggle{
  background:var(--bg1)!important;color:var(--text2)!important;
  border:1px solid var(--border)!important;font-size:11px;
}
.auto-team-toggle.on{
  color:#fff!important;background:linear-gradient(135deg,var(--nte-teal),#2a9d94)!important;
  border-color:transparent!important;box-shadow:0 2px 8px rgba(61,191,181,.2);
}
.inv-act-btn.btn-team-auto{
  color:#fff!important;background:linear-gradient(135deg,#4ecfc6,var(--nte-teal))!important;
  box-shadow:0 0 0 2px rgba(61,191,181,.35)!important;
}
.badge-team-synergy{
  font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;
  background:rgba(61,191,181,.15);color:var(--nte-teal);border:1px solid rgba(61,191,181,.35);
}
.badge-team-synergy.mild{background:rgba(123,107,242,.12);color:var(--purple2);border-color:rgba(123,107,242,.25)}
.team-build-overview{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;
  padding:6px 8px;border-radius:6px;background:var(--bg1);border:1px solid var(--border);
}
.team-build-overview-lbl{font-weight:600;color:var(--text2);display:flex;align-items:center;gap:4px}
.team-build-overview-avg{font-size:14px;font-weight:700;font-family:var(--font-mono);color:var(--green)}
.team-build-overview-rows{display:flex;flex-wrap:wrap;gap:4px}
.team-build-mini{font-size:9px;padding:2px 6px;border-radius:4px;background:var(--bg2);color:var(--text2);border:1px solid var(--border)}
.stat-chip.stat-team .stat-num{color:var(--nte-teal)}
.stat-chip.stat-team{border-color:rgba(61,191,181,.3);background:rgba(61,191,181,.06)}
.stat-chip.stat-farm .stat-num{color:var(--orange)}
.stat-chip.stat-farm{border-color:rgba(232,136,56,.35);background:rgba(232,136,56,.08)}
.stat-chip.stat-check .stat-num{color:var(--green)}
.stat-chip.stat-check{border-color:rgba(45,212,168,.35);background:rgba(45,212,168,.08)}
.team-farm-bar,.team-farm-panel{
  display:flex;flex-direction:column;gap:8px;padding:10px 12px;margin-top:4px;
  background:rgba(232,136,56,.06);border:1px solid rgba(232,136,56,.22);border-radius:var(--radius-md);
}
.team-farm-bar.team-farm-ok,.team-farm-panel.team-farm-ok{
  background:rgba(45,212,168,.06);border-color:rgba(45,212,168,.28);color:var(--green);font-size:11px;
}
.team-farm-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.team-farm-title{font-size:12px;font-weight:700;color:var(--orange);display:flex;align-items:center;gap:6px}
.team-farm-meta{font-size:10px;color:var(--text3);margin-left:auto}
.team-farm-carts{font-size:10px;color:var(--text2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.team-farm-cart-miss b{color:var(--amber)}
.team-farm-shapes{display:flex;flex-direction:column;gap:4px}
.team-farm-shared-tip{font-size:10px;color:var(--amber);padding:4px 8px;border-radius:6px;background:rgba(245,185,66,.08);border:1px solid rgba(245,185,66,.2)}
.team-farm-char-row{display:flex;flex-wrap:wrap;gap:6px}
.team-farm-char-chip{
  display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:10px;
  background:var(--bg0);border:1px solid var(--border);border-radius:99px;cursor:pointer;
  font-family:var(--font-sans);color:var(--text1);transition:border-color .15s,transform .12s;
}
.team-farm-char-chip:hover{border-color:var(--orange);transform:translateY(-1px)}
.team-farm-char-chip.ready{border-color:rgba(45,212,168,.4);background:rgba(45,212,168,.06)}
.team-farm-char-chip small{font-size:9px;color:var(--amber);font-weight:700}
.team-farm-char-chip.ready small{color:var(--green)}
.team-farm-details summary{font-size:10px;font-weight:600;color:var(--text2);cursor:pointer;padding:4px 0}
.team-farm-rank{font-size:10px;font-weight:800;color:var(--orange);font-family:var(--font-mono);min-width:18px}
.rewind-row.team-farm-shared{border-color:rgba(123,107,242,.4);background:linear-gradient(135deg,rgba(123,107,242,.08),var(--bg0))}
.rewind-row-tag.team-share{background:rgba(123,107,242,.15);color:var(--purple2);border:1px solid rgba(123,107,242,.3)}
.team-farm-panel{margin-bottom:1rem;background:linear-gradient(135deg,rgba(232,136,56,.08),rgba(245,185,66,.04));border-radius:var(--radius-lg);padding:14px}
.team-cart-gaps{
  display:flex;flex-direction:column;gap:6px;padding:8px 10px;
  background:var(--bg1);border:1px solid var(--border);border-radius:var(--radius-md);
}
.team-cart-row{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;
  border-radius:var(--radius-sm);font-size:10px;border:1px solid var(--border);background:var(--bg0);
}
.team-cart-row.need{border-color:rgba(232,136,56,.35);background:rgba(232,136,56,.06)}
.team-cart-row.warn{border-color:rgba(245,185,66,.4);background:rgba(245,185,66,.06)}
.team-cart-row.alt{border-color:rgba(123,107,242,.3);background:rgba(123,107,242,.05)}
.team-cart-name{font-weight:700;color:var(--text1)}
.team-cart-set{font-weight:600;color:var(--purple2)}
.team-cart-hint{margin-left:auto;font-size:9px;color:var(--text3)}
.team-cart-inv{font-size:9px;color:var(--text2)}
.team-cart-elem-tip{font-size:10px;color:var(--amber);padding:5px 8px;border-radius:6px;background:rgba(245,185,66,.08);border:1px solid rgba(245,185,66,.2);line-height:1.45}
.team-cart-ok{font-size:10px;color:var(--green);display:flex;align-items:center;gap:6px}
.badge-scarcity{font-size:8px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:4px}
.badge-scarcity.zero{background:rgba(240,101,101,.15);color:var(--red);border:1px solid rgba(240,101,101,.35)}
.badge-scarcity.low{background:rgba(245,185,66,.15);color:var(--amber);border:1px solid rgba(245,185,66,.35)}
.badge-scarcity.mid{background:var(--bg2);color:var(--text3);border:1px solid var(--border)}
.badge-scarcity.pin{background:rgba(123,107,242,.12);border:1px solid rgba(123,107,242,.3)}
.rewind-row.farm-urgent{border-color:rgba(240,101,101,.4);box-shadow:inset 0 0 0 1px rgba(240,101,101,.12)}
.team-farm-scarcity-tip,.team-farm-pin-tip{font-size:10px;padding:5px 8px;border-radius:6px;line-height:1.4}
.team-farm-scarcity-tip{color:var(--red);background:rgba(240,101,101,.08);border:1px solid rgba(240,101,101,.22)}
.team-farm-pin-tip{color:var(--purple2);background:rgba(123,107,242,.08);border:1px solid rgba(123,107,242,.22)}
.rewind-import-ta{width:100%;padding:10px 12px;font-size:11px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg0);color:var(--text1);resize:vertical;min-height:100px;margin:8px 0}
.rewind-import-preview{margin:8px 0;max-height:220px;overflow-y:auto}
.rewind-import-summary{font-size:10px;color:var(--text2);margin-bottom:8px;padding:6px 8px;background:var(--bg1);border-radius:6px}
.rewind-import-block{margin-bottom:8px}
.rewind-import-hdr{font-size:10px;font-weight:700;margin-bottom:4px}
.rewind-import-hdr.ok{color:var(--green)}
.rewind-import-hdr.warn{color:var(--amber)}
.rewind-import-hdr.miss{color:var(--red)}
.rewind-import-row{font-size:10px;padding:4px 8px;border-radius:4px;margin-bottom:2px;display:flex;align-items:center;gap:8px}
.rewind-import-row.ok{background:rgba(45,212,168,.08);border:1px solid rgba(45,212,168,.2)}
.rewind-import-row.warn{background:rgba(245,185,66,.06);border:1px solid rgba(245,185,66,.2)}
.rewind-import-row.miss{background:rgba(240,101,101,.06);border:1px solid rgba(240,101,101,.15)}
.rewind-import-lbl{font-size:9px;color:var(--text3);margin-left:auto}
.rewind-import-empty{font-size:10px;color:var(--text3);padding:8px}
.farm-checklist{padding:8px 10px;border-radius:var(--radius-md);background:rgba(45,212,168,.06);border:1px solid rgba(45,212,168,.22);margin:4px 0}
.farm-check-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:600;color:var(--green)}
.farm-check-hint{font-size:9px;font-weight:400;color:var(--text3);margin-left:auto}
.farm-check-inline{display:flex;align-items:center;margin-right:2px;flex-shrink:0}
.farm-check-inline input{width:14px;height:14px;cursor:pointer;accent-color:var(--green)}
.rewind-row.farm-checked{border-color:rgba(45,212,168,.45);background:linear-gradient(135deg,rgba(45,212,168,.1),var(--bg0));opacity:.85}
.rewind-row.farm-checked .rewind-emoji{filter:grayscale(1);opacity:.5}
.rewind-rx-tip{margin-top:8px;border-color:rgba(240,169,59,.25);background:rgba(240,169,59,.06)}
.guide-rx-wheel{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;font-size:12px;margin:0 0 14px;line-height:1.4;color:var(--text2)}
.guide-rx-elem{color:var(--nte-teal);font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(61,191,181,.08);border:1px solid rgba(61,191,181,.2)}
.guide-rx-arrow{color:var(--text3);opacity:.7;padding:0 2px}
.guide-rx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:12px}
.guide-rx-row{display:flex;align-items:center;gap:8px;font-size:10px;padding:4px 0}
.char-passive-hint{font-size:10px;line-height:1.45;color:var(--amber);padding:5px 8px;border-radius:6px;background:rgba(240,169,59,.06);border:1px solid rgba(240,169,59,.18)}
.char-passive-hint i{margin-right:4px}
.inv-gap-equip{color:var(--purple2);border-color:rgba(123,107,242,.35);background:rgba(123,107,242,.08)}
.rec-build-note{font-size:10px;line-height:1.45;color:var(--text2);padding:6px 8px;border-radius:6px;background:rgba(46,204,140,.06);border:1px solid rgba(46,204,140,.15);margin-bottom:6px}
.rec-build-note i{color:var(--green);margin-right:4px}
.build-readiness{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;margin-bottom:8px;border:1px solid var(--border);background:var(--bg1)}
.build-readiness-pct{font-size:18px;font-weight:700;font-family:var(--font-mono)}
.build-readiness-lbl{font-size:11px;font-weight:600;color:var(--text2)}
.build-readiness-meta{font-size:9px;color:var(--text3);margin-left:auto}
.build-readiness.ready-great{border-color:rgba(46,204,140,.35);background:rgba(46,204,140,.08)}
.build-readiness.ready-great .build-readiness-pct{color:var(--green)}
.build-readiness.ready-good{border-color:rgba(123,107,242,.35);background:rgba(123,107,242,.08)}
.build-readiness.ready-good .build-readiness-pct{color:var(--purple2)}
.build-readiness.ready-mid .build-readiness-pct{color:var(--amber)}
.build-readiness.ready-low .build-readiness-pct{color:var(--text3)}
.char-ready-pct{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;margin-left:4px}
.char-ready-ok{background:rgba(46,204,140,.15);color:var(--green)}
.char-ready-mid{background:rgba(240,169,59,.12);color:var(--amber)}
.equip-swap-btn{margin-left:8px;vertical-align:middle}
.inv-gap-equip{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.equip-compare{margin:8px 0;font-size:11px}
.equip-compare summary{cursor:pointer;color:var(--text2);font-weight:600;padding:4px 0}
.equip-compare-table{display:flex;flex-direction:column;gap:4px;margin-top:6px}
.equip-compare-row{display:grid;grid-template-columns:1fr auto auto 1fr;gap:6px;align-items:center;padding:4px 6px;border-radius:6px;background:var(--bg1);border:1px solid var(--border)}
.equip-compare-slot{font-weight:600;color:var(--text2);font-size:10px}
.equip-compare-have{font-size:10px;text-align:right}
.equip-compare-arrow{color:var(--text3);font-size:10px}
.equip-compare-best{font-size:10px;text-align:left}
.sub-reroll-advice{font-size:10px;padding:6px 8px;border-radius:6px;margin:6px 0;display:flex;align-items:center;gap:6px}
.sub-reroll-advice.reroll-farm{background:rgba(123,107,242,.1);border:1px solid rgba(123,107,242,.25);color:var(--purple2)}
.sub-reroll-advice.reroll-weak{background:rgba(240,169,59,.1);border:1px solid rgba(240,169,59,.25);color:var(--amber)}
.sub-reroll-advice.reroll-level{background:rgba(46,204,140,.08);border:1px solid rgba(46,204,140,.2);color:var(--green)}
.proj-score{font-size:9px;color:var(--amber);margin-left:4px;font-weight:600}
.team-conflict-hint{font-size:10px;color:var(--amber);padding:6px 8px;border-radius:6px;background:rgba(240,169,59,.08);border:1px solid rgba(240,169,59,.2);margin-bottom:8px}
.badge-sub-pill.cart-sub{border-color:rgba(240,169,59,.3);color:var(--amber)}
.sub-prebattle .sval{opacity:.88}
.sub-prebattle .badge-lock{font-size:8px;color:var(--text3);margin-left:4px}
.rank-top-banner .score-bd-compact{justify-content:center;margin:6px 0 0}
/* ── Pick dashboard v5.1 ── */
.pick-dashboard{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:1.25rem;
  padding:14px 16px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
}
@media(max-width:720px){.pick-dashboard{grid-template-columns:1fr}}
.pick-progress{display:flex;align-items:center;gap:14px;min-width:0}
.pick-progress-ring{
  flex:0 0 56px;width:56px;height:56px;border-radius:50%;
  background:conic-gradient(var(--green) calc(var(--pp,0)*1%),var(--bg3) 0);
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--green);
  position:relative;
}
.pick-progress-ring::before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--bg1)}
.pick-progress-ring span{position:relative;z-index:1}
.pick-progress-steps{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.pick-step{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text3)}
.pick-step-n{
  flex:0 0 20px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;background:var(--bg2);border:1px solid var(--border);color:var(--text3);
}
.pick-step.done .pick-step-n{background:var(--green-dim);border-color:var(--green);color:var(--green)}
.pick-step.warn .pick-step-n{background:var(--amber-dim);border-color:var(--amber);color:var(--amber)}
.pick-step-body{display:flex;flex-direction:column;min-width:0}
.pick-step-body b{color:var(--text1);font-size:10px}
.pick-step-sub{font-size:9px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick-dashboard-side{display:flex;flex-direction:column;gap:6px;min-width:0}
.dash-row{display:flex;align-items:center;gap:8px;font-size:10px;flex-wrap:wrap}
.dash-lbl{color:var(--text3);display:inline-flex;align-items:center;gap:4px;min-width:88px;font-weight:600}
.dash-best{color:var(--text1);font-weight:600}
.dash-click{cursor:pointer;text-decoration:underline;text-decoration-color:rgba(123,107,242,.4);text-underline-offset:2px}
.dash-click:hover{color:var(--purple2)}
.console-mini{margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}
.console-mini-hdr{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);margin-bottom:6px}
.console-mini-slots{display:flex;flex-wrap:wrap;gap:4px}
.console-mini-slot{
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-radius:6px;
  background:var(--bg0);border:1px solid var(--border);min-width:36px;cursor:pointer;transition:border-color .15s;
}
.console-mini-slot.ok{border-color:rgba(46,204,140,.4);background:rgba(46,204,140,.06)}
.console-mini-slot.miss{border-color:rgba(255,107,107,.25);background:rgba(255,107,107,.04);cursor:default;opacity:.75}
.console-mini-slot.ok:hover{border-color:var(--green)}
.console-mini-lbl{font-size:7px;color:var(--text3);max-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.console-mini-x{color:var(--red);font-size:12px;font-weight:700}
.char-pick-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.char-pick-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.badge-role,.badge-passive{font-size:9px;font-weight:600;padding:2px 7px;border-radius:999px;background:var(--bg0);border:1px solid var(--border);color:var(--text2)}
.pick-pri-details{margin:6px 0;font-size:10px}
.pick-pri-details summary{cursor:pointer;color:var(--text2);font-weight:600;list-style:none}
.pick-pri-details summary::-webkit-details-marker{display:none}
.pick-pri-grid{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding:8px;background:var(--bg0);border-radius:8px;border:1px solid var(--border)}
.pick-pri-lbl{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:4px}
.pick-group{margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg1)}
.pick-group-open{border-color:rgba(123,107,242,.25)}
.pick-group-hdr,.pick-group-sum{
  display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:600;color:var(--text1);
  background:linear-gradient(135deg,rgba(123,107,242,.08),transparent);
}
.pick-group-hdr-carts{background:linear-gradient(135deg,rgba(46,204,140,.08),transparent)}
.pick-group-sum{cursor:pointer;list-style:none}
.pick-group-sum::-webkit-details-marker{display:none}
.pick-group-n{margin-left:auto;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg2);color:var(--text2)}
.pick-group-hint{font-size:10px;color:var(--text3);padding:0 14px 8px;line-height:1.45}
.pick-group .mod-pick-strip,.pick-group .mod-pick-grid{padding:0 10px 10px}
.mod-pick-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x mandatory}
.mod-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.mod-pick-card{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);
  cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative;scroll-snap-align:start;
}
.mod-pick-card:hover{border-color:rgba(123,107,242,.45);box-shadow:var(--shadow-sm)}
.mod-pick-card-top{border-color:rgba(124,111,247,.4);background:linear-gradient(135deg,rgba(124,111,247,.08),var(--bg2))}
.mod-pick-eq{border-color:rgba(46,204,140,.35)}
.mod-pick-rank{position:absolute;top:6px;left:6px;font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;background:var(--purple);color:#fff;z-index:1}
.mod-pick-shape{flex:0 0 48px;padding-top:14px}
.mod-pick-body{flex:1;min-width:0;padding-top:2px}
.mod-pick-title{font-size:11px;font-weight:600;color:var(--text1);line-height:1.35}
.mod-pick-why,.cart-pick-why{font-size:9px;color:var(--green);margin:2px 0;line-height:1.35}
.mod-pick-subs{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0}
.sub-pill{font-size:8px;font-weight:600;padding:1px 5px;border-radius:4px;border:1px solid var(--border);color:var(--text3)}
.sub-pill-hit{background:rgba(46,204,140,.12);color:var(--green);border-color:rgba(46,204,140,.3)}
.sub-pill-great{background:rgba(255,215,0,.12);color:#ffd700;border-color:rgba(255,215,0,.35)}
.sub-pill-miss{background:rgba(255,107,107,.06);color:var(--text3);opacity:.7}
.mod-pick-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px;font-size:10px}
.mod-pick-score{color:var(--green);font-weight:600}
.mod-pick-gap{font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;background:rgba(255,215,0,.15);color:#ffd700}
.mod-pick-edit{flex:0 0 auto;align-self:center;opacity:.6}
.mod-pick-edit:hover{opacity:1}
.cart-pick-top{border-color:rgba(124,111,247,.4)!important;background:linear-gradient(135deg,rgba(124,111,247,.08),var(--bg2))!important}
.badge-dupe-xs{font-size:8px;color:var(--amber);font-weight:700}
.badge-share-sm{font-size:8px;color:var(--amber);font-weight:700;margin-left:2px}
.rec-compact-why{font-size:10px;color:var(--green);font-weight:500;margin-left:6px}
.char-pick-rank{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:#fff;font-size:11px;font-weight:700;margin-right:4px;box-shadow:0 2px 6px var(--purple-glow);}
.rank-top-banner{margin:-4px -4px 8px;padding:6px 10px;border-radius:8px;background:linear-gradient(135deg,rgba(124,111,247,.22),rgba(46,204,140,.12));border:1px solid rgba(124,111,247,.35);color:var(--green);font-size:11px;font-weight:600;text-align:center;}
.score-hdr .score-pri{font-weight:700;margin-right:8px;}
.score-hdr .score-compat{font-size:11px;}
.rewind-panel{
  background:linear-gradient(135deg,rgba(240,169,59,.06),rgba(123,107,242,.04));
  border:1px solid rgba(240,169,59,.25);border-radius:var(--radius-xl);
  padding:14px 16px;margin-bottom:1.25rem;
  box-shadow:var(--card-shadow);position:relative;overflow:hidden;
}
.rewind-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--amber),var(--purple));opacity:.50;
}
.rewind-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.rewind-panel-title{font-size:14px;font-weight:600;color:var(--text1);display:flex;align-items:center;gap:8px;}
.rewind-panel-sub{font-size:11px;color:var(--text3);line-height:1.45;margin-top:4px;max-width:640px;}
.rewind-progress{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.rewind-pill{font-size:10px;font-weight:600;border-radius:99px;padding:3px 10px;border:1px solid var(--border);}
.rewind-pill.ok{background:var(--green-dim);border-color:var(--green);color:var(--green);}
.rewind-pill.warn{background:var(--amber-dim);border-color:var(--amber);color:var(--amber);}
.rewind-pill.bad{background:var(--red-dim);border-color:var(--red);color:var(--red);}
.rewind-section{margin-bottom:12px;}
.rewind-section-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.rewind-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
.rewind-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);min-height:56px;box-shadow:var(--surface-inset);}
.rewind-row.have{border-color:rgba(45,212,168,.35);background:linear-gradient(135deg,var(--green-dim),var(--bg0));}
.rewind-row.need{border-color:rgba(245,185,66,.35);background:linear-gradient(135deg,var(--amber-dim),var(--bg0));}
.rewind-row-body{flex:1;min-width:0;}
.rewind-row-name{font-size:11px;font-weight:600;color:var(--text1);}
.rewind-row-meta{font-size:9px;color:var(--text3);margin-top:2px;line-height:1.35;}
.rewind-row-tag{font-size:8px;font-weight:700;border-radius:99px;padding:1px 6px;margin-left:4px;}
.rewind-row-tag.set{background:var(--green-dim);color:var(--green);border:1px solid var(--green);}
.rewind-row-tag.slot{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber);}
.rewind-tip{font-size:10px;color:var(--text3);line-height:1.5;padding:10px 12px;background:var(--bg0);border:1px dashed var(--border2);border-radius:var(--radius-md);margin-top:8px;}
.rewind-char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;}
.rewind-char-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--text1);box-shadow:var(--surface-inset);transition:border-color .15s,transform .12s,box-shadow .15s;}
.rewind-char-chip:hover{border-color:var(--orange);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12);}
.rewind-char-chip .miss{font-size:9px;color:var(--amber);margin-left:auto;font-weight:600;}
.rewind-char-chip .ok{font-size:11px;color:var(--green);margin-left:auto;}
.team-slot-lbl{font-size:11px;color:var(--text3);display:block;margin-bottom:4px;}
.console-block{
  background:rgba(255,255,255,.02);border:1px solid var(--border);
  border-radius:var(--radius-xl);padding:14px 16px;margin-bottom:12px;
  box-shadow:var(--card-shadow);position:relative;overflow:hidden;
}
.console-block::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.35;
}
.console-cart-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;box-shadow:var(--surface-inset);}
.console-cart-click{cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s;}
.console-cart-click:hover{border-color:rgba(123,107,242,.4);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.15);}
.console-cart-click:active{transform:translateY(0);}
.console-slots{display:flex;flex-wrap:wrap;gap:6px;}
.console-set-block{margin:10px 0 12px;padding:10px 12px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);}
.console-set-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.console-set-pieces{display:flex;flex-wrap:wrap;gap:6px;}
.console-set-piece{display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;padding:6px 4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg2);font-size:9px;}
.console-set-piece.ok{border-color:var(--green);cursor:pointer;}
.console-set-piece.gap{border-color:var(--amber);opacity:.9;}
.console-set-piece.miss{border-color:var(--amber);opacity:.85;}
.console-set-lbl{font-size:8px;color:var(--text3);font-family:ui-monospace,monospace;}
.team-char-needs{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg0);}
.team-char-needs-sum{padding:8px 12px;font-size:11px;cursor:pointer;color:var(--text2);list-style:none;}
.team-char-needs-body{padding:0 12px 10px;font-size:10px;}
.team-need-row{display:flex;flex-wrap:wrap;gap:6px 12px;padding:5px 0;border-top:1px solid var(--border);}
.team-need-row:first-child{border-top:none;}
.team-need-lbl{min-width:120px;color:var(--text3);display:flex;align-items:center;gap:4px;}
.team-need-shapes{display:flex;flex-wrap:wrap;gap:4px;}
.team-need-shape{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--bg2);border-radius:6px;border:1px solid var(--border);}
.team-need-slot{font-family:ui-monospace,monospace;color:var(--orange);}
.team-need-note{font-size:10px;color:var(--text3);padding:6px 0 2px;line-height:1.45;border-top:1px dashed var(--border);margin-top:4px;}
.badge-variant{font-size:9px;background:var(--purple-dim);border:1px solid var(--purple);color:var(--purple2);border-radius:99px;padding:1px 7px;}
.team-meta-block{margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg0);max-height:220px;overflow:auto;}
.team-meta-hdr{padding:8px 10px;font-size:11px;font-weight:600;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg0);z-index:1;}
.team-meta-list{display:flex;flex-direction:column;}
.team-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;text-align:left;padding:8px 10px;border:none;border-bottom:1px solid var(--border);background:transparent;cursor:pointer;color:var(--text2);font-size:10px;}
.team-meta-row:hover{background:var(--bg2);}
.team-meta-name{font-weight:600;color:var(--text1);min-width:100px;}
.team-meta-rx{color:var(--orange);flex:1;}
.team-meta-chip{background:var(--bg2);border:1px solid var(--border);border-radius:6px;padding:1px 6px;font-size:9px;}
.team-meta-filter-hint{font-size:10px;color:var(--text3);padding:6px 10px;border-bottom:1px solid var(--border);line-height:1.4;}
.team-meta-empty{font-size:10px;color:var(--text3);padding:12px 10px;line-height:1.45;}
.team-modal-preview{font-size:11px;padding:8px 10px;margin-bottom:10px;border-radius:var(--radius-md);background:rgba(123,107,242,.08);border:1px solid rgba(123,107,242,.25);}
.team-modal-warn{background:rgba(240,169,59,.08);border-color:rgba(240,169,59,.35);color:var(--amber);}
.team-preset-tabs{display:flex;gap:6px;margin-bottom:10px;}
.team-preset-tab{flex:1;padding:8px 10px;font-size:11px;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg0);color:var(--text3);cursor:pointer;}
.team-preset-tab.on{border-color:var(--purple);background:var(--purple-dim);color:var(--purple2);}
.team-preset-switch{display:flex;gap:6px;margin:6px 0 8px;}
.team-preset-btn{padding:4px 10px;font-size:10px;font-weight:600;border:1px solid var(--border);border-radius:99px;background:var(--bg0);color:var(--text3);cursor:pointer;}
.team-preset-btn.on{border-color:var(--purple);background:var(--purple-dim);color:var(--purple2);}
.team-sync-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:6px 0;}
.ntebuild-sync-lbl{font-size:10px;color:var(--text3);flex:1;min-width:120px;}
.zeroluck-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.zeroluck-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:6px 10px;border-radius:8px;background:var(--bg3);border:1px solid var(--border);color:var(--purple2);text-decoration:none;transition:background .15s,border-color .15s;}
.zeroluck-link:hover{background:var(--purple-dim);border-color:var(--purple2);}
.char-zl-link{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text3);margin-bottom:8px;text-decoration:none;}
.char-zl-link:hover{color:var(--purple2);}
.console-slot{width:88px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px;text-align:center;box-shadow:var(--surface-inset);}
.console-slot-click{cursor:pointer;transition:border-color .15s,transform .12s,box-shadow .15s;}
.console-slot-click:hover{border-color:rgba(123,107,242,.4);transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.15);}
.console-slot-click:active{transform:translateY(0);}
.console-slot-hint{font-size:8px;color:var(--text3);margin-top:4px;opacity:.85;}
.console-slot-preview-shape{display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg2);border:1px solid var(--border);border-radius:12px;margin:12px 0;}
.console-slot-preview-ascii{font-family:ui-monospace,monospace;font-size:13px;line-height:1.35;color:var(--orange);background:var(--bg3);border-radius:8px;padding:10px 14px;text-align:left;white-space:pre;margin:10px 0;}
.console-slot.matched{border-color:var(--green);background:rgba(46,204,140,.06);}
.console-slot.missing{border-color:var(--amber);background:rgba(240,169,59,.06);}
.console-slot.in-use-else{border-color:var(--red);opacity:.85;}
.console-slot-lbl{font-size:8px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;}
.console-slot-mod{font-size:9px;color:var(--text2);margin-top:4px;line-height:1.3;max-height:2.6em;overflow:hidden;}
.item-cap-thumb{position:absolute;top:8px;right:8px;width:48px;height:48px;border-radius:8px;overflow:hidden;border:1px solid var(--border2);cursor:pointer;background:var(--bg0);z-index:3;transition:border-color .15s,box-shadow .15s;}
.item-cap-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.item-cap-thumb:hover{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-dim);}
.item-cap-thumb .item-cap-badge{position:absolute;bottom:0;left:0;right:0;font-size:7px;text-align:center;padding:1px 3px;background:rgba(0,0,0,.72);color:var(--text2);line-height:1.2;}
.item-cap-mini{width:36px;height:36px;border-radius:6px;overflow:hidden;border:1px solid var(--border2);cursor:pointer;background:var(--bg0);flex-shrink:0;transition:border-color .15s;}
.item-cap-mini img{width:100%;height:100%;object-fit:cover;display:block;}
.item-cap-mini:hover{border-color:var(--purple);}
.ic.has-cap .vb{padding-right:54px;}
.eq-badge{font-size:9px;background:var(--purple-dim);border:1px solid var(--purple);color:var(--purple2);border-radius:99px;padding:1px 6px;margin-left:4px;}
.fp{
  padding:5px 12px;font-size:11px;font-weight:600;
  border:1px solid var(--border);border-radius:99px;
  cursor:pointer;background:rgba(255,255,255,.02);color:var(--text3);
  font-family:var(--font-sans);
  transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .fp:hover{border-color:var(--border2);color:var(--text2);background:var(--bg3);transform:translateY(-1px);}
}
.fp.on{background:rgba(61,191,181,.10);border-color:rgba(61,191,181,.30);color:var(--nte-teal);box-shadow:0 1px 6px rgba(61,191,181,.12);}
.fp-rar-S.on,.fp-rar-S:hover{color:var(--s-color);border-color:rgba(245,200,66,.4);background:var(--s-dim);}
.fp-rar-A.on,.fp-rar-A:hover{color:var(--a-color);border-color:rgba(196,165,253,.4);background:var(--a-dim);}
.fp-rar-B.on,.fp-rar-B:hover{color:var(--b-color);border-color:rgba(125,211,252,.4);background:var(--b-dim);}

/* ── INVENTORY CONTROLS ─────────────────────────────────────────────────── */
.inv-controls{
  margin-bottom:1.25rem;
  background:rgba(255,255,255,.02);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);
  overflow:hidden;
  position:relative;
}
.inv-controls::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.30;
}
.inv-controls-head{
  display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;
  padding:12px 14px;
  border-bottom:1px solid var(--border);
  background:rgba(255,255,255,.015);
}
.inv-head-main{
  flex:1;min-width:min(100%,280px);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.inv-search-field{
  flex:1;min-width:180px;display:flex;align-items:center;gap:8px;
  padding:0 12px;height:40px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.06);
  transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);
}
.inv-search-field:focus-within{
  border-color:var(--nte-teal);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 3px var(--focus-ring);
}
.inv-search-ico,.inv-search-field>i{width:18px;height:18px;flex-shrink:0;object-fit:contain;opacity:.5;}
.inv-search-field:focus-within .inv-search-ico{opacity:.85;}
.inv-search-field>i{font-size:17px;color:var(--text3);}
.inv-search-field:focus-within>i{color:var(--nte-teal);}
.inv-search{
  flex:1;min-width:0;border:none;background:transparent;
  font-size:14px;color:var(--text1);font-family:var(--font-sans);font-weight:500;
  outline:none;
}
.inv-search::placeholder{color:var(--text3);font-weight:400;}
.inv-search::-webkit-search-cancel-button{-webkit-appearance:none;}
.inv-head-pick{
  display:flex;align-items:center;gap:8px;
  padding:4px 10px 4px 12px;height:42px;
  background:var(--bg0);border:1px solid var(--border);
  border-radius:var(--radius-md);
  transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.inv-head-pick-lbl{
  display:inline-flex;align-items:center;gap:5px;
  font-size:10px;font-weight:600;color:var(--text3);
  text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;
}
.inv-head-pick-lbl i{font-size:14px;color:var(--nte-teal);}
.inv-head-pick.mejor-para-active{
  border-color:rgba(61,191,181,.4);
  background:rgba(61,191,181,.08);
}
.inv-controls-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.inv-actions-group{
  display:inline-flex;align-items:center;gap:1px;
  padding:3px;background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:var(--radius-md);
}
.inv-act-btn.btn-team-on{color:#fff;background:linear-gradient(135deg,var(--nte-teal),#2a9d94);box-shadow:none;}
.inv-controls-body{padding:10px 14px;background:transparent;}
.inv-seg{
  display:inline-flex;flex-wrap:wrap;gap:2px;
  padding:3px;background:rgba(255,255,255,.03);border:1px solid var(--border);
  border-radius:var(--radius-md);
  width:fit-content;max-width:100%;
}
.inv-seg.fbar{flex:unset;}
.inv-seg .fp{
  border:none;border-radius:calc(var(--radius-md) - 3px);
  padding:5px 10px;font-size:10px;font-weight:600;color:var(--text3);
  background:transparent;
  transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
}
.inv-seg .fp:hover{color:var(--text1);background:rgba(255,255,255,.05);transform:translateY(-1px);}
.inv-seg .fp.on{
  color:#fff;
  background:var(--gradient-brand);
  box-shadow:0 2px 8px rgba(61,191,181,.25);
}
.inv-seg .fp.fp-type-II.on{color:#fff;background:linear-gradient(135deg,#9588f8,#6b5ce7);}
.inv-seg .fp.fp-type-III.on{color:#0d2818;background:linear-gradient(135deg,#4aeaa8,#2ecc8c);}
.inv-seg .fp.fp-type-IV.on{color:#2a1800;background:linear-gradient(135deg,#ffb84d,#e88838);}
.inv-seg .fp.fp-q-great.on{color:#0d2818;background:linear-gradient(135deg,#4aeaa8,#2ecc8c);}
.inv-seg .fp.fp-q-ok.on{color:#2a2200;background:linear-gradient(135deg,#f5c842,#d9a020);}
.inv-seg .fp.fp-q-trash.on{color:#fff;background:linear-gradient(135deg,#f06565,#d94444);}
.inv-seg .fp.fp-rar-S.on{color:#1a1400;background:linear-gradient(135deg,#f0c830,#c89818);}
.inv-seg .fp.fp-rar-A.on{color:#fff;background:linear-gradient(135deg,#b49afc,#8b6cf0);}
.inv-seg .fp.fp-rar-B.on{color:#fff;background:linear-gradient(135deg,#6ec4f5,#3a9ad4);}
.inv-seg .fp.arc-type-Solid.on{color:#1a1400;background:linear-gradient(135deg,#e8c97a,#c89818);}
.inv-seg .fp.arc-type-Liquid.on{color:#fff;background:linear-gradient(135deg,#6ec8ff,#3a9ad4);}
.inv-seg .fp.arc-type-Plasma.on{color:#fff;background:linear-gradient(135deg,#ff8a6b,#e05530);}
.inv-seg .fp.arc-type-Gas.on{color:#0d2818;background:linear-gradient(135deg,#9ae6b4,#2ecc8c);}
.inv-seg .fp.arc-type-Bose.on{color:#fff;background:linear-gradient(135deg,#d4a5ff,#9b6cf0);}
.inv-controls-foot{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:7px 14px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.015);
  font-size:10px;color:var(--text3);
  min-height:34px;
}
.inv-verdict-bar{
  padding:8px 14px 6px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.02);
}
.inv-verdict-chips{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.inv-verdict-chips .stat-chip{
  flex-direction:row;gap:6px;min-width:0;padding:5px 10px;
  backdrop-filter:none;
}
.inv-verdict-chips .stat-chip:first-child{grid-column:auto;}
.inv-verdict-chips .stat-num{font-size:13px;margin:0;}
.inv-verdict-chips .stat-lbl{font-size:9px;margin:0;letter-spacing:.04em;}
.inv-meta-chip{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 10px;border-radius:99px;
  background:rgba(61,191,181,.1);color:var(--nte-teal);
  font-size:10px;font-weight:600;
  border:1px solid rgba(61,191,181,.2);
}
.inv-meta-reset{
  margin-left:auto;padding:4px 8px;border:none;background:transparent;
  font-size:11px;font-weight:600;color:var(--nte-teal);
  cursor:pointer;font-family:var(--font-sans);
  border-radius:var(--radius-sm);
}
.inv-meta-reset:hover{background:rgba(61,191,181,.1);}
.inv-act-sep{
  width:1px;height:20px;background:var(--border2);margin:0 3px;flex-shrink:0;
}
.inv-act-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 12px;font-size:11px;font-weight:600;
  border:none;border-radius:calc(var(--radius-md) - 4px);
  background:transparent;color:var(--text2);
  cursor:pointer;font-family:var(--font-sans);
  transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);
  white-space:nowrap;
}
.inv-act-btn i{font-size:15px;line-height:1;opacity:.85;}
@media(hover:hover) and (pointer:fine){
  .inv-act-btn:hover{color:var(--text1);background:rgba(110,255,240,.06);transform:translateY(-1px);}
}
.inv-act-btn:active{transform:scale(.97);}
.inv-act-btn.btn-rewind-on{color:#1a1408;background:linear-gradient(135deg,var(--amber),#d99a2a);box-shadow:0 2px 8px rgba(245,185,66,.3);}
.inv-act-btn.btn-trash-on{color:var(--red);background:var(--red-dim);box-shadow:inset 0 0 0 1px rgba(240,101,101,.3);}
.inv-act-btn.inv-act-danger:hover{color:var(--red);background:var(--red-dim);}
.inv-add-btn{
  padding:0 20px;font-size:12px;font-weight:700;border-radius:var(--radius-md);
  min-height:42px;letter-spacing:.01em;
}
.inv-add-btn i{font-size:16px;}
.inv-filter-rail{
  display:flex;align-items:flex-end;gap:0;flex-wrap:wrap;
}
.inv-filter-group{
  display:flex;flex-direction:column;gap:6px;
  padding:0 16px 2px;min-width:0;
}
.inv-filter-group:first-child{padding-left:0;}
.inv-filter-group-rar{padding-right:0;}
.inv-filter-group-elem{
  flex:1;min-width:min(100%,200px);padding-right:0;
}
.inv-filter-divider{
  width:1px;align-self:stretch;min-height:44px;margin:0 4px 2px;
  background:linear-gradient(180deg,transparent,var(--border2) 20%,var(--border2) 80%,transparent);
  flex-shrink:0;
}
.inv-filter-group-title{
  font-size:10px;font-weight:600;color:var(--text3);
  text-transform:uppercase;letter-spacing:.06em;
  padding-left:2px;
}
.fp-rdot{
  display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:middle;
  box-shadow:0 0 8px currentColor;
}
.fp-rdot-s{background:var(--s-color);color:var(--s-color);}
.fp-rdot-a{background:var(--a-color);color:var(--a-color);}
.fp-rdot-b{background:var(--b-color);color:var(--b-color);}
/* Shape filter buttons */
.inv-seg-shape{gap:2px;}
.fp-shape{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:30px;padding:2px;border:1px solid transparent;border-radius:var(--radius-sm);
  background:transparent;cursor:pointer;flex-shrink:0;
  transition:all var(--dur-fast) var(--ease);
}
.fp-shape-img{width:20px;height:20px;object-fit:contain;pointer-events:none;filter:brightness(.85) saturate(.9);}
.fp-shape-all{font-size:14px;color:var(--text3);padding:0 8px;}
.fp-shape-all .ti{font-size:15px;}
.fp-shape-II{border-color:rgba(168,157,249,.15);background:rgba(168,157,249,.06);}
.fp-shape-III{border-color:rgba(74,234,168,.15);background:rgba(74,234,168,.06);}
.fp-shape-IV{border-color:rgba(255,184,77,.15);background:rgba(255,184,77,.06);}
@media(hover:hover) and (pointer:fine){
  .fp-shape:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.06);}
  .fp-shape:hover .fp-shape-img{filter:brightness(1) saturate(1);}
}
.fp-shape:active{transform:scale(.95);}
.fp-shape.on{
  transform:translateY(-1px);
  box-shadow:0 2px 8px rgba(61,191,181,.25);
}
.fp-shape-II.on{background:linear-gradient(135deg,#9588f8,#6b5ce7);border-color:transparent;}
.fp-shape-II.on .fp-shape-img{filter:brightness(1.1) saturate(1.2);}
.fp-shape-III.on{background:linear-gradient(135deg,#4aeaa8,#2ecc8c);border-color:transparent;}
.fp-shape-III.on .fp-shape-img{filter:brightness(1.1) saturate(1.2);}
.fp-shape-IV.on{background:linear-gradient(135deg,#ffb84d,#e88838);border-color:transparent;color:#2a1800;}
.fp-shape-IV.on .fp-shape-img{filter:brightness(1.1) saturate(1.2);}
.fp-shape-all.on{color:#fff;background:var(--gradient-brand);box-shadow:0 2px 8px rgba(61,191,181,.25);}
.inv-seg-scroll-wrap{position:relative;min-width:0;width:100%;}
.inv-seg-scroll{
  overflow-x:auto;flex-wrap:nowrap;width:100%;
  scrollbar-width:thin;scrollbar-color:var(--border2) transparent;
}
.inv-seg-scroll-wrap::before,.inv-seg-scroll-wrap::after{
  content:'';position:absolute;top:4px;bottom:4px;width:24px;pointer-events:none;z-index:1;
  opacity:0;transition:opacity var(--dur-fast) var(--ease);
}
.inv-seg-scroll-wrap::before{left:4px;background:linear-gradient(90deg,var(--bg0) 30%,transparent);}
.inv-seg-scroll-wrap::after{right:4px;background:linear-gradient(270deg,var(--bg0) 30%,transparent);}
.inv-seg-scroll-wrap.is-scrollable::before,.inv-seg-scroll-wrap.is-scrollable::after{opacity:1;}
.inv-seg-scroll .fp{flex-shrink:0;}
.inv-clear-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;padding:0;flex-shrink:0;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg2);color:var(--text3);cursor:pointer;
  transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.inv-clear-btn:hover{color:var(--red);background:var(--red-dim);border-color:rgba(240,101,101,.3);}
.mejor-para-row{display:flex;align-items:center;gap:6px;min-width:0;}
.inv-hero-avatar{flex-shrink:0;border-radius:8px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.35);border:1px solid var(--border2);}
.mejor-para-row .char-pick-sel{
  width:148px;min-width:100px;
  padding:0 28px 0 4px;font-size:12px;font-weight:600;
  background:transparent;border:none;color:var(--text1);
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239BA3BE' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 2px center;
}
.mejor-para-row .char-pick-sel:focus{outline:none;}
.inv-meta-count strong{
  color:var(--text1);font-weight:800;font-size:12px;
  font-variant-numeric:tabular-nums;
}
.inv-meta-of{color:var(--text3);font-weight:500;font-size:11px;}
.inv-meta-chip i{font-size:12px;}
@media(max-width:1100px){
  .inv-filter-rail{gap:8px 0;}
  .inv-filter-divider{display:none;}
  .inv-filter-group{padding:8px 0;width:100%;border-top:1px solid var(--border);}
  .inv-filter-group:first-child{border-top:none;padding-top:0;}
  .inv-filter-group-elem{border-top:1px solid var(--border);}
  .inv-seg{width:100%;}
}
@media(max-width:720px){
  .inv-controls-head{flex-direction:column;padding:12px 14px;}
  .inv-head-main{flex-direction:column;align-items:stretch;}
  .inv-head-pick{width:100%;justify-content:space-between;}
  .mejor-para-row{flex:1;}
  .mejor-para-row .char-pick-sel{width:100%;max-width:none;}
  .inv-controls-actions{width:100%;}
  .inv-actions-group{flex:1;overflow-x:auto;flex-wrap:nowrap;}
  .inv-act-btn span{display:none;}
  .inv-act-btn{padding:9px 11px;}
  .inv-add-btn{flex:0 0 auto;padding:0 16px;}
  .inv-controls-body{padding:10px 14px;}
  .inv-controls-foot{padding:8px 14px;}
  .inv-meta-reset{margin-left:0;}
}

/* ITEM GRID */
.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px;}

/* ITEM CARD */
.ic{
  background:var(--bg2);
  border:1px solid var(--border);border-radius:var(--radius-xl);
  padding:0 0 12px;
  position:relative;overflow:hidden;
  box-shadow:var(--card-shadow);
  container-type:inline-size;
}
@container (max-width:190px){
  .ic-identity{flex-direction:column;align-items:flex-start;gap:6px;}
  .ic > *:not(.vb):not(.item-cap-thumb){padding-left:10px;padding-right:10px;}
}
@media(hover:hover) and (pointer:fine){
  .ic{transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);}
  .ic:hover{transform:translate3d(0,-2px,0);border-color:rgba(123,107,242,.25);box-shadow:var(--card-shadow-hover);}
}
.ic::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--border);opacity:.5;z-index:1;
}
.ic.great::before{background:linear-gradient(90deg,var(--green),rgba(52,211,153,.3));}
.ic.trash::before{background:linear-gradient(90deg,var(--red),rgba(248,113,113,.3));}
.ic:not(.great):not(.trash)::before{background:linear-gradient(90deg,var(--amber),rgba(251,191,36,.25));}
.ic.trash{border-color:rgba(248,113,113,.18);background:rgba(248,113,113,.03);}
.ic.great{border-color:rgba(52,211,153,.20);background:rgba(52,211,153,.03);}
.ic.rar-S{border-color:rgba(245,200,66,.20);}
.ic.rar-A{border-color:rgba(196,165,253,.20);}
.ic.rar-B{border-color:rgba(125,211,252,.20);}
.ic > *:not(.vb):not(.item-cap-thumb){padding-left:14px;padding-right:14px;}
.ic .ic-identity,.ic .mainbox,.ic .ic-subs,.ic .score-wrap,.ic .score-bd,.ic .cactions{margin-left:0;margin-right:0;}
.ic-identity{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;padding-top:4px;}
.ic-shape-wrap{flex-shrink:0;position:relative;width:var(--sz,58px);align-self:flex-start;}
.ic-shape{width:var(--sz,52px);height:var(--sz,52px);display:flex;align-items:center;justify-content:center;}
.ic-shape-bare{width:var(--sz,52px);height:var(--sz,52px);}
.ic-shape-bare svg{width:calc(var(--sz,52px)*0.92)!important;height:calc(var(--sz,52px)*0.92)!important;display:block;}
.ic-shape-bare img{width:calc(var(--sz,52px)*0.92);height:calc(var(--sz,52px)*0.92);display:block;object-fit:contain;}
[data-theme="light"] .ic .ic-shape-bare svg{filter:drop-shadow(0 2px 5px rgba(26,29,46,.2));}
[data-theme="dark"] .ic .ic-shape-bare svg{filter:none;}

/* Modo claro — tarjetas de módulo/cartucho más legibles */
[data-theme="light"] .ic{
  background:rgba(255,255,255,.92);
  border-color:rgba(26,40,60,.16);
  box-shadow:0 2px 10px rgba(26,29,46,.07),0 0 0 1px rgba(26,29,46,.04);
}
[data-theme="light"] .ic.great{
  border-color:rgba(4,120,87,.35);
  background:linear-gradient(180deg,rgba(4,120,87,.06) 0%,rgba(255,255,255,.85) 28%);
}
[data-theme="light"] .ic.trash{
  border-color:rgba(220,38,38,.28);
  background:linear-gradient(180deg,rgba(220,38,38,.05) 0%,rgba(255,255,255,.85) 28%);
}
[data-theme="light"] .ic:not(.great):not(.trash){
  border-color:rgba(180,83,9,.22);
  background:linear-gradient(180deg,rgba(180,83,9,.04) 0%,rgba(255,255,255,.85) 28%);
}
[data-theme="light"] .ic::before{opacity:1;height:3px;}
[data-theme="light"] .ic.great::before{background:linear-gradient(90deg,#047857,#34D399);}
[data-theme="light"] .ic.trash::before{background:linear-gradient(90deg,#DC2626,#F87171);}
[data-theme="light"] .ic:not(.great):not(.trash)::before{background:linear-gradient(90deg,#B45309,#FBBF24);}
[data-theme="light"] .v-great{
  background:rgba(4,120,87,.12);
  color:#065F46;
  border-bottom:1px solid rgba(4,120,87,.18);
  font-weight:800;
}
[data-theme="light"] .v-ok{
  background:rgba(180,83,9,.10);
  color:#92400E;
  border-bottom:1px solid rgba(180,83,9,.16);
  font-weight:800;
}
[data-theme="light"] .v-trash{
  background:rgba(220,38,38,.08);
  color:#991B1B;
  border-bottom:1px solid rgba(220,38,38,.14);
  font-weight:800;
}
[data-theme="light"] .ic .mainbox,
[data-theme="light"] .ic .ic-subs,
[data-theme="light"] .ic .score-bd-body{
  background:#EEF2F8;
  border-color:rgba(26,40,60,.16);
  box-shadow:inset 0 1px 3px rgba(26,29,46,.05);
}
[data-theme="light"] .ic .ic-subs .srow{border-bottom-color:rgba(26,40,60,.14);}
[data-theme="light"] .ic .mainbox .stat-lbl{color:#3D4A5C;}
[data-theme="light"] .ic .badge-lock{
  color:#92400E;
  background:rgba(245,158,11,.2);
  border-color:#D97706;
  font-weight:700;
  font-size:10px;
}
[data-theme="light"] .badge-dupe{
  color:#9A3412;
  background:rgba(234,88,12,.14);
  border-color:#EA580C;
  font-weight:700;
}
[data-theme="light"] .ic .score-hdr{color:#3D4A5C;}
[data-theme="light"] .ic .score-hdr .c-green{color:#047857;}
[data-theme="light"] .ic .score-hdr .c-amber{color:#B45309;}
[data-theme="light"] .ic .score-hdr .c-red{color:#DC2626;}
[data-theme="light"] .ic .sbar{background:#D5DCE8;height:7px;}
[data-theme="light"] .ic .score-bd summary{color:#3D4A5C;font-weight:600;}
[data-theme="light"] .ic .score-bd-reason{color:#4B5563;}
[data-theme="light"] .ic .best-for{
  border-top:1px dashed rgba(26,40,60,.2);
  padding-top:12px;
}
[data-theme="light"] .ic .best-for-title{
  color:#374151;
  font-weight:800;
  letter-spacing:.08em;
}
[data-theme="light"] .ic .best-for-row .c-text2{color:#121820;}
[data-theme="light"] .ic .best-for-reason{color:#4B5563;}
[data-theme="light"] .ic .cactions{
  border-top-color:rgba(26,40,60,.16);
  background:linear-gradient(180deg,transparent,rgba(238,242,248,.6));
}
[data-theme="light"] .ic .notes-italic{color:#4B5563;}
/* ── Light theme · component overrides (Rediseño 2026) ── */
[data-theme="light"] .char-pick-bar{
  background:linear-gradient(135deg,rgba(123,107,242,.06),rgba(255,255,255,.9));
  border-color:rgba(123,107,242,.18);
}
[data-theme="light"] .auto-team-bar{
  background:linear-gradient(135deg,rgba(61,191,181,.05),rgba(255,255,255,.9));
  border-color:rgba(61,191,181,.18);
}
[data-theme="light"] .pick-dashboard{background:rgba(255,255,255,.8);border-color:rgba(26,40,60,.10);}
[data-theme="light"] .inv-controls{background:rgba(255,255,255,.7);border-color:rgba(26,40,60,.12);}
[data-theme="light"] .inv-controls-head{background:rgba(255,255,255,.35);}
[data-theme="light"] .char-card{background:rgba(255,255,255,.85);border-color:rgba(26,40,60,.12);box-shadow:0 2px 10px rgba(26,29,46,.05);}
[data-theme="light"] .arc-card{background:rgba(255,255,255,.92);border-color:rgba(26,40,60,.12);box-shadow:0 2px 10px rgba(26,29,46,.05);}
[data-theme="light"] .guide-card{background:rgba(255,255,255,.92);border-color:rgba(26,40,60,.12);}
[data-theme="light"] .info-banner{background:rgba(255,255,255,.85);border-color:rgba(26,40,60,.12);}
[data-theme="light"] .console-block{background:rgba(255,255,255,.85);border-color:rgba(26,40,60,.12);}
[data-theme="light"] .rewind-panel{background:linear-gradient(135deg,rgba(240,169,59,.04),rgba(255,255,255,.85));border-color:rgba(240,169,59,.18);}
[data-theme="light"] .empty{background:linear-gradient(165deg,rgba(255,255,255,.7) 0%,rgba(244,247,252,.5) 100%);}
[data-theme="light"] .topbar{background:rgba(255,255,255,.85);}
[data-theme="light"] .tabs{background:rgba(255,255,255,.85);}
[data-theme="light"] .modal{background:rgba(255,255,255,.95);border-color:rgba(26,40,60,.10);}
[data-theme="light"] .scroll-top-btn{background:rgba(255,255,255,.85);border-color:rgba(26,40,60,.14);}
.ic-shape-frame{
  position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:var(--sz,52px);height:calc(var(--sz,52px)*1.3);
  background-image:var(--shape-bg,none);
  background-size:contain;background-repeat:no-repeat;background-position:center;
  overflow:visible;
}
.ic-shape-inner{
  width:calc(var(--sz,52px)*0.72);height:calc(var(--sz,52px)*0.72);
  display:flex;align-items:center;justify-content:center;
}
.ic-shape-inner .set-icon-img,.ic-shape-inner svg{
  width:calc(var(--sz,52px)*0.66)!important;height:calc(var(--sz,52px)*0.66)!important;min-width:0;
  object-fit:contain;
}
.ic-shape-wrap .ic-rank{position:absolute;top:-6px;left:-6px;z-index:3;margin:0;min-width:20px;height:20px;font-size:10px;}
.ic-info{flex:1;min-width:0;}
.ic-info-title{font-size:14px;font-weight:700;color:var(--text1);line-height:1.35;letter-spacing:-.01em;}
.ic-info-sub{font-size:12px;color:var(--text2);margin-top:4px;line-height:1.45;word-break:break-word;}
.ic-info-eq{margin-top:4px;line-height:1;}
.ic-info-eq .eq-badge{margin-left:0;}
.ic-info-geo{font-size:10px;color:#F5A050;margin-top:3px;font-family:var(--font-mono);font-weight:500;}
.ic-set-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:5px;}
.ic-rar-col{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;min-width:42px;align-self:flex-start;}
.ic-fit{margin-bottom:2px;max-width:72px;text-align:center;line-height:1.2;}
.rar-lvl{
  font-size:11px;color:var(--text2);font-weight:700;line-height:1;
  font-family:var(--font-mono);letter-spacing:.02em;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.rar-badge{
  width:34px;height:34px;border-radius:50%;position:relative;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid;font-weight:800;font-size:14px;line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.2);
}
.rar-badge .rar-badge-letter{position:relative;z-index:1;}
.rar-badge-star{position:absolute;bottom:1px;right:2px;font-size:6px;line-height:1;opacity:.95;}
.rar-badge-S{
  background:linear-gradient(155deg,#FFE566 0%,#F0B830 42%,#B87818 100%);
  border-color:#FFD84D;color:#4A2808;
  box-shadow:0 0 8px rgba(240,192,74,.35),0 1px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3);
}
.rar-badge-S .rar-badge-letter{
  color:#2A1600;
  text-shadow:0 0 1px #FFF8E0,0 1px 0 rgba(255,255,255,.45);
}
.rar-badge-S .rar-badge-star{color:#6B3A08;}
.rar-badge-A{
  background:linear-gradient(155deg,#D4B4FF 0%,#9B6BF5 45%,#5B21A8 100%);
  border-color:#C4A0FF;color:#F3EEFF;
  box-shadow:0 0 6px rgba(168,157,249,.2),0 1px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.22);
}
.rar-badge-A .rar-badge-star{color:#E8D5FF;}
.rar-badge-B{
  background:linear-gradient(155deg,#93C5FD 0%,#3B82F6 45%,#1D4ED8 100%);
  border-color:#7CB8FF;color:#EFF6FF;
  box-shadow:0 0 6px rgba(96,165,250,.2),0 1px 4px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.22);
}
.rar-badge-B .rar-badge-star{color:#DBEAFE;}
.vb{
  font-size:11px;font-weight:700;padding:10px 14px;border-radius:0;
  display:flex;align-items:center;gap:6px;margin-bottom:12px;
  letter-spacing:.02em;text-transform:uppercase;
}
.v-trash{background:rgba(248,113,113,.1);color:var(--red);border-bottom:1px solid rgba(248,113,113,.15);}
.v-great{background:rgba(52,211,153,.1);color:var(--green);border-bottom:1px solid rgba(52,211,153,.15);}
.v-ok{background:rgba(251,191,36,.08);color:var(--amber);border-bottom:1px solid rgba(251,191,36,.12);}

/* SUB ROWS */
.srow{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border);font-size:12px;}
.srow:last-child{border-bottom:none;}
.dot{width:6px;height:6px;min-width:6px;border-radius:50%;margin-right:6px;flex-shrink:0;}
.dg{background:var(--green);}.do{background:var(--amber);}.db{background:var(--red);}.di{background:var(--text3);}
.sname{display:inline-flex;align-items:center;gap:5px;color:var(--text2);min-width:0;}
.stat-icon{width:16px;height:16px;min-width:16px;object-fit:contain;flex-shrink:0;opacity:.95;vertical-align:middle;}
.stat-lbl{display:inline-flex;align-items:center;gap:5px;}
.mainbox .stat-lbl{font-size:11px;color:var(--text3);}
.sval{color:var(--text1);font-weight:500;font-variant-numeric:tabular-nums;}
.sdim{opacity:.35;}

/* Tarjetas módulo/cartucho — legibilidad */
.ic .stat-lbl{
  font-size:12px;text-transform:none;letter-spacing:.01em;font-weight:600;margin-top:0;
}
.ic .mainbox .stat-lbl{
  font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;font-weight:700;
}
.ic .mainbox strong{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
.ic .ic-subs{
  margin-top:2px;padding:8px 10px;background:var(--bg0);
  border:1px solid var(--border);border-radius:var(--radius-md);
  box-shadow:var(--surface-inset);
}
.ic .ic-subs .srow{padding:7px 0;font-size:13px;border-bottom-color:var(--border2);}
.ic .ic-subs .srow:last-child{border-bottom:none;padding-bottom:2px;}
.ic .ic-subs .srow:first-child{padding-top:2px;}
.ic .ic-subs .sname{color:var(--text1);font-weight:500;flex:1;}
.ic .ic-subs .sname .stat-lbl{color:inherit;font-size:12px;font-weight:600;}
.ic .ic-subs .sval{font-weight:700;font-size:13px;margin-left:10px;flex-shrink:0;}
.ic .ic-subs .sdim,
.ic .ic-subs .sname.sdim,
.ic .ic-subs .sval.sdim{opacity:1;color:var(--text2);}
.ic .ic-subs .sname.sdim .stat-lbl{color:var(--text2);font-weight:500;}
.ic .badge-lock{
  font-size:10px;color:var(--amber);background:var(--amber-dim);
  border:1px solid var(--border-amber);border-radius:4px;
  padding:1px 6px;margin-left:4px;white-space:nowrap;line-height:1.3;
}
.ic .score-wrap{margin-top:10px;}
.ic .score-hdr{font-size:12px;color:var(--text2);font-weight:600;}
.ic .sbar{height:6px;}
.ic .score-bd{font-size:11px;margin-top:6px;}
.ic .score-bd summary{color:var(--text2);font-size:11px;line-height:1.4;}
.ic .score-bd-reason{font-size:10px;color:var(--text2);line-height:1.45;}
.ic .best-for{margin-top:12px;padding-top:12px;}
.ic .best-for-title{font-size:11px;color:var(--text2);margin-bottom:8px;}
.ic .best-for-row{font-size:13px;margin-bottom:5px;}
.ic .best-for-row .c-text2{color:var(--text1);}
.ic .best-for-reason{font-size:11px;color:var(--text2);line-height:1.45;margin-top:6px;}
.ic .assigned-line{font-size:11px;}
.ic .vb{font-size:10px;line-height:1.45;}
.ic .ic-info-sub{font-size:12px;color:var(--text1);}
.ic .notes-italic{font-size:12px;color:var(--text2);}

/* SCORE */
.score-wrap{margin-top:8px;}
.score-hdr{display:flex;justify-content:space-between;font-size:11px;color:var(--text3);margin-bottom:4px;}
.sbar{height:5px;border-radius:99px;background:var(--bg3);overflow:hidden;}
.sf{height:100%;border-radius:99px;width:calc(var(--pct,0)*1%)}
.sg{background:var(--green);}.so{background:var(--amber);}.sr2{background:var(--red);}
.score-bd{margin-top:4px;font-size:10px;}
.score-bd summary{color:var(--text3);cursor:pointer;user-select:none;list-style:none;display:flex;align-items:center;gap:4px;}
.score-bd summary::-webkit-details-marker{display:none;}
.score-bd summary::before{content:'▸';font-size:9px;transition:transform .15s;}
.score-bd[open] summary::before{transform:rotate(90deg);}
.score-bd-body{margin-top:4px;padding:8px 10px;background:var(--bg0);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--surface-inset);}
.score-bd-row{display:flex;justify-content:space-between;gap:6px;padding:1px 0;}
.score-bd-reason{margin-top:4px;padding-top:4px;border-top:1px dashed var(--border);color:var(--text3);font-size:9px;line-height:1.35;}

/* PILLS */
.pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:3px 10px;border-radius:99px;border:1px solid;letter-spacing:.02em;}
.p-Inc{background:#2A1520;color:#E893B1;border-color:#5C2040;}
.p-Cos{background:var(--purple-dim);color:var(--purple2);border-color:var(--purple);}
.p-Cha{background:#2A1510;color:#E89360;border-color:#5C3020;}
.p-Ani{background:var(--green-dim);color:var(--green);border-color:var(--border-green);}
.p-Lak{background:var(--amber-dim);color:var(--amber);border-color:var(--border-amber);}
.p-Psy{background:#0E1E3D;color:#6AB0E8;border-color:#1A3C5C;}
.p-Men{background:#1A1630;color:#B8A0E8;border-color:#3D2E5C;}
.p-Uni{background:var(--bg3);color:var(--text2);border-color:var(--border2);}
.p-S{background:var(--s-dim);color:var(--s-color);border-color:#B8922A;}
.p-A{background:var(--a-dim);color:var(--a-color);border-color:var(--purple);}
.p-B{background:var(--b-dim);color:var(--b-color);border-color:#3A6AB8;}
.sec-lbl{
  font-size:11px;font-weight:800;color:var(--text2);
  text-transform:uppercase;letter-spacing:.1em;margin:0 0 .85rem;
  padding-bottom:10px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;
}
.sec-lbl::before{
  content:'';width:3px;height:14px;border-radius:99px;
  background:linear-gradient(180deg,var(--purple),var(--purple-deep));flex-shrink:0;
}
.mainbox{
  background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:10px 14px;font-size:12px;margin-bottom:8px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  box-shadow:var(--surface-inset);
}
.cactions{display:flex;gap:8px;margin-top:12px;padding:12px 14px 0;border-top:1px solid var(--border);}
.setline{display:flex;align-items:center;gap:8px;margin-bottom:7px;}
.set-icon{
  width:28px;height:28px;min-width:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border2);font-size:14px;font-weight:700;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.06);
}
.set-icon-img{
  width:var(--icon-sz,40px);height:var(--icon-sz,40px);min-width:var(--icon-sz,40px);
  border-radius:50%;object-fit:contain;display:block;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.08),transparent 55%),var(--bg3);
  border:1px solid var(--border2);box-shadow:var(--icon-shadow),0 0 0 1px var(--purple-dim);
}
.ic-shape .set-icon-img{width:calc(var(--sz,52px)*0.66)!important;height:calc(var(--sz,52px)*0.66)!important;min-width:0;}
.elem-pill{gap:5px;padding:3px 10px 3px 6px;}
.elem-pill-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0;}
.rar-badge-img{
  width:40px;height:40px;background-size:contain;background-repeat:no-repeat;background-position:center;
  display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.5));
}
.rar-badge-img .rar-badge-letter{
  font-size:15px;font-weight:900;line-height:1;letter-spacing:-.03em;
  -webkit-text-stroke:1px rgba(0,0,0,.55);
  paint-order:stroke fill;
  text-shadow:0 2px 4px rgba(0,0,0,.65),0 0 6px rgba(0,0,0,.35);
}
.rar-badge-img-S .rar-badge-letter{
  color:#FFF8E7;
  -webkit-text-stroke:1.25px #3D2006;
  text-shadow:0 1px 0 rgba(255,255,255,.35),0 2px 6px rgba(0,0,0,.7);
}
.rar-badge-img-A .rar-badge-letter{
  color:#FFFFFF;
  -webkit-text-stroke:1px #3B1578;
}
.rar-badge-img-B .rar-badge-letter{
  color:#FFFFFF;
  -webkit-text-stroke:1px #1E3A8A;
}
.ic-rar-col .rar-badge-img{width:42px;height:42px;}
.ic-rar-col .rar-badge-img .rar-badge-letter{font-size:16px;}
.modal-game-deco{width:28px;height:28px;object-fit:contain;vertical-align:middle;margin-right:6px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));}
.guide-elem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin-top:4px;}
.guide-elem-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);font-size:12px;font-weight:600;color:var(--text1);transition:border-color .15s,transform .12s;}
@media(hover:hover) and (pointer:fine){
  .guide-elem-chip:hover{border-color:rgba(61,191,181,.35);transform:translateY(-1px);}
}
.guide-elem-chip img{width:24px;height:24px;object-fit:contain;flex-shrink:0;}
.cart-set-preview{
  display:flex;align-items:center;justify-content:center;
  padding:10px 0 14px;margin-bottom:4px;
  background:transparent;border:none;box-shadow:none;
}
.cart-set-preview-icon{display:flex;align-items:center;justify-content:center;}
.cart-set-preview .ic-shape-frame{--sz:96px;}
.cart-set-preview .set-icon-img{filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));}
.split-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  margin:14px 0 10px;padding-left:2px;
}
.empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:3rem 1.5rem;color:var(--text3);
  background:linear-gradient(165deg,rgba(255,255,255,.02) 0%,rgba(255,255,255,.01) 100%);
  border:1px dashed var(--border2);
  border-radius:var(--radius-xl);margin-top:4px;
  gap:8px;
}
.empty-icon-wrap{
  width:64px;height:64px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(61,191,181,.06);border:1px solid rgba(61,191,181,.15);
  margin-bottom:6px;
}
.empty-icon-wrap i{font-size:28px;color:var(--nte-teal);opacity:.7;margin:0;display:block;}
.empty>i:not(.empty-icon-wrap i){
  font-size:30px;display:flex;align-items:center;justify-content:center;
  width:68px;height:68px;border-radius:50%;
  background:rgba(61,191,181,.08);border:1px solid rgba(61,191,181,.18);
  color:var(--nte-teal);opacity:.75;margin-bottom:6px;
}
.empty-title{font-size:15px;font-weight:700;color:var(--text1);letter-spacing:-.01em;margin:0;}
.empty-sub{font-size:13px;color:var(--text3);line-height:1.5;margin:0;max-width:360px;}
.empty-cta{margin-top:10px;}
.grp-block{margin-bottom:2rem;}
.drop-overlay{background:var(--drop-overlay-bg);backdrop-filter:blur(8px);}

/* MODAL */
.modal-bg{
  position:fixed;inset:0;background:var(--modal-backdrop);
  display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;
  animation:modal-bg-in .2s ease-out;
}
@keyframes modal-bg-in{from{opacity:0;}to{opacity:1;}}
.modal{
  position:relative;
  background:var(--bg1);border-radius:var(--radius-xl);padding:1.5rem;
  width:min(580px,100%);max-height:92vh;overflow-y:auto;
  border:1px solid var(--border);box-shadow:var(--shadow-lg),0 0 0 1px var(--glass-border);
  overflow-x:hidden;
  animation:modal-in .25s var(--ease-spring);
  contain:layout paint;
}
@keyframes modal-in{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.modal::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.80;border-radius:var(--radius-xl) var(--radius-xl) 0 0;
}
.modal.modal-mod{width:min(760px,98vw);}
.modal.modal-cart{width:min(700px,98vw);}
.mod-scan-split{display:flex;flex-direction:column;gap:14px;}
.mod-scan-split.has-preview #m-scan-preview-wrap{display:block!important;}
.scan-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--bg2);border:1px dashed var(--purple);border-radius:10px;padding:8px 10px;margin-bottom:12px;}
.scan-hint{font-size:11px;color:var(--text3);flex:1;min-width:140px;line-height:1.45;}
.scan-status{font-size:11px;color:var(--purple2);}
.scan-debug{width:100%;font-size:10px;line-height:1.35;color:var(--muted);background:var(--bg3);border-radius:6px;padding:6px 8px;margin-top:4px;font-family:ui-monospace,monospace;word-break:break-word;max-height:72px;overflow:auto;}
.scan-preview-wrap{margin-bottom:0;}
.scan-preview-lbl{font-size:11px;color:var(--text3);margin-bottom:6px;}
.scan-preview-img{display:block;width:100%;max-height:280px;border-radius:10px;border:1px solid var(--border);object-fit:contain;background:var(--bg0);}
.ocr-flash{background:var(--green-dim)!important;transition:background .4s;}
@media(min-width:700px){
  .mod-scan-split.has-preview{flex-direction:row;align-items:flex-start;gap:16px;}
  .mod-scan-split.has-preview #m-scan-preview-wrap{flex:0 0 220px;max-width:220px;margin-bottom:0!important;position:sticky;top:0;}
  .mod-scan-split.has-preview #m-scan-preview{max-height:420px!important;width:100%;}
  .mod-scan-split.has-preview .mod-form-fields{flex:1;min-width:0;}
}
.cart-scan-split{display:flex;flex-direction:column;gap:14px;}
.cart-scan-split.has-preview #c-scan-preview-wrap{display:block!important;}
@media(min-width:720px){
  .cart-scan-split.has-preview{flex-direction:row;align-items:flex-start;gap:16px;}
  .cart-scan-split.has-preview #c-scan-preview-wrap{flex:0 0 220px;max-width:220px;margin-bottom:0!important;position:sticky;top:0;}
  .cart-scan-split.has-preview #c-scan-preview{max-height:420px!important;width:100%;}
  .cart-scan-split.has-preview .mod-form-fields{flex:1;min-width:0;}
}
.sub-field-row{display:grid;grid-template-columns:44px 1fr minmax(96px,120px);gap:8px;align-items:center;padding:10px 12px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;box-shadow:var(--surface-inset);}
.sub-field-row .sub-tier{font-size:11px;font-weight:700;color:var(--amber);background:var(--amber-dim);border:1px solid var(--border-amber);border-radius:6px;padding:6px 4px;text-align:center;line-height:1.2;}
.sub-field-row .fg{margin:0!important;}
.sub-field-row .fg label{font-size:10px;margin-bottom:2px;color:var(--text3);}
.sub-field-row select,.sub-field-row input{font-size:12px;padding:7px 8px;}
@media(max-width:480px){
  .sub-field-row{grid-template-columns:40px 1fr;grid-template-rows:auto auto;}
  .sub-field-row .sub-val-cell{grid-column:2;}
}
.modal-ttl{font-size:16px;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;color:var(--text1);letter-spacing:-.02em;}
.ssep{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin:1rem 0 .6rem;padding-top:1rem;border-top:1px solid var(--border);}
label{font-size:11px;color:var(--text3);display:block;margin-bottom:4px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
input,select{width:100%;padding:9px 12px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.03);color:var(--text1);font-family:var(--font-sans);box-shadow:inset 0 1px 2px rgba(0,0,0,.06);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);}
input:focus,select:focus{outline:none;border-color:var(--purple);box-shadow:inset 0 1px 2px rgba(0,0,0,.06),0 0 0 3px var(--focus-ring);}
select option{background:var(--bg2);}
.fg{margin-bottom:10px;}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}

/* SHAPE PICKER */
.shape-picker{margin-bottom:4px;}
.shape-picker-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;}
.shape-picker-all{max-height:min(320px,42vh);overflow-y:auto;padding-right:4px;}
.shape-opt{border:1px solid var(--border);border-radius:var(--radius-md);padding:8px;cursor:pointer;text-align:center;background:var(--bg0);transition:border-color .15s,background .15s,box-shadow .15s;display:flex;align-items:center;justify-content:center;aspect-ratio:1;box-shadow:var(--surface-inset);}
.shape-opt-bare{min-height:0;padding:10px 8px;}
.shape-opt:hover{border-color:var(--purple);background:var(--purple-dim);}
.shape-opt.picked{border-color:var(--orange);background:rgba(232,136,56,.12);box-shadow:0 0 0 2px rgba(232,136,56,.28),0 4px 12px rgba(232,136,56,.15);}
.shape-opt svg,.shape-opt img{display:block;margin:0 auto;}
.shape-lbl{font-size:9px;color:var(--text2);margin-top:5px;line-height:1.2;font-weight:500;}
.shape-desc{font-size:8px;color:var(--text3);margin-top:2px;line-height:1.25;}
.shape-guide-hint{margin-top:8px;padding:10px 12px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);font-size:11px;color:var(--text3);line-height:1.5;box-shadow:var(--surface-inset);}
.shape-guide-hint b{color:var(--text2);}
.shape-legend-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);}
.shape-legend-row:last-child{border-bottom:none;}
.shape-legend-txt{flex:1;min-width:0;}
.shape-legend-txt .t{font-size:12px;font-weight:500;color:var(--text1);}
.shape-legend-txt .d{font-size:10px;color:var(--text3);margin-top:2px;line-height:1.4;}
.shape-legend-ascii{font-family:ui-monospace,Consolas,monospace;font-size:9px;color:var(--text3);white-space:pre;line-height:1.15;margin-top:4px;}

/* GUIDE TABLE */
.gtable{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;}
.gtable th{text-align:left;padding:8px 12px;color:var(--text3);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:10px;border-bottom:1px solid var(--border);background:var(--bg0);}
.gtable td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text2);background:var(--bg1);}
.gtable td:first-child{font-weight:600;color:var(--text1);}
.gtable tr:last-child td{border-bottom:none;}
.gtable tr:hover td{background:var(--bg2);}

/* ── PANEL CAPTURAS ────────────────────────────────────── */
.cap-drop-zone{
  border:2px dashed var(--border2);border-radius:var(--radius-xl);
  padding:3rem 1.5rem;text-align:center;cursor:pointer;
  transition:border-color .25s,background .25s,box-shadow .25s;
  background:linear-gradient(168deg,var(--bg2) 0%,var(--bg1) 100%);
  margin-bottom:1.5rem;position:relative;box-shadow:var(--shadow-sm);
}
.cap-drop-zone:hover{border-color:rgba(139,124,247,.4);background:rgba(139,124,247,.04);}
.cap-drop-zone.drag-over{border-color:var(--purple);background:rgba(139,124,247,.1);box-shadow:0 0 32px var(--purple-glow);}
.cap-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.cap-drop-zone-icon{font-size:40px;color:var(--text3);margin-bottom:10px;display:block;}
.cap-drop-zone p{font-size:13px;color:var(--text2);margin:0;}
.cap-drop-zone small{font-size:11px;color:var(--text3);}

.cap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.cap-card{
  background:var(--bg1);border:1px solid var(--border);border-radius:14px;overflow:hidden;
  transition:border-color .15s;display:flex;flex-direction:column;
}
.cap-card:hover{border-color:var(--border2);}
.cap-card.linked{border-color:var(--green);background:#0B1510;}

.cap-img-wrap{
  position:relative;background:var(--bg0);
  display:flex;align-items:center;justify-content:center;
  min-height:180px;overflow:hidden;cursor:zoom-in;
}
.cap-img-wrap img{max-width:100%;max-height:260px;object-fit:contain;display:block;}
.cap-img-wrap .cap-zoom-hint{
  position:absolute;bottom:6px;right:8px;
  font-size:10px;background:rgba(0,0,0,.55);color:var(--text3);
  padding:2px 7px;border-radius:99px;opacity:0;transition:opacity .2s;
}
.cap-img-wrap:hover .cap-zoom-hint{opacity:1;}

.cap-body{padding:10px 12px;flex:1;display:flex;flex-direction:column;gap:8px;}
.cap-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cap-date{font-size:10px;color:var(--text3);}
.cap-note-input{
  width:100%;background:var(--bg2);border:1px solid var(--border);
  border-radius:7px;padding:6px 9px;font-size:12px;color:var(--text1);
  font-family:var(--font-sans);resize:none;
}
.cap-note-input:focus{outline:none;border-color:var(--purple);}
.cap-note-input::placeholder{color:var(--text3);}
.cap-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--border);}
.cap-type-sel{
  flex:1;min-width:100px;background:var(--bg2);border:1px solid var(--border);
  border-radius:7px;padding:5px 8px;font-size:12px;color:var(--text1);font-family:var(--font-sans);
}
.cap-type-sel:focus{outline:none;border-color:var(--purple);}
.cap-linked-badge{
  font-size:10px;background:var(--green-dim);color:var(--green);
  border:1px solid var(--border-green);border-radius:99px;padding:2px 8px;
  display:inline-flex;align-items:center;gap:3px;
}

/* LIGHTBOX */
.lightbox-bg{
  position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:500;
  display:flex;align-items:center;justify-content:center;padding:1rem;
}
.lightbox-bg img{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:0 0 60px rgba(0,0,0,.8);}
.lightbox-close{
  position:absolute;top:16px;right:20px;font-size:28px;color:var(--text2);
  cursor:pointer;background:none;border:none;transition:color .15s;
}
.lightbox-close:hover{color:var(--text1);}

/* CAP TOOLBAR */
.cap-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:1rem;flex-wrap:wrap;}
.cap-counter{font-size:12px;color:var(--text3);}

/* CHAR CARDS (Personajes tab) */
.char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.char-card{
  background:var(--bg2);
  border:1px solid var(--border);border-radius:var(--radius-xl);
  padding:14px;box-shadow:var(--card-shadow);
  position:relative;overflow:hidden;
  contain:content;
}
.char-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:0;transition:opacity var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .char-card{transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);}
  .char-card:hover{transform:translate3d(0,-2px,0);border-color:rgba(61,191,181,.35);box-shadow:var(--card-shadow-hover);}
  .char-card:hover::before{opacity:.6;}
}
.char-card.has-items::before{opacity:.4;}
.char-ready-pct.char-ready-pending{opacity:.45;font-weight:600;}
.char-console-deferred{
  min-height:72px;margin-top:10px;padding:12px;
  border:1px dashed var(--border);border-radius:var(--radius-md);
  background:var(--bg0);color:var(--text4);font-size:.75rem;
  display:flex;align-items:center;justify-content:center;
}
.char-console-skeleton{opacity:.7;}
.guide-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-xl);
  padding:1.15rem 1.25rem 1.25rem;margin-bottom:14px;box-shadow:var(--card-shadow);
  position:relative;overflow:hidden;
  scroll-margin-top:calc(var(--topbar-h,68px) + 72px);
}
.guide-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.4;
}
.info-banner{
  margin-bottom:14px;padding:12px 16px;
  background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--radius-xl);
  box-shadow:var(--card-shadow);position:relative;overflow:hidden;
}
.info-banner::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.40;
}
.info-banner-title{font-size:14px;font-weight:800;color:var(--text1);letter-spacing:-.01em;}
.info-banner-sub{font-size:12px;color:var(--text3);margin-top:6px;line-height:1.55;}
.info-banner a{color:var(--purple2);text-decoration:none;font-weight:600;}
.info-banner a:hover{text-decoration:underline;}
.best-for{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);}
.best-for-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-weight:700;}
.best-for-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:4px;}
.char-stat-box{
  background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:10px;text-align:center;box-shadow:var(--surface-inset);
}
/* ARC / DISCO CARDS */
.arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.arc-card{
  --arc-Solid:#E8C97A;--arc-Liquid:#6EC8FF;--arc-Plasma:#FF8A6B;--arc-Gas:#9AE6B4;--arc-Bose:#D4A5FF;
  background:var(--bg2);
  border:1px solid var(--border);border-radius:var(--radius-xl);
  padding:12px 12px 10px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;gap:8px;
  position:relative;overflow:hidden;
  border-left:3px solid var(--arc-Solid);
}
.arc-card.arc-type-Solid{border-left-color:var(--arc-Solid);}
.arc-card.arc-type-Liquid{border-left-color:var(--arc-Liquid);}
.arc-card.arc-type-Plasma{border-left-color:var(--arc-Plasma);}
.arc-card.arc-type-Gas{border-left-color:var(--arc-Gas);}
.arc-card.arc-type-Bose{border-left-color:var(--arc-Bose);}
.arc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:0;transition:opacity var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .arc-card{transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);}
  .arc-card:hover{transform:translate3d(0,-2px,0);border-color:rgba(123,107,242,.25);box-shadow:var(--card-shadow-hover);}
  .arc-card:hover::before{opacity:.5;}
}
.arc-card-head{display:flex;gap:10px;align-items:flex-start;}
.arc-card-info{flex:1;min-width:0;}
.arc-card-art,.arc-card-icon{
  width:64px;height:64px;min-width:64px;flex-shrink:0;
  border-radius:var(--radius-md);overflow:hidden;
  background:linear-gradient(160deg,var(--bg0),var(--bg3));
  border:1px solid var(--border2);
  position:relative;
}
.arc-card-art img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;display:block;
}
.arc-card-icon{
  display:flex;align-items:center;justify-content:center;
}
.arc-card-title{
  font-weight:700;font-size:13px;color:var(--text1);line-height:1.3;
  margin:0;letter-spacing:-.01em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.arc-card-sub{font-size:10px;color:var(--text3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.arc-card-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center;}
.arc-type-pill{
  display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;
  border-radius:99px;padding:2px 8px;border:1px solid var(--border);
}
.arc-type-Solid{color:#E8C97A;border-color:rgba(232,201,122,.35);background:rgba(232,201,122,.1);}
.arc-type-Liquid{color:#6EC8FF;border-color:rgba(110,200,255,.35);background:rgba(110,200,255,.1);}
.arc-type-Plasma{color:#FF8A6B;border-color:rgba(255,138,107,.35);background:rgba(255,138,107,.1);}
.arc-type-Gas{color:#9AE6B4;border-color:rgba(154,230,180,.35);background:rgba(154,230,180,.1);}
.arc-type-Bose{color:#D4A5FF;border-color:rgba(212,165,255,.35);background:rgba(212,165,255,.1);}
.arc-desc{
  font-size:11px;color:var(--text3);line-height:1.45;font-style:italic;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.arc-effects{font-size:11px;color:var(--text2);line-height:1.45;}
.arc-fx-main{margin:0;color:var(--text2);}
.arc-fx-more{margin-top:4px;}
.arc-fx-more summary{
  cursor:pointer;font-size:10px;font-weight:600;color:var(--nte-teal);
  list-style:none;user-select:none;
}
.arc-fx-more summary::-webkit-details-marker{display:none;}
.arc-effects-ul{margin:6px 0 0;padding-left:1.1rem;}
.arc-effects li{margin-bottom:4px;}
.arc-rec{margin-top:2px;}
.arc-rec-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;}
.arc-rec-chip{
  display:inline-flex;align-items:center;gap:4px;background:var(--bg0);
  border:1px solid var(--border);border-radius:8px;padding:3px 8px;
  font-size:11px;font-weight:600;color:var(--text2);cursor:pointer;
  font-family:var(--font-sans);
  transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .arc-rec-chip:hover{border-color:rgba(61,191,181,.4);color:var(--nte-teal);background:rgba(61,191,181,.08);}
}
.arc-meta{
  font-size:10px;color:var(--text3);display:flex;gap:10px;flex-wrap:wrap;
  margin-top:auto;padding-top:6px;border-top:1px solid var(--border);
}
.arc-meta i{font-size:12px;opacity:.8;vertical-align:-1px;}
.arc-sources{
  font-size:11px;color:var(--text3);margin:0 0 12px;line-height:1.4;
}
.arc-sources a{color:var(--nte-teal);text-decoration:none;font-weight:600;}
.arc-sources a:hover{text-decoration:underline;}
.arc-empty-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:8px 0 20px;}
.arc-meta-ranks{font-size:11px;color:var(--text3);margin-left:4px;}
@media(max-width:768px){
  .topbar{padding:1rem;}
  .panel{padding:1rem;}
  .tabs{padding:8px 1rem;top:var(--topbar-h,120px);}
  .topbar-actions{margin-left:auto;}
  .stat-chip{min-width:56px;padding:5px 8px;}
  .items-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
  .arc-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
}
/* ── Utilidades (antes inline en HTML/JS) ───────────────── */
.hidden{display:none!important}
.is-hidden{display:none!important}
.modal-bg{z-index:200}
.modal-bg.modal-z-high{z-index:250}
.modal-narrow{max-width:520px}
.modal-slot{max-width:440px}
.modal-preview{max-width:520px;max-height:92vh;overflow-y:auto}
.preview-hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}
.preview-headline{font-size:12px;font-weight:600;color:var(--green);margin:6px 0 10px;padding:8px 10px;background:rgba(46,204,140,.08);border-radius:8px;border:1px solid rgba(46,204,140,.2)}
.preview-mains{margin-bottom:8px}
.preview-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.preview-cart-hero{margin-bottom:8px}
.preview-alt-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.preview-alt-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--bg0);border:1px solid var(--border);border-radius:8px;font-size:10px}
.preview-alt-meta{flex:1;min-width:120px;color:var(--text2)}
.preview-alt-delta{font-size:9px;font-weight:600}
.mod-pick-hint{font-size:9px;color:var(--text3);margin-top:4px;display:flex;align-items:center;gap:4px;opacity:.85}
.mod-pick-card:hover .mod-pick-hint{color:var(--purple2);opacity:1}
.cart-pick-card{cursor:pointer}
.cart-pick-card::after{content:'Clic · ampliar';display:block;font-size:8px;color:var(--text3);margin-top:4px;opacity:.7}
.cart-pick-card:hover::after{color:var(--purple2);opacity:1}
.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:1.25rem}
.modal-actions-wrap{flex-wrap:wrap}
.btn-file-label{cursor:pointer}
.fg-mt{margin-top:10px}
.hint-sm{font-size:11px;color:var(--text3);margin:-4px 0 8px;line-height:1.45}
.txt-sm{font-size:12px;color:var(--text3);margin:0 0 14px;line-height:1.5}
.txt-sm b,.txt-sm .em{color:var(--text2)}
.team-slots-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#btn-team-apply:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
#team-modal.hidden{pointer-events:none}
#team-modal:not(.hidden) .modal{will-change:transform,opacity}
.w-full{width:100%}
.char-pick-sel-full{width:100%}
.ic-shape-frame{background-image:var(--shape-bg,none)}
.stat-icon-sz{width:var(--sz,16px);height:var(--sz,16px)}
.item-cap-mini-sz{width:var(--sz,36px);height:var(--sz,36px)}
.char-avatar-sz{width:var(--sz,36px);height:var(--sz,36px);min-width:var(--sz,36px);border-radius:8px;overflow:hidden;background:var(--purple-dim);border:1px solid var(--purple);display:flex;align-items:center;justify-content:center;font-size:calc(var(--sz,36px)*0.42);font-weight:500;color:var(--purple2)}
.char-avatar-sz img{width:100%;height:100%;object-fit:cover}
.set-icon-dyn{background:var(--set-bg);color:var(--set-fg)}
.rar-badge-img-dyn{background-image:var(--rar-bg)}
.c-green{color:var(--green)}
.c-amber{color:var(--amber)}
.c-red{color:var(--red)}
.c-muted{color:var(--text3)}
.c-text2{color:var(--text2)}
.c-text1{color:var(--text1)}
.c-orange{color:var(--orange)}
.c-purple2{color:var(--purple2)}
.fw-600{font-weight:600}
.fw-500{font-weight:500}
.fs-9{font-size:9px}
.fs-10{font-size:10px}
.fs-11{font-size:11px}
.fs-12{font-size:12px}
.fs-13{font-size:13px}
.fs-14{font-size:14px}
.fs-18{font-size:18px}
.fs-28{font-size:28px}
.mono{font-family:ui-monospace,monospace}
.italic{font-style:italic}
.uppercase-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}
.uppercase-label.mb{margin-bottom:6px}
.uppercase-label.mb-sm{margin-bottom:3px}
.notes-italic{font-size:11px;color:var(--text3);margin-top:6px;font-style:italic}
.notes-italic.mt8{margin-top:8px}
.flex-row{display:flex;align-items:center;gap:8px}
.flex-row-10{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.flex-row-center{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.flex-row-between{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.flex-col-gap{display:flex;flex-direction:column;gap:4px}
.flex-col-gap.mb{margin-bottom:6px}
.flex-wrap-gap{display:flex;flex-wrap:wrap;gap:3px}
.flex-wrap-gap4{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.flex-1{flex:1;min-width:0}
.flex-shrink-0{flex-shrink:0}
.flex-actions{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.flex-actions-sm{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.grid-2col-gap{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.row-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--surface-inset);}
.row-item-sm{display:flex;align-items:center;gap:6px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 6px;box-shadow:var(--surface-inset);}
.row-item-name{font-size:10px;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-item-meta{font-size:9px;color:var(--text3)}
.row-pct{font-size:11px;font-weight:600}
.shape-w36{width:36px;min-width:36px}
.shape-w24{width:24px;min-width:24px}
.loadout-section{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}
.loadout-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.loadout-empty{font-size:10px;color:var(--text3);margin-top:8px;font-style:italic}
.loadout-more{font-size:9px;color:var(--text3);font-style:italic}
.assigned-line{font-size:10px;color:var(--text2);margin-bottom:5px}
.conflict-warn{font-size:10px;color:var(--amber);margin-top:5px}
.best-for-row-inner{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:4px}
.best-for-reason{font-size:9px;color:var(--text3);margin-top:3px}
.status-ok{padding:10px 14px;background:var(--green-dim);border:1px solid rgba(45,212,168,.35);border-radius:var(--radius-md);color:var(--green);font-size:12px;margin-bottom:10px;}
.status-warn-box{padding:12px 14px;background:var(--amber-dim);border:1px solid rgba(245,185,66,.35);border-radius:var(--radius-md);color:var(--amber);font-size:12px;margin-bottom:10px;}
.status-err-box{padding:12px 14px;background:var(--red-dim);border:1px solid rgba(240,101,101,.35);border-radius:var(--radius-md);color:var(--red);font-size:12px;margin-bottom:10px;}
.console-hint{font-size:10px;color:var(--text3);margin-top:10px;line-height:1.4}
.console-no-data{font-size:10px;color:var(--text3);font-style:italic}
.console-cart-missing{border-color:var(--amber)}
.console-cart-warn{font-size:11px;color:var(--amber)}
.console-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.console-bonus{font-size:9px;color:var(--text3);margin-bottom:6px}
.cart-preview-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cart-title{font-size:14px;font-weight:500;color:var(--text1);line-height:1.35}
.cart-sub{font-size:11px;color:var(--text3);margin-top:2px}
.mainbox-mb{margin-bottom:8px}
.mainval-muted{color:var(--text3);font-size:12px;margin-left:auto}
.subs-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 6px}
.score-wrap-mt{margin-top:10px}
.shape-geo-line{font-size:12px;color:var(--orange);font-family:ui-monospace,monospace;margin-bottom:4px}
.shape-desc-line{font-size:12px;color:var(--text2);line-height:1.45;margin-bottom:8px}
.shape-guide-line{font-size:11px;color:var(--text3);line-height:1.45;margin-bottom:12px}
.slot-level{font-size:13px;font-weight:600;color:var(--text1)}
.slot-match{font-size:12px;color:var(--green)}
.console-slot-en{color:var(--red)}
.console-slot-miss{color:var(--amber)}
.rewind-tip-mt{margin-top:12px}
.rewind-name{font-size:12px;font-weight:500}
.rewind-emoji{font-size:18px}
.split-lbl-green{color:var(--green)}
.split-lbl-amber{color:var(--amber);margin-top:10px}
.split-lbl-red{color:var(--red);margin-top:12px}
.split-hint{font-size:10px;color:var(--text3);margin:-2px 0 6px;line-height:1.45}
.details-mt{margin-top:10px}
.details-mt8{margin-top:8px}
.summary-text2 summary,.summary-c2{color:var(--text2)}
.details-hint{font-size:10px;color:var(--text3);margin:4px 0 8px}
.empty-compact{padding:16px;font-size:12px}
.empty-compact-sm{padding:12px;font-size:11px}
.badge-bis{font-size:9px;color:var(--green);font-weight:600}
.badge-bis-xs{font-size:8px;color:var(--green)}
.badge-bis-tiny{font-size:9px;color:var(--green)}
.badge-alt{font-size:9px;color:var(--text3)}
.badge-tag{font-size:8px;font-weight:700;border-radius:99px;padding:1px 6px}
.badge-tag-set{background:var(--green-dim);color:var(--green);border:1px solid var(--green)}
.badge-tag-slot{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber)}
.badge-fit{font-size:10px;font-weight:600;background:var(--purple-dim);border:1px solid var(--purple);color:var(--purple2);border-radius:6px;padding:2px 7px}
.badge-fit-ml{margin-left:4px}
.badge-dupe{font-size:9px;font-weight:600;background:var(--amber-dim);color:var(--amber);border:1px solid #5C3C0E;border-radius:99px;padding:1px 7px}
.badge-share{font-size:9px;font-weight:600;background:var(--amber-dim);color:var(--amber);border:1px solid #5C3C0E;border-radius:99px;padding:1px 6px}
.badge-lock{font-size:9px;color:var(--text3);margin-left:4px}
.badge-rank{font-size:9px;color:var(--amber)}
.badge-chip{font-size:10px;background:var(--bg0);border:1px solid var(--border);border-radius:99px;padding:3px 10px;color:var(--text2);box-shadow:var(--surface-inset);}
.info-banner code{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg0);border:1px solid var(--border);color:var(--purple2);font-family:var(--font-mono);}
.ic.ic-locked{border-color:rgba(123,107,242,.45);box-shadow:0 0 0 1px var(--purple-dim),var(--shadow-sm);}
.ic.ic-locked::before{background:var(--accent-line);opacity:.5;}
.badge-main-pill{background:var(--purple-dim);border:1px solid var(--purple);color:var(--purple2);border-radius:99px;padding:1px 7px;font-size:10px}
.badge-sub-pill{background:var(--bg3);border:1px solid var(--border);color:var(--text2);border-radius:99px;padding:1px 7px;font-size:10px}
.badge-pill-dyn{background:var(--pill-bg);border:1px solid var(--pill-bc);border-radius:99px;padding:1px 7px;font-size:10px;color:var(--pill-col)}
.geo-inline{color:var(--orange);font-family:ui-monospace,monospace}
.geo-warn{color:var(--red)}
.set-hint-line{font-size:9px;color:var(--text3);margin-bottom:6px;line-height:1.45}
.set-info-line{font-size:10px;color:var(--orange);margin-top:3px;line-height:1.45}
.passive-line{font-size:10px;color:var(--text3);margin-top:2px}
.team-header-icon{font-size:28px;color:var(--purple2)}
.team-header-title{font-size:14px;font-weight:500;color:var(--text1)}
.team-header-sub{font-size:10px;color:var(--text3);margin-top:3px}
.team-block-mb{margin-bottom:1rem}
.grp-block-mb{margin-bottom:16px}
.sec-lbl-flex{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sec-lbl-flex7{display:flex;align-items:center;gap:7px}
.char-name-flex{font-weight:500;color:var(--text1)}
.char-thumb-icon{font-size:22px;color:var(--text3)}
.char-thumb-img{width:22px;height:22px;border-radius:5px;object-fit:cover;border:1px solid var(--border)}
.char-card-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.char-name-line{font-weight:700;font-size:14px;color:var(--text1);letter-spacing:-.01em;}
.char-meta-line{font-size:11px;color:var(--text3)}
.char-stat-num{font-size:20px;font-weight:800;margin-top:2px;letter-spacing:-.03em;}
.char-stat-lbl{font-size:10px;color:var(--text3)}
.char-stat-trash{font-size:10px;color:var(--red);margin-top:2px}
.char-stat-great{font-size:10px;color:var(--green);margin-top:1px}
.char-build-section{margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}
.char-build-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.char-build-title a{color:var(--purple2)}
.char-set-row{display:flex;align-items:center;gap:6px;background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 8px;box-shadow:var(--surface-inset);}
.char-set-name{font-size:11px;font-weight:500;color:var(--text1)}
.char-set-bonus{font-size:9px;color:var(--text3);line-height:1.3}
.btn-full-mb{width:100%;margin-bottom:6px}
.guide-title{font-size:1.05rem;font-weight:700;color:var(--text1);margin:0 0 6px;letter-spacing:-.02em;}
.guide-p{font-size:13px;color:var(--text3);line-height:1.5;margin:0 0 14px}
.guide-p-sm{margin:0 0 10px;font-size:12px}
.guide-p-md{margin:0 0 12px}
.guide-section-mb{margin-bottom:16px}
.guide-type-hdr{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.guide-type-II,.guide-type-hdr.guide-type-II,.guide-overview-lbl.guide-type-II{color:#8B7CF7}
.guide-type-III,.guide-type-hdr.guide-type-III,.guide-overview-lbl.guide-type-III{color:#3DDBA0}
.guide-type-IV,.guide-type-hdr.guide-type-IV,.guide-overview-lbl.guide-type-IV{color:#F5B942}
.guide-geo{font-family:var(--font-mono);color:var(--orange);font-weight:700}
.guide-stat-box{background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px}
.guide-stat-title{font-size:11px;font-weight:600;color:var(--nte-teal);margin-bottom:8px}
.guide-stat-note{font-size:10px;color:var(--text3);margin-top:8px;line-height:1.4}
.guide-sub-group-mb{margin-bottom:10px}
.guide-sub-title{font-size:10px;color:var(--text3);margin-bottom:6px;font-weight:600}
.guide-shell{max-width:1120px;margin:0 auto;}
.guide-top{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
  margin-bottom:16px;
  position:sticky;top:calc(var(--topbar-h,68px) + 8px);z-index:40;
  padding:10px 12px;border-radius:var(--radius-lg);
  background:color-mix(in srgb,var(--bg1) 92%,transparent);
  border:1px solid var(--border);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.guide-toc{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0;margin:0;padding:0;background:none;position:static;}
.guide-toc-link{
  font-size:11px;font-weight:600;color:var(--text2);text-decoration:none;
  padding:6px 11px;border-radius:999px;border:1px solid transparent;background:transparent;
  transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .guide-toc-link:hover{color:var(--nte-teal);background:rgba(61,191,181,.08);}
}
.guide-search-field{flex:0 1 280px;min-width:180px;margin:0;max-width:none;}
.guide-search-hint{font-size:11px;color:var(--text3);font-weight:600;white-space:nowrap;}
.guide-overview{display:flex;flex-direction:column;gap:18px;margin:0;}
.guide-overview-group{min-width:0;}
.guide-overview-lbl{
  display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border);
}
.guide-overview-badge{font-size:10px;font-weight:600;color:var(--text3);text-transform:none;letter-spacing:0;opacity:.9;}
.guide-overview-row{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(104px,1fr));
  gap:10px;
}
.guide-overview-item{
  display:flex;flex-direction:column;align-items:center;gap:6px;width:auto;
  text-align:center;padding:12px 8px 10px;
  border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg0);
  transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.guide-overview-art{
  width:56px;height:56px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;background:linear-gradient(160deg,var(--bg2),var(--bg1));
  border:1px solid var(--border);
}
.guide-overview-art img,.guide-overview-art svg,.guide-overview-item img,.guide-overview-item svg{
  display:block;width:48px;height:48px;object-fit:contain;
}
.guide-overview-geo{color:var(--orange);font-family:var(--font-mono);font-size:11px;font-weight:700;line-height:1.2;}
.guide-overview-desc{
  font-size:10px;font-weight:500;color:var(--text3);line-height:1.25;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  max-width:100%;min-height:2.5em;
}
@media(hover:hover) and (pointer:fine){
  .guide-overview-item:hover{
    border-color:rgba(61,191,181,.4);background:rgba(61,191,181,.06);
    transform:translateY(-2px);
  }
  .guide-overview-item:hover .guide-overview-desc{color:var(--text2);}
}
.guide-empty-shapes{font-size:12px;color:var(--text3);padding:8px 0;}
.guide-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
.guide-pill{
  display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;
  padding:4px 9px;border-radius:8px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);
}
.guide-pill-muted{background:var(--bg2);color:var(--text2);}
.guide-pill-purple{background:rgba(123,107,242,.1);color:var(--purple2);border-color:rgba(123,107,242,.25);}
.guide-pill-amber{background:var(--amber-dim);color:var(--amber);border-color:rgba(245,185,66,.3);}
.guide-pill-green{background:rgba(46,204,140,.1);color:var(--green);border-color:rgba(46,204,140,.25);}
.guide-stars-list{margin:0;padding-left:1.1rem;font-size:12px;color:var(--text2);line-height:1.7;}
.guide-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.guide-rx-block{margin-top:4px;}
.guide-rx-heading{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--text3);margin:4px 0 8px;
}
.guide-rx-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg0);
}
.guide-rx-elems{font-size:11px;color:var(--text3);line-height:1.35;}
.guide-note{margin-top:8px;padding-top:10px;border-top:1px solid var(--border);}
@media(max-width:720px){
  .guide-top{top:calc(var(--topbar-h,68px) + 4px);padding:8px;}
  .guide-toc-link{padding:5px 9px;font-size:10px;}
  .guide-search-field{flex:1 1 100%;}
  .guide-overview-row{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;}
  .guide-grid-2{grid-template-columns:1fr;}
}
.shape-legend-flex{display:flex;align-items:flex-start;gap:12px}
.shape-legend-desc{font-size:12px;font-weight:500;color:var(--text1);margin-bottom:4px}
.shape-legend-guide{font-size:11px;color:var(--text3);line-height:1.5}
.shape-legend-meta{font-size:9px;color:var(--text3);margin-top:6px}
.shape-legend-ascii-mt{margin-top:6px}
.score-bd-row-sep{margin-bottom:4px;padding-bottom:4px;border-bottom:1px dashed var(--border)}
.score-bd-mono{font-family:ui-monospace,monospace}
.cap-block{margin-bottom:12px}
.cap-label{font-size:10px;color:var(--text3);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}
.cap-img{width:100%;max-height:340px;object-fit:contain;border-radius:10px;border:1px solid var(--border);cursor:pointer;background:var(--bg0)}
.cap-hint{font-size:9px;color:var(--text3);margin-top:4px}
.arc-empty{color:var(--text3);font-size:13px;padding:12px}
.arc-effects-title{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:600}
.arc-effects-ul{margin:0;padding-left:16px}
.arc-no-rec{font-size:11px;color:var(--text3)}
.arc-no-rec a{color:var(--purple2)}
.arc-rank-stats .c-amber{color:var(--amber)}
.arc-rank-stats .c-purple2{color:var(--purple2)}
.arc-rank-stats .c-b{color:var(--b-color)}
.ic-title-sm{font-size:12px;line-height:1.4}
.mainbox-principal span{color:var(--text3);font-size:11px}
.pick-hint-bar{margin-bottom:12px}
.pick-hint-text{flex:1;font-size:11px;color:var(--text3);line-height:1.45}
.pick-hint-text b{color:var(--text2)}
.char-pick-flex{flex:1;min-width:160px}
.console-console-title{font-size:11px;font-weight:500;color:var(--text1)}
.console-console-sub{font-size:9px;color:var(--text3)}
.console-click-hint{font-size:9px;color:var(--text3);white-space:nowrap}
.rewind-shape-name code{font-size:11px;color:var(--orange)}
.mr-4{margin-right:4px}
.mt-3{margin-top:3px}
.mt-2{margin-top:2px}
.mt-4{margin-top:4px}
.mt-6{margin-top:6px}
.mt-8{margin-top:8px}
.mt-10{margin-top:10px}
.mt-12{margin-top:12px}
.mb-2{margin-bottom:2px}
.mb-3{margin-bottom:3px}
.mb-4{margin-bottom:4px}
.mb-6{margin-bottom:6px}
.mb-8{margin-bottom:8px}
.my-8{margin:8px 0}
.mb-10{margin-bottom:10px}
.mb-12{margin-bottom:12px}
.ml-auto{margin-left:auto}
.lh-13{line-height:1.3}
.lh-14{line-height:1.4}
.lh-145{line-height:1.45}
.lh-15{line-height:1.5}
.lh-155{line-height:1.55}
.lh-135{line-height:1.35}
.split-lbl-dyn{color:var(--split-col)}
.fs-16{font-size:16px}
.drop-overlay-json{display:flex;position:fixed;inset:0;border:3px dashed var(--purple);z-index:9990;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:none}
.drop-overlay-json.hidden{display:none!important}
.drop-overlay-icon{font-size:54px;color:var(--purple2)}
.drop-overlay-title{font-size:18px;font-weight:500;color:var(--purple2)}
.drop-overlay-sub{font-size:13px;color:var(--text3)}
.fw-400{font-weight:400}
.c-orange{color:var(--orange)}
.flex-row-6{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:4px}
.flex-gap-6{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.guide-card-flush{margin-bottom:0}
.guide-type-hdr-dyn{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.guide-shape-mini{text-align:center;width:52px}
.guide-shape-lbl{font-size:8px;color:var(--text3);margin-top:3px;line-height:1.2}
.guide-amber-title{font-size:11px;font-weight:500;color:var(--amber);margin-bottom:6px}
.guide-role-note{font-size:11px;color:var(--text3);line-height:1.5}
.guide-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.guide-title-12{font-size:13px;font-weight:500;color:var(--text1);margin-bottom:12px}
.guide-stat-box-mt{margin-top:8px}
.th-amber{color:var(--amber)}
.td-amber{color:var(--amber);font-weight:500}
.badge-alt-tiny{font-size:9px;color:var(--text3)}
.badge-bis-tiny{font-size:9px;color:var(--green)}
.inv-switch-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:var(--radius-md);
  background:var(--bg2);border:1px solid var(--border);
  color:var(--text1);font-size:13px;font-weight:600;cursor:pointer;
  font-family:var(--font-sans);flex-shrink:0;
  max-width:min(220px,42vw);
}
@media(hover:hover) and (pointer:fine){
  .inv-switch-btn{transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);}
  .inv-switch-btn:hover{border-color:var(--nte-teal);background:var(--bg3);}
}
.inv-switch-btn .ti-stack-2{font-size:17px;color:var(--nte-teal);flex-shrink:0;}
.inv-switch-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.inv-switch-chevron{font-size:14px;color:var(--text3);flex-shrink:0;}

body.inv-picker-open{overflow:hidden;}

.inv-picker{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  padding:24px 16px;
  background:rgba(6,7,12,.94);
  contain:layout paint;
}
[data-theme="light"] .inv-picker{background:rgba(243,241,250,.97);}
.app-shell.app-pre-inv{display:none!important;}
.inv-picker.hidden{display:none!important}
.inv-picker-panel{
  position:relative;
  width:min(920px,100%);max-height:min(92vh,900px);overflow:auto;
  background:var(--bg1);border:1px solid var(--border);
  border-radius:var(--radius-xl);padding:24px 22px 22px;
  box-shadow:var(--shadow-lg);
}
.inv-picker-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--accent-line);opacity:.80;border-radius:var(--radius-xl) var(--radius-xl) 0 0;
}
.inv-picker-head{text-align:center;margin-bottom:24px;}
.inv-picker-logo{
  width:56px;height:56px;margin:0 auto 14px;border-radius:var(--radius-md);
  background:linear-gradient(135deg,var(--purple-dim),rgba(123,107,242,.08));
  border:1px solid var(--logo-border);display:flex;align-items:center;justify-content:center;
  font-size:28px;color:var(--purple2);
  box-shadow:0 4px 20px var(--purple-glow),var(--surface-inset);
}
.inv-picker-title{font-size:22px;font-weight:800;color:var(--text1);letter-spacing:-.03em;margin:0 0 8px;}
.inv-picker-sub{font-size:13px;color:var(--text3);line-height:1.5;margin:0;max-width:520px;margin-inline:auto;}
.inv-picker-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
@media(max-width:640px){.inv-picker-grid{grid-template-columns:1fr;}}
.inv-card{
  display:flex;flex-direction:column;gap:10px;
  padding:16px;border-radius:var(--radius-lg);
  background:var(--bg0);border:1px solid var(--border);
  cursor:pointer;text-align:left;box-shadow:var(--surface-inset);
  position:relative;overflow:hidden;
}
@media(hover:hover) and (pointer:fine){
  .inv-card{transition:border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);}
  .inv-card:hover{border-color:rgba(123,107,242,.4);transform:translate3d(0,-2px,0);box-shadow:0 8px 24px rgba(0,0,0,.2);}
}
.inv-card-suggested{
  border-color:rgba(123,107,242,.45);
  background:linear-gradient(160deg,rgba(123,107,242,.1),var(--bg0));
  box-shadow:0 4px 16px var(--purple-glow);
}
.inv-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.inv-card-slot{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);}
.inv-card-badge{font-size:10px;font-weight:600;color:var(--purple2);background:var(--purple-dim);border:1px solid var(--border);padding:2px 8px;border-radius:999px;}
.inv-card-badge.hidden{display:none!important;}
.inv-card-name-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);}
.inv-card-name{
  width:100%;padding:10px 12px;border-radius:var(--radius-sm);
  border:1px solid var(--border);background:var(--bg0);
  color:var(--text1);font-size:15px;font-weight:600;font-family:var(--font-sans);
  box-shadow:var(--surface-inset);
}
.inv-card-name:focus{outline:none;border-color:var(--purple);box-shadow:var(--surface-inset),0 0 0 3px var(--focus-ring);}
.inv-card-stats{display:flex;gap:12px;font-size:12px;color:var(--text2);}
.inv-card-stats b{color:var(--text1);font-weight:700;}
.inv-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.inv-card-enter{width:100%;justify-content:center;}
.inv-card-clear{width:100%;justify-content:center;font-size:12px;}
.inv-card-clear:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}
.inv-picker-foot{margin:20px 0 0;font-size:11px;color:var(--text3);text-align:center;line-height:1.5;}

@media(max-width:900px){
  .inv-switch-btn{order:-1;width:100%;max-width:none;justify-content:center;}
}
.arc-link{color:var(--purple2)}

/* Aviso copia de seguridad */
.backup-notice-panel{max-width:480px;position:relative;overflow:hidden;}
.backup-notice-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--accent-line);opacity:.85;
}
.backup-notice-title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:800;margin:0 0 12px;letter-spacing:-.02em;}
.backup-notice-text{font-size:13px;line-height:1.55;color:var(--text2);margin:0 0 12px;}
.backup-notice-list{font-size:12px;line-height:1.6;color:var(--text2);margin:0 0 16px;padding-left:1.2rem}
.backup-notice-dismiss{
  display:block;width:100%;margin-top:14px;padding:8px 0;
  background:none;border:none;cursor:pointer;
  font-size:12px;color:var(--text3);text-decoration:underline;text-underline-offset:3px;
  transition:color .15s;
}
.backup-notice-dismiss:hover{color:var(--text2)}
.backup-notice-confirm-panel::before{background:linear-gradient(90deg,var(--amber),#e8a020)}
.backup-notice-confirm-warn{
  margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-md);
  background:var(--amber-dim);border:1px solid var(--border-amber);
  color:var(--text1);font-size:12px;line-height:1.5;
}

/* Mejor para / favoritos */
.btn-rewind-on{background:var(--amber-dim)!important;border-color:var(--amber)!important;color:var(--amber)!important}
.btn-lock-on{background:var(--purple-dim)!important;border-color:var(--purple)!important;color:var(--purple2)!important}

/* Recomendación — checks de prioridad */
.recommend-preview{
  margin:10px 0;padding:10px 12px;
  background:var(--bg0);border:1px solid var(--border);border-radius:var(--radius-md);
  box-shadow:var(--surface-inset);
}
.recommend-preview-hdr{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--border);
}
.stars-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.3}
.stars-badge-lbl{font-size:11px;font-weight:600;color:var(--text2)}
.stars-none{color:var(--text3);font-size:14px;opacity:.75}
.stars-rating-wrap{margin-top:10px}
.stars-rating-wrap .score-hdr{align-items:center}
.stars-meter{display:flex;gap:3px;margin-top:6px}
.star-seg{
  flex:1;text-align:center;font-size:15px;line-height:1.4;
  color:var(--text3);opacity:.35;border-radius:4px;padding:2px 0;background:var(--surface2);
}
.star-seg.on{color:var(--amber);opacity:1;background:rgba(240,169,59,.12)}
.stars-meter.stars-high .star-seg.on{color:var(--green);background:rgba(76,175,125,.12)}
.stars-meter.stars-good .star-seg.on{color:var(--amber);background:rgba(240,169,59,.12)}
.stars-meter.stars-mid .star-seg.on{color:var(--text2);background:rgba(160,160,180,.1)}
.stars-meter.stars-low .star-seg.on{color:var(--text3);background:rgba(160,160,180,.08)}
.recommend-meta{font-size:12px;font-weight:600}
.rec-compact-lbl{font-size:10px;color:var(--text2);margin-left:4px}
.vb-stars-lbl{font-weight:600}
.vb-farm{border-bottom-color:rgba(240,169,59,.25)!important;background:rgba(240,169,59,.08)!important;color:var(--amber)!important}
.vb-weak{opacity:.92}
.recommend-stars{font-size:13px;line-height:1.3}
.recommend-stars-lbl{font-size:11px;color:var(--text2);margin-left:4px}
.pri-check-lbl{margin:8px 0 4px;font-size:9px}
.pri-check-lbl-sub{margin-top:10px}
.pri-check-list{display:flex;flex-direction:column;gap:2px}
.pri-check-row{
  display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px;line-height:1.35;
  border-bottom:1px solid var(--border2);
}
.pri-check-row:last-child{border-bottom:none}
.pri-check-ico{
  flex:0 0 18px;width:18px;text-align:center;font-weight:700;font-size:13px;
}
.pri-hit .pri-check-ico{color:var(--green)}
.pri-miss .pri-check-ico{color:var(--red)}
.pri-extra .pri-check-ico{color:var(--red);opacity:.85}
.pri-check-stat{flex:1;min-width:0}
.pri-check-meta{font-size:10px;color:var(--text3);text-align:right;white-space:nowrap}
.sub-pri-check{
  display:inline-flex;align-items:center;justify-content:center;
  width:16px;height:16px;margin-right:4px;font-size:11px;font-weight:700;vertical-align:middle;
}
.sub-pri-yes{color:var(--green)}
.sub-pri-no{color:var(--red);opacity:.75}
.subs-label-hint{font-size:9px;color:var(--text3);text-transform:none;letter-spacing:0;font-weight:400;margin-left:6px}
#console-slot-modal .recommend-preview{margin-top:12px}
.modal-rec-preview{
  margin:0 0 12px;padding:12px 14px;
  background:rgba(46,204,140,.06);border:1px solid rgba(46,204,140,.22);border-radius:var(--radius-md);
}
.modal-rec-preview .recommend-preview{margin:0;border:none;padding:0;background:transparent}
.badge-dupe-worse{
  display:inline-flex;align-items:center;font-size:9px;font-weight:600;
  padding:2px 6px;border-radius:4px;margin-left:4px;
  background:rgba(240,169,59,.15);color:var(--amber);border:1px solid rgba(240,169,59,.35);
}
#console-slot-modal .vb{margin-bottom:8px}
.console-why-box{
  margin:10px 0 12px;padding:10px 12px;
  background:rgba(123,107,242,.08);border:1px solid rgba(123,107,242,.25);border-radius:var(--radius-md);
  font-size:11px;line-height:1.45;
}
.console-why-title{font-weight:600;color:var(--text1);margin-bottom:6px;font-size:12px}
.console-why-line{margin:4px 0;color:var(--text2)}
.console-why-ok{color:var(--green);margin-top:6px;font-size:11px}
.console-why-warn{color:var(--amber);margin-top:6px;font-size:11px}
.console-why-note{font-size:10px;margin-top:8px;line-height:1.4}
.console-pool-warn{color:var(--amber);font-size:11px;margin:6px 0 8px;padding:8px 10px;border:1px solid rgba(240,169,59,.35);border-radius:8px;background:rgba(240,169,59,.08);line-height:1.45}

/* ── UIX v6 — shell, toast, scroll-top, topbar móvil ─────────────── */
:root{--topbar-h:68px;}
.skip-link{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{
  position:fixed;left:1rem;top:1rem;z-index:99999;width:auto;height:auto;
  padding:10px 16px;background:var(--nte-teal);color:#fff;font-weight:700;
  border-radius:var(--radius-md);text-decoration:none;box-shadow:var(--shadow-lg);
}
.app-toast{
  position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;
  display:flex;align-items:flex-start;gap:10px;
  padding:12px 18px;max-width:min(380px,calc(100vw - 2rem));
  font-size:13px;font-weight:600;line-height:1.45;
  font-family:var(--font-sans);
  border-radius:var(--radius-lg);border:1px solid;
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;transform:translateY(12px);
  transition:opacity var(--dur-normal) var(--ease-out),transform var(--dur-normal) var(--ease-out);
  pointer-events:none;
}
.app-toast.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.app-toast i{font-size:18px;flex-shrink:0;margin-top:1px;}
.app-toast.toast-green{background:rgba(45,212,168,.14);color:var(--green);border-color:rgba(45,212,168,.35);}
.app-toast.toast-red{background:rgba(240,101,101,.12);color:var(--red);border-color:rgba(240,101,101,.32);}
.app-toast.toast-amber{background:rgba(245,185,66,.12);color:var(--amber);border-color:rgba(245,185,66,.3);}
.scroll-top-btn{
  position:fixed;bottom:1.75rem;left:1.75rem;z-index:150;
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.05);border:1px solid var(--border);
  color:var(--text2);cursor:pointer;
  box-shadow:var(--card-shadow);
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity var(--dur-normal) var(--ease),transform var(--dur-normal) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);
}
.scroll-top-btn.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
@media(hover:hover) and (pointer:fine){
  .scroll-top-btn:hover{border-color:var(--nte-teal);color:var(--nte-teal);transform:translateY(-2px);background:rgba(61,191,181,.08);}
}
.scroll-top-btn:focus-visible{outline:2px solid var(--nte-teal);outline-offset:2px;}
.topbar-overflow-btn{
  display:none;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;
  border:1px solid var(--border);border-radius:var(--radius-md);
  background:rgba(255,255,255,.03);color:var(--text2);cursor:pointer;
  transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);
}
.topbar-overflow-btn:hover{background:var(--bg3);border-color:var(--border2);}
.topbar-overflow-btn[aria-expanded="true"]{
  background:rgba(61,191,181,.10);border-color:rgba(61,191,181,.30);color:var(--nte-teal);
}
.topbar-overflow-panel{display:contents;}
.topbar-actions-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
@media(max-width:768px){
  :root{--topbar-h:120px;}
  .topbar-overflow-btn{display:inline-flex;}
  .topbar-overflow-panel{
    display:none;position:absolute;top:calc(100% + 6px);right:0;
    flex-direction:column;align-items:stretch;gap:4px;
    min-width:min(280px,calc(100vw - 2rem));
    padding:8px;background:var(--bg1);border:1px solid var(--border);
    border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
    z-index:110;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .topbar-overflow-panel.is-open{display:flex;}
  .topbar-overflow-panel .btn{width:100%;justify-content:flex-start;}
  .topbar-actions{position:relative;margin-left:auto;}
  .scroll-top-btn{bottom:5.5rem;}
  .app-toast{bottom:5.5rem;right:1rem;}
}
@media(prefers-reduced-motion:reduce){
  .modal-bg,.modal{animation:none!important;}
}
.items-grid.is-chunking{min-height:120px;}

/* ═══════════════════════ BUILD CONSOLE v2 — Grid + Tetris ═══════════════════════ */
.bc-hero{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem 1rem;}
.bc-hero-content{max-width:900px;width:100%;text-align:center;}
.bc-hero-icon{margin-bottom:1rem;}
.bc-hero-icon i{font-size:3rem;color:var(--purple2);opacity:.6;}
.bc-hero-title{font-size:1.8rem;font-weight:700;color:var(--text1);margin-bottom:.5rem;}
.bc-hero-sub{color:var(--text3);margin-bottom:2rem;font-size:.95rem;}

.bc-char-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
.bc-char-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border2);
  background:var(--bg1);cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;
  text-align:left;padding:0;display:flex;flex-direction:column;}
.bc-char-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 24px var(--purple-glow);}
.bc-char-card-bg{height:80px;background-size:cover;background-position:center;opacity:.35;}
.bc-char-card-img{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:-32px auto 0;border:3px solid var(--bg1);
  background:var(--bg2);position:relative;z-index:1;}
.bc-char-card-info{padding:8px 12px 12px;text-align:center;}
.bc-char-card-name{display:block;font-weight:600;font-size:.95rem;color:var(--text1);}
.bc-char-card-meta{display:block;font-size:.75rem;color:var(--text3);margin-top:2px;}

#tab-build.panel.active{
  padding:0.75rem 1rem 0.85rem;
  overflow:hidden;
  box-sizing:border-box;
  height:calc(100dvh - var(--topbar-h,68px) - 52px);
  max-height:calc(100dvh - var(--topbar-h,68px) - 52px);
  display:flex;flex-direction:column;
}
#tab-build.panel.active #bc-c{flex:1;min-height:0;height:auto;display:flex;flex-direction:column;}
#tab-build.panel.active .bc-console-wrap{
  flex:1;min-height:0;
  height:auto;max-height:none;
}
.bc-cand-head{flex-shrink:0;}
.bc-trash-zone{flex-shrink:0;}

/* Console layout: shell contenido (la altura la marca #tab-build) */
.bc-console-wrap{
  display:flex;flex-direction:column;gap:12px;padding:4px 4px 0;
  position:relative;box-sizing:border-box;overflow:hidden;
}
.bc-console-header{display:flex;align-items:center;gap:14px;flex-shrink:0;
  background:var(--bg1);border-radius:var(--radius-lg);padding:10px 14px;
  border:1px solid var(--border1);position:relative;z-index:2;}
.bc-back-btn{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px;border-radius:6px;
  transition:color .15s,background .15s;display:flex;}
.bc-back-btn:hover{color:var(--text1);background:var(--bg2);}
.bc-console-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border2);}
.bc-console-header-info{flex:1;min-width:0;}
.bc-console-header-name{display:block;font-weight:700;font-size:1.05rem;color:var(--text1);}
.bc-console-header-meta{font-size:.78rem;color:var(--text3);}
.bc-console-header-bonus{font-size:.72rem;color:var(--amber);margin-top:2px;display:block;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bc-console-header-actions{margin-left:auto;flex-shrink:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;}
.bc-card-equipped{box-shadow:inset 0 0 0 1px rgba(46,204,140,.35);}

/* Main layout: fila build + fila inventario; la plantilla central gana espacio */
.bc-main-grid{
  flex:1 1 auto;min-height:0;display:grid;gap:12px;position:relative;z-index:1;
  grid-template-columns:minmax(160px,.9fr) minmax(280px,1.45fr) minmax(220px,1fr);
  grid-template-rows:minmax(280px,1.35fr) minmax(150px,.8fr);
  grid-template-areas:"cand board stats" "inv inv inv";
  align-items:stretch;
}

.bc-top-col{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;}
.bc-col-candidates{grid-area:cand;background:var(--bg1);
  border:1px solid var(--border1);border-radius:var(--radius-lg);overflow:hidden;}
.bc-col-board{grid-area:board;display:flex;align-items:stretch;justify-content:center;overflow:hidden;min-width:0;}
.bc-col-stats{grid-area:stats;gap:10px;overflow:hidden;}
.bc-stats-stack{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;gap:10px;padding-right:2px;}
.bc-bottom-inv{grid-area:inv;background:var(--bg1);
  border:1px solid var(--border1);border-radius:var(--radius-lg);overflow:hidden;
  display:flex;flex-direction:column;min-height:0;max-height:none;z-index:1;}

/* Board section — celdas fluidas vía --bc-cell (ResizeObserver) */
.bc-board-section{background:var(--bg1);border-radius:var(--radius-lg);
  border:1px solid var(--border1);padding:12px;overflow:hidden;width:100%;
  display:flex;flex-direction:column;min-height:0;flex:1;}
.bc-board-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;
  font-weight:600;font-size:.85rem;color:var(--text2);flex-shrink:0;}
.bc-coverage{font-size:.75rem;color:var(--text4);font-weight:400;}

.bc-board{
  --bc-cell:64px;
  --bc-gap:7px;
  --bc-cols:6;
  display:grid;
  gap:var(--bc-gap);
  margin:auto;
  width:fit-content;
  max-width:100%;
  padding:clamp(6px,1.2cqi,12px);
  background:var(--bg0);border-radius:var(--radius-lg);border:1px solid var(--border0);
  grid-template-columns:repeat(var(--bc-cols),var(--bc-cell));
  transition:gap .15s ease;
}
.bc-cell{
  width:var(--bc-cell);height:var(--bc-cell);border-radius:clamp(6px,calc(var(--bc-cell)*.14),12px);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:background .12s,box-shadow .12s,border-color .12s,transform .08s;
  position:relative;border:1px solid transparent;box-sizing:border-box;
}
.bc-cell-empty{background:var(--bg2);border-color:var(--border0);}
.bc-cell-empty:hover{background:var(--bg3);border-color:var(--border2);}
.bc-cell-dot{width:calc(var(--bc-cell)*.14);height:calc(var(--bc-cell)*.14);min-width:6px;min-height:6px;
  border-radius:50%;background:var(--text4);opacity:.35;}
.bc-cell-blocked{background:transparent;cursor:default;border-color:transparent;}
.bc-cell-filled{background:var(--bg2);border-color:var(--border1);
  background-image:linear-gradient(145deg,rgba(255,255,255,.06),rgba(0,0,0,.06));}
.bc-cell-filled:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);}
.bc-cell-s{background:rgba(245,185,66,.16);border-color:rgba(245,185,66,.4);
  background-image:linear-gradient(145deg,rgba(245,185,66,.22),rgba(245,185,66,.05));}
.bc-cell-a{background:rgba(180,170,252,.16);border-color:rgba(180,170,252,.4);
  background-image:linear-gradient(145deg,rgba(180,170,252,.22),rgba(180,170,252,.05));}
.bc-cell-b{background:rgba(136,136,136,.14);border-color:rgba(136,136,136,.32);
  background-image:linear-gradient(145deg,rgba(255,255,255,.05),rgba(0,0,0,.05));}
.bc-cell-shape{opacity:.85;pointer-events:none;display:flex;align-items:center;justify-content:center;
  width:70%;height:70%;}
.bc-cell-shape svg{width:100%!important;height:100%!important;max-width:100%;max-height:100%;}
.bc-cell-shape-mini{font-size:calc(var(--bc-cell)*.12);color:var(--text4);}
.bc-cell-piece-label{font-size:calc(var(--bc-cell)*.11);font-weight:700;letter-spacing:.02em;color:var(--text4);
  opacity:.7;pointer-events:none;user-select:none;}
.bc-cell-valid{background:rgba(46,204,140,.28) !important;border-color:var(--green) !important;box-shadow:inset 0 0 0 2px var(--green),0 0 14px rgba(46,204,140,.35) !important;}
.bc-cell-invalid{background:rgba(239,68,68,.24) !important;border-color:var(--danger) !important;box-shadow:inset 0 0 0 2px var(--danger),0 0 14px rgba(239,68,68,.3) !important;}

/* Inventory panel (mods + carts toggle) — franja inferior */
.bc-inventory-panel{background:var(--bg1);border-radius:var(--radius-lg);
  border:1px solid var(--border1);overflow:hidden;display:flex;flex-direction:column;}
.bc-inv-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;
  border-bottom:1px solid var(--border0);flex-shrink:0;}
.bc-inv-tabs{display:flex;gap:4px;}
.bc-inv-tab{background:none;border:none;padding:6px 12px;border-radius:8px;cursor:pointer;
  font-size:.78rem;color:var(--text3);font-family:inherit;transition:all .15s;
  display:flex;align-items:center;gap:5px;}
.bc-inv-tab:hover{color:var(--text1);background:var(--bg2);}
.bc-inv-tab-active{color:var(--text1);background:var(--bg2);font-weight:500;box-shadow:inset 0 -2px 0 var(--accent);}
.bc-inv-count{font-size:.72rem;color:var(--text4);}
.bc-inv-body{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  grid-auto-rows:min-content;
  align-items:start;
  align-content:start;
  gap:10px;
  padding:12px;
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.bc-avail-more{grid-column:1/-1;text-align:center;font-size:.72rem;color:var(--text4);
  padding:8px;border:1px dashed var(--border1);border-radius:8px;}
.bc-avail-empty{grid-column:1/-1;text-align:center;padding:24px;color:var(--text4);font-size:.85rem;}

/* Tiles de inventario — altura por contenido, sin comprimir filas */
.bc-inv-tile{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;background:var(--bg0);
  border:1px solid var(--border1);border-radius:10px;
  cursor:grab;user-select:none;
  height:auto;min-height:78px;max-height:none;
  align-self:start;box-sizing:border-box;
  overflow:hidden;position:relative;
  transition:border-color .12s,box-shadow .12s;
}
.bc-inv-tile:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.28);}
.bc-inv-tile:active{cursor:grabbing;}
.bc-inv-tile.bc-mod-used{opacity:.55;cursor:default;}
.bc-inv-tile.bc-mod-used:hover{box-shadow:none;border-color:var(--border1);}
.bc-inv-tile.rar-S{border-left:3px solid var(--amber);}
.bc-inv-tile.rar-A{border-left:3px solid var(--accent);}
.bc-inv-tile.rar-B{border-left:3px solid var(--text4);}
.bc-inv-tile-shape{width:44px;height:44px;flex-shrink:0;border-radius:10px;background:var(--bg2);
  border:1px solid var(--border1);display:flex;align-items:center;justify-content:center;margin-top:2px;}
.bc-inv-tile-shape svg{max-width:34px;max-height:34px;}
.bc-inv-tile-shape-cart i{font-size:1.25rem;color:var(--amber);opacity:.8;}
.bc-inv-tile-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;}
.bc-inv-tile-row1{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.bc-inv-tile-type{font-weight:700;font-size:.82rem;color:var(--text1);}
.bc-inv-tile-shape-name{font-size:.72rem;color:var(--text3);font-weight:500;}
.bc-inv-verdict{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 6px;border-radius:4px;margin-left:auto;flex-shrink:0;}
.bc-inv-verdict.bc-banner-great{background:rgba(16,185,129,.16);color:var(--green);}
.bc-inv-verdict.bc-banner-ok{background:rgba(61,191,181,.14);color:var(--accent);}
.bc-inv-verdict.bc-banner-trash{background:rgba(239,68,68,.14);color:var(--danger);}
.bc-inv-verdict.bc-banner-unknown{background:var(--bg2);color:var(--text4);}
.bc-inv-tile-mains{font-size:.78rem;color:var(--text2);line-height:1.35;}
.bc-inv-tile-mains b{color:var(--text1);font-weight:700;}
.bc-inv-sep{margin:0 5px;color:var(--text4);font-weight:400;}
.bc-inv-muted{color:var(--text4);font-size:.72rem;}
.bc-inv-tile-subs{font-size:.7rem;color:var(--text3);line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
.bc-inv-tile-meta{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;flex-shrink:0;padding-top:2px;}
.bc-inv-tile .bc-tier-badge{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;background:#6b7280;color:#fff;}
.bc-inv-tile.rar-S .bc-tier-badge{background:var(--amber);color:#1a1300;box-shadow:0 0 10px rgba(250,204,21,.3);}
.bc-inv-tile.rar-A .bc-tier-badge{background:var(--accent);color:#041210;}
.bc-inv-tile.rar-B .bc-tier-badge{background:#6b7280;color:#fff;}
.bc-inv-tile .bc-card-lvl{font-size:.68rem;color:var(--text4);font-weight:600;}
.bc-inv-tile .bc-mod-placed-badge{font-size:.6rem;margin-top:2px;color:var(--green);}
.bc-hover-tip .bc-inv-tile{display:none;}

/* ─── Tarjeta de módulo/cartucho (estilo rico tipo mockup) ─── */
.bc-mod-card{display:flex;flex-direction:column;background:var(--bg1);border:1px solid var(--border1);
  border-radius:12px;overflow:hidden;cursor:grab;transition:transform .12s,box-shadow .12s,border-color .12s;
  user-select:none;text-align:left;color:var(--text1);font-family:inherit;}
.bc-mod-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.35);border-color:var(--accent);}
.bc-mod-card:active{cursor:grabbing;}
.bc-mod-used{opacity:.55;cursor:default;}
.bc-mod-used:hover{transform:none;box-shadow:none;border-color:var(--border1);}
.bc-mod-placed-badge{font-size:.62rem;color:var(--green);margin-left:auto;display:flex;align-items:center;gap:3px;white-space:nowrap;}

/* Banner de calidad/rareza */
.bc-card-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;
  padding:5px 12px;font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  border-bottom:1px solid var(--border0);}
.bc-banner-verdict{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bc-banner-cats{opacity:.85;white-space:nowrap;flex-shrink:0;}
.bc-banner-great{background:rgba(16,185,129,.14);color:var(--green);border-bottom-color:rgba(16,185,129,.3);}
.bc-banner-ok{background:rgba(139,92,246,.14);color:var(--purple);border-bottom-color:rgba(139,92,246,.3);}
.bc-banner-trash{background:rgba(239,68,68,.14);color:var(--danger);border-bottom-color:rgba(239,68,68,.3);}
.bc-banner-unknown{background:var(--bg2);color:var(--text4);}

/* Cuerpo de la tarjeta */
.bc-card-body{padding:12px;display:flex;flex-direction:column;gap:12px;}
.bc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.bc-card-id{display:flex;gap:10px;min-width:0;}
.bc-card-icon{width:46px;height:46px;flex-shrink:0;border-radius:10px;background:var(--bg2);
  border:1px solid var(--border1);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bc-card-icon-cart i{font-size:1.5rem;color:var(--amber);opacity:.7;}
.bc-card-titles{min-width:0;}
.bc-card-type{font-weight:700;font-size:.92rem;color:var(--text1);line-height:1.1;}
.bc-card-sub{font-size:.66rem;color:var(--text4);margin-top:2px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:180px;}
.bc-card-lock{display:inline-flex;align-items:center;gap:3px;margin-top:4px;font-size:.58rem;color:var(--amber);}
.bc-card-tier{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;}
.bc-tier-badge{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:1.05rem;background:var(--text4);color:var(--bg0);}
.bc-mod-card.rar-S .bc-tier-badge{background:var(--amber);color:#1a1300;box-shadow:0 0 12px rgba(250,204,21,.35);}
.bc-mod-card.rar-A .bc-tier-badge{background:var(--purple);color:#fff;box-shadow:0 0 12px rgba(139,92,246,.3);}
.bc-mod-card.rar-B .bc-tier-badge{background:#6b7280;color:#fff;}
.bc-card-lvl{font-size:.68rem;color:var(--text4);font-weight:600;}

/* Stats principales (filas con valor grande) */
.bc-card-mains{display:flex;flex-direction:column;gap:6px;}
.bc-main-row{display:flex;justify-content:space-between;align-items:center;
  background:var(--bg2);border:1px solid var(--border1);border-radius:8px;padding:8px 12px;}
.bc-main-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);}
.bc-main-val{font-size:1.05rem;font-weight:800;color:var(--text1);}

/* Substats (fila con punto de color) */
.bc-card-subs{display:flex;flex-direction:column;gap:5px;}
.bc-sub-row{display:flex;align-items:center;gap:8px;font-size:.74rem;}
.bc-sub-dot{width:6px;height:6px;border-radius:50%;background:var(--text4);flex-shrink:0;}
.bc-sub-name{color:var(--text2);font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bc-sub-val{font-weight:700;color:var(--text1);}
.bc-sub-gold .bc-sub-dot{background:var(--amber);box-shadow:0 0 6px rgba(250,204,21,.5);}
.bc-sub-gold .bc-sub-val{color:var(--amber);}
.bc-sub-gold .bc-sub-name{color:var(--text1);}

/* Zona de papelera: arrastrar pieza fuera del tablero = quitar */
.bc-trash-zone{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:12px;border:2px dashed var(--border1);border-radius:10px;color:var(--text4);
  font-size:.72rem;background:var(--bg1);transition:all .15s ease;}
.bc-trash-zone i{font-size:1.2rem;}
.bc-trash-zone.bc-trash-active{border-color:var(--red);color:var(--red);
  background:rgba(255,107,107,.1);box-shadow:0 0 0 3px rgba(255,107,107,.12);}
.bc-mod-card.rar-S{border-left:3px solid var(--amber);}
.bc-mod-card.rar-A{border-left:3px solid var(--purple2);}
.bc-mod-card.rar-B{border-left:3px solid var(--text4);}
.bc-avail-empty{padding:24px;text-align:center;color:var(--text4);font-size:.82rem;grid-column:1/-1;}

/* ─── Columna Candidatos (fila superior izquierda) ─── */
.bc-cand-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;
  border-bottom:1px solid var(--border0);}
.bc-cand-title{display:flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--text1);}
.bc-cand-title i{color:var(--amber);}

/* Tooltip de hover: anclado al viewport (body), junto al cursor */
.bc-hover-tip{
  position:fixed;left:0;top:0;z-index:10050;
  width:max-content;max-width:min(300px,calc(100vw - 16px));
  pointer-events:none;opacity:0;visibility:hidden;
  transform:translate3d(0,0,0);
  transition:opacity .12s ease;
  will-change:left,top,opacity;
  filter:drop-shadow(0 0 14px rgba(61,191,181,.18));
}
.bc-hover-tip.bc-hover-tip-show{opacity:1;visibility:visible;}
.bc-hover-tip .bc-mod-card{
  position:relative;isolation:isolate;
  width:280px;max-width:100%;cursor:default;
  background:var(--bg1);
  border:1px solid rgba(61,191,181,.28);
  border-radius:12px;
  box-shadow:
    0 0 0 1px rgba(61,191,181,.08),
    0 12px 34px rgba(0,0,0,.52),
    0 0 22px rgba(61,191,181,.16),
    0 0 44px rgba(61,191,181,.08);
  opacity:1;
  overflow:hidden;
}
.bc-hover-tip .bc-mod-card::before{
  content:'';position:absolute;inset:-35%;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 52% 42% at 50% 40%,rgba(61,191,181,.15),transparent 70%),
    radial-gradient(ellipse 36% 30% at 78% 12%,rgba(250,204,21,.06),transparent 65%);
  animation:bc-tip-glow 3.4s ease-in-out infinite alternate;
}
.bc-hover-tip .bc-mod-card > *{position:relative;z-index:1;}
.bc-hover-tip .bc-mod-card.rar-S{
  border-color:rgba(250,204,21,.36);
  box-shadow:
    0 0 0 1px rgba(250,204,21,.10),
    0 12px 34px rgba(0,0,0,.52),
    0 0 24px rgba(250,204,21,.18),
    0 0 48px rgba(250,204,21,.08);
}
.bc-hover-tip .bc-mod-card.rar-S::before{
  background:
    radial-gradient(ellipse 52% 42% at 50% 40%,rgba(250,204,21,.18),transparent 70%),
    radial-gradient(ellipse 36% 30% at 20% 80%,rgba(61,191,181,.06),transparent 65%);
}
.bc-hover-tip .bc-mod-card.rar-A{
  border-color:rgba(61,191,181,.34);
}
@keyframes bc-tip-glow{
  from{opacity:.48;transform:scale(1);}
  to{opacity:.88;transform:scale(1.04);}
}
@media (prefers-reduced-motion:reduce){
  .bc-hover-tip .bc-mod-card::before{animation:none;opacity:.65;}
}
.bc-stage-body{display:flex;flex-direction:column;gap:8px;max-height:none;overflow-y:auto;overflow-x:hidden;
  padding:10px 12px;min-height:0;flex:1;transition:background .15s,border-color .15s;}
.bc-stage-body.bc-stage-over{border:2px dashed var(--amber);background:rgba(250,204,21,.07);}
.bc-stage-empty{padding:18px;text-align:center;color:var(--text4);font-size:.74rem;line-height:1.45;}
.bc-stage-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg1);
  border:1px solid var(--border1);border-radius:10px;cursor:grab;transition:all .12s;position:relative;
  flex:0 0 auto;}
.bc-stage-card:hover{border-color:var(--purple);box-shadow:0 2px 8px rgba(123,107,242,.12);}
.bc-stage-card.rar-S{border-left:3px solid var(--amber);}
.bc-stage-card.rar-A{border-left:3px solid var(--purple2);}
.bc-stage-card.rar-B{border-left:3px solid var(--text4);}
.bc-stage-used{opacity:.55;cursor:default;}
.bc-stage-icon{width:34px;height:34px;flex-shrink:0;border-radius:8px;background:var(--bg2);
  border:1px solid var(--border1);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.bc-stage-icon-cart i{font-size:1.2rem;color:var(--amber);opacity:.7;}
.bc-stage-info{flex:1;min-width:0;padding-right:22px;}
.bc-stage-type{font-weight:700;font-size:.82rem;color:var(--text1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bc-stage-meta{font-size:.66rem;color:var(--text4);margin-top:1px;}
.bc-stage-badge{display:inline-flex;align-items:center;gap:3px;margin-top:3px;font-size:.6rem;color:var(--green);}
.bc-stage-x{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:6px;border:none;
  background:var(--bg2);color:var(--text3);cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .12s;padding:0;}
.bc-stage-x:hover{background:var(--danger);color:#fff;}

/* Drag over highlight */
.bc-cell-drag-over{background:rgba(61,191,181,.22) !important;border-color:var(--accent) !important;
  box-shadow:0 0 12px var(--purple-glow) !important;}
/* Placed piece being dragged — semi-transparent */
.bc-cell-dragging{opacity:.3;filter:grayscale(.85);transform:scale(.94);}

/* Cartridge equipped section — anclado abajo de la columna stats */
.bc-cartridge-section{background:var(--bg1);border-radius:var(--radius-lg);
  border:1px solid var(--border1);padding:2px 2px 4px;flex:0 0 auto;z-index:2;}
.bc-cartridge-slot{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:10px;cursor:pointer;transition:all .15s;}
.bc-cartridge-slot:hover{background:var(--bg2);}
.bc-cart-filled{cursor:default;}
.bc-cart-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;border-radius:8px;background:var(--bg0);}
.bc-cart-icon i{font-size:1.25rem;color:var(--amber);opacity:.6;}
.bc-cart-info{flex:1;min-width:0;}
.bc-cart-label{font-weight:500;font-size:.85rem;color:var(--text4);display:block;}
.bc-cart-hint{font-size:.7rem;color:var(--text4);opacity:.6;}
.bc-cart-arrow{color:var(--text4);font-size:1rem;}
.bc-cart-set-row{display:flex;align-items:center;gap:8px;margin-bottom:2px;}
.bc-cart-set-name{font-weight:600;font-size:.82rem;color:var(--amber);}
.bc-cart-rarity{font-size:.6rem;padding:1px 6px;border-radius:4px;background:var(--bg0);font-weight:600;}
.bc-cart-main-stat{font-size:.74rem;color:var(--text2);display:block;}
.bc-cart-main-stat strong{color:var(--text1);}
.bc-cart-sub-line{font-size:.66rem;color:var(--text4);margin-top:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bc-cart-remove-btn{background:none;border:none;color:var(--text4);cursor:pointer;padding:4px;border-radius:6px;
  transition:all .15s;display:flex;flex-shrink:0;}
.bc-cart-remove-btn:hover{color:var(--danger);background:rgba(239,68,68,.1);}

/* Sección de cartucho: etiqueta + slot + botón */
.bc-cart-section-label{display:flex;align-items:center;gap:6px;padding:8px 12px 2px;
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3);}
.bc-cart-section-label i{color:var(--amber);opacity:.8;}
.bc-cart-slot{display:flex;flex-direction:column;gap:6px;padding:2px 10px 10px;}
.bc-cart-empty-body{display:flex;align-items:center;gap:10px;}
.bc-cart-filled-body{display:flex;align-items:center;gap:8px;}
.bc-cart-slot-info{flex:1;min-width:0;}
.bc-cart-change-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;
  padding:8px 10px;border-radius:9px;border:1px dashed var(--border2);background:var(--bg2);
  color:var(--text2);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;}
.bc-cart-change-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg3);}
.bc-cart-change-btn i{font-size:1rem;}

/* ─── Columna Estadísticas (fila superior derecha) ─── */
.bc-col-stats{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;}

/* Affinity */
.bc-affinity-card{background:var(--bg1);border-radius:var(--radius-lg);
  border:1px solid var(--border1);padding:10px 12px;flex-shrink:0;}
.bc-affinity-title{font-weight:600;font-size:.82rem;color:var(--text1);margin-bottom:6px;
  display:flex;align-items:center;gap:6px;}
.bc-affinity-row{display:flex;justify-content:space-between;align-items:center;
  padding:3px 0;font-size:.76rem;}
.bc-affinity-label{color:var(--text3);}
.bc-affinity-value{color:var(--text1);font-weight:500;}
.bc-affinity-bonus{margin-top:6px;padding:6px 8px;border-radius:8px;font-size:.74rem;
  display:flex;align-items:center;gap:6px;}
.bc-affinity-active{background:rgba(46,204,140,.12);border:1px solid rgba(46,204,140,.3);color:var(--green);}
.bc-affinity-inactive{background:var(--bg2);border:1px solid var(--border1);color:var(--text4);}

/* Stats */
.bc-stats-card{background:var(--bg1);border-radius:var(--radius-lg);
  border:1px solid var(--border1);padding:10px 12px;}
.bc-stats-title{font-weight:600;font-size:.82rem;color:var(--text1);margin-bottom:6px;
  display:flex;align-items:center;gap:6px;}
.bc-stats-grid{display:flex;flex-direction:column;gap:1px;}
.bc-stat{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px solid var(--border0);font-size:.76rem;}
.bc-stat:last-child{border-bottom:none;}
.bc-stat-name{flex:1;color:var(--text3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bc-stat-val{font-weight:600;color:var(--text1);font-variant-numeric:tabular-nums;flex-shrink:0;}
.bc-stat-bonus{font-size:.68rem;color:var(--green);font-weight:500;flex-shrink:0;}

/* Type summary pills */
.bc-type-summary{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
.bc-type-pill{padding:3px 10px;border-radius:12px;font-size:.7rem;font-weight:500;background:var(--bg2);border:1px solid var(--border1);}
.bc-type-ii{border-color:rgba(124,111,247,.4);color:var(--purple2);}
.bc-type-iii{border-color:rgba(46,204,140,.4);color:var(--green);}
.bc-type-iv{border-color:rgba(240,169,59,.4);color:var(--amber);}

/* Type badge inline */
.bc-type-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;
  border-radius:6px;font-size:.7rem;font-weight:700;}
.bc-type-ii{background:rgba(124,111,247,.2);color:var(--purple2);}
.bc-type-iii{background:rgba(46,204,140,.2);color:var(--green);}
.bc-type-iv{background:rgba(240,169,59,.2);color:var(--amber);}

/* Rarity badges */
.bc-rarity-S{color:var(--amber);}
.bc-rarity-A{color:var(--purple2);}
.bc-rarity-B{color:var(--text3);}
.bc-sub{font-size:.7rem;background:var(--bg2);padding:2px 6px;border-radius:4px;color:var(--text2);}
.bc-slot-remove{background:none;border:none;color:var(--text4);cursor:pointer;padding:2px;border-radius:4px;
  margin-left:auto;transition:color .15s,background .15s;display:flex;}
.bc-slot-remove:hover{color:var(--danger);background:rgba(239,68,68,.1);}

/* Picker modal */
.bc-picker-modal{max-width:520px;max-height:70vh;display:flex;flex-direction:column;}
.bc-picker-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px;}
.bc-picker-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg2);
  border:1px solid var(--border1);border-radius:10px;cursor:pointer;transition:all .15s;
  text-align:left;color:var(--text1);width:100%;font-family:inherit;font-size:.85rem;}
.bc-picker-item:hover{background:var(--bg3);border-color:var(--purple);}
.bc-picker-shape{flex-shrink:0;opacity:.7;}
.bc-picker-info{flex:1;min-width:0;}
.bc-picker-main{font-size:.82rem;color:var(--text2);}
.bc-picker-main strong{color:var(--text1);}
.bc-picker-subs{margin-top:3px;}
.bc-picker-meta{font-size:.7rem;color:var(--text4);margin-top:2px;}
.bc-picker-empty{padding:24px;text-align:center;color:var(--text4);}

@media(max-width:1000px){
  #tab-build.panel.active{
    height:auto;max-height:none;overflow:visible;display:block;
  }
  #tab-build.panel.active #bc-c,
  #tab-build.panel.active .bc-console-wrap{
    height:auto;max-height:none;overflow:visible;flex:none;display:block;
  }
  .bc-main-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:"cand" "board" "stats" "inv";
    flex:none;
  }
  .bc-col-candidates,.bc-col-board,.bc-col-stats{max-height:none;overflow:visible;min-height:0;}
  .bc-stats-stack{overflow:visible;flex:none;}
  .bc-bottom-inv{max-height:48vh;min-height:220px;}
  .bc-inv-body{min-height:180px;}
}
@media(max-width:768px){
  .bc-board{--bc-cell:46px;--bc-gap:5px;}
  .bc-char-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));}
}
/* ═══════════════════════ END BUILD CONSOLE ═══════════════════════ */

/* ════════════════════════ FASE 4 · REFINAMIENTOS UI/UX ════════════════════════ */
/* Touch targets ≥ 44px en móvil / pantallas táctiles (guía: accesibilidad primero) */
@media (max-width:768px){
  .btn,.inv-act-btn,.char-pick-sel,.inv-search,.fp,.tab,.theme-btn{min-height:44px;}
  .tab{padding:.6rem .9rem;}
  .fp{padding:.5rem .8rem;}
}
@media (pointer:coarse){
  .btn,.inv-act-btn,.char-pick-sel,.inv-search,.fp,.tab,.theme-btn{min-height:44px;}
}
/* Entrada de panel — una sola animación (evita nte-panel-in + fade-in-scale a la vez) */
@media (prefers-reduced-motion:no-preference){
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.25s;}
}
@keyframes nte-panel-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
/* Skeleton loading (micro-interacción de carga) */
@keyframes nte-shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}
.skeleton{
  background:linear-gradient(90deg,var(--bg2) 25%,var(--bg3) 50%,var(--bg2) 75%);
  background-size:200% 100%;border-radius:var(--radius-sm);
  animation:nte-shimmer 1.5s infinite linear;
}

/* ════════════════════════ REDISEÑO 2026 — ANIMACIONES MODERNAS ════════════════════════ */
/* Fade-in para elementos que aparecen */
@keyframes fade-in-up{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes fade-in-scale{
  from{opacity:0;transform:scale(.97);}
  to{opacity:1;transform:scale(1);}
}
/* Glow pulse para acentos */
@keyframes glow-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(61,191,181,0);}
  50%{box-shadow:0 0 16px 3px rgba(61,191,181,.18);}
}
@keyframes glow-pulse-purple{
  0%,100%{box-shadow:0 0 0 0 rgba(123,107,242,0);}
  50%{box-shadow:0 0 16px 3px rgba(123,107,242,.15);}
}
@keyframes glow-pulse-red{
  0%,100%{box-shadow:0 0 0 0 rgba(240,101,101,0);}
  50%{box-shadow:0 0 14px 2px rgba(240,101,101,.15);}
}
@keyframes glow-pulse-green{
  0%,100%{box-shadow:0 0 0 0 rgba(45,212,168,0);}
  50%{box-shadow:0 0 14px 2px rgba(45,212,168,.15);}
}
/* Score bar animated fill */
@keyframes score-fill{
  from{width:0;}
  to{width:calc(var(--pct,0)*1%);}
}
/* Tab count pulse */
@keyframes cnt-pulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.08);}
}
/* Shimmer para topbar accent line */
@keyframes accent-shimmer{
  0%{background-position:-200% 0;}
  100%{background-position:200% 0;}
}
.topbar::before{
  background-size:200% 100%;
}
@media (prefers-reduced-motion:no-preference){
  .topbar::before{animation:accent-shimmer 12s linear infinite;}
}
/* Gradientes estáticos — sin drift infinito (ahorra pintura en idle) */
[data-theme="dark"] body{
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -20%,rgba(61,191,181,.07),transparent),
    radial-gradient(ellipse 50% 35% at 100% 0%,rgba(94,184,240,.04),transparent),
    radial-gradient(ellipse 40% 30% at 0% 100%,rgba(123,107,242,.03),transparent);
}
/* Smooth card entrance — staggered */
@media (prefers-reduced-motion:no-preference){
  .items-grid .ic{animation:fade-in-up .35s var(--ease) both;}
  .items-grid .ic:nth-child(1){animation-delay:.02s;}
  .items-grid .ic:nth-child(2){animation-delay:.05s;}
  .items-grid .ic:nth-child(3){animation-delay:.08s;}
  .items-grid .ic:nth-child(4){animation-delay:.11s;}
  .items-grid .ic:nth-child(5){animation-delay:.14s;}
  .items-grid .ic:nth-child(6){animation-delay:.17s;}
  .items-grid .ic:nth-child(7){animation-delay:.20s;}
  .items-grid .ic:nth-child(8){animation-delay:.23s;}
  .items-grid .ic:nth-child(9){animation-delay:.26s;}
  .items-grid .ic:nth-child(10){animation-delay:.29s;}
  .items-grid .ic:nth-child(n+11){animation-delay:.32s;}
  .arc-grid .arc-card{animation:fade-in-up .35s var(--ease) both;}
  .arc-grid .arc-card:nth-child(1){animation-delay:.02s;}
  .arc-grid .arc-card:nth-child(2){animation-delay:.05s;}
  .arc-grid .arc-card:nth-child(3){animation-delay:.08s;}
  .arc-grid .arc-card:nth-child(4){animation-delay:.11s;}
  .arc-grid .arc-card:nth-child(5){animation-delay:.14s;}
  .arc-grid .arc-card:nth-child(n+6){animation-delay:.17s;}
  /* Score bar fill animation */
  .sf{animation:score-fill .6s var(--ease-out) both;}
  /* Card entrance scale for panels */
@media (prefers-reduced-motion:no-preference){
  .panel.active{animation:fade-in-scale .25s var(--ease) both;}
}
}
/* Score bar — gradient fill + glow */
.sf{
  height:100%;border-radius:99px;width:calc(var(--pct,0)*1%);
  transition:box-shadow .3s var(--ease);
}
.sg{
  background:linear-gradient(90deg,#22c55e,#4ade80);
  box-shadow:0 0 6px rgba(34,197,94,.3);
}
.so{
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
  box-shadow:0 0 6px rgba(245,158,11,.3);
}
.sr2{
  background:linear-gradient(90deg,#ef4444,#f87171);
  box-shadow:0 0 6px rgba(239,68,68,.3);
}
/* Button press feedback — spring */
.btn:active,.inv-act-btn:active{transform:scale(.97);}
.fp:active{transform:scale(.96);}
.tab:active{transform:scale(.97);}

/* ── Score bar hover glow on cards ── */
@media(hover:hover) and (pointer:fine){
  .ic:hover .sf.sg{box-shadow:0 0 10px rgba(34,197,94,.45);}
  .ic:hover .sf.so{box-shadow:0 0 10px rgba(245,158,11,.45);}
  .ic:hover .sf.sr2{box-shadow:0 0 10px rgba(239,68,68,.45);}
}

/* ── Tab count badge pulse ── */
@media (prefers-reduced-motion:no-preference){
  .tab.active .cnt{animation:cnt-pulse 2s var(--ease) infinite;}
}

/* ── Card accent glow solo en hover (no infinite × N cards) ── */
@media (prefers-reduced-motion:no-preference){
  .ic.great:hover::before{animation:glow-pulse-green 3s var(--ease) infinite;}
  .ic.trash:hover::before{animation:glow-pulse-red 3s var(--ease) infinite;}
}

/* ── Toast improvements ── */
.app-toast{border-left:3px solid transparent;}
.app-toast.toast-green{border-left-color:var(--green);}
.app-toast.toast-red{border-left-color:var(--red);}
.app-toast.toast-amber{border-left-color:var(--amber);}
@media (prefers-reduced-motion:no-preference){
  .app-toast.is-visible{animation:fade-in-up .3s var(--ease) both;}
}

/* ── Scroll-to-top glassmorphism + glow ── */
.scroll-top-btn{
  background:var(--glass-bg);
  backdrop-filter:blur(12px) saturate(1.5);
  -webkit-backdrop-filter:blur(12px) saturate(1.5);
}
@media(hover:hover) and (pointer:fine){
  .scroll-top-btn:hover{
    box-shadow:0 0 16px rgba(61,191,181,.2),var(--card-shadow);
    animation:glow-pulse 2s var(--ease) infinite;
  }
}

/* ── Input / Select — animated focus ring ── */
input,select{
  transition:border-color var(--dur-normal) var(--ease),box-shadow var(--dur-normal) var(--ease),background var(--dur-normal) var(--ease);
}
input:focus,select:focus{
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06),0 0 0 3px var(--focus-ring),0 0 12px rgba(61,191,181,.08);
}
.inv-search-field:focus-within{
  box-shadow:inset 0 1px 3px rgba(0,0,0,.06),0 0 0 3px var(--focus-ring),0 0 16px rgba(61,191,181,.1);
}

/* ── Card inner boxes — better glass feel ── */
.ic .mainbox{
  background:rgba(255,255,255,.015);
  box-shadow:var(--surface-inset),inset 0 0 0 1px rgba(255,255,255,.02);
}
.ic .ic-subs{
  background:rgba(255,255,255,.015);
  box-shadow:var(--surface-inset),inset 0 0 0 1px rgba(255,255,255,.02);
}
[data-theme="light"] .ic .mainbox{
  background:rgba(238,242,248,.7);
  box-shadow:inset 0 1px 3px rgba(26,29,46,.04),inset 0 0 0 1px rgba(255,255,255,.5);
}
[data-theme="light"] .ic .ic-subs{
  background:rgba(238,242,248,.7);
  box-shadow:inset 0 1px 3px rgba(26,29,46,.04),inset 0 0 0 1px rgba(255,255,255,.5);
}

/* ── Shape picker — better selected state ── */
.shape-opt.picked{
  border-color:var(--orange);
  background:rgba(232,136,56,.12);
  box-shadow:0 0 0 2px rgba(232,136,56,.28),0 0 16px rgba(232,136,56,.15),inset 0 0 12px rgba(232,136,56,.06);
}
@media(hover:hover) and (pointer:fine){
  .shape-opt.picked:hover{
    box-shadow:0 0 0 2px rgba(232,136,56,.4),0 0 24px rgba(232,136,56,.2),inset 0 0 12px rgba(232,136,56,.08);
  }
}

/* ── Lightbox — backdrop blur ── */
.lightbox-bg{
  backdrop-filter:blur(8px) saturate(1.2);
  -webkit-backdrop-filter:blur(8px) saturate(1.2);
}
.lightbox-bg img{
  transition:transform .3s var(--ease-spring);
}
.lightbox-bg img:hover{
  transform:scale(1.02);
}

/* ── Empty states — icon glow ── */
.empty>i:not(.empty-icon-wrap i){
  box-shadow:0 0 20px rgba(61,191,181,.15),inset 0 0 8px rgba(61,191,181,.08);
}
.empty-icon-wrap i{
  filter:drop-shadow(0 0 8px rgba(61,191,181,.2));
}

/* ── Inv-picker entrance animation ── */
@media (prefers-reduced-motion:no-preference){
  .inv-picker-panel{animation:fade-in-scale .3s var(--ease-spring) both;}
}

/* Backdrop opaco sin blur (blur de toda la página laggea con cientos de cards) */
.modal-bg{
  background:rgba(3,5,10,.82);
}
[data-theme="light"] .modal-bg{
  background:rgba(20,28,40,.55);
}
body.modal-open{
  overflow:hidden;
}
body.modal-open .app-shell{
  pointer-events:none;
}
/* Congela pintura/animaciones del inventario detrás del modal */
@media (prefers-reduced-motion:no-preference){
  body.modal-open .items-grid .ic,
  body.modal-open .char-grid .char-card,
  body.modal-open .tab.active .cnt,
  body.modal-open .topbar::before{
    animation:none!important;
  }
}

/* ── Filter pills active glow ── */
.fp.on{box-shadow:0 1px 8px rgba(61,191,181,.18),inset 0 1px 0 rgba(255,255,255,.05);}
[data-theme="light"] .fp.on{box-shadow:0 1px 8px rgba(61,191,181,.12);}

/* ── Stat chip hover enhancement ── */
@media(hover:hover) and (pointer:fine){
  .stat-chip:hover{box-shadow:0 0 12px rgba(61,191,181,.08),var(--shadow-sm);}
}

/* ── Inv controls glass ── */
.inv-controls{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}

/* ── Char card: sin shimmer idle (ahorra pintura) ── */

/* ── Mobile responsive refinements ── */
@media(max-width:768px){
  .items-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;}
  .char-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;}
  .arc-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
  .cap-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;}
  .modal{padding:1.25rem;border-radius:var(--radius-lg);}
  .inv-picker-panel{padding:18px 16px 16px;border-radius:var(--radius-lg);}
  .inv-picker-grid{gap:10px;}
  .inv-card{padding:12px;}
  .scroll-top-btn{width:40px;height:40px;}
}
@media(max-width:480px){
  .items-grid{grid-template-columns:1fr;}
  .char-grid{grid-template-columns:1fr;}
  .arc-grid{grid-template-columns:1fr;}
  .cap-grid{grid-template-columns:1fr;}
  .panel{padding:0.75rem 1rem 2rem;}
}

/* ── Segmented control active — glow ── */
.inv-seg .fp.on{box-shadow:0 2px 10px rgba(61,191,181,.3),inset 0 1px 0 rgba(255,255,255,.1);}

/* ── Pick dashboard glass ── */
.pick-dashboard{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* ── Backup notice panel glow ── */
.backup-notice-panel::before{
  animation:accent-shimmer 6s linear infinite;
  background-size:200% 100%;
}

/* ── Console slot hover glow ── */
@media(hover:hover) and (pointer:fine){
  .console-slot-click:hover{
    box-shadow:0 0 16px rgba(123,107,242,.15),0 4px 14px rgba(0,0,0,.15);
  }
  .console-slot.matched{
    box-shadow:0 0 12px rgba(46,204,140,.12);
  }
}

/* ── Arc card art — subtle inner glow on hover ── */
@media(hover:hover) and (pointer:fine){
  .arc-card:hover .arc-card-art{
    box-shadow:0 0 16px rgba(123,107,242,.12),var(--shadow-sm),var(--surface-inset);
  }
}

/* ── Status boxes — subtle glow ── */
.status-ok{box-shadow:0 0 12px rgba(45,212,168,.08);}
.status-warn-box{box-shadow:0 0 12px rgba(245,185,66,.08);}
.status-err-box{box-shadow:0 0 12px rgba(240,101,101,.08);}

/* ── Badge chips — refined ── */
.badge-chip{transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);}
@media(hover:hover) and (pointer:fine){
  .badge-chip:hover{background:var(--bg2);border-color:var(--border2);}
}

/* ── Cart pick card scroll snap animation ── */
.cart-pick-card{
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .cart-pick-card:hover{transform:translateY(-2px);}
  .cart-pick-card.cart-pick-eq{box-shadow:0 0 10px rgba(46,204,140,.1);}
}

/* ── Sub-field row — inner glass ── */
.sub-field-row{
  transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);
}
@media(hover:hover) and (pointer:fine){
  .sub-field-row:hover{border-color:var(--border2);box-shadow:var(--surface-inset),0 0 8px rgba(123,107,242,.06);}
}

/* ── Info banner glass ── */
.info-banner{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* ── Char-pick-bar shimmer ── */
.char-pick-bar::before{
  background-size:200% 100%;
  animation:accent-shimmer 6s linear infinite;
}

/* ── Pick filter chips — refined active state ── */
.pick-filter-chip.on{
  box-shadow:0 1px 8px rgba(123,107,242,.15);
}

/* ── Build console — sin blur en columnas ── */
@media(hover:hover) and (pointer:fine){
  .bc-char-card:hover{box-shadow:0 0 20px rgba(123,107,242,.2),0 8px 24px rgba(0,0,0,.15);}
}
/* Scroll-to-top button modernization */
.scroll-top-btn{
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

/* ── Roster de personajes ── */
.roster-empty{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:12px;padding:3rem 1.25rem;min-height:50vh;
}
.roster-empty-icon{font-size:2.75rem;color:var(--purple2);opacity:.55;line-height:1;}
.roster-empty-title{margin:0;font-size:1.35rem;font-weight:700;color:var(--text1);}
.roster-empty-sub{margin:0;max-width:28rem;color:var(--text3);font-size:.92rem;line-height:1.45;}

.roster-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);
  border-radius:var(--radius-md);background:var(--bg1);
}
.roster-toolbar-info{font-size:.9rem;color:var(--text2);}
.roster-toolbar-info strong{color:var(--text1);}

.roster-picker{display:flex;flex-direction:column;gap:14px;}
.roster-picker-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg1);
}
.roster-picker-title{font-weight:700;font-size:1.05rem;color:var(--text1);display:flex;align-items:center;gap:8px;}
.roster-picker-sub{margin-top:4px;font-size:.82rem;color:var(--text3);max-width:36rem;line-height:1.4;}
.roster-picker-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.roster-picker-count{font-size:.8rem;color:var(--text3);white-space:nowrap;}

.roster-pick-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;
}
.roster-pick-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;
  padding:12px 10px 10px;border:1px solid var(--border2);border-radius:var(--radius-lg);
  background:var(--bg1);cursor:pointer;color:inherit;
  transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;
}
.roster-pick-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.roster-pick-card.roster-pick-on{
  border-color:var(--accent);background:rgba(123,107,242,.08);
  box-shadow:0 0 0 1px rgba(123,107,242,.25);
}
.roster-pick-img{
  width:48px;height:48px;border-radius:50%;object-fit:cover;
  border:2px solid var(--border2);background:var(--bg2);
}
.roster-pick-on .roster-pick-img{border-color:var(--accent);}
.roster-pick-name{font-weight:600;font-size:.88rem;color:var(--text1);line-height:1.2;}
.roster-pick-meta{font-size:.72rem;color:var(--text3);}
.roster-pick-badge{
  margin-top:2px;font-size:.7rem;font-weight:600;color:var(--text3);
  display:inline-flex;align-items:center;gap:4px;
}
.roster-pick-on .roster-pick-badge{color:var(--purple2);}

.bc-roster-edit{margin-top:1.25rem;}
@media(max-width:768px){
  .roster-pick-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;}
  .roster-toolbar{flex-wrap:wrap;}
}

