/* Layout: a key-art hero carrying the search field; results drop in beneath it as a
   ranked list, and choosing one swaps the whole page for that entry's sheet. */
:root{
  --ink:#171b20; --ink-soft:#4a5560; --ink-faint:#7b8794;
  --ground:#e6e7ea; --panel:#f3f4f6; --panel-2:#dcdfe3; --rule:#c3c8ce;
  --brass:#8a6522; --brass-soft:#a8853f; --brass-dim:rgba(138,101,34,.12);
  --good:#2f7f6b; --bad:#9e4038; --locked:#9aa3ad;
  --sp-human:#3f6e9c; --sp-ragnar:#9e4038; --sp-elithen:#2f7f6b;
  --sp-mossmane:#7d6c1f; --sp-unak:#6b4f94; --sp-viking:#315f74; --sp-skeleton:#5d6470;
  --font-display:"Cinzel","Palatino Linotype",Georgia,serif;
  --font-body:"Spectral",Georgia,"Times New Roman",serif;
  --font-data:"Barlow Condensed","Arial Narrow",Helvetica,sans-serif;
  --shadow:0 1px 0 rgba(255,255,255,.6),0 8px 26px rgba(23,27,32,.14);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --ink:#e2e6ea; --ink-soft:#9aa6b3; --ink-faint:#6d7985;
  --ground:#0a0d11; --panel:#12181e; --panel-2:#19212a; --rule:#293139;
  --brass:#d9b063; --brass-soft:#bb934c; --brass-dim:rgba(217,176,99,.12);
  --good:#49b096; --bad:#d4695e; --locked:#49535e;
  --sp-human:#6b9fd4; --sp-ragnar:#d4695e; --sp-elithen:#49b096;
  --sp-mossmane:#bda63c; --sp-unak:#a182d0; --sp-viking:#5e9fbd; --sp-skeleton:#98a2b0;
  --shadow:0 1px 0 rgba(255,255,255,.04),0 12px 34px rgba(0,0,0,.55);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --ink:#e2e6ea; --ink-soft:#9aa6b3; --ink-faint:#6d7985;
  --ground:#0a0d11; --panel:#12181e; --panel-2:#19212a; --rule:#293139;
  --brass:#d9b063; --brass-soft:#bb934c; --brass-dim:rgba(217,176,99,.12);
  --good:#49b096; --bad:#d4695e; --locked:#49535e;
  --sp-human:#6b9fd4; --sp-ragnar:#d4695e; --sp-elithen:#49b096;
  --sp-mossmane:#bda63c; --sp-unak:#a182d0; --sp-viking:#5e9fbd; --sp-skeleton:#98a2b0;
  --shadow:0 1px 0 rgba(255,255,255,.04),0 12px 34px rgba(0,0,0,.55);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:15px;
  line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:3px}
.wrap{max-width:1180px;margin:0 auto;padding-inline:18px}
button{font:inherit;color:inherit}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);
  padding-block:calc(42px + env(safe-area-inset-top,0px)) 30px;isolation:isolate}
.hero-art{position:absolute;inset:0;z-index:-2}
.hero-art i{position:absolute;inset:0;background-size:cover;background-position:50% 22%;
  opacity:0;transition:opacity 1.6s ease}
.hero-art i.on{opacity:1}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,8,11,.62) 0%,rgba(6,8,11,.74) 45%,var(--ground) 99%)}
.hero-inner{position:relative;max-width:1180px;margin:0 auto;padding-inline:18px;text-align:center}
.wordmark{font-family:var(--font-display);font-weight:900;color:#f2ead6;
  text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 46px rgba(217,176,99,.28);line-height:.96}
.wm-1,.wm-2{display:block;font-size:clamp(34px,8.5vw,74px);letter-spacing:.06em}
.wm-of{display:block;font-size:clamp(13px,2.4vw,19px);letter-spacing:.56em;color:var(--brass);
  margin:.18em 0 .1em;padding-left:.56em}
