:root{
  --ground:#14110c; --ground-2:#1b160f; --panel:#221c14; --panel-2:#2a2318;
  --line:#3a3022; --line-soft:#2c2418;
  --ink:#f0e7d6; --ink-2:#c9bda6; --muted:#9a8c73; --faint:#6f6350;
  --ember:#e8622f; --ember-2:#ff7a3c; --gold:#d7a441; --gold-dim:#8a6f2f;
  --crit:#e2b23a; --onslaught:#e0803a; --rage:#e2513f; --ok:#5fa86e;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:var(--sans);line-height:1.58;font-size:15.5px;
  -webkit-font-smoothing:antialiased;
  background:radial-gradient(1200px 600px at 84% -6%, rgba(232,98,47,.11), transparent 58%),
    radial-gradient(900px 520px at 2% 3%, rgba(215,164,65,.05), transparent 55%),var(--ground);}
a{color:inherit;text-decoration:none}
h1,h2,h3{text-wrap:balance}
img{max-width:100%}
code{font-family:var(--mono);font-size:.86em;color:var(--gold);background:var(--ground-2);
  border:1px solid var(--line-soft);border-radius:5px;padding:1.5px 6px}
:focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:4px}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:18px;
  padding:12px 22px;background:linear-gradient(180deg,rgba(20,17,12,.96),rgba(20,17,12,.82));
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:18px;font-weight:600}
.brand .mark{width:26px;height:26px;border-radius:7px;flex:none;
  background:radial-gradient(circle at 32% 28%,var(--ember-2),var(--ember) 46%,#7a2d17 100%);
  box-shadow:0 0 0 1px rgba(255,140,80,.35),0 4px 14px rgba(232,98,47,.35)}
.brand b{color:var(--ember)} .brand span{font-weight:600}
.brand .tag{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:2px 6px}
.topnav{display:flex;gap:3px;margin-left:6px}
.topnav a{font-size:13px;color:var(--muted);padding:7px 11px;border-radius:7px;transition:color .15s,background .15s}
.topnav a:hover{color:var(--ink);background:var(--panel)}
.topnav a.on{color:var(--ink);background:var(--panel-2)}
.topnav .navsoon{font-size:13px;color:var(--faint);padding:7px 11px;cursor:default;position:relative}
.topnav .navsoon::after{content:"em breve";position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--line);opacity:0;transition:opacity .15s;white-space:nowrap}
.topnav .navsoon:hover::after{opacity:1}
.search{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--ground-2);
  border:1px solid var(--line);border-radius:9px;padding:8px 12px;min-width:190px;color:var(--faint)}
.search svg{flex:none} .search span{font-family:var(--mono);font-size:12.5px}
.search kbd{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--faint);
  border:1px solid var(--line);border-radius:4px;padding:1px 5px}
@media(max-width:900px){.topnav,.search{display:none}}

/* ---------- shell (rail + article + toc) ---------- */
.shell{display:grid;grid-template-columns:238px minmax(0,1fr) 210px;max-width:1340px;margin:0 auto;align-items:start}
.rail{position:sticky;top:57px;align-self:start;padding:26px 14px 60px 22px;max-height:calc(100vh - 57px);overflow-y:auto}
.rail h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:20px 0 8px;padding-left:10px}
.rail h4:first-child{margin-top:0}
.rail a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13.5px;color:var(--ink-2);padding:6px 10px;border-radius:7px;transition:color .13s,background .13s}
.rail a:hover{background:var(--panel);color:var(--ink)}
.rail a.on{background:var(--panel-2);color:var(--ember);font-weight:600;box-shadow:inset 2px 0 0 var(--ember)}
.rail a .n{font-family:var(--mono);font-size:11px;color:var(--faint)}
.rail a.on .n{color:var(--gold-dim)}
@media(max-width:1080px){.rail{display:none}.shell{grid-template-columns:minmax(0,1fr) 210px}}
@media(max-width:820px){.shell{grid-template-columns:minmax(0,1fr)}}
.toc{position:sticky;top:57px;align-self:start;padding:34px 22px 60px 12px;font-size:13px}
.toc h5{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 12px}
.toc a{display:block;color:var(--muted);padding:4px 0 4px 12px;border-left:1px solid var(--line);transition:color .13s,border-color .13s}
.toc a:hover{color:var(--ink)} .toc a.on{color:var(--ember);border-color:var(--ember)}
@media(max-width:1080px){.toc{display:none}}

