:root{--bg:#14110d;--panel:#1e1913;--panel2:#2a231a;--fg:#ece4d4;--muted:#c2b59b;--gold:#e0b04a;--gold2:#f3cf7a;--line:#4a3d2a;--link:#f0c565}
*{box-sizing:border-box}
body{margin:0;font:1rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:64rem;margin:0 auto;padding:0 1rem}
a{color:var(--link)}a:hover{color:var(--gold2)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #fff;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:#000;padding:.5rem 1rem;z-index:10}.skip:focus{left:0}
.site-header{background:linear-gradient(#231c13,#17130e);border-bottom:2px solid var(--gold)}
.bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem}
.brand{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.25rem;color:var(--gold2);text-decoration:none;letter-spacing:.02em}
.lang a{margin-left:.5rem;font-weight:600}.lang a[aria-current]{color:var(--fg);text-decoration:none}
.menu-btn{margin-left:auto;background:var(--panel2);color:var(--fg);border:1px solid var(--gold);border-radius:.3rem;padding:.35rem .8rem;font:inherit;cursor:pointer}
.main-nav ul{list-style:none;margin:0;padding:.3rem 0 .6rem;display:flex;flex-wrap:wrap;gap:.2rem 1rem}
.main-nav a{text-decoration:none;font-weight:500}.main-nav a[aria-current]{color:var(--fg);border-bottom:2px solid var(--gold)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--gold2);line-height:1.25}
h1{margin-top:1.5rem;font-size:2rem}h2{border-bottom:1px solid var(--line);padding-bottom:.25rem;margin-top:2rem}
.lead{font-size:1.1rem;color:var(--muted)}
.badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:.05rem .45rem;border-radius:.25rem;vertical-align:.1em;border:1px solid transparent}
.b-V{background:#1f5130;color:#e9ffe9}.b-A{background:#16426b;color:#e8f3ff}.b-C{background:#6b4a10;color:#fff3dc}.b-O{background:#555;color:#fff}.b-K{background:#5a2a5c;color:#ffeefe}.b-E{background:transparent;color:var(--gold2);border-color:var(--gold)}
.facts{padding-left:1.1rem}.facts li{margin:.5rem 0}.ref{font-size:.82em;color:var(--muted)}q{font-style:italic}
.legend{background:var(--panel);border:1px solid var(--line);border-radius:.4rem;padding:.4rem .8rem;margin:.5rem 0 1rem}.legend summary{cursor:pointer;color:var(--muted)}
.legend ul{list-style:none;padding:0}.legend li{margin:.3rem 0}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem}
.cards a{display:block;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:.35rem;padding:.7rem .9rem;text-decoration:none;font-weight:600}
.cards a:hover{background:var(--panel2)}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:.4rem;padding:.3rem 1rem}.toc ol{display:flex;flex-wrap:wrap;gap:.2rem 1.6rem;padding-left:0;list-style-position:inside}
.editorial{background:var(--panel);border-left:3px solid var(--gold);padding:.5rem .8rem}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}caption{text-align:left;color:var(--muted);padding:.3rem 0}
th,td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left;vertical-align:top}thead th{background:var(--panel2)}tbody th{background:var(--panel)}
.sources li{margin:.7rem 0;font-size:.92em}.sources cite{font-weight:600;font-style:normal;color:var(--fg)}
.site-footer{border-top:1px solid var(--line);margin-top:3rem;padding:1rem 0;color:var(--muted);font-size:.9rem}
form label{margin-right:.6rem;display:inline-block}input[type=search],select{font:inherit;padding:.35rem;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:.25rem}
input[type=search]{width:min(100%,22rem)}button{font:inherit;padding:.35rem .9rem;background:var(--gold);color:#1a1208;border:0;border-radius:.25rem;font-weight:700;cursor:pointer}
.filters{margin:.8rem 0}.res li{margin:.6rem 0}
.chooser ul{list-style:none;padding:0;font-size:1.25rem}.chooser li{margin:.5rem 0}
@media (max-width:44rem){h1{font-size:1.6rem}.js .main-nav{display:none}.js .main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.main-nav li a{display:block;padding:.45rem 0;border-bottom:1px solid var(--line)}}
@media (min-width:44.01rem){.menu-btn{display:none}}
.b-N{background:#3d3d4d;color:#f0f0ff}
.intro{font-size:1.08rem;color:var(--muted);border-left:3px solid var(--gold);padding:.2rem 0 .2rem .8rem;margin:.4rem 0 1rem}
.hero{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;color:var(--fg);margin:.2rem 0 1rem}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.8rem}
.path{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:.4rem;padding:.4rem 1rem}.path h3{margin:.4rem 0}.path p{margin:.2rem 0;color:var(--muted)}
.launchbox{background:var(--panel2);border:1px solid var(--gold);border-radius:.4rem;padding:0 1rem .4rem;margin-top:1.5rem}.launchbox h2{border:0}
.toc-t{margin:.3rem 0;font-weight:700;color:var(--gold2)}
.steps li{margin:.6rem 0}.related{margin-top:2.5rem}
/* ---- fantasy identity v2 ---- */
:root{--bg:#100d0a;--panel:#1c1712;--panel2:#262017;--fg:#efe6d2;--muted:#cbbd9f;--gold:#e0b04a;--gold2:#f5d58a;--line:#4d3f2b;--link:#f2c86a;--blue:#1d2f52;--blue2:#2f4a7a;--parch:#efe1bd}
body{background:radial-gradient(ellipse at top,#1a2236 0,#100d0a 38rem) fixed,#100d0a}
h1,h2,h3,.brand,.hero,.qf-t{font-family:"Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif}
h2{color:var(--gold2);border:0;padding-bottom:.4rem;background-image:linear-gradient(90deg,#e0b04a,#e0b04a00);background-position:bottom;background-size:100% 1px;background-repeat:no-repeat}
h2::before{content:"◆ ";color:var(--gold);font-size:.7em;vertical-align:.15em}
.site-header{background:linear-gradient(#1d2a45,#121a2c);border-bottom:0;box-shadow:0 2px 0 var(--gold),0 5px 0 #0008}
.page-hero{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;align-items:center;margin:1.4rem 0 1rem;padding:1.1rem 1.2rem;
 background:linear-gradient(135deg,#1d2a45 0,#1c1712 70%);border:1px solid var(--gold);border-radius:.6rem;box-shadow:inset 0 0 0 4px #100d0a,inset 0 0 0 5px #e0b04a66}
.page-hero h1{margin:0;color:var(--gold2);text-shadow:0 2px 0 #000}
.emblem{filter:drop-shadow(0 3px 6px #000a)}
.qf{grid-column:1/-1;background:#efe1bd;color:#2a2013;border-radius:.4rem;padding:.4rem .9rem;border:1px solid #b08a3c}
.qf-t{margin:0;font-weight:700;color:#5a3d0c}.qf dl{display:flex;flex-wrap:wrap;gap:.1rem 1.2rem;margin:.2rem 0}.qf dt{font-weight:600}.qf dt::after{content:" :"}.qf dd{margin:0 0 0 .3rem;font-weight:700}.qf dt+dd{margin-right:.6rem}
li.fact{list-style:none;margin:.45rem 0;padding:.45rem .7rem;background:var(--panel);border-left:4px solid var(--line);border-radius:0 .35rem .35rem 0}
ul.facts{padding-left:0}
li.f-V{border-left-color:#4caf6a}li.f-A{border-left-color:#5b8de0}li.f-C{border-left-color:#d09a2c}
li.f-N{border-left-color:#8c8ca8}li.f-O{border-left-color:#c0574a}li.f-K{border-left-color:#b072d0;background:#201a26}
.cards li,.path{background:linear-gradient(160deg,#1d2a45,#1c1712 60%);border:1px solid #e0b04a88;border-radius:.5rem;box-shadow:0 2px 8px #0006;transition:transform .15s}
.cards li:hover,.path:hover{transform:translateY(-2px);border-color:var(--gold)}
.intro{background:#efe1bd0d;border-left-color:var(--gold);border-radius:0 .4rem .4rem 0;padding:.5rem .9rem}
.site-footer{border-top:0;box-shadow:0 -2px 0 var(--gold);background:#121a2c}
.emblems{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0}.emblems li{padding:.3rem}
@media (max-width:44rem){.page-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.emblem{width:72px;height:72px}
 .js .main-nav.open{background:#121a2c;border-top:1px solid var(--gold)}.main-nav li a{padding:.7rem .4rem;font-size:1.05rem}}
.matrix{font-size:.82rem}.matrix td{text-align:center;vertical-align:middle;padding:.3rem}.matrix .badge{font-size:.62rem;white-space:normal}
.matrix td.m-V{background:#1d3a26}.matrix td.m-N{background:#1a1a22}.matrix th{white-space:nowrap}
.matrix td.m-X{background:#2a1c1c;color:#e3c9c0}