.hero-sub{margin:14px auto 0;max-width:60ch;color:rgba(238,235,228,.82);font-size:14.5px;
  text-shadow:0 1px 10px rgba(0,0,0,.8)}
.searchbox{position:relative;max-width:640px;margin:22px auto 0}
.searchbox .mag{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;height:19px;
  fill:none;stroke:var(--ink-faint);stroke-width:2;stroke-linecap:round;pointer-events:none}
.searchbox input{width:100%;font-family:var(--font-body);font-size:17px;color:var(--ink);
  background:var(--panel);border:1px solid var(--rule);border-radius:3px;padding:13px 40px 13px 42px;
  box-shadow:0 10px 32px rgba(0,0,0,.28)}
.searchbox input::placeholder{color:var(--ink-faint)}
.searchbox input::-webkit-search-cancel-button{display:none}
.clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;
  border:0;background:transparent;color:var(--ink-faint);cursor:pointer;border-radius:3px}
.clear:hover{color:var(--ink)}
.kinds{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.kindbtn{font-family:var(--font-data);font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 13px;border:1px solid rgba(240,236,226,.3);background:rgba(10,13,17,.42);
  color:#efebe2;border-radius:2px;cursor:pointer;backdrop-filter:blur(3px)}
.kindbtn:hover{border-color:var(--brass);color:var(--brass)}
.kindbtn[aria-pressed="true"]{background:var(--brass);border-color:var(--brass);color:#14100a;font-weight:600}
.kindbtn b{font-weight:600;opacity:.65;margin-left:5px;font-size:12px}
.langs{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:16px;display:flex;
  border:1px solid rgba(240,236,226,.3);border-radius:2px;overflow:hidden;backdrop-filter:blur(3px)}
.langs button{font-family:var(--font-data);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 11px;background:rgba(10,13,17,.42);color:#efebe2;border:0;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--brass);color:#14100a}

/* ---------- results ---------- */
#results{margin-top:22px}
.rescount{font-family:var(--font-data);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-faint);margin-bottom:9px}
.row{display:grid;grid-template-columns:56px 1fr auto;gap:13px;align-items:center;width:100%;
  text-align:left;background:var(--panel);border:1px solid var(--rule);border-left:3px solid var(--c);
  border-radius:2px;padding:9px 12px 9px 9px;cursor:pointer;margin-bottom:6px;
  transition:border-color .12s,transform .12s}
.row:hover,.row.sel{border-color:var(--brass);transform:translateX(2px)}
.row .thumb{width:56px;aspect-ratio:1;border:1px solid var(--rule);border-radius:2px;overflow:hidden;
  background:var(--panel-2)}
.row .thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;display:block}
.row .thumb.contain img{object-fit:contain;padding:3px}
.row .nm{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.1;
  overflow-wrap:anywhere}
.row .mt{font-family:var(--font-data);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--c);margin-top:2px}
.row .mt em{font-style:normal;color:var(--ink-faint)}
.row .bl{font-size:13px;color:var(--ink-soft);font-weight:300;margin-top:3px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.row .side{text-align:right;white-space:nowrap}
.kindtag{font-family:var(--font-data);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-faint);display:block}
.row .stars{font-family:var(--font-data);font-size:13px;color:var(--brass);letter-spacing:.1em}
.row .stars i{color:var(--locked);font-style:normal}
.row .lvtag{font-family:var(--font-data);font-size:12px;letter-spacing:.08em;color:var(--ink-faint);
  text-transform:uppercase}
.nores{padding:36px 0;text-align:center;color:var(--ink-faint);font-family:var(--font-data);
  font-size:16px;letter-spacing:.1em;text-transform:uppercase}

/* ---------- browse (empty state) ---------- */
#browse{padding-block:26px 50px}
.bsec{margin-bottom:26px}
.bsec h2{font-family:var(--font-data);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{font-family:var(--font-data);font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;
  padding:4px 11px;border:1px solid var(--rule);background:var(--panel);color:var(--ink-soft);
  border-radius:2px;cursor:pointer}
.pill:hover{border-color:var(--brass);color:var(--brass)}
.pill.sp{border-left:3px solid var(--c)}
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.pick{position:relative;border:1px solid var(--rule);border-radius:2px;overflow:hidden;cursor:pointer;
  background:var(--panel);padding:0;display:block;text-align:left}
.pick img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 14%;display:block}
.pick span{position:absolute;left:0;right:0;bottom:0;padding:16px 9px 7px;color:#f3efe7;
  font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.1;
  background:linear-gradient(transparent,rgba(5,7,10,.9));text-shadow:0 1px 6px #000}
.pick:hover{border-color:var(--brass)}

/* ---------- detail ---------- */
.dwrap{max-width:1180px;margin:0 auto;padding-inline:18px;padding-block:0 60px}
.topbar{position:sticky;top:0;z-index:30;background:var(--ground);border-bottom:1px solid var(--rule);
  padding-block:9px;padding-top:calc(9px + env(safe-area-inset-top,0px));margin-bottom:0}
.topbar .wrap{display:flex;gap:10px;align-items:center}
.backbtn{font-family:var(--font-data);font-size:14px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 12px;border:1px solid var(--rule);background:var(--panel);border-radius:2px;cursor:pointer}
.backbtn:hover{border-color:var(--brass);color:var(--brass)}
.topname{font-family:var(--font-display);font-size:17px;font-weight:700;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.sheet{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;padding-top:24px}
.portrait{position:relative;border:1px solid var(--rule);border-radius:3px;overflow:hidden;
  background:var(--panel-2)}
.portrait img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 14%;display:block}
.portrait.contain img{object-fit:contain;padding:18px;aspect-ratio:4/3}
.pcap{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#f3efe7;
  background:linear-gradient(transparent,rgba(5,7,10,.92))}
.pcap .st{font-family:var(--font-data);font-size:15px;color:var(--brass);letter-spacing:.14em}
.pcap .st i{color:rgba(243,239,231,.35);font-style:normal}
h1.dn{font-family:var(--font-display);font-size:clamp(30px,5vw,42px);font-weight:900;line-height:.95;
  margin:3px 0 0;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(0,0,0,.85)}
.pcap .alt{font-family:var(--font-data);font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(243,239,231,.68);margin-top:2px}
.pcap .cls{font-family:var(--font-data);font-size:14px;letter-spacing:.1em;text-transform:uppercase;
  margin-top:6px;border-left:3px solid var(--c);padding-left:8px;display:inline-block}
.aside{display:flex;flex-direction:column;gap:14px}
.main{display:flex;flex-direction:column;gap:22px;min-width:0}

.lvlcard{border:1px solid var(--brass-soft);border-radius:3px;background:var(--brass-dim);padding:12px 14px}
.lvlhead{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.lvlhead h3{font-family:var(--font-data);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--brass);margin:0}
.lvlnum{font-family:var(--font-display);font-size:30px;font-weight:900;line-height:1;
  font-variant-numeric:tabular-nums}
.lvlof{font-family:var(--font-data);font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint)}
input[type=range]{width:100%;accent-color:var(--brass);margin-top:8px}
.lvlquick{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.qbtn{font-family:var(--font-data);font-size:12px;letter-spacing:.08em;padding:2px 9px;
  border:1px solid var(--rule);background:var(--panel);border-radius:2px;cursor:pointer}
.qbtn:hover{border-color:var(--brass);color:var(--brass)}

.sec{min-width:0}
.sec>h2{font-family:var(--font-data);font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.lore{margin:0;font-size:16px;line-height:1.62}
.lore.gen{color:var(--ink-soft);font-weight:300}
blockquote.quote{margin:11px 0 0;padding-left:13px;border-left:2px solid var(--brass-soft);
  font-style:italic;color:var(--ink-soft)}
.note{font-size:12.5px;color:var(--ink-faint);font-weight:300;margin:6px 0 0}
.note code{font-family:var(--font-data);font-size:13px}

.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.statgrid>div{border:1px solid var(--rule);border-radius:2px;background:var(--panel);padding:8px 10px}
.statgrid dt{font-family:var(--font-data);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint)}
.statgrid dd{margin:2px 0 0;font-family:var(--font-data);font-size:21px;font-weight:600;
  font-variant-numeric:tabular-nums}
.statgrid dd s{text-decoration:none;font-size:12px;color:var(--good);margin-left:5px}
.chart{width:100%;height:132px;display:block;border:1px solid var(--rule);background:var(--panel);
  border-radius:2px}
.chartleg{display:flex;gap:14px;font-family:var(--font-data);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-faint);margin-top:5px}

/* slots */
.slots{display:flex;flex-direction:column;gap:9px}
.slot{border:1px solid var(--rule);border-radius:2px;background:var(--panel);padding:10px 12px;
  display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start}
.slot.locked{opacity:.52;background:transparent;border-style:dashed}
.slot.uniq{border-color:var(--brass-soft);background:var(--brass-dim)}
.slot .ic{width:40px;height:40px;border:1px solid var(--rule);border-radius:2px;object-fit:contain;
  background:var(--panel-2)}
.slot .sn{font-family:var(--font-data);font-size:15.5px;letter-spacing:.07em;text-transform:uppercase;
  font-weight:600;margin:0;line-height:1.2}
.slot .sd{font-size:13.5px;color:var(--ink-soft);margin:4px 0 0;line-height:1.5}
.slot .sl{font-family:var(--font-data);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brass);white-space:nowrap;font-weight:600}
.slot.locked .sl{color:var(--locked)}
.slotbadge{font-family:var(--font-data);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-faint);display:block;margin-bottom:2px}
.ladder{display:flex;gap:2px;margin-top:7px;flex-wrap:wrap}
.ladder b{font-family:var(--font-data);font-size:11.5px;font-weight:500;padding:1px 5px;
  border:1px solid var(--rule);border-radius:2px;color:var(--ink-faint);
  font-variant-numeric:tabular-nums}
