@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-wght-normal.woff2?v=7f9d191d99") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-ext-wght-normal.woff2?v=a21ecfbf41") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-wght-italic.woff2?v=bceec2ef4d") format("woff2");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-ext-wght-italic.woff2?v=877bcc2fd1") format("woff2");font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-wght-normal.woff2?v=62981321d9") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-ext-wght-normal.woff2?v=ac6fa9ed53") format("woff2");font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-wght-italic.woff2?v=48bc8861b9") format("woff2");font-weight:200 800;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url("fonts/newsreader-latin-ext-wght-italic.woff2?v=d8c263970d") format("woff2");font-weight:200 800;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";src:url("fonts/inter-latin-wght-normal.woff2?v=3100e775e8") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url("fonts/inter-latin-ext-wght-normal.woff2?v=48f540fb71") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bar:3rem;
  --bg:#f5f0e6; --bg-2:#ebe4d4; --card:#faf7f0; --ink:#1c1a17; --muted:#5a5348; --line:rgba(28,26,23,.18); --line-soft:rgba(28,26,23,.09);
  --accent:#9b3a22; --accent-ink:#fff;
  --land:#e4dccb; --mapline:#7a6f5d; --mapcline:#3b342a;
  --serif:"Newsreader",Georgia,"Times New Roman",serif; --display:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
  --g0:#718295; --g1:#2a71d6; --g2:#008e32; --g3:#c43e45; --g4:#9d6a00; --g5:#a947a3; --g6:#009093; --g7:#bc5000; --g8:#7e5acc; --g9:#698100; --g10:#b94082; --g11:#0085be; --g12:#c33d53; --g13:#009265; --g14:#ac6000; --g15:#007ccc; --g16:#9351bd; --g17:#008da3; --g18:#438900; --g19:#8d7300; --g20:#c2460d; --g21:#8d867a; --g22:#b5ad9f;
}
:root[data-theme="dark"]{
  --bg:#101318; --bg-2:#171b21; --card:#161a20; --ink:#ece6da; --muted:#a39b8d; --line:rgba(236,230,218,.2); --line-soft:rgba(236,230,218,.1);
  --accent:#f09a76; --accent-ink:#101318;
  --land:#1d232b; --mapline:#5b6676; --mapcline:#aeb8c6;
  color-scheme:dark;
  --g0:#74889e; --g1:#73b2ff; --g2:#66cb79; --g3:#ff8785; --g4:#d9aa1b; --g5:#e68cde; --g6:#00cdce; --g7:#f99549; --g8:#b99cff; --g9:#a5be43; --g10:#f786be; --g11:#00c3f8; --g12:#ff8692; --g13:#04cfa2; --g14:#e8a127; --g15:#41bcff; --g16:#ce94f8; --g17:#00cbde; --g18:#86c660; --g19:#c8b222; --g20:#ff8d64; --g21:#8b93a1; --g22:#4c5563;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#101318; --bg-2:#171b21; --card:#161a20; --ink:#ece6da; --muted:#a39b8d; --line:rgba(236,230,218,.2); --line-soft:rgba(236,230,218,.1);
    --accent:#f09a76; --accent-ink:#101318;
    --land:#1d232b; --mapline:#5b6676; --mapcline:#aeb8c6;
    color-scheme:dark;
    --g0:#74889e; --g1:#73b2ff; --g2:#66cb79; --g3:#ff8785; --g4:#d9aa1b; --g5:#e68cde; --g6:#00cdce; --g7:#f99549; --g8:#b99cff; --g9:#a5be43; --g10:#f786be; --g11:#00c3f8; --g12:#ff8692; --g13:#04cfa2; --g14:#e8a127; --g15:#41bcff; --g16:#ce94f8; --g17:#00cbde; --g18:#86c660; --g19:#c8b222; --g20:#ff8d64; --g21:#8b93a1; --g22:#4c5563;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--bar) + env(safe-area-inset-top) + .5rem)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.1875rem/1.6 var(--serif);font-optical-sizing:auto;overflow-x:hidden}
a{color:var(--accent);text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--ink);color:var(--bg);padding:.6rem 1rem;font:600 .9rem var(--sans)}
.skip:focus{left:1rem;top:.5rem}
section[id]{scroll-margin-top:calc(var(--bar) + env(safe-area-inset-top) + .75rem)}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}

