:root{--bg:oklch(0.155 0.004 160);--fg:oklch(0.92 0.02 80);--card:oklch(0.185 0.01 50);
--muted:oklch(0.7 0.025 75);--gold:oklch(0.85 0.09 80);--line:oklch(0.85 0.09 80 / 35%);--soft:oklch(0.85 0.09 80 / 12%)}
*{box-sizing:border-box}
html{background:#0b0d0c;background:var(--bg)}
body{margin:0;color:#ece6da;color:var(--fg);font:16px/1.6 Lato,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--gold)}
h1,h2,h3{font-family:Cinzel,Georgia,serif;letter-spacing:.05em;color:var(--gold);line-height:1.25}
h1{font-size:1.8rem;margin:.6rem 0 1rem}
h2{font-size:1.25rem;margin:2.2rem 0 .8rem}
h3{font-size:1rem;margin:1.4rem 0 .5rem;color:var(--fg)}
header.site{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.4rem;padding:.9rem 1rem;
border-bottom:1px solid var(--line);background:#000}
header.site .brand{font-family:Cinzel,Georgia,serif;font-size:1.3rem;font-weight:700;text-decoration:none}
header.site nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;flex:1}
header.site a{text-decoration:none}
header.site nav a,header.site .lang a{color:var(--fg);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
header.site .lang a{margin-left:.7rem}
header.site nav a[aria-current],header.site nav a:hover,header.site .lang a:hover{color:var(--gold)}
.find{max-width:60rem;margin:0 auto;padding:.8rem 1rem 0;position:relative}
.find input{width:100%;padding:.55rem .8rem;font:inherit;color:var(--fg);background:var(--card);
border:1px solid var(--line);border-radius:4px}
.find ul{position:absolute;z-index:5;left:1rem;right:1rem;margin:.2rem 0 0;padding:.3rem 0;list-style:none;
background:#111;border:1px solid var(--line);border-radius:4px;max-height:60vh;overflow:auto}
.find li{padding:.3rem .8rem;display:flex;justify-content:space-between;gap:1rem}
.find li span{color:var(--muted);font-size:.8rem;white-space:nowrap}
main{max-width:60rem;margin:0 auto;padding:1rem 1rem 3rem}
.crumbs{font-size:.85rem;color:var(--muted)}
.crumbs a{color:var(--muted)}
.scroll{overflow-x:auto;margin:0 0 1rem}
table{width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card)}
th,td{border:1px solid var(--line);padding:.35rem .6rem;text-align:left;vertical-align:middle}
th{color:var(--gold);white-space:nowrap}
tr:target td{background:var(--soft)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1.2rem;margin:1rem 0;padding:1rem;
background:var(--card);border:1px solid var(--line);border-radius:4px}
.facts dt{color:var(--muted)}
.facts dd{margin:0}
img{max-width:100%;height:auto}
img.ico{width:auto;height:1.6em;vertical-align:middle;margin-right:.4em}
img.icon{float:right;margin:0 0 1rem 1rem;width:auto;max-height:128px}
img.pic{float:right;margin:0 0 1rem 1rem;max-width:42%;border:1px solid var(--line);border-radius:4px}
.mapbox{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:0 0 .6rem}
.mapbox img{display:block;width:100%}
.mk{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;border:1px solid #000;
background:#e5484d}
.mk.npc{background:#58c4dc}.mk.portal{background:#fff}.mk.boss{background:#ff9f1c;width:12px;height:12px;
margin:-6px 0 0 -6px}.mk.stone{background:#b388ff}
.legend{font-size:.85rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;margin:0 0 1rem}
.legend .mk{position:static;display:inline-block;margin:0 .35rem 0 0;vertical-align:middle}
.cards{list-style:none;padding:0;display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.cards a{display:block;padding:1rem;text-decoration:none;background:var(--card);border:1px solid var(--line);
border-radius:4px;height:100%}
.cards strong{display:block;font-family:Cinzel,Georgia,serif;letter-spacing:.05em}
.cards span{color:var(--fg);font-size:.9rem}
.cols{columns:16rem;column-gap:2rem;padding-left:1.1rem}
.ours{display:block;margin:1rem 0;padding:.8rem 1rem;background:var(--soft);border-left:3px solid var(--gold);
border-radius:0 4px 4px 0}
.ours strong{color:var(--gold);margin-right:.4rem}
blockquote{margin:1rem 0;padding:.2rem 1rem;border-left:2px solid var(--line);color:var(--muted);white-space:pre-line}
code{font-size:.85rem;background:var(--card);padding:.1rem .3rem;border-radius:3px;word-break:break-word}
.note{margin-top:2.5rem;color:var(--muted);font-size:.85rem;clear:both}
footer.site{border-top:1px solid var(--line);padding:1rem;text-align:center;color:var(--muted);font-size:.8rem}
@media (max-width:40rem){h1{font-size:1.45rem}img.pic{float:none;max-width:100%;margin:0 0 1rem}
.facts{grid-template-columns:1fr}.facts dt{margin-top:.4rem}}