.ladder b.cur{background:var(--brass);border-color:var(--brass);color:#14100a;font-weight:700}
.ladder b.past{color:var(--ink-soft)}

.relicslots{display:flex;gap:7px;flex-wrap:wrap}
.rslot{width:46px;height:46px;border:1px solid var(--rule);border-radius:2px;display:grid;
  place-items:center;font-family:var(--font-data);font-size:17px;color:var(--ink-faint);
  background:var(--panel)}
.rslot.open{border-color:var(--brass);color:var(--brass);background:var(--brass-dim);font-weight:700}
.rslot.shut{border-style:dashed;opacity:.5}

/* buff tables */
.buffs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.buffcol h3{font-family:var(--font-data);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 8px;padding-bottom:5px;border-bottom:2px solid var(--c2)}
.brow{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:5px 0;
  border-bottom:1px solid var(--rule)}
.brow:last-child{border-bottom:0}
.brow .bn{font-family:var(--font-data);font-size:14px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft)}
.brow .bv{font-family:var(--font-data);font-size:17px;font-weight:600;color:var(--brass);
  font-variant-numeric:tabular-nums;white-space:nowrap}
.brow .bs{font-size:11.5px;color:var(--ink-faint);font-weight:300;display:block;margin-top:1px}
.bempty{color:var(--ink-faint);font-size:13px;font-weight:300}

