:root{color-scheme:dark;--bg:#090e18;--panel:#111927;--line:#29354a;--ink:#e8e9ee;--muted:#aeb8c9;--gold:#f1ce84;--blue:#91cfff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}
*{box-sizing:border-box}html{scroll-padding-top:1rem}body{margin:0;background:radial-gradient(ellipse at 75% 0,#17233b 0,transparent 45rem),var(--bg);color:var(--ink)}a{color:var(--blue);text-underline-offset:.2em}a:hover{color:#fff}button,input,select{font:inherit}a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.skip{position:absolute;left:1rem;top:-5rem;padding:.6rem;background:#fff;color:#000;z-index:4}.skip:focus{top:1rem}.topbar{max-width:88rem;margin:auto;padding:1.4rem 2rem;display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-weight:700;letter-spacing:.15em;color:var(--gold);text-decoration:none}.topbar nav{display:flex;gap:1.2rem;flex-wrap:wrap;margin-left:auto;font-size:.9rem}.layout{max-width:88rem;margin:auto;padding:3rem 2rem 5rem;display:grid;grid-template-columns:15rem minmax(0,1fr);gap:3rem}.contents{position:sticky;top:1.2rem;align-self:start;max-height:calc(100vh - 2.4rem);overflow:auto;padding-right:1rem}.contents h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .8rem}.contents a{display:block;padding:.35rem 0;text-decoration:none;font-size:.88rem}.contents .section-link{color:var(--gold);font-weight:600;margin-top:.75rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--gold);margin:0 0 .6rem}h1,h2,h3{line-height:1.2;text-wrap:balance}h1{font:clamp(2.4rem,4.6vw,4.1rem)/1.05 Georgia,serif;max-width:17ch;letter-spacing:-.025em;margin:.4rem 0 1.3rem}h2{font-size:1.5rem;margin:0 0 1rem}h3{font-size:1.03rem;margin:0}.intro{max-width:65ch;font-size:1.06rem;color:var(--muted)}.baseline{font-size:.9rem;border-left:2px solid var(--gold);padding:.5rem 0 .5rem 1rem;color:var(--muted);max-width:67ch}.shared{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:2rem}.shared-rule{margin:1.5rem 0;max-width:72ch}.origin{font-size:.7rem;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;margin:.3rem 0}.shared-rule p:last-child{margin:.3rem 0 0}.object-section{padding-top:3rem}.object-tools{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:.8rem;margin:1.1rem 0}.object-tools label{display:block;color:var(--muted);font-size:.8rem;margin-bottom:.35rem}input,select{width:100%;color:var(--ink);background:#0d1420;border:1px solid var(--line);border-radius:.35rem;padding:.7rem .8rem}input::placeholder{color:#8492a9}.results{color:var(--muted);font-size:.84rem;margin:.6rem 0 1.8rem}.object-card{background:linear-gradient(150deg,#142035,var(--panel) 20%);border:1px solid var(--line);border-radius:.6rem;padding:1.8rem;margin:0 0 1.8rem;scroll-margin-top:1.2rem}.object-card:target{border-color:var(--gold)}.object-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.25rem}.object-card h2{font:1.9rem/1.15 Georgia,serif;color:var(--gold);margin:.2rem 0}.object-card .kind{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.card-links{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;margin-top:.6rem}.hp{white-space:nowrap;border:1px solid #635337;border-radius:2rem;padding:.3rem .8rem;color:var(--gold);font-size:.8rem}.object-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;margin:0 0 1.5rem}.object-fields div,.ability-fields div{min-width:0}.object-fields dt,.ability-fields dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.object-fields dd,.ability-fields dd{margin:.15rem 0 0;font-size:.91rem;overflow-wrap:anywhere}.object-ability{border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.2rem}.object-ability h3{color:#fff;font-size:1.12rem}.ability-fields{display:grid;grid-template-columns:minmax(6rem,.2fr) minmax(0,1fr);gap:.5rem 1rem;margin:1rem 0 0}.ability-fields div{display:contents}.ability-fields dt{padding-top:.15rem}.ability-fields dd{margin:0}.object-rulings{border-left:2px solid var(--gold);padding:.7rem .7rem .7rem 1.8rem;margin:1.5rem 0 0;font-size:.88rem;color:var(--muted)}.object-rulings li+li{margin-top:.5rem}.empty{padding:2rem;border:1px dashed var(--line);color:var(--muted)}footer{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:3rem;color:var(--muted);font-size:.85rem}[hidden]{display:none!important}
@media(max-width:1000px){.layout{grid-template-columns:12rem minmax(0,1fr);gap:1.5rem;padding:2rem 1.25rem}.object-card{padding:1.3rem}.object-fields{grid-template-columns:1fr}}@media(max-width:720px){.layout{display:block;padding:1.5rem 1rem 3rem}.contents{position:static;max-height:none;overflow:visible;margin-bottom:2rem;padding:0}.contents .object-toc{display:none}.contents h2{display:none}.contents .section-link{display:inline-block;margin:.2rem 1rem .2rem 0}.topbar{padding:1rem;gap:.6rem}.topbar nav{width:100%;margin:0;gap:1rem;font-size:.8rem}h1{font-size:2.55rem}.object-card{padding:1.1rem}.object-tools{grid-template-columns:1fr}.ability-fields{grid-template-columns:1fr;gap:.15rem}.ability-fields dd{margin-bottom:.45rem}.object-card h2{font-size:1.65rem}.hp{font-size:.72rem}.shared-rule{margin:1.3rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{:root{color-scheme:light;--ink:#111;--muted:#444;--gold:#54370a;--line:#bbb;--blue:#003d65}body{background:white}.topbar,.contents,.object-tools,.results,.card-links{display:none}.layout{display:block;padding:0}.object-card{background:white;break-inside:avoid;border:1px solid #aaa}.object-card h2,.object-ability h3{color:#111}.object-card[hidden]{display:block!important}.shared-rule{break-inside:avoid}}
