:root{--ink:#1d1d1f;--muted:#5f6670;--bg:#f7f5f0;--accent:#1f6f8b;--card:#fff;--line:#e0dbd0;--sea:#a9cfe0}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2}
.top{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.55rem 1rem;background:#1e3a4c;color:#fff;position:sticky;top:0;z-index:1000;flex-wrap:wrap}
.top a{color:#fff;text-decoration:none}.brand{font-weight:700;font-family:Georgia,serif;font-size:1.12rem}.top nav a{margin-left:1rem;opacity:.85}.top nav a:hover{opacity:1}
.wrap{max-width:1150px;margin:0 auto;padding:1rem}.prose{max-width:820px}.muted{color:var(--muted)}.small{font-size:.86rem}
.hmap{position:relative}.fullmap{height:calc(100vh - 50px);height:calc(100dvh - 50px);width:100%;background:var(--sea)}
.leaflet-container{background:var(--sea);font:inherit}
.panel{position:absolute;top:.8rem;left:.8rem;z-index:600;background:rgba(255,255,255,.96);padding:.8rem 1rem;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.2);width:340px;max-height:calc(100% - 9rem);overflow:auto}
.panel h1{margin:.1rem 0 .3rem;font-size:1.35rem}.panel p{margin:.3rem 0 .5rem}
.ptoggle{display:none;float:right;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.2rem .6rem;font:inherit;font-size:.85rem;cursor:pointer}
.chipgrp{margin:.35rem 0}.glabel{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:.15rem}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.18rem .55rem;margin:.12rem .1rem;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink)}
.chip.on{background:#1e3a4c;color:#fff;border-color:#1e3a4c}.chip .dot,.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.3rem;vertical-align:baseline}
.tl{position:absolute;left:50%;transform:translateX(-50%);bottom:1.4rem;z-index:600;width:min(900px,calc(100% - 1.6rem));background:rgba(255,255,255,.96);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.2);padding:.55rem .9rem .5rem}
.tlhead{display:flex;align-items:center;gap:.7rem}.tlhead strong{font-family:Georgia,serif;font-size:1.1rem}#tlP{border-left:4px solid #ccc;padding-left:.4rem;color:var(--muted);font-size:.9rem}
#play{width:2.2rem;height:2.2rem;border-radius:50%;border:0;background:#1e3a4c;color:#fff;font-size:.9rem;cursor:pointer;flex:none}
#slider{width:100%;margin:.4rem 0 .1rem;accent-color:#1e3a4c;height:1.6rem}
.pbar{position:relative;height:1.5rem;margin:0 .55rem}.pbar .band{position:absolute;top:.45rem;height:1rem;font-size:.62rem;line-height:1rem;text-align:center;overflow:hidden;white-space:nowrap;color:#222;text-decoration:none;border-right:1px solid #fff}
.pbar .tick{position:absolute;top:0;width:2px;height:.4rem;margin-left:-1px;background:#999;border:0;padding:0;cursor:pointer}.pbar .tick.on{background:#c62828;height:.45rem;width:4px;margin-left:-2px}
.fpin{display:block;width:34px;height:34px;border-radius:50%;border:3px solid;background:#fff center/cover no-repeat;box-shadow:0 1px 5px rgba(0,0,0,.45)}
.fcard{display:flex;gap:.6rem;align-items:center}.fcard img{border-radius:8px;object-fit:cover}.plinks{margin-top:.4rem;display:flex;gap:.7rem;flex-wrap:wrap}.plinks a{font-weight:600}.pnote{margin:.3rem 0 0!important;font-size:.75rem;color:var(--muted)}
.ftip{padding:.4rem .5rem}
.crumbs{font-size:.85rem;color:var(--muted)}.lede{font-size:1.08rem}
.mapgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.5rem;align-items:start}.tmap{height:440px;border-radius:12px;border:1px solid var(--line);background:var(--sea)}
.tog{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:.5rem}.tog button{border:0;background:#fff;padding:.35rem .8rem;font:inherit;font-size:.88rem;cursor:pointer}.tog button.on{background:#1e3a4c;color:#fff}
.hero{margin:0 0 1rem}.hero img{width:100%;max-height:340px;object-fit:cover;border-radius:12px;background:#ddd}figcaption{font-size:.75rem;color:var(--muted)}
.facts{width:100%;border-collapse:collapse;font-size:.93rem;background:var(--card)}.facts th,.facts td{padding:.45rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.facts th{width:34%}
.note{color:var(--muted)}.credit{color:var(--muted);border-top:1px solid var(--line);padding-top:.8rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem}.card{display:flex;flex-direction:column;background:var(--card);border-radius:10px;overflow:hidden;text-decoration:none;color:var(--ink);border:1px solid var(--line)}
.card img,.card .noimg{width:100%;height:120px;object-fit:cover;background:#e8e2d4;display:block}.card span{padding:.45rem .6rem;display:flex;flex-direction:column}.card em{font-size:.8rem;color:var(--muted);font-style:normal}.card.sm img,.card.sm .noimg{height:90px}
.search input{width:100%;padding:.6rem .8rem;font:inherit;border:1px solid var(--line);border-radius:8px;margin:.5rem 0 1rem}
.pchip{display:inline-block;width:1.1rem;height:1.1rem;border-radius:3px;margin-right:.5rem;vertical-align:middle}
.plist{display:grid;gap:.5rem}.prow{display:grid;grid-template-columns:10rem 1fr auto;gap:1rem;padding:.7rem 1rem;background:var(--card);border-left:10px solid var(--pc);border-radius:8px;text-decoration:none;color:var(--ink)}.prow em{color:var(--muted);font-style:normal}
.pn{display:flex;justify-content:space-between;gap:1rem}
.affs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.aff{background:var(--card);border:2px dashed #94a3b8;border-radius:12px;padding:1rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:.45rem .9rem;border-radius:8px;text-decoration:none;font-weight:600}.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}
.foot{background:#1e3a4c;color:#cfdbe2;font-size:.88rem;margin-top:2rem}.home .foot{margin-top:0}.foot a{color:#a9e1f2}.foot .cols{display:flex;gap:3rem;flex-wrap:wrap}.foot h4{color:#fff;margin:.5rem 0}.foot ul{list-style:none;padding:0;margin:0}.attr{font-size:.78rem;opacity:.85}
@media(max-width:760px){.mapgrid,.affs{grid-template-columns:1fr}.tmap{height:320px}.top nav a{margin-left:0;margin-right:.9rem}
 .panel{width:calc(100% - 1.6rem);top:.5rem;left:.8rem;max-height:calc(100% - 14rem);padding:.6rem .8rem}.ptoggle{display:block}.panel.closed #pbody{display:none}.panel.closed{width:auto;padding:.4rem}.panel.closed .ptoggle{float:none}
 .tl{bottom:2.6rem;padding:.45rem .6rem}.tlhead strong{font-size:.98rem}#tlP{font-size:.78rem}.pbar .band{font-size:0}.prow{grid-template-columns:1fr}.fullmap{height:calc(100dvh - 82px)}}