/* topbar */
.topbar{position:fixed;inset:0 0 auto 0;z-index:50;height:calc(var(--bar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(1rem,env(safe-area-inset-right)) 0 max(1rem,env(safe-area-inset-left));display:flex;align-items:center;gap:1rem;font:500 .84rem/1 var(--sans);background:color-mix(in srgb,var(--bg) 84%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border-bottom:1px solid var(--line-soft);white-space:nowrap}
.topbar a{color:var(--ink);text-decoration:none}
.home{font-weight:650;letter-spacing:.01em;flex:none}
.topnav{display:flex;gap:1.1rem;overflow-x:auto;scrollbar-width:none;min-width:0}
@media (max-width:760px){.topnav{mask-image:linear-gradient(90deg,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent)}}
.topnav::-webkit-scrollbar{display:none}
.topnav a{color:var(--muted);padding:.9rem 0;flex:none}
.topnav a:hover,.topnav a[aria-current="true"]{color:var(--ink)}
.topnav a[aria-current="true"]{box-shadow:inset 0 -2px 0 var(--accent)}
.spacer{flex:1}
.icon-btn{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;padding:0}
.icon-btn:hover{border-color:var(--ink)}
.icon-btn svg{display:block}
.icon-btn svg[hidden]{display:none}
@media (pointer:coarse){.icon-btn{width:44px;height:44px}}

/* rail */
.rail{position:fixed;right:1.1rem;top:50%;transform:translateY(-50%);z-index:40;display:none;flex-direction:column;gap:.15rem;font:500 .72rem/1 var(--sans)}
.rail a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;padding:.38rem 0;color:var(--muted);text-decoration:none;flex-direction:row-reverse}
.rail .mark{flex:none;width:7px;height:7px;border-radius:50%;border:1px solid var(--muted);transition:background .2s,transform .2s}
.rail .lbl{position:absolute;right:1.4rem;opacity:0;transition:opacity .2s;pointer-events:none;background:var(--card);padding:.25rem .45rem;border-radius:4px;white-space:nowrap;border:1px solid var(--line-soft)}
.rail a:hover .lbl,.rail a:focus-visible .lbl{opacity:1}
.rail a[aria-current="true"] .mark{background:var(--accent);border-color:var(--accent);transform:scale(1.35)}
@media (min-width:1500px){.rail{display:flex}}

/* hero text */
.hero{padding:0 0 .6rem}
.kicker{font:600 .74rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .7rem}
h1{font:360 clamp(2.4rem,4.6vw,3.7rem)/1 var(--display);font-variation-settings:"SOFT" 40,"WONK" 0;letter-spacing:-.022em;margin:0 0 .9rem;text-wrap:balance}
.deck{font-size:1.08rem;line-height:1.5;margin:0}
.byline{font:500 .76rem/1.45 var(--sans);color:var(--muted);margin:.8rem 0 0}

/* share */
.share{padding:.3rem 0 .6rem}
.share-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;scroll-margin-top:4.75rem}
.share-label{font:500 .8rem var(--sans);color:var(--muted);margin-right:.25rem}
.sh{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-soft);background:transparent;color:var(--ink);cursor:pointer;padding:0}
.sh:hover,.sh:focus-visible{color:var(--accent);border-color:var(--accent)}
.sh[hidden]{display:none}
@media (pointer:coarse){.sh{width:44px;height:44px}}
.share-status{font:500 .8rem var(--sans);color:var(--muted);min-height:1em}
.share-status input{font:400 .85rem var(--sans);width:100%;max-width:26rem;padding:.4rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}

