/* ── DESIGN TOKENS ────────────────────────────────────────────────────────── */
:root{
  --bg:#07070f;
  --s:#0d0d18;
  --s2:#13131f;
  --s3:#19192a;
  --border:#252535;
  --border-b:#383855;
  --text:#dddacc;
  --muted:#4a4a6a;
  --accent:#e8192c;
  --accent-dim:rgba(232,25,44,.12);
  --gold:#ffb800;
  --gold-dim:rgba(255,184,0,.1);
  --green:#39e87a;
  --blue:#00b4d8;
  --red:#e8192c;
  --cyan:#00d4ff;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:Inter,sans-serif;
  background:
    radial-gradient(ellipse at 0% 0%,rgba(232,25,44,.06) 0%,transparent 45%),
    radial-gradient(ellipse at 100% 100%,rgba(0,180,216,.04) 0%,transparent 45%),
    var(--bg);
  color:var(--text);
  padding:0;
}
.mono,button,select,.pill,.eyebrow,.tiny,.ascii,.lrow,.trait{font-family:"IBM Plex Mono",monospace;}
h1,h2,h3{font-weight:700;}
.app{max-width:1560px;margin:0 auto;display:grid;gap:10px;}

/* ── TOPBAR ──────────────────────────────────────────────────────────────── */
.topbar{
  padding:8px 14px;flex-shrink:0;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--s);
  border-bottom:1px solid var(--border);
  position:relative;
}
.topbar::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--accent) 0%,var(--cyan) 30%,transparent 65%);
  pointer-events:none;
}
.site-title{
  font-family:"Orbitron",sans-serif;
  font-size:.95rem;font-weight:900;letter-spacing:.1em;
  color:var(--text);text-transform:uppercase;white-space:nowrap;
  cursor:default;
}
.site-title:hover{animation:glitch .5s ease-out;}
.eyebrow{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:4px;}
.topbar p,.tiny{color:var(--muted);font-size:12px;}
h1{font-size:1.35rem;}

/* ── PANELS ──────────────────────────────────────────────────────────────── */
.panel{
  border:1px solid var(--border);
  background:var(--s);
  padding:12px;
  position:relative;
  overflow:hidden;
}
.panel::after{
  content:'';position:absolute;
  top:0;left:0;width:80px;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
  pointer-events:none;z-index:1;
}
.ph{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;}
.ph p{color:var(--muted);font-size:12px;}
.pill{border:1px solid var(--border);padding:2px 7px;font-size:10px;color:var(--gold);background:var(--gold-dim);}

/* ── HUD CHIPS ───────────────────────────────────────────────────────────── */
.hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;}
.hcard{padding:10px 12px;border:1px solid var(--border);background:var(--s2);}
.hlabel{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-family:"IBM Plex Mono",monospace;}
.hval{font-size:1.25rem;font-weight:700;font-family:"IBM Plex Mono",monospace;}
.hsub{font-size:10px;color:var(--muted);margin-top:2px;}
.gold{color:var(--gold);}.green{color:var(--green);}.blue{color:var(--blue);}.red{color:var(--red);}
.accent{color:var(--accent);}

/* ── LAYOUT UTILS ────────────────────────────────────────────────────────── */
.g2{display:grid;grid-template-columns:1.45fr 1fr;gap:10px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;}
.side{display:grid;gap:10px;align-content:start;}

/* ── ROSTER GRID ──────────────────────────────────────────────────────────── */
.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;}

/* ── FIGHTER CARDS — broadcast overlay style ─────────────────────────────── */
.fcard{
  padding:10px 12px;
  background:var(--s2);
  border:1px solid var(--border);
  transition:.12s;cursor:pointer;
  position:relative;overflow:hidden;
}
.fcard::before{
  content:'';position:absolute;
  left:0;top:0;bottom:0;width:2px;
  background:var(--border-b);transition:.12s;
}
.fcard:hover{border-color:var(--border-b);background:var(--s3);}
.fcard:hover::before{background:var(--accent);}
.fcard.active{border-color:var(--accent);background:var(--accent-dim);}
.fcard.active::before{background:var(--accent);}
.fcard.injured::before{background:var(--gold);}
.fcard.injured{border-color:rgba(255,184,0,.3);}
.fcard.dead::before{background:#333;}
.fcard.dead{border-color:#2a2a35;opacity:.38;}
.fcard.retired::before{background:#6b5a3e;}
.fcard.retired{border-color:#4a3e2a;opacity:.52;}

/* Card inner structure */
.fcard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px;}
.fcard-firstname{
  font-family:"Orbitron",sans-serif;font-size:11px;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
}
.fcard-badge{
  font-size:8px;padding:1px 5px;letter-spacing:.07em;
  font-family:"IBM Plex Mono",monospace;font-weight:700;border:1px solid;
}
.fcard-badge.ok{color:var(--green);border-color:rgba(57,232,122,.3);background:rgba(57,232,122,.05);}
.fcard-badge.injured{color:var(--gold);border-color:rgba(255,184,0,.3);background:var(--gold-dim);}
.fcard-badge.dead{color:#444;border-color:#333;background:none;}
.fcard-badge.retired{color:#8a7050;border-color:#6b5a3e;background:none;}
.fcard-badge.streak{color:var(--accent);border-color:var(--accent-dim);background:var(--accent-dim);}
.fcard-badge.recovery{color:var(--gold);border-color:rgba(255,184,0,.25);background:none;}

.fcard-meta{
  font-family:"IBM Plex Mono",monospace;font-size:9px;
  color:var(--muted);letter-spacing:.04em;margin-bottom:6px;
}

/* Thin HP bar */
.fcard-hpbar{height:2px;background:var(--border);margin-bottom:7px;overflow:hidden;position:relative;}
.fcard-hpfill{height:100%;transition:width .3s;}
.fcard-hpfill.hp-ok{background:linear-gradient(90deg,var(--green),rgba(57,232,122,.35));}
.fcard-hpfill.hp-mid{background:linear-gradient(90deg,var(--gold),rgba(255,184,0,.35));}
.fcard-hpfill.hp-low{background:linear-gradient(90deg,var(--red),rgba(232,25,44,.35));}

/* Mini stat chips */
.fcard-stats{display:flex;gap:6px;margin-bottom:4px;}
.fcard-stat{display:flex;flex-direction:column;align-items:center;min-width:24px;}
.fcs-n{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:700;color:var(--text);line-height:1.1;}
.fcs-l{font-size:7px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;}

/* Status footer */
.fcard-status{font-family:"IBM Plex Mono",monospace;font-size:9px;min-height:11px;line-height:1.4;}

/* Legacy bars kept for backwards compat */
.bars{display:grid;gap:3px;margin-top:6px;}
.brow{display:grid;grid-template-columns:28px 1fr 22px;gap:4px;align-items:center;font-size:10px;}
.btrack{height:4px;background:var(--s3);border:1px solid var(--border);overflow:hidden;}
.bfill{height:100%;background:linear-gradient(90deg,var(--accent),rgba(232,25,44,.3));}
.bfill.low{background:linear-gradient(90deg,var(--red),rgba(232,25,44,.3));}
.traits{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px;}
.trait{font-size:9px;padding:1px 5px;border:1px solid var(--border);color:var(--blue);background:rgba(0,180,216,.05);}
.trait.neg{color:var(--red);background:rgba(232,25,44,.05);}

/* ── INSPECTOR — dossier layout ──────────────────────────────────────────── */
.dossier{display:flex;flex-direction:column;}
.doss-ident{padding:0 0 10px;border-bottom:1px solid var(--border);margin-bottom:10px;}
.doss-name{
  font-family:"Orbitron",sans-serif;font-size:1.05rem;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px;line-height:1.2;
}
.doss-sub{font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);letter-spacing:.05em;}
.doss-rank{font-size:10px;color:var(--gold);font-family:"IBM Plex Mono",monospace;margin-top:4px;}

.doss-section-lbl{
  font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.13em;
  color:var(--accent);text-transform:uppercase;
  padding:7px 0 4px;border-bottom:1px solid var(--border);
  margin-bottom:8px;
}

/* Vital bars */
.doss-bar-row{
  display:grid;grid-template-columns:32px 1fr 32px;
  gap:6px;align-items:center;margin-bottom:5px;
  font-family:"IBM Plex Mono",monospace;font-size:9px;
}
.dbr-lbl{color:var(--muted);font-size:9px;}
.dbr-val{color:var(--text);font-size:10px;text-align:right;font-weight:600;}
.dbr-track{height:3px;background:var(--border);overflow:hidden;}
.dbr-fill{height:100%;}
.dbr-fill.hp-ok{background:var(--green);}
.dbr-fill.hp-mid{background:var(--gold);}
.dbr-fill.hp-low{background:var(--accent);}
.dbr-fill.fat{background:rgba(255,184,0,.5);}
.dbr-fill.gear{background:var(--blue);}

/* Stats grid */
.doss-statgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:10px;}
.doss-stat{text-align:center;padding:7px 3px;background:var(--s3);border:1px solid var(--border);}
.dss-n{display:block;font-family:"IBM Plex Mono",monospace;font-size:.95rem;font-weight:700;line-height:1;}
.dss-l{display:block;font-size:7px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-top:3px;}

/* Loadout */
.doss-loadout{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.dll-row{display:flex;gap:8px;align-items:baseline;font-family:"IBM Plex Mono",monospace;font-size:11px;}
.dll-slot{font-size:8px;color:var(--muted);letter-spacing:.08em;width:44px;flex-shrink:0;text-transform:uppercase;}
.dll-name{color:var(--text);}
.dll-tag{font-size:9px;color:var(--blue);margin-left:4px;}
.dll-dmg{font-size:8px;color:var(--muted);margin-left:6px;font-family:"IBM Plex Mono",monospace;}
.gear-type-badge,.gear-type-tag{display:inline-block;font-size:8px;letter-spacing:.1em;border:1px solid var(--border);color:var(--muted);padding:1px 4px;margin-left:4px;vertical-align:middle;font-family:"IBM Plex Mono",monospace;}

/* Record row */
.doss-record-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;}
.drr-stat{text-align:center;padding:6px 3px;background:var(--s3);border:1px solid var(--border);}
.drr-n{display:block;font-family:"IBM Plex Mono",monospace;font-size:.9rem;font-weight:700;line-height:1;}
.drr-l{display:block;font-size:7px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:3px;}
.drr-n.green{color:var(--green);}
.drr-n.red{color:var(--red);}
.drr-n.gold{color:var(--gold);}
.drr-n.accent{color:var(--accent);}

/* Bio */
.doss-bio{
  font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:8px;
  padding:8px 10px;background:var(--s2);
  border-left:2px solid var(--border);font-style:italic;
}

/* Status banner in inspector */
.doss-status-dead{
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  padding:6px 10px;margin-bottom:10px;
  background:rgba(232,25,44,.07);border:1px solid rgba(232,25,44,.25);
  color:var(--red);letter-spacing:.04em;
}
.doss-status-retired{
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  padding:6px 10px;margin-bottom:10px;
  background:rgba(107,90,62,.12);border:1px solid rgba(107,90,62,.35);
  color:#c4943a;letter-spacing:.04em;
}
.doss-injury-row{
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  padding:6px 10px;margin-bottom:8px;
  background:var(--gold-dim);border:1px solid rgba(255,184,0,.2);
  color:var(--gold);
}

/* Progression block */
.doss-prog{
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  padding:8px 10px;margin-bottom:8px;
  background:var(--s3);border:1px solid var(--border);
}
.doss-prog-style{color:var(--blue);margin-bottom:4px;font-weight:600;}
.doss-prog-meta{color:var(--muted);font-size:10px;}
.doss-prog-train{color:var(--gold);margin-top:3px;}
.doss-prog-growth{color:var(--accent);margin-top:3px;}

/* ── DUEL BENCH ─────────────────────────────────────────────────────────── */
.dpicks{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin-bottom:8px;}
.vs{text-align:center;font-size:.9rem;color:var(--muted);font-family:"IBM Plex Mono",monospace;}
select{
  background:var(--s3);color:var(--text);
  border:1px solid var(--border);padding:6px 8px;font-size:11px;width:100%;
  font-family:"IBM Plex Mono",monospace;
  appearance:none;-webkit-appearance:none;
}
select:focus{outline:none;border-color:var(--accent);}
.btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}

/* ── BUTTONS ──────────────────────────────────────────────────────────────── */
button{
  background:var(--s2);color:var(--text);
  border:1px solid var(--border);padding:6px 12px;
  font-size:11px;cursor:pointer;transition:.1s;
  font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;
}
button:hover{border-color:var(--border-b);color:var(--text);}
button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);}
button.pri{
  background:var(--accent-dim);border-color:var(--accent);color:var(--accent);
}
button.pri:hover{background:rgba(232,25,44,.2);}
button.danger{background:rgba(232,25,44,.07);border-color:var(--red);color:var(--red);}
.kbd{
  display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:10px;
  padding:2px 6px;border:1px solid var(--accent);color:var(--accent);
  background:var(--accent-dim);
}

