/* ---------- wiki page (loaded after style.css) ---------- */
.wiki{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;width:min(1180px,100% - 40px);margin:0 auto;padding:100px 0 70px}
.wiki__side{position:sticky;top:78px;align-self:start;max-height:calc(100vh - 96px);overflow:auto;padding-right:6px}
.wiki__tocbtn{display:none}
.wiki__tochead{font-family:var(--serif);font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--crimson-hi);margin:20px 0 6px}
.wiki__tochead:first-child{margin-top:0}
.wiki .wiki__toc a:not(.btn){display:block;padding:5px 0 5px 14px;border-left:2px solid var(--line);text-decoration:none;font-size:1.08rem;color:var(--dim);transition:color .2s,border-color .2s}
.wiki .wiki__toc a:not(.btn):hover{color:var(--bone)}
.wiki .wiki__toc a.on:not(.btn){color:var(--bone);border-left-color:var(--crimson)}

.wiki__main{min-width:0}
.wiki__hero{padding-bottom:30px;border-bottom:1px solid var(--line)}
.wiki__hero h1{font-family:var(--serif);font-weight:900;font-size:clamp(2.2rem,6vw,3.6rem);letter-spacing:.06em;color:var(--bone);text-transform:uppercase;line-height:1.1}
.wiki__note{margin-top:22px;padding:14px 18px;border-left:3px solid var(--gold);background:rgba(184,154,94,.07);font-size:1.08rem;color:#c9bca8}
.wiki__note a,.wiki a:not(.btn){color:var(--crimson-hi);text-decoration:none}
.wiki__note a:hover,.wiki a:not(.btn):hover{text-decoration:underline}

.wiki__small{font-size:1rem;color:var(--dim)}

.wiki__main section{padding:46px 0 6px;scroll-margin-top:78px}
.wiki__main h2{font-size:clamp(1.6rem,3.4vw,2.2rem);text-align:left;letter-spacing:.05em}
.wiki__main h2::after{margin:16px 0 0;background:linear-gradient(90deg,var(--crimson),transparent)}
.wiki__main h3{font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;margin:30px 0 8px;color:var(--bone)}
.wiki__main p{margin:12px 0;font-size:1.18rem}
.wiki__main code{font-family:var(--pixel);font-size:.9em;color:var(--bone);background:#1b1315;padding:1px 7px;border:1px solid var(--line)}
.wiki__main em{color:var(--gold);font-style:italic}
.wiki__main b,.wiki__main strong{color:var(--bone);font-weight:600}

kbd{display:inline-block;min-width:1.7em;padding:0 7px;margin:0 2px;font-family:var(--pixel);font-size:.9rem;line-height:1.6;text-align:center;color:var(--bone);background:#1b1315;border:1px solid #4a2a31;border-bottom-width:3px;border-radius:3px}

.bullets{list-style:none;margin:12px 0}
.bullets li{position:relative;padding-left:26px;margin:9px 0;font-size:1.15rem;color:#c3b7a6}
.bullets li::before{content:"";position:absolute;left:3px;top:.62em;width:8px;height:8px;background:var(--crimson);transform:rotate(45deg)}

.steps{list-style:none;counter-reset:s;margin:16px 0;display:grid;gap:14px}
.steps li{counter-increment:s;position:relative;padding:2px 0 2px 52px;font-size:1.15rem;color:#c3b7a6}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;display:grid;place-items:center;font-family:var(--pixel);font-size:1.2rem;color:var(--bone);background:var(--crimson-dk);border:2px solid var(--crimson)}

.callout{margin:20px 0;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--crimson);background:rgba(21,14,17,.85);font-size:1.12rem}
.callout--warn{border-left-color:var(--gold);background:rgba(184,154,94,.07)}

.tablewrap{overflow-x:auto;margin:16px 0;border:1px solid var(--line);background:rgba(21,14,17,.6)}
.tablewrap table{width:100%;border-collapse:collapse;font-size:1.05rem}
.tablewrap th,.tablewrap td{padding:9px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.tablewrap tbody tr:last-child th,.tablewrap tbody tr:last-child td{border-bottom:0}
.tablewrap thead th{font-family:var(--serif);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson-hi);background:#120c0e;white-space:nowrap}
.tablewrap tbody th{font-family:var(--body);font-weight:600;color:var(--bone)}
.tablewrap tbody tr:hover{background:rgba(200,16,46,.05)}
.keys td:first-child{white-space:nowrap}
.abil td:first-child,.abil td:nth-child(3){white-space:nowrap;color:var(--dim)}
.abil th[scope=row]{white-space:nowrap}

.classes{display:grid;gap:10px;margin:20px 0}
.cls{border:1px solid var(--line);background:rgba(21,14,17,.7);border-left:4px solid rgb(var(--c))}
.cls summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none;flex-wrap:wrap}
.cls summary::-webkit-details-marker{display:none}
.cls summary::after{content:"+";margin-left:auto;font-family:var(--pixel);font-size:1.5rem;color:var(--dim)}
.cls[open] summary::after{content:"\2212"}
.cls__dot{width:14px;height:14px;background:rgb(var(--c));box-shadow:0 0 12px rgba(var(--c),.7);transform:rotate(45deg);flex:none}
.cls__name{font-family:var(--serif);font-weight:700;font-size:1.15rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone)}
.cls__role{color:var(--dim);font-size:1.05rem}
.cls__body{padding:0 18px 16px}
.cls__meta{font-size:1.02rem!important;color:#b9ad9c}
.cls .tablewrap{margin-bottom:0}

.dangers{display:flex;flex-wrap:wrap;gap:8px}
.dangers .d{font-family:var(--serif);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 14px;border:1px solid}
.d0{color:#6fcf84;border-color:#2f7a3d}.d1{color:#b7d36f;border-color:#68782a}.d2{color:#e0b45a;border-color:#7a5d1f}.d3{color:#e8814f;border-color:#8a3f1a}.d4{color:#ff5a6e;border-color:var(--crimson)}

.gloss{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:0 24px;margin:16px 0}
.gloss dt{padding:10px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-weight:700;font-size:.9rem;letter-spacing:.08em;color:var(--bone)}
.gloss dd{padding:9px 0;border-bottom:1px solid var(--line);font-size:1.1rem;color:#c3b7a6}

.faq{border:1px solid var(--line);background:rgba(21,14,17,.7);margin:8px 0}
.faq summary{padding:13px 18px;cursor:pointer;font-family:var(--serif);font-size:.95rem;letter-spacing:.06em;color:var(--bone)}
.faq p{padding:0 18px 12px;margin:0;font-size:1.1rem}

.wiki__cta{display:flex;flex-wrap:wrap;gap:16px;margin:56px 0 0;padding-top:34px;border-top:1px solid var(--line)}

@media(max-width:900px){
  .wiki{grid-template-columns:1fr;gap:0;padding-top:84px}
  .wiki__side{position:sticky;top:56px;z-index:20;max-height:none;overflow:visible;padding:0;background:rgba(10,7,8,.96);margin:0 -20px;padding:0 20px;border-bottom:1px solid var(--line)}
  .wiki__tocbtn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;background:none;border:0;cursor:pointer;font-family:var(--serif);font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--bone)}
  .wiki__tocbtn::after{content:"+";font-family:var(--pixel);font-size:1.3rem;color:var(--crimson-hi)}
  .wiki__tocbtn[aria-expanded=true]::after{content:"\2212"}
  .wiki__toc{display:none;max-height:60vh;overflow:auto;padding-bottom:14px}
  .wiki__toc.open{display:block}
  .wiki__main section{padding-top:36px}
  .gloss{grid-template-columns:1fr}
  .gloss dt{border-bottom:0;padding-bottom:0}
  .gloss dd{padding-top:2px}
}
@media(max-width:600px){.wiki__cta .btn{width:100%}}
.wiki .wiki__toc a:not(.btn):hover{text-decoration:none}
