/* Tokens (light + dark), reset, layout helpers, buttons, footer */
/* Layout: map is the centre of the page; a blog-style feed of listing "stories" sits under it and follows the map's visible area. */
:root{
  --bg:#f6f6f4; --surface:#ffffff; --surface-2:#efefec; --ink:#1c1a18; --muted:#5d5853; --line:#e1ded9;
  --accent:#c2461a; --accent-ink:#ffffff; --accent-soft:#fbe8de; --good:#2f7a3d; --good-soft:#e2f1e3; --warn:#9a6a00; --warn-soft:#fbf0d4; --bad:#b3261e; --bad-soft:#fbe3e1;
  --map-land:#eceee7; --map-block:#e2e5dc; --map-park:#cfe2bf; --map-water:#b9d6e6; --map-mount:#d7e0cc; --map-mount2:#c8d4bb; --map-road:#ffffff; --map-case:#d3d0c8; --map-major:#f6d9a6; --map-major-case:#dcb878; --map-label:#7a756e;
  --shadow:0 1px 2px rgba(28,26,24,.06),0 8px 24px rgba(28,26,24,.08);
  --f-display:"Unbounded","Golos Text",system-ui,sans-serif; --f-body:"Golos Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r:14px; --r-sm:10px; --bg-op:.95;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#131312; --surface:#1c1c1a; --surface-2:#262624; --ink:#f3f0ec; --muted:#aca69f; --line:#34322f;
  --accent:#ff7a42; --accent-ink:#1a0d06; --accent-soft:#3b2318; --good:#7fd08b; --good-soft:#1d3320; --warn:#f0c160; --warn-soft:#3a2f12; --bad:#ff8a80; --bad-soft:#3d1c1a;
  --map-land:#1e201d; --map-block:#262924; --map-park:#24341f; --map-water:#1b3443; --map-mount:#232c20; --map-mount2:#2a3527; --map-road:#3a3a37; --map-case:#2b2b29; --map-major:#5e4724; --map-major-case:#45351c; --map-label:#8f8a83;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#131312; --surface:#1c1c1a; --surface-2:#262624; --ink:#f3f0ec; --muted:#aca69f; --line:#34322f;
  --accent:#ff7a42; --accent-ink:#1a0d06; --accent-soft:#3b2318; --good:#7fd08b; --good-soft:#1d3320; --warn:#f0c160; --warn-soft:#3a2f12; --bad:#ff8a80; --bad-soft:#3d1c1a;
  --map-land:#1e201d; --map-block:#262924; --map-park:#24341f; --map-water:#1b3443; --map-mount:#232c20; --map-mount2:#2a3527; --map-road:#3a3a37; --map-case:#2b2b29; --map-major:#5e4724; --map-major-case:#45351c; --map-label:#8f8a83;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35); color-scheme:dark}
html[data-size="1"]{font-size:112.5%} html[data-size="2"]{font-size:125%}
*{box-sizing:border-box}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.55;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--surface)}
h1,h2,h3{text-wrap:balance;line-height:1.2;margin:0}
p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}

footer{border-top:1px solid var(--line);background:var(--surface)}
footer .wrap{padding-block:22px;display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:8px 24px;color:var(--muted);font-size:.9rem}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.site-foot .wrap{padding-block:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;text-align:left;justify-content:stretch}
.site-foot .fcol{display:grid;gap:8px;align-content:start}
.site-foot a,.site-foot button{color:var(--muted);text-decoration:none;background:none;border:0;padding:0;font:inherit;text-align:left;cursor:pointer}
.site-foot a:hover,.site-foot button:hover{color:var(--accent)}
.site-foot .fcopy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}
