:root{--bg:#fafaf7;--fg:#1c1c1a;--mute:#6b6b66;--accent:#d9480f;--rule:#e4e4de;--card:#f1f1ec}
@media (prefers-color-scheme:dark){:root{--bg:#141413;--fg:#ecece6;--mute:#9a9a92;--accent:#ff8a5c;--rule:#2a2a27;--card:#1d1d1b}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 ui-sans-serif,system-ui,-apple-system,sans-serif}
main{max-width:42rem;margin:0 auto;padding:2rem 1rem 4rem}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
nav{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:.8rem;margin-bottom:2.5rem}
.brand{font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--fg)}
.dot{color:var(--accent)}
.links{display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.85rem}
.links a{color:var(--mute)}.links a[aria-current]{color:var(--fg);font-weight:600}
h1{font-size:2rem;letter-spacing:-.03em;margin:0 0 .3rem}
h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--mute);border-bottom:1px solid var(--rule);padding-bottom:.4rem;margin-top:2.5rem}
.hero h1{font-size:3rem}
.tag,.lede{color:var(--mute);margin:.2rem 0 1.8rem}
ul{list-style:none;padding:0}
.items li{margin:1.1rem 0}
.t{font-weight:600}
.b{display:block;color:var(--mute);font-size:.95rem}
.meta{color:var(--mute);font-size:.85rem;margin-left:.6rem}
.soon{color:var(--mute);font-size:.8rem;font-style:italic;margin-left:.4rem}
.badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--accent);color:var(--accent);border-radius:99px;padding:0 .5rem;margin-left:.6rem}
.tags span{font-size:.75rem;color:var(--mute);margin-right:.6rem}.tags span:before{content:"#"}
.empty{color:var(--mute);font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.8rem}
.grid a{display:block;background:var(--card);border:1px solid var(--rule);border-radius:.6rem;padding:.9rem 1rem;color:var(--fg)}
.grid a:hover{border-color:var(--accent);text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips a{font-size:.8rem;border:1px solid var(--rule);border-radius:99px;padding:0 .7rem;color:var(--mute)}
.chips a[aria-current]{border-color:var(--accent);color:var(--accent)}
.crumb{font-size:.85rem;color:var(--mute)}
.prose{margin-top:1.5rem}.prose p{margin:1em 0}.prose img{max-width:100%}
#map{height:26rem;border-radius:.6rem;border:1px solid var(--rule)}
footer{color:var(--mute);font-size:.85rem;margin-top:4rem}
.map{margin:0 0 1rem}
.worldmap{width:100%;height:auto;display:block;border:1px solid var(--rule);border-radius:.6rem;background:var(--card)}
.worldmap path{fill:var(--rule);stroke:var(--bg);stroke-width:1}
.worldmap path.v{fill:var(--accent)}
.worldmap .pin{fill:var(--accent);stroke:var(--bg);stroke-width:3}
.chip{font-size:.8rem;border:1px solid var(--accent);color:var(--accent);border-radius:99px;padding:0 .7rem}
