/* Dreadmark wiki — generated pipeline stylesheet (tools/publish-wiki.py owns /wiki/). */
@font-face{font-family:'Cinzel';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/fonts/cinzel-var-latin.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/assets/fonts/inter-var-latin.woff2') format('woff2')}
:root{
  --ground:#0d0a0b; --ground-2:#120d0e; --panel:#17100f; --panel-2:#1f1513;
  --line:#3a2622; --line-soft:#241715; --snow:#ece3dd; --mist:#9c8a84; --mist-dim:#6e5a55;
  --ice:#e5471f; --ice-dim:#9a3f26; --ember:#e8a94a; --ember-dim:#a6702a;
  --magic:#7aa2ff; --rare:#ffd75e; --unique:#c08a3e; --corrupt:#b03a48;
  --sans:"Inter","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --display:"Cinzel","Georgia",serif;
  --wrap:1180px; --wrap-narrow:800px; --gutter:clamp(1.25rem,5vw,4rem); --nav-h:56px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--snow);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-family:var(--sans);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ember);margin:0}
/* nav (matches site) */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist);background:rgba(9,17,24,.94);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(6px)}
.nav__brand{color:var(--snow);font-weight:600;letter-spacing:.2em;text-decoration:none;display:inline-flex;align-items:center;gap:.6em}
.nav__links{display:flex;align-items:center;gap:clamp(.9rem,3vw,2rem)}
.nav__links a{text-decoration:none;transition:color .15s}
.nav__links a:hover{color:var(--snow)}
.nav__links a.active{color:var(--ice)}
.beacon{width:7px;height:7px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(242,137,76,.7);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,137,76,.55)}70%{box-shadow:0 0 0 9px rgba(242,137,76,0)}100%{box-shadow:0 0 0 0 rgba(242,137,76,0)}}
@media (prefers-reduced-motion:reduce){.beacon{animation:none}}
/* header */
.wk-hero{padding-top:calc(var(--nav-h) + clamp(2.5rem,6vw,4.5rem));padding-bottom:clamp(1.8rem,4vw,3rem);border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--ground-2),var(--ground))}
.wk-hero h1{font-family:var(--display);font-size:clamp(1.8rem,4.6vw,2.9rem);font-weight:700;letter-spacing:.01em;margin:.5rem 0 .6rem;line-height:1.15;text-wrap:balance}
.wk-hero p{color:var(--mist);max-width:70ch;font-size:1.02rem;margin:0}
.wk-banner{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.6em;border:1px dashed var(--line);border-left:3px solid var(--ember);background:var(--panel);padding:.6em 1em;border-radius:2px;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;color:var(--ember);text-transform:uppercase}
/* layout: sticky section nav + body */
.wk-layout{display:grid;gap:clamp(1.6rem,4vw,3.2rem);padding-block:clamp(2.2rem,5vw,3.6rem)}
@media (min-width:980px){.wk-layout{grid-template-columns:210px 1fr;align-items:start}}
.wk-toc{position:sticky;top:calc(var(--nav-h) + 1.2rem);font-family:var(--sans);font-size:.76rem}
.wk-toc .k{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ice-dim);margin:0 0 .5rem}
.wk-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}
.wk-toc a{text-decoration:none;color:var(--mist);display:block;padding:.3rem 0 .3rem .9rem;border-left:2px solid var(--line-soft);letter-spacing:.05em;transition:color .15s,border-color .15s}
.wk-toc a:hover,.wk-toc a.active{color:var(--snow);border-left-color:var(--ice)}
@media (max-width:979px){.wk-toc{display:none}}
.wk-body{min-width:0}
.wk-sec{padding-block:clamp(1.2rem,2.6vw,1.9rem);border-top:1px solid var(--line-soft);scroll-margin-top:calc(var(--nav-h) + 16px)}
.wk-sec:first-child{border-top:0;padding-top:0}
.wk-sec>.k{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ice-dim)}
.wk-sec h2{font-family:var(--display);font-size:clamp(1.25rem,2.7vw,1.7rem);font-weight:700;letter-spacing:.01em;margin:.4rem 0 .8rem;line-height:1.2;text-wrap:balance}
.wk-sec h3{font-size:1.02rem;font-weight:650;margin:1.4rem 0 .5rem;color:var(--snow)}
.wk-body p{color:#d5c7bf;max-width:74ch}
.wk-body strong{color:var(--snow);font-weight:600}
.wk-body em{color:var(--ice);font-style:normal}
.wk-body code{font-family:var(--mono);font-size:.86em;background:var(--panel-2);border:1px solid var(--line-soft);padding:.08em .4em;border-radius:3px;color:var(--ice)}
.wk-body ul{margin:.6rem 0 0;padding-left:1.2rem;color:#d5c7bf}
.wk-body ul li{margin:.3rem 0}
/* index cards */
.wk-cards{display:grid;gap:1px;margin-top:1.6rem;background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:repeat(2,1fr)}
@media (max-width:720px){.wk-cards{grid-template-columns:1fr}}
.wk-card{display:flex;flex-direction:column;gap:.45rem;background:var(--panel);padding:clamp(1.2rem,2.6vw,1.7rem);text-decoration:none;transition:background .18s}
.wk-card:hover{background:var(--panel-2)}
.wk-card h3{font-family:var(--display);font-weight:700;font-size:1.12rem;margin:0;color:var(--snow);letter-spacing:.01em}
.wk-card p{color:var(--mist);margin:0;font-size:.92rem}
.wk-card .n{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ice-dim)}
.wk-card .more{margin-top:auto;padding-top:.5rem;font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ice)}
/* data tables */
.wk-tablewrap{overflow-x:auto;margin:1rem 0 0;border:1px solid var(--line-soft);background:var(--panel)}
table.wk{border-collapse:collapse;width:100%;font-size:.86rem;min-width:640px}
table.wk caption{text-align:left;font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-dim);padding:.7rem .9rem .4rem}
table.wk th{font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);text-align:left;padding:.55rem .9rem;border-bottom:1px solid var(--line);background:var(--ground-2)}
table.wk td{padding:.5rem .9rem;border-bottom:1px solid var(--line-soft);color:#d5c7bf;vertical-align:top}
table.wk tr:last-child td{border-bottom:0}
table.wk tr:hover td{background:rgba(232,169,74,.04)}
table.wk td.num{font-variant-numeric:tabular-nums;font-family:var(--sans);font-size:.8rem;white-space:nowrap}
table.wk td.name{color:var(--snow);font-weight:600;white-space:nowrap}
table.wk .sub{color:var(--mist-dim);font-size:.78rem}
/* tier chips + rarity colors */
.tier{display:inline-block;font-family:var(--sans);font-size:.68rem;padding:.1em .5em;border:1px solid var(--line);border-radius:2px;color:var(--mist);margin-right:.25em;white-space:nowrap}
.tier b{color:var(--snow)}
.kind-prefix{color:var(--ember)}
.kind-suffix{color:var(--magic)}
.r-normal{color:var(--snow)}
.r-magic{color:var(--magic)}
.r-rare{color:var(--rare)}
.r-unique{color:var(--unique)}
.r-corrupt{color:var(--corrupt)}
.slotchips{display:flex;flex-wrap:wrap;gap:.3rem}
.slotchips span{font-family:var(--sans);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-soft);color:var(--mist);padding:.15em .5em;border-radius:2px}
/* callout */
.wk-callout{border:1px solid var(--line-soft);border-left:3px solid var(--ember);background:var(--panel);padding:.9rem 1.1rem;margin:1.2rem 0 0;border-radius:2px}
.wk-callout .k{font-family:var(--sans);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember)}
.wk-callout p{margin:.3rem 0 0;font-size:.95rem}
/* footer */
.foot{border-top:1px solid var(--line);padding-block:clamp(2.6rem,5vw,4rem);margin-top:clamp(2rem,5vw,3.5rem)}
.foot__links{display:flex;flex-wrap:wrap;gap:1.2rem 2rem;justify-content:center;align-items:center;font-family:var(--sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.foot__links a{text-decoration:none;transition:color .15s}
.foot__links a:hover{color:var(--ice)}
.foot__links .sig{color:var(--mist-dim)}
.foot__links .sig b{color:var(--snow);font-weight:600}
/* uppercase micro-labels: Inter with weight, not the coder font */
.eyebrow,.nav,.wk-banner,.wk-toc,.wk-sec>.k,.wk-card .n,.wk-card .more,table.wk caption,table.wk th,.tier,.slotchips span,.wk-callout .k,.foot__links,.wk-unique__base{font-weight:550}
/* table toolbar: live filter + row count (wiki.js) */
.wk-toolbar{display:flex;align-items:center;gap:.8rem;margin:1.1rem 0 0}
.wk-toolbar input[type=search]{flex:0 1 320px;background:var(--panel);border:1px solid var(--line);border-radius:2px;color:var(--snow);font-family:var(--sans);font-size:.88rem;padding:.5em .8em;outline:none}
.wk-toolbar input[type=search]:focus{border-color:var(--ember-dim)}
.wk-toolbar input[type=search]::placeholder{color:var(--mist-dim)}
.wk-count{font-family:var(--sans);font-weight:550;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mist-dim)}
/* sortable headers (wiki.js) */
table.wk th.sortable{cursor:pointer;user-select:none;white-space:nowrap}
table.wk th.sortable:hover{color:var(--snow)}
table.wk th.sort-asc::after{content:" \25B4";color:var(--ember)}
table.wk th.sort-desc::after{content:" \25BE";color:var(--ember)}
/* per-column filter inputs (wiki.js injects the row) */
.wk-colfilters td{padding:.25rem .5rem;background:var(--ground-2);border-bottom:1px solid var(--line)}
.wk-colfilters input{width:100%;min-width:3.5em;background:var(--panel);border:1px solid var(--line-soft);border-radius:2px;color:var(--snow);font-family:var(--sans);font-size:.76rem;padding:.28em .5em;outline:none}
.wk-colfilters input:focus{border-color:var(--ember-dim)}
.wk-colfilters input::placeholder{color:var(--mist-dim)}
/* sortable affordance: neutral arrows always visible, active arrow colored */
table.wk th.sortable::after{content:" \2195";color:var(--mist-dim)}
table.wk th.sort-asc::after{content:" \25B4";color:var(--ember)}
table.wk th.sort-desc::after{content:" \25BE";color:var(--ember)}
/* site-wide search (hero) */
.wk-search{position:relative;margin-top:1.2rem;max-width:560px}
.wk-search input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:2px;color:var(--snow);font-family:var(--sans);font-size:.95rem;padding:.65em 1em;outline:none}
.wk-search input:focus{border-color:var(--ember-dim)}
.wk-search input::placeholder{color:var(--mist-dim)}
.wk-search__results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:2px;box-shadow:0 14px 40px rgba(0,0,0,.55);max-height:min(60vh,420px);overflow-y:auto}
.wk-search__item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem .9rem;text-decoration:none;border-bottom:1px solid var(--line-soft)}
.wk-search__item:last-child{border-bottom:0}
.wk-search__item:hover{background:var(--panel-2)}
.wk-search__item b{color:var(--snow);font-weight:600;font-size:.92rem}
.wk-search__item span{color:var(--mist-dim);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:550;white-space:nowrap}
.wk-search__empty{padding:.7rem .9rem;color:var(--mist-dim);font-size:.88rem}
/* deep-link landing highlight */
tr[id],article[id]{scroll-margin-top:calc(var(--nav-h) + 90px)}
tr.wk-hit td,article.wk-hit{background:rgba(232,169,74,.14)!important;transition:background 1.2s ease}
tr:target td,article:target{background:rgba(232,169,74,.10)}
/* themed scrollbars — every scrollbar on the site matches the panel palette */
html{scrollbar-color:var(--line) var(--ground-2);scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ground-2)}
::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--ground-2)}
::-webkit-scrollbar-thumb:hover{background:var(--ice-dim)}
::-webkit-scrollbar-corner{background:var(--ground-2)}

/* uniques gallery */
.wk-uniques{display:grid;gap:1px;margin-top:1.4rem;background:var(--line-soft);border:1px solid var(--line-soft);grid-template-columns:repeat(2,1fr)}
@media (max-width:760px){.wk-uniques{grid-template-columns:1fr}}
.wk-unique{background:var(--panel);padding:clamp(1.2rem,2.6vw,1.7rem)}
.wk-unique h3{font-family:var(--display);font-weight:700;font-size:1.15rem;margin:0 0 .2rem;letter-spacing:.01em}
.wk-unique__base{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-dim);margin:0 0 .7rem}
.wk-unique__mods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}
.wk-unique__mods li{color:var(--magic);font-size:.92rem}
.wk-unique__mods li.special{color:var(--unique)}
.wk-unique__mods li.special::before{content:"\25c6  ";font-size:.7em;vertical-align:middle}
.wk-unique__flavor{color:var(--mist-dim);font-style:italic;font-size:.88rem;margin:.8rem 0 0;max-width:44ch}
