:root{
  --bg:#397052;--accent:#62D879;--ink:#17151C;--paper:#d9f0d2;
  --line:#62D879;--panel:#315f47;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--paper);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.65}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;background-image:linear-gradient(transparent 95%,#17151C 95%);background-size:100% 4px;z-index:20}
a{color:inherit;text-decoration:none}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(57,112,82,.96);border-bottom:3px solid var(--ink)}
.brand{font-weight:1000;letter-spacing:.12em;color:var(--accent);font-size:1.35rem;text-shadow:3px 3px 0 var(--ink)}
nav{display:flex;gap:22px;font-size:.78rem;font-weight:900}nav a:hover{color:var(--accent)}
.menu{display:none;background:var(--accent);border:3px solid var(--ink);padding:7px 10px;font-size:1.1rem}
.hero,.section{max-width:var(--max);margin:auto;padding:110px 5vw}.hero{min-height:760px;display:grid;align-items:center}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.eyebrow{color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.12em}.hero h1{font-size:clamp(4rem,11vw,9rem);line-height:.85;margin:15px 0;color:var(--accent);letter-spacing:-.07em;text-shadow:7px 7px 0 var(--ink)}
.tagline{font-size:clamp(1.1rem,2.2vw,1.7rem);font-weight:900}.intro{max-width:650px;font-size:1.05rem}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:13px 18px;background:var(--accent);color:var(--ink);border:4px solid var(--ink);font-weight:1000;box-shadow:6px 6px 0 var(--ink)}.btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}.btn.ghost{background:transparent;color:var(--accent)}
.pixel-card{min-height:360px;border:5px solid var(--ink);background:var(--panel);box-shadow:12px 12px 0 var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}.map-mark{font-size:7rem;font-weight:1000;color:var(--accent);text-shadow:6px 6px 0 var(--ink);image-rendering:pixelated}.pixel-card span{font-weight:1000;font-size:1.2rem}.pixel-card small{color:var(--accent);margin-top:4px}
.section{border-top:3px solid var(--ink)}.section h2{font-size:clamp(2rem,5vw,4.5rem);line-height:1;margin:12px 0 45px;letter-spacing:-.04em;color:var(--accent);text-shadow:4px 4px 0 var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:55px;font-size:1.05rem}
.dark{background:var(--ink);max-width:none;padding-left:max(5vw,calc((100vw - var(--max))/2 + 5vw));padding-right:max(5vw,calc((100vw - var(--max))/2 + 5vw));border-top-color:var(--accent)}
.lore-grid,.district-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lore-grid article,.district{border:4px solid var(--ink);background:var(--bg);padding:28px;min-height:220px;box-shadow:6px 6px 0 var(--ink)}.dark .lore-grid article{border-color:var(--accent);box-shadow:6px 6px 0 var(--accent)}.lore-grid b{color:var(--accent)}
.district-grid{grid-template-columns:repeat(2,1fr)}.district{min-height:250px}.district span{color:var(--accent);font-size:.8rem}.district h3{font-size:1.6rem;margin:15px 0;color:var(--accent)}.district em{font-style:normal;font-size:.7rem;border:2px solid var(--ink);padding:4px 8px}.district.featured{background:var(--accent);color:var(--ink)}.district.featured h3,.district.featured span{color:var(--ink)}.note{opacity:.75;font-size:.85rem;margin-top:28px}.lead{font-size:1.15rem;max-width:800px}.traits{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.traits span{padding:10px 12px;border:3px solid var(--accent);color:var(--accent);font-size:.75rem;font-weight:900}
.story{display:grid;grid-template-columns:110px 1fr;border:4px solid var(--ink);padding:25px;background:var(--accent);color:var(--ink);box-shadow:8px 8px 0 var(--ink)}.story-num{font-size:2rem;font-weight:1000}.story h3{margin-top:0}.community{text-align:center}.community p{max-width:650px;margin:0 auto}.community .actions{justify-content:center}
footer{border-top:4px solid var(--ink);padding:35px 5vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.75rem}footer strong{color:var(--accent)}
@media(max-width:800px){nav{display:none}.menu{display:block}.hero{min-height:auto;padding-top:75px}.hero-grid,.two-col,.lore-grid,.district-grid{grid-template-columns:1fr}.pixel-card{min-height:260px}.section{padding-top:75px;padding-bottom:75px}.hero h1{text-shadow:5px 5px 0 var(--ink)}.story{grid-template-columns:1fr}.topbar{padding:14px 5vw}}

.contract-box{margin:28px 0;padding:18px;border:3px solid var(--accent);background:var(--bg);display:flex;flex-direction:column;gap:8px;max-width:900px}
.contract-box span{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.1em}
.contract-box code{font-family:inherit;color:var(--paper);font-size:.78rem;word-break:break-all}

.quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.quick-links a{border:3px solid var(--ink);padding:8px 11px;background:var(--accent);color:var(--ink);font-size:.72rem;font-weight:1000;box-shadow:4px 4px 0 var(--ink)}
.quick-links a:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.official-card{margin:28px 0 34px;padding:24px;border:4px solid var(--accent);background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:7px 7px 0 var(--accent)}
.official-card div{display:flex;flex-direction:column;gap:4px}
.official-card span{color:var(--accent);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.official-card strong{font-size:.9rem}
.official-card .contract-wide{grid-column:1/-1}
.official-card code{font-family:inherit;color:var(--paper);font-size:.78rem;word-break:break-all}
@media(max-width:800px){.official-card{grid-template-columns:1fr}.official-card .contract-wide{grid-column:auto}}