.fx{display:flex;flex-direction:column;gap:7px}
.fx>div{border:1px solid var(--rule);border-radius:2px;background:var(--panel);padding:7px 10px}
.fx .fxv{font-family:var(--font-data);font-size:18px;font-weight:600;color:var(--brass);
  font-variant-numeric:tabular-nums;float:right;margin-left:10px}
.fx .fxn{font-family:var(--font-data);font-size:14px;letter-spacing:.05em;text-transform:uppercase}
.fx .fxm{font-size:12px;color:var(--ink-faint);font-weight:300;margin-top:1px}
.taglist{display:flex;flex-wrap:wrap;gap:5px}
.tag{font-family:var(--font-data);font-size:13px;letter-spacing:.07em;text-transform:uppercase;
  padding:2px 9px;border:1px solid var(--rule);border-radius:2px;background:var(--panel);
  color:var(--ink-soft);cursor:pointer}
.tag:hover{border-color:var(--brass);color:var(--brass)}
.tag.flat{cursor:default}
.tag[aria-pressed="true"]{background:var(--brass);border-color:var(--brass);color:#14100a}
.matchup{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.matchup h4{font-family:var(--font-data);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px}
.matchup .good{color:var(--good)} .matchup .bad{color:var(--bad)}
.bonuses{margin:0;font-family:var(--font-data);font-size:14.5px;letter-spacing:.05em;line-height:1.75;
  white-space:pre-line;color:var(--ink-soft)}
.loading{padding:50px 0;text-align:center;color:var(--ink-faint);font-family:var(--font-data);
  font-size:16px;letter-spacing:.12em;text-transform:uppercase}
.sitefoot{border-top:1px solid var(--rule);padding-block:16px calc(20px + env(safe-area-inset-bottom,0px));
  font-size:12.5px;color:var(--ink-faint);font-weight:300}
.sitefoot .wrap{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}

@media (max-width:860px){
  .sheet{grid-template-columns:1fr;gap:18px}
  .buffs{grid-template-columns:1fr}
}
@media (max-width:520px){
  .slot{grid-template-columns:auto 1fr;}
  .slot .sl{grid-column:2;justify-self:start}
  .matchup{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- effective-stat tables ---------- */
.tbh{font-family:var(--font-data);font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-faint);margin:14px 0 6px}
.tbh:first-child{margin-top:0}
table.stab{width:100%;border-collapse:collapse;font-family:var(--font-data);
  font-variant-numeric:tabular-nums}
table.stab th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);
  font-weight:500;text-align:right;padding:0 0 4px;border-bottom:1px solid var(--rule)}
table.stab th:first-child{text-align:left}
table.stab td{padding:5px 0;border-bottom:1px solid var(--rule);text-align:right;font-size:15px}
table.stab tr:last-child td{border-bottom:0}
.stab .sn2{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);
  font-size:13.5px}