/* atlas */
.atlas{max-width:100rem;margin:0 auto;padding:calc(var(--bar) + 1.4rem) 1.25rem 0;display:grid;grid-template-columns:minmax(0,27rem) minmax(0,1fr);gap:1.4rem 2rem;align-items:start}
@media (max-width:1000px){
  .atlas{display:flex;flex-direction:column;align-items:stretch;gap:.9rem;padding-top:calc(var(--bar) + 1rem)}
  .atl-left{display:contents}
  .atl-left .hero{order:1}.atl-left .ctl{order:2}.atl-map{order:3;position:static;height:auto}.atl-left .panel{order:4}.atl-left .share{order:5}
  .byline{display:none}.ctl{min-width:0}
  .ctl-groups{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-1.25rem;padding-right:1.25rem;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
  .ctl-groups::-webkit-scrollbar{display:none}
  .ctl-groups .chip{flex:none}
  #groupChips{display:flex!important;gap:.4rem}
}
@media (pointer:coarse){.wheel{display:none}}
.ctl{display:flex;flex-direction:column;gap:.7rem;margin-bottom:.8rem}
.ctl-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.ctl-l{font:600 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:.3rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;font:500 .8rem/1 var(--sans);padding:.5rem .7rem;min-height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.chip .n{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip[aria-pressed="true"] .n{color:inherit;opacity:.75}
.chip .sw,.sw{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;flex:none}
.sw-all{background:conic-gradient(var(--g1),var(--g2),var(--g3),var(--g4),var(--g5),var(--g1))}
@media (pointer:coarse){.chip{min-height:44px}}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg button{font:500 .8rem/1 var(--sans);padding:.55rem .85rem;min-height:36px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.seg button+button{border-left:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
@media (pointer:coarse){.seg button{min-height:44px}}
.mapwrap{position:relative;flex:1;min-height:360px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg);isolation:isolate}
@media (max-width:1000px){.mapwrap{flex:none;height:min(66svh,560px)}}
#glMap{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-3px}
#glMap.grab{cursor:grabbing}
.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.labels span{position:absolute;left:0;top:0;font:600 .68rem/14px var(--sans);color:var(--ink);white-space:nowrap;text-shadow:0 0 3px var(--bg),0 0 3px var(--bg),0 0 6px var(--bg)}
.pin{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none}
.pin::before{content:"";position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--bg) 70%,transparent)}
.tip{position:absolute;z-index:3;pointer-events:none;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;font:500 .78rem/1.35 var(--sans);max-width:16rem;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.tip span{color:var(--muted)}
.mapui{position:absolute;right:.6rem;top:.6rem;display:flex;flex-direction:column;gap:.35rem;z-index:2}
.mapui button{width:36px;height:36px;border-radius:8px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--ink);font:600 1.05rem/1 var(--sans);cursor:pointer;padding:0}
.mapui button:hover{border-color:var(--ink)}
@media (pointer:coarse){.mapui button{width:44px;height:44px}}
.legend{font:500 .76rem/1.35 var(--sans);min-height:2.6rem}
.lg-t{margin:0 0 .35rem}
.lg-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.15rem .9rem}
.lg-list li{display:flex;align-items:center;gap:.35rem}
.lg-list i{width:.6rem;height:.6rem;border-radius:50%;flex:none}
.lg-list .more{color:var(--muted)}
.ramp{display:flex}
.ramp span{flex:1;height:.8rem;position:relative}
.ramp em{position:absolute;top:1rem;left:0;font-style:normal;font-size:.62rem;color:var(--muted)}
.ramp{margin-bottom:1rem}
.ramp span:nth-child(even) em{display:none}
.wheel{position:absolute;right:.6rem;bottom:.6rem;z-index:2;font:500 .7rem var(--sans);padding:.35rem .55rem;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--muted);cursor:pointer}
#loading{position:absolute;inset:0;display:grid;place-items:center;z-index:4;background:color-mix(in srgb,var(--bg) 70%,transparent);font:500 .9rem var(--sans);color:var(--muted)}
.nogl{margin:0}
.nogl img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--line)}
.nogl figcaption{font:500 .85rem var(--sans);color:var(--muted);margin-top:.5rem}
.status{font:500 .78rem var(--sans);color:var(--muted);min-height:1.2em;margin:0}
.panel{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:1rem 1.1rem}
@media (max-width:1000px){.panel{grid-row:3}}
.panel h3.pn{font:400 1.55rem/1.15 var(--display);margin:0 0 .15rem;display:flex;align-items:center;gap:.5rem}
.panel h4{font:600 .72rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .4rem}
.pk{font:500 .8rem var(--sans);color:var(--muted);margin:0 0 .7rem}
.pl{font-size:1rem;line-height:1.45;margin:.2rem 0 .6rem}
.pf{font:400 .8rem/1.45 var(--sans);color:var(--muted);margin:.5rem 0}
.bars{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.4rem;font:500 .8rem/1.2 var(--sans)}
.bars li{display:grid;grid-template-columns:7.2rem 1fr auto;gap:.5rem;align-items:center}
.bars li.hl .bl{font-weight:700}
.bl{display:flex;align-items:center;gap:.35rem;min-width:0}
.bl i{width:.6rem;height:.6rem;border-radius:50%;flex:none}
.bt{height:9px;background:var(--line-soft);border-radius:0 5px 5px 0;overflow:hidden;display:block}
.bt span{display:block;height:100%}
.bv{font-variant-numeric:tabular-nums;text-align:right;color:var(--muted);font-size:.74rem}
.top{margin:0;padding:0;list-style:none;display:grid;gap:.3rem;font:500 .84rem/1.3 var(--sans)}
.top li{display:flex;gap:.5rem;justify-content:space-between;align-items:baseline}
.top li span{color:var(--muted);font-size:.76rem;text-align:right}
.lk{background:none;border:0;padding:.15rem 0;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:.16em;cursor:pointer;text-align:left}
@media (pointer:coarse){.lk{min-height:44px;padding:.5rem 0}}

