
:root{--bg:#14121a;--bg2:#1b1822;--panel:#211d2b;--ink:#dcd6c9;--muted:#9b93a4;
--ev:#bcc4cf;--ep:#6fb088;--line:rgba(255,255,255,.09);--shadow:0 10px 40px rgba(0,0,0,.5);}
*{box-sizing:border-box}
body{margin:0;background:
 radial-gradient(120% 80% at 50% -10%, #221d2e 0%, var(--bg) 55%, #100e15 100%) fixed;
 color:var(--ink);font-family:"EB Garamond",Georgia,"Times New Roman",serif;font-size:18px;line-height:1.65;}
a{color:inherit}
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=EB+Garamond:ital@0;1&display=swap');
.wordmark{font-family:"Cinzel",serif;letter-spacing:.18em;font-weight:700;}
.bar{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);
 position:sticky;top:0;background:rgba(16,14,21,.85);backdrop-filter:blur(6px);z-index:500;}
.bar .wordmark{font-size:20px;text-decoration:none;color:var(--ink)}
.hero-head{max-width:1100px;margin:0 auto;padding:54px 24px 14px;text-align:center}
.hero-head .wordmark{font-size:clamp(34px,6vw,64px);margin:0;text-shadow:0 4px 24px rgba(0,0,0,.6)}
.tagline{color:var(--muted);font-style:italic;font-size:19px;margin:.5em auto 1.2em;max-width:640px}
.legend{display:flex;gap:26px;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:15px}
.legend label{display:flex;align-items:center;gap:8px;cursor:pointer}
.dot{width:13px;height:13px;border-radius:50%;display:inline-block;border:2px solid #0b0b0f}
.dot.ev{background:var(--ev)} .dot.ep{background:var(--ep)}
.mapwrap{max-width:1100px;margin:18px auto;padding:0 24px}
#map{height:460px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);background:#0d0d12}
.timeline{display:flex;align-items:center;gap:18px;margin:18px 4px 4px;flex-wrap:wrap}
.tl-label{font-family:"Cinzel",serif;letter-spacing:.15em;font-size:13px;color:var(--muted);text-transform:uppercase}
#slider{flex:1;min-width:220px}.tl-range{color:var(--ink);font-variant-numeric:tabular-nums;min-width:110px;text-align:right}
.grid{max-width:1100px;margin:30px auto 60px;padding:0 24px;display:grid;
 grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:10px;
 overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .18s,box-shadow .18s,border-color .18s}
.card:hover{transform:translateY(-4px)}
.card.ev:hover{border-color:var(--ev);box-shadow:0 12px 36px rgba(188,196,207,.14)}
.card.ep:hover{border-color:var(--ep);box-shadow:0 12px 36px rgba(111,176,136,.16)}
.thumb{position:relative;aspect-ratio:16/10;background:#0d0d12;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.05) brightness(.82)}
.thumb .yr{position:absolute;bottom:8px;right:10px;font-family:"Cinzel",serif;font-size:13px;
 background:rgba(0,0,0,.6);padding:2px 8px;border-radius:4px;letter-spacing:.1em}
.cbody{padding:14px 16px 18px}
.cbody h3{font-family:"Cinzel",serif;font-weight:500;font-size:18px;margin:.4em 0 .2em;line-height:1.25}
.loc{color:var(--muted);font-size:14px;margin:.1em 0}.hk{font-size:15px;color:#c7c0b4;margin:.5em 0 0}
.chan-tag{font-family:"Cinzel",serif;font-size:11px;letter-spacing:.14em;padding:2px 8px;border-radius:4px;
 border:1px solid;display:inline-block}
.chan-tag.ev{color:var(--ev);border-color:rgba(188,196,207,.5)}
.chan-tag.ep{color:var(--ep);border-color:rgba(111,176,136,.5)}
/* leaflet dark cluster + tooltip */
.leaflet-tooltip{background:#1b1822;border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);
 font-family:"EB Garamond",serif;border-radius:6px}
.leaflet-tooltip b{font-family:"Cinzel",serif;font-weight:500}.tt-sub{color:var(--muted);font-size:13px}
.leaflet-tooltip-top:before{border-top-color:var(--line)}
.cl{display:flex;align-items:center;justify-content:center;background:rgba(20,18,26,.92);
 border:2px solid #9aa0a6;border-radius:50%;font-family:"Cinzel",serif;color:var(--ink);font-size:14px;
 box-shadow:0 4px 16px rgba(0,0,0,.6)}
/* noUiSlider dark */
.noUi-target{background:#241f30;border:1px solid var(--line);box-shadow:none;height:6px}
.noUi-connect{background:linear-gradient(90deg,var(--ev),var(--ep))}
.noUi-handle{background:#cfc8bb;border:1px solid #0b0b0f;border-radius:50%;width:18px!important;height:18px!important;
 right:-9px!important;top:-7px!important;box-shadow:0 2px 8px rgba(0,0,0,.6);cursor:grab}
.noUi-handle:before,.noUi-handle:after{display:none}
/* post page */
.post article{max-width:760px;margin:0 auto;padding:34px 24px 20px}
.post .meta{font-family:"Cinzel",serif;letter-spacing:.14em;font-size:13px;color:var(--muted);text-transform:uppercase;margin:0}
.post h1{font-family:"Cinzel",serif;font-weight:700;font-size:clamp(28px,5vw,44px);line-height:1.15;margin:.2em 0 .3em}
.post .hook{font-style:italic;font-size:21px;color:#c7c0b4;margin:0 0 1.2em}
.embed{position:relative;aspect-ratio:9/16;max-width:340px;margin:0 auto 1.6em;border:1px solid var(--line);
 border-radius:10px;overflow:hidden;background:#0d0d12;box-shadow:var(--shadow)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%}
.embed.soon{display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-style:italic}
.hero img{width:100%;border-radius:10px;border:1px solid var(--line);filter:grayscale(.4) contrast(1.05) brightness(.85)}
.body{font-size:19px}.body h2{font-family:"Cinzel",serif;font-weight:500;font-size:24px;margin:1.5em 0 .3em;
 border-left:3px solid var(--line);padding-left:.5em}
.body a{color:#cdd6df;text-decoration:underline;text-decoration-color:rgba(255,255,255,.3)}
.post.ep .body a{color:#9fd3b4}
.body img{max-width:100%;border-radius:8px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:1.4em 0}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid var(--line);
 filter:grayscale(.5) contrast(1.05) brightness(.8);transition:filter .2s}
.gallery img:hover{filter:none}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:2em 0 1em}
.btn{font-family:"Cinzel",serif;letter-spacing:.08em;font-size:14px;text-decoration:none;padding:11px 18px;border-radius:8px;border:1px solid}
.btn.ev{background:rgba(188,196,207,.12);color:var(--ev);border-color:rgba(188,196,207,.5)}
.btn.ep{background:rgba(111,176,136,.12);color:var(--ep);border-color:rgba(111,176,136,.5)}
.btn.ghost{color:var(--muted);border-color:var(--line)}
.foot{text-align:center;color:var(--muted);font-size:14px;padding:30px 20px 50px;border-top:1px solid var(--line)}
.foot a{color:var(--muted)}
@media(max-width:600px){body{font-size:17px}#map{height:360px}}