.stab .bv2{color:var(--ink-faint)}
.stab .pv2{color:var(--good);font-size:14px}
.stab .tv2{color:var(--brass);font-weight:600;font-size:16.5px}
.trooplvl{display:flex;align-items:center;gap:10px;margin:4px 0 12px}
.trooplvl input[type=range]{flex:1;margin:0}

/* ---------- relic slots ---------- */
.rslot{padding:0;overflow:hidden;cursor:default}
button.rslot{cursor:pointer}
button.rslot:hover{border-color:var(--brass);color:var(--brass)}
.rslot.filled{border-color:var(--brass-soft);background:var(--panel-2)}
.rslot img{width:100%;height:100%;object-fit:contain;padding:2px}
.eqlist{margin-top:10px;display:flex;flex-direction:column;gap:5px}
.eqrow{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border:1px solid var(--rule);border-radius:2px;background:var(--panel);padding:5px 9px;
  font-family:var(--font-data);font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft)}

/* ---------- relic picker ---------- */
.pscrim{position:fixed;inset:0;background:rgba(5,8,11,.6);z-index:60}
.picker{position:fixed;z-index:61;top:50%;left:50%;transform:translate(-50%,-50%);
  width:min(520px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 60px));
  background:var(--panel);border:1px solid var(--rule);border-radius:3px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);display:flex;flex-direction:column;padding:14px}