/* ── SUMMARY GRID ────────────────────────────────────────────────────────── */
.sgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.scard{
  padding:8px 10px;text-align:center;
  background:var(--s3);border:1px solid var(--border);
  position:relative;overflow:hidden;
}
.scard::after{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,var(--border-b),transparent);
}
.sval{font-size:1rem;font-weight:700;font-family:"IBM Plex Mono",monospace;}
.slabel{font-size:9px;color:var(--muted);text-transform:uppercase;margin-top:3px;letter-spacing:.06em;}

/* ── TERMINAL SURFACES ───────────────────────────────────────────────────── */
.ascii{
  white-space:pre;background:var(--s2);color:var(--accent);
  border:1px solid var(--border);padding:10px;font-size:11px;
  line-height:1.4;overflow:auto;font-family:"IBM Plex Mono",monospace;
}
.scroll{max-height:260px;overflow:auto;display:grid;gap:4px;}
.lrow{
  display:grid;grid-template-columns:50px 1fr auto auto auto;
  gap:7px;align-items:center;padding:5px 8px;
  background:var(--s2);border:1px solid var(--border);
  font-size:11px;font-family:"IBM Plex Mono",monospace;
}
.logline{font-family:"IBM Plex Mono",monospace;font-size:11px;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.03);}
.logline.hit{color:var(--muted);}.logline.heavy{color:#e8a0a0;font-weight:700;}
.logline.crowd{color:var(--blue);}.logline.end{color:var(--gold);font-weight:700;}
.logline.morale{color:var(--muted);}.logline.bleed{color:#d06060;}.logline.armor{color:var(--gold);}
.nrow{display:flex;gap:8px;align-items:baseline;font-family:"IBM Plex Mono",monospace;font-size:11px;padding:4px 7px;border-bottom:1px solid var(--border);}

/* ── ARENA TABS + SHELL ──────────────────────────────────────────────────── */
.atabs{display:flex;}
.atab{
  font-family:"IBM Plex Mono",monospace;font-size:11px;
  padding:5px 13px;border:1px solid var(--border);border-bottom:none;
  background:var(--s2);color:var(--muted);cursor:pointer;transition:.1s;
  letter-spacing:.04em;
}
.atab:hover{color:var(--text);}
.atab.active{background:var(--s);color:var(--accent);border-color:var(--accent);}
.arena-shell{
  background:var(--s2);border:1px solid var(--border);
  padding:0;overflow:auto;min-height:340px;max-height:560px;
  background-image:repeating-linear-gradient(
    0deg,transparent,transparent 3px,
    rgba(0,0,0,.06) 3px,rgba(0,0,0,.06) 4px
  );
}

/* ── ARENA SHELL COMPONENT SYSTEM ─────────────────────────────────────────── */
/* Status strip */
.dash-strip{display:flex;gap:5px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid var(--border);align-items:center;}
.ds-chip{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.07em;color:var(--muted);padding:2px 6px;border:1px solid var(--border);}
.ds-chip b{color:var(--text);font-weight:700;}
.ds-chip.ds-day{color:var(--accent);border-color:rgba(232,25,44,.25);}
.ds-chip.ds-div{color:var(--gold);border-color:rgba(255,184,0,.2);}
.ds-chip.ds-death{color:var(--red);border-color:rgba(232,25,44,.3);}
/* Resource chips */
.dash-resources{display:flex;gap:6px;flex-wrap:wrap;padding:9px 14px;border-bottom:1px solid var(--border);}
.res-chip{display:flex;flex-direction:column;gap:2px;padding:5px 10px;background:var(--s3);border:1px solid var(--border);min-width:62px;}
.res-val{font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:700;}
.res-lbl{font-size:7px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-family:"IBM Plex Mono",monospace;}
/* Section headers */
.dash-section-hd{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.13em;color:var(--accent);text-transform:uppercase;padding:9px 14px 5px;border-bottom:1px solid var(--border);}
/* Roster table rows */
.dash-fighter-row{display:grid;grid-template-columns:130px 80px 44px 44px 1fr;gap:0;align-items:center;padding:5px 14px;border-bottom:1px solid rgba(37,37,53,.7);font-family:"IBM Plex Mono",monospace;font-size:10px;cursor:pointer;}
.dash-fighter-row:hover{background:var(--s3);}
.dash-fighter-row.dfr-hdr{color:var(--muted);font-size:8px;letter-spacing:.07em;cursor:default;padding-top:6px;}
.dfr-name{font-weight:700;font-size:11px;}
.dfr-status{font-size:8px;padding:1px 5px;border:1px solid;letter-spacing:.05em;}
.dfr-status.ok{color:var(--green);border-color:rgba(57,232,122,.3);}
.dfr-status.inj{color:var(--gold);border-color:rgba(255,184,0,.3);}
.dfr-status.dead{color:var(--muted);border-color:var(--border);}
.dfr-status.str{color:var(--accent);border-color:rgba(232,25,44,.3);}
/* Last fight */
.dash-lastfight{padding:9px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;border-bottom:1px solid var(--border);}
/* Alert banners */
.dash-alert{display:flex;align-items:center;gap:8px;padding:6px 14px;background:rgba(232,25,44,.04);border-left:2px solid var(--accent);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.dash-alert.warn{border-left-color:var(--gold);background:rgba(255,184,0,.04);}
.dash-alert.info{border-left-color:var(--blue);background:rgba(0,180,216,.04);}
/* New game hint */
.dash-hint{padding:18px 14px;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--muted);line-height:1.8;}
.dash-hint b{color:var(--gold);}
/* Schedule blocks */
.sched-block{padding:8px 14px;border-bottom:1px solid var(--border);}
.sched-block-hd{font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.1em;color:var(--accent);margin-bottom:6px;}
.sched-row{display:flex;gap:10px;align-items:center;padding:4px 0;border-bottom:1px solid rgba(37,37,53,.6);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.sched-row:last-child{border-bottom:none;}
.sched-name{min-width:110px;font-weight:700;font-size:11px;}
.sched-arch{min-width:80px;color:var(--muted);}
.sched-tier-elite{color:var(--red);font-weight:700;}
.sched-tier-veteran{color:var(--gold);font-weight:700;}
.sched-tier-seasoned{color:var(--green);font-weight:700;}
.sched-tier-rookie{color:var(--muted);}
.sched-tag{font-size:8px;padding:1px 4px;border:1px solid var(--border);color:var(--muted);}
.sched-feud{color:var(--accent);font-size:9px;}
.sched-proj{padding:8px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--s3);}
.sched-proj b{color:var(--gold);}
.sched-btn{font-family:"IBM Plex Mono",monospace;font-size:9px;font-weight:700;padding:2px 8px;border:1px solid;cursor:pointer;white-space:nowrap;transition:background .1s,color .1s;margin-left:auto;}
.sched-btn-fight{color:var(--accent);border-color:rgba(232,25,44,.3);background:rgba(232,25,44,.06);}
.sched-btn-fight:hover{background:rgba(232,25,44,.18);color:#fff;}
.sched-btn-hire{color:var(--gold);border-color:rgba(255,184,0,.3);background:rgba(255,184,0,.05);}
.sched-btn-hire:hover{background:rgba(255,184,0,.15);color:#fff;}
.sched-btn-hire.cant{color:var(--muted);border-color:var(--border);background:none;cursor:not-allowed;}
.sched-mt-bar{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0 4px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.sched-mt-btn{font-family:"IBM Plex Mono",monospace;font-size:8px;padding:2px 7px;border:1px solid var(--border);color:var(--muted);cursor:pointer;background:none;}
.sched-mt-btn:hover{border-color:var(--border-b);color:var(--text);}
.sched-mt-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(232,25,44,.07);}
.sched-mt-btn.locked{opacity:.35;cursor:not-allowed;}
/* Market */
.mkt-card{display:flex;gap:10px;align-items:center;padding:7px 14px;border-bottom:1px solid var(--border);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.mkt-card:hover{background:var(--s3);}
.mkt-card-name{font-weight:700;font-size:11px;min-width:110px;}
.mkt-price{font-size:10px;font-weight:700;padding:2px 7px;border:1px solid;margin-left:auto;white-space:nowrap;}
.mkt-price.can{color:var(--gold);border-color:rgba(255,184,0,.3);background:rgba(255,184,0,.05);}
.mkt-price.cant{color:var(--muted);border-color:var(--border);}
.mkt-sell-row{display:flex;gap:10px;align-items:center;padding:5px 14px;border-bottom:1px solid rgba(37,37,53,.6);font-family:"IBM Plex Mono",monospace;font-size:10px;}
/* Gear shop */
.gear-section-hd{font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.1em;color:var(--muted);padding:7px 14px 3px;text-transform:uppercase;}
.gear-row{display:flex;gap:8px;align-items:center;padding:4px 14px;border-bottom:1px solid rgba(37,37,53,.5);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.gear-row:hover{background:var(--s3);}
.gear-equipped{color:var(--green);font-size:10px;min-width:14px;}
.gear-equipped-lbl{margin-left:auto;font-size:8px;letter-spacing:.08em;color:var(--green);padding:2px 6px;border:1px solid rgba(0,200,80,.25);}
.gear-name{min-width:140px;flex-shrink:0;}
.gear-price{margin-left:auto;font-weight:700;padding:1px 5px;border:1px solid;}
.gear-price.can{color:var(--gold);border-color:rgba(255,184,0,.3);}
.gear-price.cant{color:var(--muted);border-color:var(--border);}
.gear-price.free{color:var(--muted);border-color:var(--border);}
/* Weapon type badges */
.gear-type-badge{display:inline-block;font-family:"IBM Plex Mono",monospace;font-size:7px;font-weight:700;letter-spacing:.07em;padding:1px 4px;border:1px solid;border-radius:2px;vertical-align:middle;margin-right:2px;text-transform:uppercase;}
.gear-type-blade{color:#e8192c;border-color:rgba(232,25,44,.35);}
.gear-type-blunt{color:#ff7020;border-color:rgba(255,112,32,.35);}
.gear-type-saw{color:#e0c000;border-color:rgba(224,192,0,.35);}
.gear-type-chain{color:#d4820a;border-color:rgba(212,130,10,.35);}
.gear-type-reach{color:#00c8c8;border-color:rgba(0,200,200,.35);}
.gear-type-energy{color:#a050e8;border-color:rgba(160,80,232,.35);}
.gear-type-autocannon{color:#3080e8;border-color:rgba(48,128,232,.35);}
.gear-type-explosive{color:#e84020;border-color:rgba(232,64,32,.35);}
.gear-type-spread{color:#c8a000;border-color:rgba(200,160,0,.35);}
.gear-type-marksman{color:#20a840;border-color:rgba(32,168,64,.35);}
.gear-type-railgun{color:#00a8ff;border-color:rgba(0,168,255,.35);}
/* Gear Addons */
.gear-addon-slot-hdr{display:flex;align-items:center;gap:6px;padding:6px 14px 2px;border-top:1px solid rgba(37,37,53,.7);}
.gear-slot-badge{font-family:"IBM Plex Mono",monospace;font-size:8px;letter-spacing:.12em;color:var(--muted);background:var(--s3);border:1px solid var(--border);padding:2px 6px;text-transform:uppercase;}
.gear-addon-row{display:flex;gap:8px;align-items:center;padding:4px 14px;border-bottom:1px solid rgba(37,37,53,.5);font-family:"IBM Plex Mono",monospace;font-size:10px;flex-wrap:wrap;}
.gear-addon-row:hover{background:var(--s3);}
/* Rivals */
.rivals-view{display:flex;flex-direction:column;gap:0;}
.rival-stable{border-bottom:1px solid var(--border);}
.rival-stable-hd{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:var(--s3);border-bottom:1px solid var(--border);}
.rival-stable-name{font-family:"Orbitron",sans-serif;font-size:10px;font-weight:700;letter-spacing:.05em;}
.rival-stable-sub{font-family:"IBM Plex Mono",monospace;font-size:9px;color:var(--muted);margin-top:2px;}
.rival-rel{font-size:8px;padding:2px 6px;border:1px solid;font-family:"IBM Plex Mono",monospace;font-weight:700;letter-spacing:.05em;}
.rival-rel.ally{color:var(--green);border-color:rgba(57,232,122,.3);}
.rival-rel.hostile{color:var(--red);border-color:rgba(232,25,44,.3);}
.rival-rel.neutral{color:var(--muted);border-color:var(--border);}
.rival-fighter-row{display:flex;gap:10px;align-items:center;padding:5px 14px;border-bottom:1px solid rgba(37,37,53,.5);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.rival-locked{padding:9px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);border-bottom:1px solid var(--border);}
.rival-event{padding:7px 14px;border-left:2px solid var(--gold);margin:5px 14px;background:rgba(255,184,0,.04);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.rival-event-tag{font-size:8px;color:var(--gold);letter-spacing:.08em;margin-bottom:3px;}
/* Ledger */
.ledger-row{display:grid;grid-template-columns:36px 1fr 64px 50px 50px;gap:0;padding:4px 14px;border-bottom:1px solid rgba(37,37,53,.5);font-family:"IBM Plex Mono",monospace;font-size:10px;align-items:center;}
.ledger-row.ledger-hdr{color:var(--muted);font-size:8px;letter-spacing:.07em;padding-top:7px;}
/* Event feed */
.evfeed-row{display:flex;gap:8px;align-items:baseline;padding:5px 14px;border-bottom:1px solid rgba(37,37,53,.4);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.evfeed-day{color:var(--muted);font-size:9px;min-width:36px;flex-shrink:0;}
.evfeed-icon{font-size:11px;min-width:16px;flex-shrink:0;}
/* Fight log */
.flog-header{padding:9px 14px;border-bottom:1px solid var(--border);font-family:"IBM Plex Mono",monospace;font-size:11px;display:flex;gap:12px;flex-wrap:wrap;align-items:baseline;}
.flog-entries{font-family:"IBM Plex Mono",monospace;font-size:10px;line-height:1.55;}
.flog-row{display:flex;gap:8px;padding:3px 14px;border-bottom:1px solid rgba(37,37,53,.35);}
.flog-row.flog-hit{color:var(--text);}
.flog-row.flog-heavy{color:var(--red);}
.flog-row.flog-miss{color:var(--muted);}
.flog-row.flog-bleed{color:var(--red);}
.flog-row.flog-crowd{color:var(--blue);}
.flog-row.flog-end{color:var(--gold);}
.flog-row.flog-armor{color:var(--gold);}
.flog-tag{font-size:8px;letter-spacing:.07em;min-width:38px;color:var(--muted);padding:1px 0;align-self:start;padding-top:1px;}
.flog-footer{padding:9px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;border-top:1px solid var(--border);display:flex;gap:14px;flex-wrap:wrap;}
/* Tournament */
.tourney-entry{display:flex;gap:10px;align-items:center;padding:6px 14px;border-bottom:1px solid rgba(37,37,53,.6);font-family:"IBM Plex Mono",monospace;font-size:10px;}
.tourney-bracket{padding:8px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;overflow-x:auto;}
.bracket-col{display:inline-flex;flex-direction:column;gap:6px;min-width:130px;vertical-align:top;margin-right:20px;}
.bracket-col-hd{font-size:8px;letter-spacing:.08em;color:var(--accent);padding-bottom:4px;border-bottom:1px solid var(--border);}
.bracket-match{border:1px solid var(--border);background:var(--s3);padding:5px 8px;}
.bracket-match-fighter{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:10px;}
.bracket-match-fighter.winner{color:var(--gold);font-weight:700;}
.bracket-match-fighter.bye{color:var(--muted);font-style:italic;}
.bracket-match.pending{border-color:var(--border-b);}
.tourney-champion{padding:10px 14px;font-family:"Orbitron",sans-serif;font-size:13px;color:var(--gold);border-bottom:1px solid var(--border);letter-spacing:.07em;}
/* empty state */
.shell-empty{padding:24px 14px;font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);}

/* ── REPLAY SHELL ────────────────────────────────────────────────────────── */
.replay-shell{
  font-family:"IBM Plex Mono",monospace;
  background:var(--s2);border:1px solid var(--border);border-top:none;
  overflow-y:auto;height:190px;min-height:80px;padding:0;
}
.replay-ticker-label{
  font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.1em;
  color:var(--muted);padding:3px 14px 2px;background:var(--s2);
  border-left:1px solid var(--border);border-right:1px solid var(--border);
  border-top:1px solid var(--border);
}

/* ── REPLAY TOOLBAR ──────────────────────────────────────────────────────── */
.replay-toolbar{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:4px 14px;
  background:var(--s2);border-bottom:1px solid var(--border);
  font-family:"IBM Plex Mono",monospace;font-size:9px;
}
.replay-mode-btn{
  font-size:9px;padding:2px 7px;
  border:1px solid var(--border);background:none;
  color:var(--muted);cursor:pointer;border-radius:3px;
  font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;
  transition:.1s;
}
.replay-mode-btn:hover{border-color:var(--border-b);color:var(--text);}
.replay-mode-btn.active{color:var(--accent);border-color:var(--accent);}
.replay-ctrl-btn{
  font-size:9px;padding:2px 7px;
  border:1px solid var(--border);background:none;
  color:var(--text);cursor:pointer;
  font-family:"IBM Plex Mono",monospace;letter-spacing:.04em;
  transition:.1s;
}
.replay-ctrl-btn:hover{border-color:var(--border-b);color:var(--accent);}

/* ── EVENT FEED ─────────────────────────────────────────────────────────── */
.ef-empty{padding:18px;color:var(--muted);font-size:12px;}
.ef-round{
  background:rgba(255,184,0,.05);
  border-top:1px solid rgba(255,184,0,.2);border-bottom:1px solid rgba(255,184,0,.12);
  padding:7px 14px;display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;
}
.ef-round-num{color:var(--gold);font-weight:700;font-size:11px;white-space:nowrap;min-width:64px;}
.ef-fighter{display:flex;flex-direction:column;gap:2px;min-width:160px;}
.ef-fname{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.ef-hpbar-wrap{display:flex;align-items:center;gap:6px;}
.ef-bar{height:5px;border-radius:2px;transition:width .3s;}
.ef-bar-hp{background:var(--accent);}
.ef-bar-fat{background:var(--gold);opacity:.6;}
.ef-bar-arm{background:#5588bb;opacity:.7;}
.ef-stats{font-size:10px;color:var(--text);}
.ef-stats .ef-v{font-weight:700;}
.ef-stats .ef-low{color:var(--red);}
.ef-stats .ef-mid{color:var(--gold);}
.ef-stats .ef-ok{color:var(--green);}
.ef-row{
  display:flex;flex-direction:column;border-bottom:1px solid rgba(255,255,255,.03);
  padding:5px 14px;transition:background .15s;
}
.ef-row:hover{background:rgba(255,255,255,.02);}
.ef-row.ef-critical{background:rgba(232,25,44,.06);border-left:2px solid var(--red);}
.ef-row.ef-crowd{background:rgba(0,180,216,.04);border-left:2px solid var(--blue);}
.ef-row.ef-end{background:rgba(255,184,0,.06);border-left:2px solid var(--gold);}
.ef-main{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.ef-tag{
  font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:1px 5px;white-space:nowrap;
}
.ef-tag-hit  {background:rgba(232,25,44,.18);color:#e88;}
.ef-tag-heavy{background:rgba(232,60,60,.32);color:#faa;font-size:10px;}
.ef-tag-miss {background:rgba(120,120,140,.15);color:var(--muted);}
.ef-tag-bleed{background:rgba(160,40,40,.22);color:#d77;}
.ef-tag-armor{background:rgba(100,140,180,.18);color:#89b;}
.ef-tag-crowd{background:rgba(0,180,216,.18);color:var(--cyan);}
.ef-tag-moral{background:rgba(100,100,120,.12);color:var(--muted);}
.ef-tag-end  {background:rgba(255,184,0,.18);color:var(--gold);}
.ef-tag-sev  {background:rgba(255,184,0,.12);color:var(--gold);}
.ef-tag-glance  {background:rgba(180,140,80,.18);color:#c8a;}
.ef-tag-block   {background:rgba(80,120,200,.18);color:#8af;}
.ef-tag-evade   {background:rgba(57,232,122,.15);color:var(--green);}
.ef-tag-parry   {background:rgba(100,160,220,.18);color:#9cf;}
.ef-tag-deflect {background:rgba(100,100,120,.12);color:var(--muted);}
.ef-tag-dismember{background:rgba(180,0,0,.38);color:#fcc;font-size:10px;animation:critpulse .8s ease-out;}
.ef-tag-move    {background:rgba(60,100,140,.15);color:#6a9fc0;}
.ef-tag-exposed {background:rgba(192,57,43,.22);color:#e74c3c;}
.ef-tag-breach  {background:rgba(230,126,34,.22);color:#e67e22;}
.ef-tag-soft    {background:rgba(243,156,18,.18);color:#f39c12;}
.ef-tag-bone    {background:rgba(189,195,199,.12);color:#bdc3c7;}
.ef-tag-crack   {background:rgba(241,196,64,.22);color:#f1c40f;font-weight:700;}
.ef-row.ef-dismember{background:rgba(180,0,0,.1);border-left:3px solid #c00;}
.ef-actors{font-size:11px;color:var(--text);}
.ef-atk{color:var(--accent);font-weight:600;}
.ef-def{color:#e08080;font-weight:600;}
.ef-loc{color:var(--muted);font-size:10px;}
.ef-dmg{font-size:13px;font-weight:700;color:var(--red);}
.ef-dmg-glanc{font-size:11px;font-weight:600;color:#c87;}
.ef-crit{font-size:11px;font-weight:700;color:var(--gold);animation:critpulse .6s ease-out;letter-spacing:.05em;}
@keyframes critpulse{0%{opacity:0;transform:scale(1.4);}100%{opacity:1;transform:scale(1);}}
.ef-hp-delta{font-size:11px;color:var(--red);}
.ef-hp-now{font-size:10px;color:var(--muted);}
.ef-wep{font-size:10px;color:var(--muted);font-style:italic;}
.ef-narr{
  font-size:10.5px;font-style:italic;color:var(--muted);opacity:.85;
  display:inline;margin-left:6px;
}
.ef-heat-bar{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--cyan);}
.ef-heat-fill{display:inline-block;height:6px;background:var(--blue);opacity:.7;vertical-align:middle;}

/* ── NULL DIRECTIVE MODAL ────────────────────────────────────────────────── */
.mercy-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9998;align-items:center;justify-content:center;}
.mercy-overlay.open{display:flex;}
.mercy-box{
  width:min(620px,95vw);background:var(--s);
  border:1px solid var(--border);border-top:2px solid var(--gold);
  box-shadow:0 0 60px rgba(255,184,0,.12);
  font-family:"IBM Plex Mono",monospace;
}
.mercy-header{
  background:rgba(255,184,0,.05);padding:12px 18px;
  border-bottom:1px solid rgba(255,184,0,.2);
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.mercy-title{font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-family:"Orbitron",sans-serif;}
.mercy-match-tag{font-size:9px;color:var(--muted);padding:2px 7px;border:1px solid var(--border);}
.mercy-body{padding:16px 18px;}
.mercy-fighters{
  display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;
  margin-bottom:14px;font-size:12px;padding-bottom:12px;border-bottom:1px solid var(--border);
}
.mercy-winner{color:var(--accent);font-weight:700;}
.mercy-loser{color:var(--red);font-weight:700;text-align:right;}
.mercy-finish{text-align:center;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em;}
.dom-directive-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.dom-label{font-size:9px;color:var(--muted);letter-spacing:.1em;white-space:nowrap;min-width:72px;}
.dom-bar-wrap{flex:1;height:22px;background:rgba(255,255,255,.03);border:1px solid var(--border);position:relative;overflow:hidden;}
.dom-bar-fill-confirm{height:100%;background:rgba(232,25,44,.35);transition:width .5s ease;}
.dom-bar-fill-extract{height:100%;background:rgba(57,232,122,.25);transition:width .5s ease;}
.dom-bar-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:700;letter-spacing:.08em;pointer-events:none;}
.dom-bar-label.confirm{color:#f99;}
.dom-bar-label.extract{color:var(--green);}
.dom-note{font-size:11px;color:var(--text);margin-bottom:10px;line-height:1.5;padding:8px 10px;background:rgba(255,255,255,.03);border-left:2px solid var(--gold);font-style:italic;}
.dom-signals{margin-bottom:12px;}
.dom-signal{font-size:9px;color:var(--muted);padding:2px 0;letter-spacing:.04em;}
.dom-signal::before{content:'\25B8  ';color:var(--gold);}
.dom-locked{font-size:10px;color:var(--red);padding:5px 8px;background:rgba(232,25,44,.07);border:1px solid rgba(232,25,44,.2);margin-bottom:10px;letter-spacing:.05em;}
.mercy-sev{font-size:11px;margin-bottom:12px;padding:6px 8px;background:rgba(255,255,255,.03);}
.mercy-buttons{display:flex;gap:8px;flex-wrap:wrap;}
.mercy-buttons button{flex:1;padding:10px;font-size:11px;font-family:"IBM Plex Mono",monospace;}
.mercy-accept{background:rgba(232,25,44,.07)!important;border-color:var(--red)!important;color:var(--red)!important;}
.mercy-accept.extract-btn{background:rgba(57,232,122,.07)!important;border-color:var(--green)!important;color:var(--green)!important;}
.mercy-override{background:rgba(255,184,0,.07)!important;border-color:var(--gold)!important;color:var(--gold)!important;}
.mercy-locked-btn{opacity:.35;cursor:not-allowed!important;}

/* ── MATCH TYPE ──────────────────────────────────────────────────────────── */
.match-type-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;align-items:center;}
.match-type-row label{font-size:10px;color:var(--muted);font-family:"IBM Plex Mono",monospace;}
.mtbtn{
  font-family:"IBM Plex Mono",monospace;font-size:10px;padding:4px 9px;
  border:1px solid var(--border);background:var(--s2);color:var(--muted);cursor:pointer;
  letter-spacing:.03em;
}
.mtbtn:hover{border-color:var(--gold);color:var(--gold);}
.mtbtn.active{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);}
.mtbtn.sine{border-color:#774444;}
.mtbtn.sine.active{border-color:var(--red);color:var(--red);background:rgba(232,25,44,.07);}

/* ── INTERRUPT PANEL ─────────────────────────────────────────────────────── */
.int-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:9997;align-items:flex-end;justify-content:center;padding-bottom:0;}
.int-overlay.open{display:flex;}
.int-panel{
  width:min(680px,96vw);background:var(--s);
  border:1px solid var(--border);border-top:2px solid var(--gold);border-bottom:none;
  box-shadow:0 -4px 40px rgba(255,184,0,.1);
  font-family:"IBM Plex Mono",monospace;max-height:60vh;overflow-y:auto;
}
.int-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 16px;border-bottom:1px solid rgba(255,184,0,.15);
  background:rgba(255,184,0,.05);
}
.int-title{color:var(--gold);font-weight:700;font-size:11px;letter-spacing:.08em;font-family:"Orbitron",sans-serif;}
.int-pool-badge{font-size:11px;color:var(--accent);}
.int-flag{padding:8px 16px;font-size:12px;color:var(--text);border-bottom:1px solid var(--border);}
.int-scaling{font-size:9px;color:var(--gold);margin-left:8px;}
.int-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px;padding:10px 16px 14px;}
.int-btn{
  display:flex;flex-direction:column;gap:2px;padding:8px 10px;
  background:rgba(255,184,0,.04);border:1px solid rgba(255,184,0,.2);
  color:var(--text);cursor:pointer;text-align:left;font-family:"IBM Plex Mono",monospace;
  transition:.1s;
}
.int-btn:hover:not(:disabled){border-color:var(--gold);background:rgba(255,184,0,.09);}
.int-btn-disabled,.int-btn:disabled{opacity:.35;cursor:not-allowed;}
.int-cost{font-size:10px;color:var(--gold);font-weight:700;}
.int-label{font-size:11px;color:var(--text);font-weight:600;}
.int-desc{font-size:9px;color:var(--muted);}
.int-preview{font-size:9px;color:var(--accent);opacity:0.85;font-style:italic;display:block;margin-top:2px;}
.int-predicted{font-size:9px;color:var(--muted);font-family:"IBM Plex Mono",monospace;margin-top:5px;padding:3px 6px;border-left:2px solid var(--border-b);}
.int-predicted-death{color:var(--red);border-left-color:var(--red);}
.int-predicted-severe{color:var(--gold);border-left-color:var(--gold);}
.int-outcome-change{display:block;font-size:8px;color:var(--cyan);margin-top:3px;font-style:italic;}
.int-btn-recommended{border-color:rgba(255,184,0,.4);background:rgba(255,184,0,.05);}
.int-btn-recommended:hover:not(:disabled){border-color:var(--gold);background:rgba(255,184,0,.14);}
.int-recommended{display:block;font-size:8px;color:var(--gold);margin-top:3px;font-style:italic;}
.int-footer{display:flex;gap:8px;padding:8px 16px 12px;border-top:1px solid var(--border);}
/* 6e — NULL INTERRUPT threat display */
.int-breakpoint{font-family:"IBM Plex Mono",monospace;font-size:11px;font-weight:700;color:var(--accent);letter-spacing:.06em;}
.int-threat-pct{font-size:13px;font-weight:700;color:var(--red);font-family:"Orbitron",sans-serif;margin:3px 0 4px;}
.int-flag-sub{font-size:10px;color:var(--muted);margin-bottom:4px;}
/* 6e — NULL handler section */
.int-null-section{
  grid-column:1/-1;padding:8px 0 4px;
  border-top:1px solid rgba(232,25,44,.2);margin-top:2px;
}
.int-null-hdr{font-size:9px;letter-spacing:.12em;color:var(--accent);margin-bottom:6px;font-family:"IBM Plex Mono",monospace;}
.int-null-section .int-btn-null{margin-bottom:4px;}
.int-btn-null{border-color:rgba(232,25,44,.3);background:rgba(232,25,44,.04);}
.int-btn-null:hover:not(:disabled){border-color:var(--accent);background:rgba(232,25,44,.1);}
.int-cost-null{color:var(--accent);}
.int-skip{
  background:none;border:1px solid var(--border);color:var(--muted);
  font-family:"IBM Plex Mono",monospace;font-size:10px;padding:5px 12px;cursor:pointer;
}
.int-skip:hover{border-color:var(--muted);color:var(--text);}
.int-hud{
  font-size:10px;padding:3px 8px;border:1px solid rgba(255,184,0,.25);
  color:var(--accent);font-family:"IBM Plex Mono",monospace;cursor:default;
}
.int-postfight{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 4px;}
.int-post-btn{
  font-size:10px;padding:5px 10px;border:1px solid var(--border);
  background:rgba(255,184,0,.04);color:var(--muted);cursor:pointer;
  font-family:"IBM Plex Mono",monospace;
}
.int-post-btn:hover{border-color:var(--gold);color:var(--gold);}

/* ── CAMPAIGN EVENT MODAL ────────────────────────────────────────────────── */
.cev-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:9996;align-items:center;justify-content:center;}
.cev-overlay.open{display:flex;}
.cev-box{
  width:min(520px,94vw);background:var(--s);
  border:1px solid var(--border);border-top:2px solid var(--gold);
  box-shadow:0 0 40px rgba(255,184,0,.1);font-family:"IBM Plex Mono",monospace;
}
.cev-header{
  background:rgba(255,184,0,.05);padding:12px 18px;
  border-bottom:1px solid rgba(255,184,0,.2);
  display:flex;justify-content:space-between;align-items:center;
}
.cev-title{font-size:.9rem;font-weight:700;color:var(--gold);font-family:"Orbitron",sans-serif;}
.cev-tag{font-size:10px;color:var(--muted);padding:2px 6px;border:1px solid var(--border);}
.cev-body{padding:16px 18px;}
.cev-desc{font-size:12px;color:var(--text);line-height:1.6;margin-bottom:14px;padding:8px 10px;background:rgba(255,255,255,.03);border-left:2px solid var(--gold);font-style:italic;}
.cev-choices{display:grid;gap:6px;}
.cev-choice{
  padding:10px 12px;background:rgba(255,184,0,.03);border:1px solid rgba(255,184,0,.2);
  color:var(--text);cursor:pointer;text-align:left;font-family:"IBM Plex Mono",monospace;
  font-size:11px;transition:.1s;
}
.cev-choice:hover{border-color:var(--gold);background:rgba(255,184,0,.08);}
.cev-choice .cev-cost{color:var(--red);font-size:10px;margin-left:6px;}
.cev-choice .cev-gain{color:var(--green);font-size:10px;margin-left:6px;}
.cev-disabled{opacity:.4;cursor:not-allowed !important;}
.cev-disabled:hover{border-color:var(--border) !important;background:none !important;}

/* ── SEASON END MODAL ────────────────────────────────────────────────────── */
.sea-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:9995;align-items:center;justify-content:center;}
.sea-overlay.open{display:flex;}
.sea-box{
  width:min(560px,96vw);background:var(--s);
  border:1px solid var(--border);border-top:2px solid var(--gold);
  box-shadow:0 0 80px rgba(255,184,0,.2);font-family:"IBM Plex Mono",monospace;
}
.sea-header{background:rgba(255,184,0,.08);padding:14px 20px;border-bottom:1px solid rgba(255,184,0,.2);}
.sea-title{font-size:1.1rem;font-weight:700;color:var(--gold);letter-spacing:.06em;font-family:"Orbitron",sans-serif;}
.sea-body{padding:18px 20px;}
.sea-result{font-size:13px;font-weight:700;margin-bottom:12px;}
.sea-result.win{color:var(--green);}
.sea-result.lose{color:var(--red);}
.sea-details{font-size:11px;color:var(--text);line-height:1.8;margin-bottom:14px;padding:10px;background:rgba(255,255,255,.03);}
.sea-trophies{font-size:11px;color:var(--gold);margin-bottom:14px;}
.sea-confirm{
  width:100%;padding:10px;background:var(--accent-dim);
  border:1px solid var(--accent);color:var(--accent);cursor:pointer;
  font-family:"IBM Plex Mono",monospace;font-size:12px;
}
.sea-confirm:hover{background:rgba(232,25,44,.2);}

/* ── PROMOTION MODAL (6d) ────────────────────────────────────────────────── */
.promo-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9997;align-items:center;justify-content:center;}
.promo-overlay.open{display:flex;}
.promo-box{
  width:min(520px,96vw);background:var(--s);
  border:1px solid var(--border);border-top:2px solid var(--gold);
  box-shadow:0 0 100px rgba(255,184,0,.25);font-family:"IBM Plex Mono",monospace;
}
.promo-header{
  background:rgba(255,184,0,.06);padding:14px 20px 10px;
  border-bottom:1px solid rgba(255,184,0,.2);
}
.promo-tag{display:block;font-size:9px;letter-spacing:.15em;color:var(--muted);margin-bottom:4px;}
.promo-title{font-family:"Orbitron",sans-serif;font-size:1rem;font-weight:700;color:var(--gold);letter-spacing:.06em;}
.promo-body{padding:20px 20px 12px;}
.promo-intro{font-size:11px;color:var(--text);line-height:1.7;margin:0 0 16px;}
.promo-field{margin-bottom:14px;}
.promo-label{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:5px;}
.promo-input{
  width:100%;padding:8px 10px;background:var(--s2);
  border:1px solid var(--border);color:var(--text);
  font-family:"IBM Plex Mono",monospace;font-size:13px;box-sizing:border-box;
}
.promo-input:focus{outline:none;border-color:var(--gold);}
.promo-hint{display:block;font-size:9px;color:var(--muted);margin-top:4px;}
.promo-footer{display:flex;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border);}
.promo-confirm{
  flex:1;padding:9px;background:rgba(255,184,0,.1);
  border:1px solid var(--gold);color:var(--gold);cursor:pointer;
  font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;letter-spacing:.05em;
}
.promo-confirm:hover{background:rgba(255,184,0,.2);}
.promo-skip{
  padding:9px 14px;background:transparent;
  border:1px solid var(--border);color:var(--muted);cursor:pointer;
  font-family:"IBM Plex Mono",monospace;font-size:11px;
}
.promo-skip:hover{border-color:var(--text);color:var(--text);}

/* ── ARENA BROADCAST VIEW ────────────────────────────────────────────────── */
/* outer provides the "border" via 1px padding + border-colour background */
.av-bcast-wrap{
  background:var(--border);padding:1px;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
}
.av-bcast{
  background:var(--s2);overflow:hidden;
  clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);
  font-family:"IBM Plex Mono",monospace;font-size:10px;min-height:190px;
}
/* top broadcast strip */
.av-bcast-top{display:flex;align-items:center;gap:8px;padding:5px 16px;background:var(--s3);border-bottom:1px solid var(--border);}
.av-bcast-logo{font-family:"Orbitron",sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;color:var(--accent);flex-shrink:0;}
.av-bcast-sub{font-size:9px;color:var(--muted);letter-spacing:.06em;}
.av-bcast-heat{margin-left:auto;display:flex;align-items:center;gap:6px;}
.av-bcast-heat-lbl{font-size:8px;color:var(--muted);letter-spacing:.05em;}
.av-bcast-heat-track{width:72px;height:3px;background:var(--s);overflow:hidden;}
.av-bcast-heat-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--accent));transition:width .3s;}
.av-bcast-heat-val{font-size:8px;color:var(--gold);min-width:24px;text-align:right;}
/* canvas maze area */
.av-maze-area{display:flex;justify-content:center;padding:8px 10px 4px;background:var(--s2);}
.av-maze-area canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;}
/* bottom HUD strip: fighter A | action | fighter B */
.av-maze-hud{
  display:grid;grid-template-columns:1fr auto 1fr;
  gap:6px;align-items:center;
  padding:5px 12px 8px;background:var(--s3);border-top:1px solid var(--border);
  font-family:"IBM Plex Mono",monospace;font-size:9px;
}
.av-mhud-fighter{display:flex;flex-direction:column;gap:2px;}
.av-mhud-fighter.av-mhud-r{align-items:flex-end;text-align:right;}
.av-mhud-name{font-size:10px;font-weight:700;color:var(--fc,#7ec8a0);letter-spacing:.04em;white-space:nowrap;}
.av-mhud-bar{width:100%;height:3px;background:var(--border);overflow:hidden;margin-top:1px;}
.av-mhud-fill{height:100%;transition:width .15s;}
.av-mhud-val{font-size:8px;color:var(--muted);}
.av-mhud-action{text-align:center;font-weight:700;font-size:12px;letter-spacing:.04em;line-height:1.2;min-width:70px;}
.av-mhud-dtl{font-size:8px;color:var(--muted);font-weight:normal;margin-top:2px;white-space:nowrap;}
/* badges (shared with old arena view) */
.av-fc-badges{display:flex;gap:3px;flex-wrap:wrap;min-height:13px;}
.av-badge{font-size:8px;padding:1px 4px;letter-spacing:.04em;font-weight:700;}
.av-badge.bleed{background:rgba(193,80,80,.5);color:#fcc;}
.av-badge.stun{background:#333;color:#aaa;}
.av-badge.disarm{background:#622;color:#faa;}
/* empty state */
.av-empty{color:var(--muted);font-size:10px;padding:16px;font-family:"IBM Plex Mono",monospace;background:var(--s2);border:1px solid var(--border);min-height:190px;display:flex;align-items:center;justify-content:center;}
@keyframes av-flash{0%{opacity:1}40%{opacity:.25}100%{opacity:1}}
.av-flash{animation:av-flash .18s ease;}

/* ── GLITCH ANIMATION ────────────────────────────────────────────────────── */
@keyframes glitch{
  0%{text-shadow:2px 0 var(--accent),-2px 0 var(--cyan);}
  15%{text-shadow:-2px 0 var(--accent),2px 0 var(--cyan);clip-path:polygon(0 30%,100% 30%,100% 55%,0 55%);}
  30%{clip-path:none;text-shadow:none;}
  50%{text-shadow:1px 0 var(--accent),-1px 0 var(--cyan);}
  65%{text-shadow:none;}
  100%{text-shadow:none;clip-path:none;}
}
@keyframes pulse-accent{
  0%,100%{box-shadow:0 0 0 0 rgba(232,25,44,.3);}
  50%{box-shadow:0 0 0 3px rgba(232,25,44,0);}
}

/* ── APP LAYOUT ──────────────────────────────────────────────────────────── */
html,body{height:100%;overflow:hidden;}
.app{
  max-width:none;margin:0;
  display:flex;flex-direction:column;
  height:100vh;overflow:hidden;gap:0;
}
.app-body{display:flex;flex:1;overflow:hidden;}

/* ── SIDEBAR ─────────────────────────────────────────────────────────────── */
.sidebar{
  width:152px;flex-shrink:0;
  background:var(--s);border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  overflow-y:auto;overflow-x:hidden;
}
.sb-section{display:flex;flex-direction:column;padding:8px 0;}
.sb-item{
  font-family:"IBM Plex Mono",monospace;font-size:10px;
  padding:7px 14px;color:var(--muted);cursor:pointer;
  letter-spacing:.07em;text-transform:uppercase;
  border:none;border-left:2px solid transparent;
  background:none;text-align:left;transition:.1s;
}
.sb-item:hover{color:var(--text);background:rgba(255,255,255,.02);}
.sb-item.active{
  color:var(--accent);border-left-color:var(--accent);
  background:var(--accent-dim);
  text-shadow:0 0 10px rgba(232,25,44,.35);
}
.sb-divider{border-top:1px solid var(--border);margin:3px 0;}
.sb-util{
  margin-top:auto;padding:10px 12px;
  display:flex;flex-direction:column;gap:7px;
  border-top:1px solid var(--border);
}
.sb-death-row{
  display:flex;align-items:center;gap:6px;
  font-family:"IBM Plex Mono",monospace;font-size:9px;color:var(--muted);
}

/* ── CONTENT AREA ────────────────────────────────────────────────────────── */
.content-area{flex:1;overflow:hidden;display:flex;flex-direction:column;}
.view-panel{display:none;flex-direction:column;flex:1;overflow-y:auto;padding:12px;gap:10px;}
.view-panel.active{display:flex;}
.view-header{
  font-family:"Orbitron",sans-serif;font-size:9px;
  letter-spacing:.18em;color:var(--accent);text-transform:uppercase;
  padding-bottom:8px;border-bottom:1px solid var(--border);
  flex-shrink:0;position:relative;
}
.view-header::after{
  content:'';position:absolute;
  bottom:-1px;left:0;width:40px;height:1px;
  background:var(--accent);
}

/* viewShell: arenaShell fills remaining height */
#viewShell{padding:12px;}
#viewShell .arena-shell{flex:1;max-height:none;min-height:200px;}

/* ── ROSTER VIEW ─────────────────────────────────────────────────────────── */
.roster-layout{
  display:grid;grid-template-columns:1.6fr 1fr;
  gap:10px;flex:1;min-height:0;
}
.inspector-col{overflow-y:auto;}

/* ── FIGHT VIEW ──────────────────────────────────────────────────────────── */
.fight-layout{
  display:grid;grid-template-columns:1.5fr 1fr;
  gap:10px;flex:1;min-height:0;align-items:start;
}
.fight-arena-col,.fight-controls-col{
  display:flex;flex-direction:column;gap:10px;overflow-y:auto;
}
#viewFight .replay-shell{height:260px;}

/* ── TOPBAR HUD OVERRIDES ────────────────────────────────────────────────── */
.topbar .hud{
  display:flex;gap:6px;align-items:center;flex:1;flex-wrap:wrap;
  background:none;border:none;padding:0;
}
.topbar .hcard{
  display:flex;align-items:center;gap:5px;
  padding:3px 10px;border:1px solid var(--border);background:var(--s2);
  border-left:2px solid var(--border-b);
}
.topbar .hcard .hlabel{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-family:"IBM Plex Mono",monospace;margin-bottom:0;}
.topbar .hcard .hval{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:700;}
.topbar .hcard .hsub{display:none;}
.topbar .hcard:last-child{display:none;}

/* ── COMMAND PALETTE ─────────────────────────────────────────────────────── */
.cp-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:9999;align-items:center;justify-content:center;}
.cp-overlay.open{display:flex;}
.cp-box{
  width:min(620px,96vw);background:var(--s);
  border:1px solid var(--border);border-top:1px solid var(--border-b);
  box-shadow:0 8px 40px rgba(0,0,0,.7);
}
.cp-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);}
.cp-prompt{color:var(--accent);font-family:"IBM Plex Mono",monospace;font-size:13px;}
.cp-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:"IBM Plex Mono",monospace;font-size:13px;}
.cp-hint{font-size:10px;color:var(--muted);font-family:"IBM Plex Mono",monospace;white-space:nowrap;}
.cp-list{max-height:360px;overflow-y:auto;}
.cp-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 14px;cursor:pointer;font-family:"IBM Plex Mono",monospace;font-size:11px;}
.cp-item:hover,.cp-item.sel{background:rgba(232,25,44,.08);color:var(--accent);}
.cp-item .ci-label,.cp-item .cp-cmd{color:var(--text);}
.cp-item .ci-desc,.cp-item .cp-desc{color:var(--muted);font-size:10px;}
.cp-item .ci-tag,.cp-item .cp-tag{font-size:9px;padding:1px 5px;border:1px solid var(--border);color:var(--muted);}
.cp-item-section,.cp-section{padding:5px 14px 3px;font-size:9px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;border-top:1px solid var(--border);cursor:default;}
.cp-status{padding:6px 14px;font-size:11px;font-family:"IBM Plex Mono",monospace;min-height:28px;}
.cp-footer{display:flex;gap:14px;padding:7px 14px;border-top:1px solid var(--border);font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);}

/* ── FIGHTER PANELS ── */
.replay-main-row {
  display: flex;
  height: 100%;
  overflow: hidden;
}
.replay-log-content {
  flex: 1;
  overflow-y: auto;
  min-width: 0;
}
.fighter-panel {
  width: 90px;
  min-width: 90px;
  background: var(--s2);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 4px;
  gap: 6px;
  overflow: hidden;
  font-family: 'IBM Plex Mono', monospace;
}
.fighter-panel-b { border-right: none; border-left: 1px solid var(--border); }
.fp-name {
  font-size: 9px;
  color: var(--accent);
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.fp-sil { line-height: 0; }
.fp-bars { width: 100%; display: flex; flex-direction: column; gap: 3px; }
.fp-bar-row { display: flex; align-items: center; gap: 3px; }
.fp-bar-lbl { font-size: 7px; color: var(--muted); width: 20px; }
.fp-bar-track { flex: 1; height: 4px; background: var(--s3); border-radius: 2px; overflow: hidden; }
.fp-bar-fill { height: 100%; border-radius: 2px; transition: width 0.2s; }
.fp-bar-val { font-size: 7px; width: 22px; text-align: right; }
.fp-badges { display: flex; flex-direction: column; gap: 2px; width: 100%; }
.fp-badge {
  font-size: 7px;
  padding: 1px 3px;
  border-radius: 2px;
  text-align: center;
  font-weight: 700;
}
.fp-badge-bleed  { background: rgba(192,57,43,.3);  color: #e74c3c; }
.fp-badge-disarm { background: rgba(231,76,60,.2);  color: #e67e22; }
.fp-badge-stun   { background: rgba(52,152,219,.2); color: #3498db; }
.fp-badge-crit   { background: rgba(241,196,64,.2); color: #f1c40f; }

/* ── RESPONSIVE ──────────────────────────────────────────────────────────── */
@media(max-width:900px){
  .fight-layout,.roster-layout{grid-template-columns:1fr;}
  .sidebar{width:100%;flex-direction:row;flex-wrap:wrap;height:auto;border-right:none;border-bottom:1px solid var(--border);}
  .sb-section{flex-direction:row;flex-wrap:wrap;}
  .sb-util{flex-direction:row;flex-wrap:wrap;margin-top:0;border-top:none;}
  .app-body{flex-direction:column;}
  html,body{height:auto;overflow:auto;}
  .app{height:auto;}
  .app-body{height:auto;}
  .content-area{height:auto;}
  .view-panel.active{display:block;}
}

/* 6g perk shop */
.perk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:10px 14px 14px;}
.perk-card{background:var(--s3);border:1px solid var(--border);padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-family:"IBM Plex Mono",monospace;}
.perk-card.perk-owned{border-color:rgba(57,232,122,.35);background:rgba(57,232,122,.04);}
.perk-name{font-family:"Orbitron",sans-serif;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--accent);}
.perk-card.perk-owned .perk-name{color:var(--green);}
.perk-desc{font-size:9px;color:var(--muted);line-height:1.5;}
.perk-cost{font-size:9px;color:var(--gold);margin-top:2px;}
.perk-badge{font-size:8px;color:var(--green);border:1px solid rgba(57,232,122,.3);padding:2px 5px;width:fit-content;letter-spacing:.06em;}
.perk-buy-btn{font-size:8px;padding:3px 8px;background:rgba(255,0,60,.08);border:1px solid rgba(255,0,60,.3);color:var(--text);cursor:pointer;letter-spacing:.05em;margin-top:3px;}
.perk-buy-btn:hover:not(:disabled){background:rgba(255,0,60,.18);border-color:var(--red);}
.perk-buy-locked{opacity:.4;cursor:not-allowed;}
/* 6g deep scan */
.int-ds-lbl{color:var(--cyan);font-weight:700;margin-right:6px;font-size:9px;}
#intDeepScan{font-size:9px;color:var(--text);padding:5px 16px;background:rgba(0,200,255,.06);border-bottom:1px solid rgba(0,200,255,.15);display:none;font-family:"IBM Plex Mono",monospace;}
/* 6g overclock + blackout buttons */
.int-btn-overclock{border-color:rgba(200,100,255,.4);background:rgba(200,100,255,.05);}
.int-btn-overclock:hover:not(:disabled){border-color:rgba(200,100,255,.8);background:rgba(200,100,255,.12);}
.int-btn-blackout{border-color:rgba(80,80,80,.6);background:rgba(0,0,0,.3);}
.int-btn-blackout:hover{background:rgba(80,80,80,.2);}

/* ── SCENARIO SELECT OVERLAY ──────────────────────────────────────────────── */
.scenario-overlay {
  position: fixed; inset: 0; z-index: 1200;
  background: rgba(5,5,10,0.98);
  display: flex; align-items: flex-start; justify-content: center;
  overflow-y: auto;
  padding: 40px 16px 60px;
}
.scenario-wrap {
  width: 100%; max-width: 980px;
}
.scenario-header {
  text-align: center;
  margin-bottom: 36px;
}
.scenario-game-title {
  font-family: 'Orbitron', monospace;
  font-size: 20px; font-weight: 900;
  letter-spacing: 5px;
  color: var(--text);
  margin-bottom: 6px;
}
.scenario-phase-tag {
  font-size: 10px; letter-spacing: 4px; font-weight: 700;
  color: var(--accent);
  margin-bottom: 14px;
}
.scenario-lore {
  font-size: 11px; color: var(--muted);
  max-width: 520px; margin: 0 auto;
  line-height: 1.7;
}
.scenario-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 720px) {
  .scenario-cards { grid-template-columns: 1fr; }
}
.sc-card {
  background: var(--s2);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 16px;
  display: flex; flex-direction: column;
  gap: 9px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.sc-card:hover {
  border-color: rgba(255,255,255,0.2);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.05);
}
.sc-card-header {
  display: flex; align-items: baseline;
  justify-content: space-between; gap: 8px;
}
.sc-label {
  font-family: 'Orbitron', monospace;
  font-size: 12px; font-weight: 700;
  letter-spacing: 1px; color: var(--text);
}
.sc-credits {
  font-size: 11px; font-weight: 700;
  color: var(--gold); white-space: nowrap;
}
.sc-sub {
  font-size: 11px; color: var(--text);
  line-height: 1.5; margin: 0;
}
.sc-flavor {
  font-size: 10px; color: var(--muted);
  line-height: 1.5; margin: 0;
}
.sc-debt-banner {
  font-size: 9px; font-weight: 700; letter-spacing: 1px;
  color: var(--red);
  border: 1px solid rgba(255,60,60,0.3);
  border-radius: 3px;
  padding: 4px 8px;
  background: rgba(255,60,60,0.06);
}
.sc-rival-banner {
  font-size: 9px; font-weight: 700; letter-spacing: 1px;
  color: var(--gold);
  border: 1px solid rgba(255,184,0,0.3);
  border-radius: 3px;
  padding: 4px 8px;
  background: rgba(255,184,0,0.06);
}
.sc-prospect-banner {
  font-size: 9px; font-weight: 700; letter-spacing: 1px;
  color: var(--green);
  border: 1px solid rgba(80,200,120,0.3);
  border-radius: 3px;
  padding: 4px 8px;
  background: rgba(80,200,120,0.06);
}
.sc-fighters {
  flex: 1;
  display: flex; flex-direction: column;
  gap: 0;
  min-height: 90px;
  background: var(--s1);
  border: 1px solid var(--border);
  border-radius: 3px;
  overflow: hidden;
}
.sc-fighter {
  display: grid;
  grid-template-columns: 1fr auto;
  row-gap: 2px; column-gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
}
.sc-fighter:last-child { border-bottom: none; }
.sc-f-name {
  font-size: 11px; font-weight: 700;
  color: var(--text); grid-column: 1;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.sc-f-arch {
  font-size: 9px; color: var(--accent);
  text-transform: uppercase; letter-spacing: 1px;
  grid-column: 2; text-align: right;
  align-self: center; white-space: nowrap;
}
.sc-f-stats {
  font-size: 9px; color: var(--muted);
  grid-column: 1; align-self: center;
}
.sc-f-cond {
  font-size: 9px; font-weight: 700;
  grid-column: 2; text-align: right;
  align-self: center; white-space: nowrap;
}
.sc-f-cond.red  { color: var(--red); }
.sc-f-cond.green { color: var(--green); }
.sc-fighter-placeholder {
  font-size: 10px; color: var(--muted);
  text-align: center; padding: 20px 0;
  align-self: center; width: 100%;
}
.sc-actions {
  display: flex; gap: 8px; margin-top: 2px;
}
.sc-reroll {
  flex: 0 0 auto;
  background: none;
  border: 1px solid var(--border);
  color: var(--muted);
  font-size: 10px; padding: 7px 12px;
  cursor: pointer; border-radius: 3px; font-family: inherit;
  transition: color 0.15s, border-color 0.15s;
}
.sc-reroll:hover { color: var(--text); border-color: var(--text); }
.sc-lockin {
  flex: 1;
  background: var(--accent);
  border: none; color: #000;
  font-size: 11px; font-weight: 700; padding: 8px 12px;
  cursor: pointer; border-radius: 3px; letter-spacing: 1px;
  font-family: inherit;
  transition: opacity 0.15s;
}
.sc-lockin:hover { opacity: 0.82; }
/* ── PIT-PHASE HUD TIER BADGE ─────────────────────────────────────────────── */
.pit-tier-badge {
  font-size: 9px; font-weight: 700;
  letter-spacing: 1px;
  color: var(--accent);
  border: 1px solid rgba(var(--accent-rgb, 200,80,60), 0.4);
  padding: 2px 6px; border-radius: 2px;
}
/* ── NOTABLE SCORE IN INSPECTOR ───────────────────────────────────────────── */
.notable-bar-wrap {
  display: flex; align-items: center; gap: 8px;
  margin: 4px 0;
}
.notable-bar-label {
  font-size: 9px; color: var(--muted);
  letter-spacing: 1px; flex: 0 0 60px;
}
.notable-bar-track {
  flex: 1; height: 4px;
  background: var(--s3); border-radius: 2px; overflow: hidden;
}
.notable-bar-fill {
  height: 100%; background: var(--accent);
  border-radius: 2px;
  transition: width 0.3s;
}
.notable-score-val {
  font-size: 10px; font-weight: 700;
  color: var(--accent); flex: 0 0 30px; text-align: right;
}

/* ── MULTI-FIGHTER MATCH TYPE UI ──────────────────────────────────────────── */
#selA2 {
  font-size: 11px;
}
#multiFighterLabel {
  font-size: 10px;
  color: var(--muted);
  letter-spacing: .05em;
  border: 1px solid var(--border);
  padding: 3px 8px;
  border-radius: 3px;
  background: var(--s2);
}
.mtbtn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