/* prose */
.prose{max-width:42rem;margin:0 auto;padding:0 1.25rem}
section.prose{padding-top:4.5rem;padding-bottom:.5rem}
.wide{max-width:90rem;margin:0 auto;padding:0 1.25rem}
section.wide{padding-top:4.5rem;padding-bottom:.5rem}
h2{font:400 clamp(1.8rem,4.2vw,2.6rem)/1.1 var(--display);letter-spacing:-.015em;margin:0 0 1.1rem;text-wrap:balance;position:relative}
h3{font:600 1.02rem/1.35 var(--sans);margin:1.8rem 0 .5rem}
.anchor{position:absolute;left:-1.35em;top:0;display:inline-grid;place-items:center;width:1.2em;min-height:44px;color:var(--muted);text-decoration:none;opacity:0;font-weight:300}
h2:hover .anchor,.anchor:focus-visible{opacity:1}
@media (max-width:860px){.anchor{position:static;opacity:.5;width:auto;min-height:0;margin-right:.3em}}
.lede{font-size:1.2rem;max-width:46rem}
.small{font:400 .86rem/1.5 var(--sans);color:var(--muted)}

/* findings */
.finds{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none}
.find{border-top:2px solid var(--ink);padding-top:.8rem}
.find .big{font:380 clamp(2.4rem,5vw,3.4rem)/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:block}
.find p{font:400 .95rem/1.5 var(--sans);margin:.5rem 0 0}
.find .lk{font-size:.86rem}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2rem 3rem;margin-top:1.5rem}
.cols p{margin:.4rem 0}

/* finder */
.finder{max-width:42rem}
.field{position:relative}
.field input{width:100%;font:500 1.05rem var(--sans);padding:.85rem 1rem;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.field input:focus-visible{outline-offset:2px}
.sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:.3rem;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.sugg li{padding:.55rem .7rem;border-radius:8px;font:500 .95rem var(--sans);cursor:pointer}
.sugg li span{color:var(--muted);font-size:.78rem;margin-left:.4rem}
.sugg li:hover,.sugg li[aria-selected="true"]{background:var(--bg-2)}
.placecard{margin-top:1.2rem}
.placecard:empty{display:none}
.placecard{border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;background:var(--card);max-width:34rem}
.placecard h3.pn{font:400 1.7rem/1.15 var(--display);margin:0}
.mixlist{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.1rem;font:500 .92rem/1.35 var(--sans)}
.mixlist li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-bottom:1px solid var(--line-soft);padding:.15rem 0}
.mixlist li span{color:var(--muted);font-size:.8rem;text-align:right}