.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.phead strong{font-family:var(--font-data);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);font-weight:600}
.picker input[type=search]{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);
  background:var(--ground);border:1px solid var(--rule);border-radius:2px;padding:9px 11px}
.plist{overflow-y:auto;margin-top:10px;display:flex;flex-direction:column;gap:4px}
.prow{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;text-align:left;
  background:transparent;border:1px solid transparent;border-radius:2px;padding:5px 6px;cursor:pointer}
.prow:hover{background:var(--panel-2);border-color:var(--brass-soft)}
.pthumb{width:38px;height:38px;border:1px solid var(--rule);border-radius:2px;background:var(--ground);
  overflow:hidden}
.pthumb img{width:100%;height:100%;object-fit:contain;padding:2px}
.pname{display:block;font-family:var(--font-data);font-size:14.5px;letter-spacing:.05em;
  text-transform:uppercase}
.pstars{display:block;font-family:var(--font-data);font-size:12px;color:var(--brass);letter-spacing:.1em}
.pstars i{color:var(--locked);font-style:normal}

.relicrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.addrelic{font-family:var(--font-data);font-size:14px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 16px;border:1px solid var(--brass);background:var(--brass-dim);color:var(--brass);
  border-radius:2px;cursor:pointer;font-weight:600}
.addrelic:hover{background:var(--brass);color:#14100a}
.rslot.open{border-style:dashed;font-size:20px}
.eqrow{flex-wrap:wrap}
.eqn{display:flex;align-items:center;gap:8px;min-width:0}
.eqn img{width:26px;height:26px;object-fit:contain;border:1px solid var(--rule);border-radius:2px;
  background:var(--ground)}
.eqlv{display:flex;align-items:center;gap:6px}
.eqlv b{font-weight:600;color:var(--brass);min-width:5.5em;text-align:center}
.eqlv .qbtn[disabled]{opacity:.35;cursor:default}

.eqrow{flex-direction:column;align-items:stretch;gap:7px;padding:9px 11px}
.eqtop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.eqn{font-weight:600;color:var(--ink)}
.eqst{font-style:normal;font-size:12px;color:var(--brass);letter-spacing:.08em}
.eqst i{color:var(--locked);font-style:normal}
.eqdesc{margin:0;font-family:var(--font-body);font-size:13.5px;line-height:1.5;color:var(--ink-soft);
  font-weight:300;text-transform:none;letter-spacing:0}
.eqfx{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.eqfx li{display:grid;grid-template-columns:5.5em 1fr;gap:9px;align-items:baseline;
  font-family:var(--font-data);font-size:13px;letter-spacing:.04em;text-transform:none;
  color:var(--ink-soft);line-height:1.45}
.eqfx .eqv{color:var(--brass);font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;
  text-align:right}
.eqfx em{font-style:normal;color:var(--ink-faint);font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;display:block;margin-top:1px}

/* ---------- fan-site notice ---------- */
.sitefoot .wrap{flex-direction:column;align-items:stretch;gap:12px}
.legal{border:1px solid var(--rule);border-left:3px solid var(--brass);border-radius:2px;
  background:var(--panel);padding:11px 14px}
.legal-h{margin:0;font-size:13px;line-height:1.55;color:var(--ink-soft)}
.legal-h strong{font-family:var(--font-data);font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--brass);font-weight:600}
.legal-t{font-family:var(--font-data);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  padding:2px 9px;margin-left:8px;border:1px solid var(--rule);background:transparent;
  color:var(--ink-faint);border-radius:2px;cursor:pointer;white-space:nowrap}
.legal-t:hover{border-color:var(--brass);color:var(--brass)}
.legal-b{margin-top:9px;padding-top:9px;border-top:1px solid var(--rule)}
.legal-b p{margin:0 0 8px;font-size:12.5px;line-height:1.6;color:var(--ink-faint)}
.legal-b p:last-child{margin-bottom:0}
.footmeta{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