/* ---------- article ---------- */
.art{padding:30px 40px 90px;max-width:820px;min-width:0}
@media(max-width:640px){.art{padding:24px 20px 70px}}
.crumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--faint);margin-bottom:20px}
.crumb a:hover{color:var(--ink-2)} .crumb .sep{color:var(--line)} .crumb b{color:var(--ember)}

.hero{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;padding:26px;
  border:1px solid var(--line);border-radius:16px;position:relative;overflow:hidden;
  background:linear-gradient(158deg,var(--panel) 0%,var(--ground-2) 78%)}
.hero::after{content:"";position:absolute;right:-80px;top:-120px;width:360px;height:360px;pointer-events:none;
  background:radial-gradient(circle,rgba(232,98,47,.14),transparent 62%)}
.stage{position:relative;min-height:200px;display:flex;align-items:center;justify-content:center;border-radius:13px;overflow:hidden;
  background:radial-gradient(120px 120px at 50% 60%, color-mix(in srgb, var(--cc,#e8622f) 30%, transparent), transparent 70%),
    repeating-linear-gradient(0deg,#0d0b07,#0d0b07 2px,#100d09 2px,#100d09 4px),#0c0a06;
  box-shadow:inset 0 0 0 1px var(--line-soft), inset 0 -30px 50px rgba(0,0,0,.5)}
.stage img{height:150px;width:auto;image-rendering:pixelated;position:relative;z-index:2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.hero-body .kind{font-family:var(--mono);font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--ember);font-weight:600;margin:0 0 12px}
.hero-body h1{font-family:var(--serif);font-weight:600;font-size:clamp(32px,5vw,50px);line-height:1;margin:0;letter-spacing:-.015em}
.hero-body .lede{color:var(--ink-2);font-size:16px;margin:14px 0 0;max-width:52ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ch{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-family:var(--mono);background:var(--ground-2);border:1px solid var(--line);border-radius:999px;padding:6px 11px;color:var(--ink-2)}
.ch b{color:var(--gold)} .ch .d{width:7px;height:7px;border-radius:50%;background:var(--ember)}
@media(max-width:560px){.hero{grid-template-columns:1fr}}

.sec{margin-top:44px;scroll-margin-top:70px}
.sec>h2{font-family:var(--serif);font-size:24px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em;display:flex;align-items:baseline;gap:12px}
.sec>h2 .k{font-family:var(--mono);font-size:12px;color:var(--ember);font-weight:600}
.sec>.lead{color:var(--muted);font-size:14px;margin:0 0 20px}
.sec p{color:var(--ink-2);margin:0 0 15px;max-width:66ch}
.sec p b{color:var(--ink)} .sec p .em{color:var(--ember);font-weight:600}

.facts{border:1px solid var(--line);border-radius:13px;background:var(--panel);overflow:hidden}
.facts .fh{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line-soft);background:var(--ground-2)}
.facts dl{margin:0;display:grid;grid-template-columns:auto 1fr}
.facts dt{font-size:13px;color:var(--muted);padding:9px 16px;border-bottom:1px solid var(--line-soft)}
.facts dd{margin:0;font-size:13px;color:var(--ink);text-align:right;padding:9px 16px;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.facts dt:last-of-type,.facts dd:last-of-type{border-bottom:none}

.ladder{display:grid;gap:10px;margin:6px 0 20px}
.step{display:grid;grid-template-columns:26px 1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:14px 16px;background:var(--panel)}
.step .num{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:700;background:var(--ground-2);color:var(--gold);border:1px solid var(--line)}
.step .txt{min-width:0} .step .txt h4{margin:0;font-size:14.5px;font-weight:650} .step .txt p{margin:3px 0 0;font-size:13px;color:var(--muted);max-width:none}
.step .amt{font-family:var(--mono);font-weight:700;font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums}
.step.crit{box-shadow:inset 3px 0 0 var(--crit)} .step.crit .amt{color:var(--crit)}
.step.ons{box-shadow:inset 3px 0 0 var(--onslaught)} .step.ons .amt{color:var(--onslaught)}
.step.rage{box-shadow:inset 3px 0 0 var(--rage)} .step.rage .amt{color:var(--rage)}
.step.base{box-shadow:inset 3px 0 0 var(--faint)} .step.base .amt{color:var(--ink-2)}
.clog{border:1px solid var(--line);border-radius:11px;background:#0d0b07;padding:16px 18px;margin:2px 0 8px;font-family:var(--mono);font-size:13.5px;line-height:1.85}
.clog .l{color:var(--muted)} .clog .v{color:var(--rage);font-weight:700} .clog .t{color:var(--onslaught)}
.note{margin-top:12px;padding:12px 15px;border:1px solid var(--line);border-left:3px solid var(--ember);border-radius:8px;background:var(--ground-2);color:var(--ink-2);font-size:13px}
.reqs{display:grid;gap:12px;margin:4px 0 10px}
.req{display:flex;gap:14px;border:1px solid var(--line);border-radius:11px;padding:15px 17px;background:var(--panel)}
.req .ic{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;font-size:17px;background:var(--ground-2);border:1px solid var(--line)}
.req h4{margin:0 0 3px;font-size:14.5px;font-weight:650} .req p{margin:0;font-size:13px;color:var(--muted);max-width:none}
.req .opt{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dim);border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-left:8px}
.vars{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.var{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--panel)}
.var .m{font-family:var(--mono);font-size:13px;color:var(--rage);font-weight:700} .var .m .amp{color:var(--gold)}
.var p{margin:6px 0 0;font-size:12.5px;color:var(--muted);max-width:none}
@media(max-width:560px){.vars{grid-template-columns:1fr}}
.sites{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sites li{font-size:13px} .sites code{color:var(--ink-2)}
.relgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.relc{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:11px;padding:11px 13px;background:var(--panel);transition:border-color .15s,transform .15s}
.relc:hover{border-color:var(--gold-dim);transform:translateY(-2px)}
.relthumb{width:44px;height:44px;flex:none;border-radius:9px;display:grid;place-items:center;background:#0d0b07;border:1px solid var(--line-soft)}
.relthumb img{height:32px;image-rendering:pixelated} .relc .rt{font-size:13.5px;font-weight:600} .relc .rs{font-family:var(--mono);font-size:11px;color:var(--muted)}
@media(max-width:560px){.relgrid{grid-template-columns:1fr}}
.pfoot{max-width:1340px;margin:40px auto 0;padding:22px 40px 60px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:12.5px;line-height:1.7}
.pfoot code{color:var(--ink-2)}

/* ---------- catalog ---------- */
.cwrap{max-width:1180px;margin:0 auto;padding:34px 22px 40px}
.chead .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin:0 0 12px;font-weight:600}
.chead h1{font-family:var(--serif);font-size:clamp(32px,5vw,48px);font-weight:600;margin:0;letter-spacing:-.01em}
.chead .lede{color:var(--ink-2);max-width:62ch;margin:14px 0 0;font-size:16px}
.filters{position:sticky;top:57px;z-index:20;background:linear-gradient(180deg,var(--ground) 68%,rgba(20,17,12,.85));backdrop-filter:blur(6px);padding:16px 0 12px;margin:26px 0 4px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-bottom:1px solid var(--line-soft)}
.fchips{display:flex;flex-wrap:wrap;gap:7px}
.fchip{font-size:12.5px;background:var(--panel);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer;user-select:none;transition:border-color .13s,color .13s;display:inline-flex;gap:6px;align-items:center}
.fchip b{font-family:var(--mono);font-size:11px;color:var(--faint)}
.fchip:hover{color:var(--ink);border-color:var(--gold-dim)}
.fchip.on{color:var(--ink);border-color:var(--cc,var(--gold));box-shadow:inset 2px 0 0 var(--cc,var(--gold))}
.fchip.on b{color:var(--cc,var(--gold))}
.fsearch{margin-left:auto;background:var(--ground-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);font-family:var(--mono);font-size:13px;min-width:220px}
.fsearch:focus{outline:none;border-color:var(--gold)} .fsearch::placeholder{color:var(--faint)}
.egrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px;margin-top:18px}
.ecard{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;transition:border-color .14s,transform .14s}
.ecard:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.ethumb{position:relative;height:112px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);
  background:radial-gradient(80px 80px at 50% 52%, color-mix(in srgb, var(--cc,#e8622f) 16%, transparent), transparent 70%),#0d0b07}
.ethumb img{max-height:80px;max-width:80%;image-rendering:pixelated;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.ethumb .cust{position:absolute;top:7px;right:7px;font-family:var(--mono);font-size:8.5px;letter-spacing:.1em;color:var(--rage);border:1px solid rgba(226,81,63,.4);background:rgba(226,81,63,.1);border-radius:4px;padding:2px 5px}
.ethumb .star{position:absolute;top:6px;right:7px;font-size:12px;color:var(--gold);filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
.ecap{padding:10px 12px}
.ecap .et{font-size:13px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ecap .es{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:11px;color:var(--muted)}
.ecap .es .cdot{width:7px;height:7px;border-radius:50%;flex:none}
.noresults{text-align:center;color:var(--muted);padding:50px;font-style:italic}

/* ---------- itens ---------- */
.igrid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.icard{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;transition:border-color .14s,transform .14s;display:flex;flex-direction:column}
.icard:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.ithumb{position:relative;height:118px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);
  background:radial-gradient(70px 70px at 50% 50%, color-mix(in srgb, var(--cc,#d7a441) 15%, transparent), transparent 70%),#0d0b07}
.ithumb img{max-height:70px;max-width:72px;image-rendering:pixelated;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5))}
.ithumb .icost{position:absolute;bottom:7px;right:7px;font-family:var(--mono);font-size:10px;color:var(--gold);background:rgba(20,17,12,.85);border:1px solid var(--gold-dim);border-radius:5px;padding:2px 6px}
.icap{padding:11px 13px;display:flex;flex-direction:column;gap:3px;flex:1}
.icap .it{font-size:13.5px;font-weight:650;line-height:1.25}
.icap .il{font-size:11.5px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.artwrap{max-width:900px;margin:0 auto}
.bonusgrid{display:flex;flex-wrap:wrap;gap:8px}
.bchip{font-family:var(--mono);font-size:12.5px;color:var(--ink);background:var(--ground-2);border:1px solid var(--line);border-radius:7px;padding:6px 11px}
.bchip::before{content:"◆";color:var(--gold);margin-right:7px;font-size:9px;vertical-align:1px}

/* ---------- sistemas ---------- */
.sgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.scard{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:18px 19px;transition:border-color .14s,transform .14s;display:flex;gap:15px;align-items:flex-start}
.scard:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.sicon{width:46px;height:46px;flex:none;border-radius:11px;display:grid;place-items:center;font-size:23px;
  background:radial-gradient(40px 40px at 50% 45%, color-mix(in srgb, var(--cc,#d7a441) 22%, transparent), transparent 70%),var(--ground-2);border:1px solid var(--line)}
.scard .sn{font-size:15.5px;font-weight:650;line-height:1.2}
.scard .sl{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.4}
.scard .scat{display:inline-block;margin-top:9px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--cc,var(--gold))}
.shero{display:grid;grid-template-columns:120px 1fr;gap:26px;align-items:center;padding:26px;border:1px solid var(--line);border-radius:16px;
  background:linear-gradient(158deg,var(--panel),var(--ground-2) 80%);position:relative;overflow:hidden}
.shero .sbadge{width:120px;height:120px;border-radius:20px;display:grid;place-items:center;font-size:58px;
  background:radial-gradient(70px 70px at 50% 45%, color-mix(in srgb, var(--cc,#d7a441) 30%, transparent), transparent 70%),#0d0b07;border:1px solid var(--line-soft)}
@media(max-width:560px){.shero{grid-template-columns:1fr}.shero .sbadge{width:90px;height:90px;font-size:44px}}
.access{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;background:var(--ground-2);padding:15px 17px;margin:6px 0}
.access .al{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.access p{margin:0;color:var(--ink);font-size:14px}
.tips{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:9px}
.tips li{display:flex;gap:11px;align-items:baseline;font-size:13.5px;color:var(--ink-2)}
.tips li::before{content:"→";color:var(--ember);font-weight:700;flex:none}
.fxcallout{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px;margin:6px 0}
.fxcallout .fxbox{width:70px;height:70px;flex:none;border-radius:11px;display:grid;place-items:center;background:radial-gradient(45px 45px at 50% 55%,rgba(226,81,63,.18),transparent 70%),#0d0b07;border:1px solid var(--line-soft)}
.fxcallout .fxbox img{max-height:56px;image-rendering:pixelated}
.fxcallout .ft{font-size:13.5px;font-weight:600} .fxcallout .fd{font-size:12.5px;color:var(--muted);margin-top:2px}

/* ---------- outfits & montarias ---------- */
.capcard{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:18px 20px;margin:6px 0 4px}
.capcard h3{margin:0 0 10px;font-family:var(--serif);font-size:18px;font-weight:600}
.capgrid{display:flex;flex-wrap:wrap;gap:10px}
.capstat{border:1px solid var(--line);border-radius:9px;background:var(--ground-2);padding:8px 13px;font-size:13px}
.capstat b{font-family:var(--mono);color:var(--gold);font-variant-numeric:tabular-nums}
.ogrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.ocard{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;display:flex;flex-direction:column}
.othumb{position:relative;height:100px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);
  background:radial-gradient(60px 60px at 50% 50%,rgba(215,164,65,.10),transparent 70%),#0d0b07}
.othumb img{max-height:74px;image-rendering:pixelated;filter:drop-shadow(0 3px 7px rgba(0,0,0,.55))}
.othumb .okind{position:absolute;top:6px;left:6px;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;color:var(--ink-2);background:rgba(20,17,12,.8);border:1px solid var(--line)}
.othumb .okind.mount{color:var(--gold);border-color:var(--gold-dim)}
.ocap{padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px}
.ocap .on{font-size:13.5px;font-weight:650;line-height:1.2}
.obonus{display:flex;flex-wrap:wrap;gap:5px}
.obonus .obc{font-family:var(--mono);font-size:10.5px;border-radius:5px;padding:2px 6px;border:1px solid var(--line);color:var(--ink-2);background:var(--ground-2)}
.obonus .obc.xp{color:var(--gold);border-color:var(--gold-dim)}
.obonus .obc.crit{color:var(--rage);border-color:rgba(226,81,63,.35)}
.obonus .obc.def{color:var(--sev-low,#6f93b8);border-color:rgba(111,147,184,.35)}
.osrc{font-size:11px;color:var(--muted)}

/* ---------- hunts ---------- */
.hgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.hcard{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;transition:border-color .14s,transform .14s;display:flex;flex-direction:column}
.hcard:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.hchead{display:flex;gap:13px;align-items:center;padding:14px 15px 10px}
.hmon{width:58px;height:58px;flex:none;border-radius:11px;display:grid;place-items:center;background:radial-gradient(40px 40px at 50% 50%,rgba(226,81,63,.12),transparent 70%),#0d0b07;border:1px solid var(--line-soft)}
.hmon img{max-height:50px;max-width:52px;image-rendering:pixelated;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5))}
.hcname{font-size:15px;font-weight:650;line-height:1.15}
.horder{font-family:var(--mono);font-size:10.5px;color:var(--gold);margin-top:3px}
.hcstats{display:flex;border-top:1px solid var(--line-soft)}
.hcstat{flex:1;padding:11px 14px;text-align:center}
.hcstat+.hcstat{border-left:1px solid var(--line-soft)}
.hcstat .hv{font-family:var(--serif);font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
.hcstat.xp .hv{color:var(--gold)} .hcstat.loot .hv{color:var(--ok)}
.hcstat .hl{font-size:10.5px;color:var(--muted);margin-top:2px}
.difbar{height:3px;background:linear-gradient(90deg,var(--ok),var(--gold) 55%,var(--rage));border-radius:0}
table.wtab{width:100%;border-collapse:collapse;font-size:13px;min-width:420px}
table.wtab thead th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:8px 12px;border-bottom:1px solid var(--line)}
table.wtab td{padding:9px 12px;border-bottom:1px solid var(--line-soft)}
table.wtab td.num,table.wtab th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--ink-2)}
table.wtab tbody tr:hover{background:var(--ground-2)}
.tabwrap{overflow-x:auto;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.hstatrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0}
.hstatrow .bstat{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px}
.hstatrow .bstat .v{font-family:var(--serif);font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gold)}
.hstatrow .bstat .l{font-size:12px;color:var(--muted);margin-top:3px}
@media(max-width:560px){.hstatrow{grid-template-columns:repeat(2,1fr)}}

/* ---------- boss page (compartilhado com The Crusher) ---------- */
.bwrap{max-width:1040px;margin:0 auto;padding:0 22px 80px}
.bhero{display:grid;grid-template-columns:230px 1fr;gap:32px;align-items:center;margin-top:24px;
  border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden;
  background:linear-gradient(158deg,var(--panel),var(--ground-2) 82%)}
.bhero::after{content:"";position:absolute;right:-90px;top:-120px;width:400px;height:400px;pointer-events:none;background:radial-gradient(circle,rgba(226,81,63,.16),transparent 62%)}
.bstage{height:230px;display:flex;align-items:center;justify-content:center;border-radius:14px;position:relative;
  background:radial-gradient(130px 130px at 50% 62%,rgba(226,81,63,.28),transparent 70%),repeating-linear-gradient(0deg,#0d0b07,#0d0b07 2px,#100d09 2px,#100d09 4px),#0c0a06;
  box-shadow:inset 0 0 0 1px var(--line-soft),inset 0 -30px 50px rgba(0,0,0,.55)}
.bstage img{height:186px;image-rendering:pixelated;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6))}
.bhero .kind{font-family:var(--mono);font-size:11px;letter-spacing:.19em;text-transform:uppercase;color:var(--rage);font-weight:600;margin:0 0 12px}
.bhero h1{font-family:var(--serif);font-weight:600;font-size:clamp(38px,6vw,60px);line-height:1;margin:0;letter-spacing:-.02em}
.bhero .lede{color:var(--ink-2);font-size:16.5px;margin:14px 0 0;max-width:52ch}
.bstats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.bstat{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px 16px}
.bstat .v{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums}
.bstat .l{font-size:12px;color:var(--muted);margin-top:3px}
.bstat.weak .v{color:var(--ok)} .bstat.weak{box-shadow:inset 3px 0 0 var(--ok)}
.bsec{margin-top:52px}
.bsec h2{font-family:var(--serif);font-size:26px;font-weight:600;margin:0 0 6px;display:flex;gap:12px;align-items:baseline}
.bsec h2 .k{font-family:var(--mono);font-size:12px;color:var(--rage);font-weight:600}
.bsec .lead{color:var(--muted);font-size:14.5px;margin:0 0 22px;max-width:70ch}
.spells{display:grid;gap:16px}
.spell{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:20px 22px;position:relative;box-shadow:inset 3px 0 0 var(--rage)}
.spell-head{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.spell .shout{font-family:var(--mono);font-size:12px;color:var(--rage);letter-spacing:.04em;font-weight:700}
.spell h3{font-family:var(--serif);font-size:21px;font-weight:600;margin:0}
.spell-fx{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.sfx{display:flex;flex-direction:column;align-items:center;gap:6px;width:76px}
.sfxthumb{width:76px;height:76px;border-radius:11px;display:grid;place-items:center;background:radial-gradient(50px 50px at 50% 52%,rgba(226,81,63,.14),transparent 70%),#0d0b07;border:1px solid var(--line-soft)}
.sfxthumb img{max-height:58px;max-width:64px;image-rendering:pixelated}
.sfx span{font-size:10.5px;color:var(--muted);font-family:var(--mono);text-align:center;line-height:1.2}
.spell .what{color:var(--ink);font-size:14.5px;margin:0 0 8px;max-width:none}
.spell .dmg{color:var(--ink-2);font-size:13.5px;margin:0 0 12px;max-width:none}
.spell .what b,.spell .dmg b{color:var(--ember)}
.spell .tip{display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--ink-2);border-top:1px solid var(--line-soft);padding-top:12px}
.spell .tip span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-dim);border-radius:4px;padding:2px 7px;flex:none}
.strat{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.scard .si{font-size:20px;flex:none} .scard h4{margin:0 0 3px;font-size:14.5px} .scard p{margin:0;font-size:13px;color:var(--muted)}
.lootgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.loot{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);padding:11px 14px}
.lthumb{width:40px;height:40px;flex:none;border-radius:8px;display:grid;place-items:center;background:#0d0b07;border:1px solid var(--line-soft)}
.lthumb img{max-height:32px;max-width:32px;image-rendering:pixelated}
.loot .ln{font-size:13.5px;font-weight:600} .loot .ld{font-size:11.5px;color:var(--muted)}
.loot .lr{margin-left:auto;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;border-radius:5px;padding:2px 7px}
.r-raro{color:var(--rage);border:1px solid rgba(226,81,63,.4)} .r-incomum{color:var(--gold);border:1px solid var(--gold-dim)} .r-comum{color:var(--muted);border:1px solid var(--line)}
@media(max-width:640px){.bhero{grid-template-columns:1fr}.bstats{grid-template-columns:repeat(2,1fr)}.strat,.lootgrid{grid-template-columns:1fr}}
/* boss catalog */
.bcatgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.bcat{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;transition:border-color .15s,transform .15s;display:flex;flex-direction:column}
.bcat:hover{border-color:var(--rage);transform:translateY(-3px)}
.bcat .bcimg{height:150px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line-soft);
  background:radial-gradient(90px 90px at 50% 55%,rgba(226,81,63,.16),transparent 70%),#0d0b07}
.bcat .bcimg img{max-height:120px;image-rendering:pixelated;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}
.bcat .bcbody{padding:15px 17px}
.bcat .bck{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--rage);margin:0 0 6px}
.bcat .bcn{font-family:var(--serif);font-size:21px;font-weight:600;margin:0 0 6px}
.bcat .bcl{font-size:13px;color:var(--muted);margin:0}

/* ---------- home ---------- */
.homewrap{max-width:1100px;margin:0 auto;padding:8px 22px 40px}
.hhero{padding:56px 0 30px}
.hhero .eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin:0 0 16px;font-weight:600}
.hhero h1{font-family:var(--serif);font-weight:600;font-size:clamp(36px,6vw,64px);line-height:1.02;margin:0;letter-spacing:-.02em}
.hhero h1 .cap{color:var(--ember)}
.hhero .lede{color:var(--ink-2);max-width:64ch;margin:18px 0 0;font-size:17px}
.feature{display:grid;grid-template-columns:220px 1fr;gap:26px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:22px;background:linear-gradient(158deg,var(--panel),var(--ground-2) 80%);transition:border-color .15s,transform .15s}
.feature:hover{border-color:var(--rage);transform:translateY(-2px)}
.feature .stage{min-height:170px} .feature .stage img{height:130px}
.feature .eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--rage);margin:0 0 8px;font-weight:600}
.feature h3{font-family:var(--serif);font-size:30px;font-weight:600;margin:0 0 8px} .feature p{color:var(--ink-2);margin:0;max-width:52ch}
@media(max-width:560px){.feature{grid-template-columns:1fr}}
.hsec{font-family:var(--serif);font-size:20px;font-weight:600;margin:44px 0 16px;color:var(--ink-2)}
.htiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.htile{border:1px solid var(--line);border-radius:13px;padding:20px;background:var(--panel);transition:border-color .15s,transform .15s;position:relative}
.htile:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.htile.off{opacity:.62} .htile.off:hover{transform:none;border-color:var(--line)}
.ht-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ht-n{font-family:var(--serif);font-size:32px;font-weight:600;color:var(--gold);font-variant-numeric:tabular-nums}
.soon{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:5px;padding:2px 7px}
.ht-name{font-size:17px;font-weight:650} .ht-sub{font-size:13px;color:var(--muted);margin-top:4px}
@media(max-width:820px){.htiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.htiles{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