/* century */
.centbar{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:center;margin:.5rem 0 1rem}
.centbar select{font:500 1rem var(--sans);padding:.6rem .8rem;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);min-height:44px}
.centbar label{font:600 .72rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}
@media (max-width:900px){.cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cell{margin:0}
.cell svg{display:block;width:100%;height:auto}
.cell path{stroke:var(--mapline);stroke-width:.7;stroke-linejoin:round}
.cell figcaption{display:flex;justify-content:space-between;gap:.4rem;font:500 .78rem/1.3 var(--sans);margin-top:.15rem}
.cell figcaption span{color:var(--muted);text-align:right}
.cleg{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font:500 .78rem var(--sans);color:var(--muted);margin-top:.8rem}
.cleg .gr{width:7rem;height:.7rem;border-radius:4px;display:inline-block;border:1px solid var(--line-soft)}

/* group cards */
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(19rem,100%),1fr));gap:1rem;margin-top:1.4rem}
.gcard{border:1px solid var(--line);border-radius:14px;padding:1rem 1.1rem 1.1rem;background:var(--card);display:flex;flex-direction:column;gap:.5rem}
.gcard h3{font:400 1.45rem/1.15 var(--display);margin:0;display:flex;align-items:center;gap:.5rem}
.gcard .cn{font:500 .76rem var(--sans);color:var(--muted);margin:0}
.gcard p{font:400 .92rem/1.5 var(--sans);margin:0}
.gcard .big{font:380 2rem/1 var(--display);font-variant-numeric:tabular-nums}
.gcard svg.spark{width:100%;height:46px;display:block}
.gcard .spark rect{fill:var(--gc)}
.gcard .spark text{font:500 9px var(--sans);fill:var(--muted)}
.gcard .btn{align-self:flex-start;margin-top:auto}
.btn{font:500 .84rem var(--sans);padding:.55rem .85rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;min-height:36px}
.btn:hover{border-color:var(--ink)}
@media (pointer:coarse){.btn{min-height:44px}}

/* tables */
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-top:1rem}
table{border-collapse:collapse;width:100%;font:500 .82rem/1.35 var(--sans);font-variant-numeric:tabular-nums}
th,td{padding:.45rem .7rem;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line-soft)}
th:first-child,td:first-child{text-align:left;position:sticky;left:0;background:var(--card)}
thead th{position:sticky;top:0;background:var(--card);font-weight:650;border-bottom:1px solid var(--line)}
caption{caption-side:top;text-align:left;font:500 .86rem var(--sans);color:var(--muted);padding:.2rem 0 .6rem}
.more{margin:1rem 0 0}

/* site footer */
.site-footer{max-width:90rem;margin:5rem auto 0;padding:2rem 1.25rem 4rem;border-top:1px solid var(--line-soft);font:400 .84rem/1.6 var(--sans);color:var(--muted)}
.site-footer p{margin:.2rem 0}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* language chip */
.lang{flex:none;font:600 .74rem/1 var(--sans);letter-spacing:.06em;padding:.45rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--ink)!important}
.lang:hover{border-color:var(--ink)}
@media (pointer:coarse){.lang{padding:.8rem .75rem}}

/* the reader's place: share row and the way back */
.placeshare{margin:.8rem 0 .2rem;padding-top:.7rem;border-top:1px solid var(--line-soft)}
.placeshare .share-label{display:block;margin:0 0 .45rem}
.clear{display:inline-flex;align-items:center;gap:.35rem;font:500 .84rem var(--sans);padding:.5rem .8rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;min-height:36px}
.clear:hover{border-color:var(--ink)}
@media (pointer:coarse){.clear{min-height:44px}}
.whole{position:absolute;left:.6rem;bottom:.6rem;z-index:2;background:color-mix(in srgb,var(--card) 92%,transparent)}
.field{display:flex;gap:.5rem;align-items:stretch}
.field .inwrap{position:relative;flex:1;min-width:0}
.field .clear{flex:none;border-radius:12px}
.pa{margin:.6rem 0 0}
