/* Proposed map overrides; load after campaign.css. */
#map{touch-action:auto;-webkit-tap-highlight-color:transparent}
#mapReset{position:absolute;z-index:14;inset:auto;margin:0;padding:8px 15px;min-height:44px;border:1px solid #8d765044;border-radius:999px;background:#17130fdd;color:#eac785;font:12px 'Open Sans',sans-serif;backdrop-filter:blur(6px);cursor:pointer}
#mapReset:hover{border-color:#d5af70;background:#251e14}
#mapReset[hidden]{display:none!important}
#stage .stats-dock{bottom:82px}
#stage .pin .last-glow{fill:none;stroke:#f6cd7d;stroke-width:1;vector-effect:non-scaling-stroke;opacity:0;pointer-events:none}
#stage .pin.last-read .last-glow{opacity:.75}
#stage .pin.last-read .dot{fill:#fff6df!important}
#stage .pin.last-read .halo{opacity:.95!important;transform:scale(1.08)}
#stage .pin .last-glow{transition:opacity .2s ease}
#map:focus-visible{outline:1px solid #ad8d56;outline-offset:-3px}
@media(max-width:760px),(max-width:1024px) and (max-height:600px) and (any-pointer:coarse){
 #stage .stats-dock{position:relative;bottom:auto;grid-row:4}
 /* Keep lights distinct on the small world view, with the same large tap area. */
 #stage .pin .halo{opacity:.6!important;transform:scale(.8)}
 #stage .pin:is(:hover,.active,.last-read) .halo{opacity:.9!important;transform:scale(1)}
 #stage .pin.last-read .last-glow{opacity:.85;stroke-width:.9}
 #stage header.ui{padding:20px 22px 8px!important;gap:14px!important}
 #stage header h1{margin-top:8px}
 #stage .lede{margin-top:10px}
 #stage .lede .belight{margin-top:10px}
 #stage header .top-social{margin-top:4px}
}
@media(max-width:1024px) and (max-height:600px){
 body.alm-touch #stage .stats-dock{position:relative;bottom:auto;grid-row:4}
 body.alm-touch #stage .pin .halo{opacity:.6!important;transform:scale(.8)}
 body.alm-touch #stage .pin:is(:hover,.active,.last-read) .halo{opacity:.9!important;transform:scale(1)}
 body.alm-touch #stage .pin.last-read .last-glow{opacity:.85;stroke-width:.9}
 body.alm-touch #stage header.ui{padding:20px 22px 8px!important;gap:14px!important}
 body.alm-touch #stage header h1{margin-top:8px}
 body.alm-touch #stage .lede{margin-top:10px}
 body.alm-touch #stage .lede .belight{margin-top:10px}
 body.alm-touch #stage header .top-social{margin-top:4px}
}
@media(prefers-reduced-motion:reduce){#stage .pin .last-glow{transition:none}}

/* Non-modal reader: no full-screen blocker over the map. Forms stay modal. */
#panel .p-head,#panel .p-nav{flex:none}
#panel .p-body{flex:1;min-height:0}
#panel .p-tools{display:flex;align-items:center;gap:10px}
#pExpand{display:none;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--ink)}
#panel .reader-hint{flex:none;margin:10px 32px 0;font-size:12px;line-height:1.4;color:var(--muted)}
#panel .p-body:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
body.alm-touch #panel{inset:auto 0 0;width:100%;height:44dvh;min-height:min(300px,54dvh);max-height:85dvh;padding-top:0;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.18);transform:translateY(104%)}
body.alm-touch #panel.open{transform:none}
body.alm-touch #panel.reader-expanded{height:85dvh}
body.alm-touch #pExpand{display:block}
body.alm-touch #panel .p-head{padding:8px 16px;border-bottom:1px solid var(--line)}
body.alm-touch #panel .reader-hint{margin:8px 18px 0;font-size:11px}
body.alm-touch #panel .p-body{padding:16px 18px;gap:12px}
body.alm-touch #panel .p-story{font-size:20px;line-height:1.45}
body.alm-touch #panel .p-name{font-size:28px}
body.alm-touch #panel .p-nav{padding:8px 16px max(10px,env(safe-area-inset-bottom))}
@media(max-width:760px){
 #panel{inset:auto 0 0;width:100%;height:44dvh;min-height:min(300px,54dvh);max-height:85dvh;padding-top:0;border:1px solid var(--line);border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.18);transform:translateY(104%)}
 #panel.open{transform:none}#panel.reader-expanded{height:85dvh}
 #pExpand{display:block}
 #panel .p-head{padding:8px 16px;border-bottom:1px solid var(--line)}
 #panel .reader-hint{margin:8px 18px 0;font-size:11px}
 #panel .p-body{padding:16px 18px;gap:12px}
 #panel .p-story{font-size:20px;line-height:1.45}#panel .p-name{font-size:28px}
 #panel .p-nav{padding:8px 16px max(10px,env(safe-area-inset-bottom))}
}
