/* generated by tools/build_metro.py from styles-media.css: pictures point at the light WebP copies (img/w/) */
/* v30: covers, posters, credits (always on, loads after the look stylesheets) */
.rc-art.has-cover{background-color:#16130F;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;aspect-ratio:1}
.rc-art.has-cover::before{content:"";position:absolute;inset:0;left:0;top:0;width:auto;height:auto;aspect-ratio:auto;border-radius:0;opacity:1;
  background:linear-gradient(180deg,rgba(22,19,15,.55),rgba(22,19,15,0) 42%)!important;filter:none;transform:none}
.rc-art.has-cover::after{display:none}
.rc-t{display:block;font:800 18px/1.05 var(--f-d);text-transform:uppercase;letter-spacing:.01em;color:var(--ink);overflow-wrap:anywhere}
.rc-body .rc-cr{margin:0;font-size:10.5px;line-height:1.3}
.rc-cr a{color:inherit;text-decoration:underline}

.sheet-photo.is-cover{background-size:contain;background-color:#16130F}
.sheet-poster{display:block;width:100%;height:auto;max-height:min(62vh,560px);object-fit:contain;background:#16130F;border-radius:8px;border:3px solid #16130F;margin:0 0 6px;box-sizing:border-box}

.ev-open{all:unset;cursor:pointer;overflow-wrap:anywhere}
.ev-open:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.ev-open:focus-visible{outline:3px solid #E30613;outline-offset:2px;border-radius:2px}
.ev-d[data-act]{cursor:pointer}
.evc.has-poster .evc-date{background-position:center 30%}

/* v32: header fits 320–390 px phones (logo + sound + language + My Spot) */
@media (max-width:390px){
  .mast-in{gap:6px}
  .logo{font-size:17px}
  .btn-lang{padding-inline:8px}
  .btn-lang #lang-code{display:none}
  .btn-login{padding-inline:10px;font-size:13px}
}

/* v34: home pass */
.tod-cover{width:76px;height:76px;flex:none;border-radius:6px;background:#16130F center/cover no-repeat;border:3px solid #16130F;box-shadow:3px 3px 0 #16130F}
.nc-img.is-cover{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#16130F!important;filter:none!important}
@media (max-width:640px){
  /* «Fresh!» sticker sits low on the right, clear of the eyebrow and the title */
  .hero .spray{top:auto;bottom:1.5%;right:2%;font-size:25px}
  /* «What's here»: icon + title only, two compact columns */
  .quick{gap:8px}
  .qt{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px 12px;align-items:center}
  .qt svg{grid-row:auto;width:24px;height:24px}
  .qt b{font-size:17px;line-height:1.05}
  .qt span{display:none}
  /* New music on home: a swipe rail like events and DJs */
  #home-rel{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px}
  #home-rel>.rc{scroll-snap-align:start}
  /* New music tab: two columns */
  #rel-fresh{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #rel-fresh .rc-t{font-size:15px}
  #rel-fresh .rc-body{padding:8px 8px 10px}
  #rel-fresh .rc-body .btn{padding:7px 9px;font-size:11px}
}
@media (max-width:360px){ .tabbar a{font-size:9.5px;letter-spacing:-.02em} }

/* v35: UI sounds are off for now, so no sound buttons */
.btn-snd,.lap-snd{display:none!important}

/* v38: QA pass */
html,body{overflow-x:clip}                        /* the rotated ticker made the page wider than the screen */
.chip.warn{white-space:normal;line-height:1.25}   /* «dates differ» chip wraps on phones */
@media (max-width:979px){                         /* tap targets >= 44 px */
  [role=tab],.lc-done{min-height:44px}
  .sec-h .more{display:inline-flex;align-items:center;min-height:44px}
  label.tog{display:inline-flex;align-items:center;gap:8px;min-height:44px}
  label.tog input{width:22px;height:22px}
}

/* v39: header — logo sticker, nav stickers on hover, search button */
.logo{gap:9px}
.logo-mark{width:38px;height:38px;flex:none;transform:rotate(-7deg);filter:drop-shadow(2px 2px 0 #16130F);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.logo:hover .logo-mark,.logo:focus-visible .logo-mark{transform:rotate(8deg) scale(1.08)}
.nav{align-items:center;gap:2px}
.nav a{padding:8px 9px 7px;margin:0;border:0;border-radius:3px;transition:background .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}
.nav a:hover,.nav a:focus-visible{background:#FBF8F2;color:#E30613;transform:rotate(-2.5deg);box-shadow:3px 3px 0 #16130F;outline:none}
.nav a[aria-current="page"]{background:#FBF8F2;color:#E30613;box-shadow:3px 3px 0 #16130F}
.btn-search{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.75);background:transparent;color:#fff;cursor:pointer;transition:background .12s,color .12s}
.btn-search svg{width:20px;height:20px}
.btn-search:hover,.btn-search:focus-visible{background:#FBF8F2;color:#E30613;border-color:#FBF8F2;outline:none}
@media (max-width:980px){ .btn-search{margin-left:auto} .btn-login{margin-left:0} }
@media (max-width:390px){ .logo-mark{width:30px;height:30px} .btn-search{width:36px;height:36px} }
/* search sheet */
.srch-in{width:100%;box-sizing:border-box;font:700 20px/1.2 var(--f-b);padding:14px 16px;border:3px solid #16130F;border-radius:8px;background:#fff;color:#16130F;margin:6px 0 4px;box-shadow:4px 4px 0 #E30613}
.srch-in:focus{outline:none;box-shadow:4px 4px 0 #16130F}
.srch-tip{margin:10px 2px}
.srch-l{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.srch-l a,.srch-l button{all:unset;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%;min-height:44px;padding:9px 12px;border-radius:6px;background:#F1ECE3;cursor:pointer;color:#16130F}
.srch-l a:hover,.srch-l button:hover,.srch-l a:focus-visible,.srch-l button:focus-visible{background:#16130F;color:#fff}
.srch-l b{font:800 17px/1.15 var(--f-d);text-transform:uppercase}
.srch-l small{font-size:12px;opacity:.75}

/* v39: Music source tiles in platform colours */
.st{position:relative;overflow:hidden}
.st-logo{display:inline-flex;align-items:center;gap:8px;font:800 13px/1 var(--f-m);letter-spacing:.08em;text-transform:uppercase}
.st-logo svg{width:26px;height:26px}
.st .st-prem{font-size:11.5px;line-height:1.35;color:#BDB3A6;border-top:1px dashed rgba(255,255,255,.18);padding-top:8px;margin-top:2px}
.st-sp{background:#121212;border-color:#1F3B2A}
.st-sp .st-logo{color:#1DB954}
.st-sp:hover,.st-sp[aria-pressed="true"]{border-color:#1DB954;background:linear-gradient(160deg,#173d27,#121212 60%)}
.st-yt{background:#0F0F0F;border-color:#3A1A1A}
.st-yt .st-logo{color:#fff}
.st-yt:hover,.st-yt[aria-pressed="true"]{border-color:#FF0000;background:linear-gradient(160deg,#4a0b0b,#0F0F0F 60%)}
.st-radio{background:repeating-linear-gradient(-45deg,#E30613 0 14px,#C70511 14px 28px);border-color:#16130F}
.st-radio .st-logo{color:#fff}
.st-radio span,.st-radio .st-prem{color:#FFE3E0}
.st-radio .st-prem{border-top-color:rgba(255,255,255,.35)}
.st-radio:hover,.st-radio[aria-pressed="true"]{border-color:#FBF8F2;box-shadow:inset 0 0 0 2px #FBF8F2}
.onair{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35);animation:onair 1.2s ease-in-out infinite}
@keyframes onair{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){ .onair{animation:none} }
.live-prem{margin:0;padding:8px 12px 10px;font-size:11.5px;line-height:1.35;color:#C9C3C5}
.live-prem a{color:#fff;text-decoration:underline;white-space:nowrap}

/* v40: map pins = mini posters, zoom */
#ev-map{touch-action:pan-y;cursor:grab;overflow:hidden;border-radius:6px}
#ev-map.zoomed{touch-action:none}
#ev-map:active{cursor:grabbing}
.pin{cursor:pointer;outline:none}
.pin-stem{fill:#FBF8F2;stroke:#16130F;stroke-width:1.5}
.pin-frame{fill:#FBF8F2;stroke:#16130F;stroke-width:2.5;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.6))}
.pin.world .pin-frame,.pin.world .pin-stem{fill:#E30613}
.pin-date{fill:#E30613}
.pin.world .pin-date{fill:#16130F}
.pin-day{fill:#fff;font:900 15px/1 "Fira Sans Extra Condensed",sans-serif;text-anchor:middle}
.pin-mon{fill:#fff;font:700 8px/1 "JetBrains Mono",monospace;text-anchor:middle;text-transform:uppercase;letter-spacing:.05em}
.pin-n{fill:#16130F;stroke:#FBF8F2;stroke-width:2}
.pin-nt{fill:#fff;font:800 10px/1 "JetBrains Mono",monospace;text-anchor:middle}
.pin:hover .pin-frame,.pin:focus .pin-frame,.pin.on .pin-frame{stroke:#E9B949;stroke-width:3.5}
.pin.on .pin-n{fill:#E30613}
.map-zoom{position:absolute;right:8px;top:8px;display:grid;gap:6px;z-index:2}
.map-zoom button{width:40px;height:40px;border-radius:6px;border:2px solid #16130F;background:#FBF8F2;color:#16130F;font:900 22px/1 var(--f-d);cursor:pointer;box-shadow:2px 2px 0 #16130F;display:grid;place-items:center}
.map-zoom button:hover,.map-zoom button:focus-visible{background:#E30613;color:#fff;outline:none}
/* v40b: legend = pin frames */
.map-legend i{width:12px;height:14px;border-radius:2px}
.map-legend .lg-ev{background:#FBF8F2;box-shadow:0 0 0 2px #16130F, 0 0 0 3px #FBF8F2}
.map-legend .lg-wl{background:#E30613;box-shadow:0 0 0 2px #16130F, 0 0 0 3px #E30613}
@media (max-width:640px){ .map-zoom{right:6px;top:6px;gap:5px} }

/* v42: spinning vinyl logo */
.logo-vinyl{transform:none;filter:drop-shadow(2px 2px 0 rgba(22,19,15,.85));animation:lvspin 5s linear infinite}
.logo:hover .logo-vinyl,.logo:focus-visible .logo-vinyl,body.playing .logo-vinyl{transform:none;animation-duration:1.8s}
@keyframes lvspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .logo-vinyl{animation:none} }
/* v42: map pop-up card */
.map-pop{position:absolute;z-index:3;width:min(270px,calc(100% - 12px));background:#FBF8F2;color:#16130F;border:3px solid #16130F;border-radius:8px;box-shadow:5px 5px 0 #E30613;overflow:hidden;animation:mpop .18s cubic-bezier(.2,1.4,.4,1) both}
@keyframes mpop{from{transform:scale(.85);opacity:0}}
.map-pop-x{position:absolute;right:4px;top:4px;z-index:1;width:32px;height:32px;border:0;border-radius:50%;background:#16130F;color:#fff;font:900 20px/1 var(--f-d);cursor:pointer}
.map-pop-img{display:block;height:96px;background:#16130F center/cover no-repeat}
.map-pop-b{padding:9px 11px 11px;display:grid;gap:4px}
.map-pop-b>b{font:900 20px/1.05 var(--f-d);text-transform:uppercase;padding-right:30px}
.map-pop-b>small{font-size:12px;color:#6B625A}
.map-pop ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:4px}
.map-pop li button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;width:100%;min-height:40px;padding:6px 8px;border-radius:5px;background:#F1ECE3;font:700 13px/1.2 var(--f-b);cursor:pointer}
.map-pop li button span{font:700 11px/1 var(--f-m);background:#E30613;color:#fff;padding:4px 5px;border-radius:3px;white-space:nowrap}
.map-pop li button:hover,.map-pop li button:focus-visible{background:#16130F;color:#fff}
.map-pop-all{all:unset;cursor:pointer;font:800 14px/1 var(--f-d);text-transform:uppercase;color:#E30613;padding:8px 2px 0;min-height:32px}

/* v44: living vinyl component */
.vinyl{position:relative;display:block;flex:none;border-radius:50%;padding:0;border:0;background:none}
.v-disc,.v-sheen{position:absolute;inset:0;border-radius:50%}
.v-disc{will-change:transform;
  background:
    radial-gradient(circle,#FBF8F2 0 2.6%,#0c0c0d 3% 4%,transparent 4.2%),
    conic-gradient(from 0deg,rgba(255,255,255,.95) 0 7deg,transparent 7deg 360deg) center/62% 62% no-repeat,
    radial-gradient(circle,#E30613 0 29%,#9E0410 29.5% 30.5%,transparent 31%),
    repeating-radial-gradient(circle,#121112 0 1.1px,#1f1d1e 1.1px 2.2px),
    #111;
  -webkit-mask:radial-gradient(circle,#000 0 30%,transparent 30.2%) center/100% 100%, radial-gradient(circle,#000 0 70.7%,#000 70.7%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
/* light reflection: does not rotate, like a lamp on a real record */
.v-sheen{pointer-events:none;background:conic-gradient(from 210deg,transparent 0 6%,rgba(255,255,255,.32) 11%,transparent 17% 50%,rgba(255,255,255,.22) 58%,transparent 64%);
  -webkit-mask:radial-gradient(circle,transparent 0 31%,#000 32% 99%,transparent 100%);mask:radial-gradient(circle,transparent 0 31%,#000 32% 99%,transparent 100%);mix-blend-mode:screen}
.vinyl::after{content:"";position:absolute;inset:-3px;border-radius:50%;pointer-events:none;box-shadow:0 0 10px 1px rgba(255,60,70,.55),0 0 0 1.5px rgba(255,255,255,.75);transition:box-shadow .3s}
body.playing .vinyl::after,.vinyl.fast::after{box-shadow:0 0 18px 4px rgba(255,60,70,.85),0 0 0 1.5px #fff;animation:vglow 1.2s ease-in-out infinite alternate}
@keyframes vglow{to{box-shadow:0 0 8px 1px rgba(255,60,70,.5),0 0 0 1.5px #fff}}
@media (prefers-reduced-motion:reduce){ body.playing .vinyl::after,.vinyl.fast::after{animation:none} }
.vinyl-logo{width:36px;height:36px}
.logo-mark{display:none}
@media (max-width:390px){ .vinyl-logo{width:30px;height:30px} }
/* section header vinyl (replaces the old ::after picture) */
.phead::after{display:none!important}
.ph-vinyl{position:absolute;right:-140px;top:50%;width:400px;height:400px;margin-top:-200px;z-index:1;cursor:grab;touch-action:none}
.ph-vinyl.grab{cursor:grabbing}
.ph-vinyl::after{box-shadow:0 0 34px 6px rgba(227,6,19,.45),0 0 0 3px rgba(255,255,255,.85)}
body.playing .ph-vinyl::after,.ph-vinyl.fast::after{box-shadow:0 0 60px 14px rgba(255,40,50,.7),0 0 0 3px #fff}
.ph-vinyl:focus-visible{outline:3px solid #E9B949;outline-offset:6px}
@media (max-width:980px){ .ph-vinyl{width:230px;height:230px;right:-120px;margin-top:-115px} }
/* v44b: header vinyl sits under the text, still grabbable around it */
.ph-vinyl{z-index:0}
.phead-in{z-index:2;pointer-events:none}
.phead-in>*{pointer-events:auto}
.phead-in>h1,.phead-in>p,.phead-in>.eyebrow{pointer-events:none}

/* v46: vinyl without the white wedge — label ring and a gap between tracks instead */
.v-disc{background:
    radial-gradient(circle,#FBF8F2 0 2.6%,#0c0c0d 3% 4%,transparent 4.2%),
    radial-gradient(circle,transparent 0 17%,rgba(251,248,242,.55) 17.6% 18.6%,transparent 19.2%),
    radial-gradient(circle,#E30613 0 29%,#9E0410 29.5% 30.5%,transparent 31%),
    radial-gradient(circle,transparent 0 50%,#2b2829 50.5% 51.6%,transparent 52.2%),
    repeating-radial-gradient(circle,#121112 0 1.1px,#1f1d1e 1.1px 2.2px),#111!important}

/* v46: ticker = yellow-black hazard tape */
.ticker{background-color:#FFD400!important;color:#16130F;border:0;position:relative;padding-block:7px}
.ticker::before,.ticker::after{content:"";position:absolute;left:0;right:0;height:7px;background:repeating-linear-gradient(-45deg,#16130F 0 9px,#FFD400 9px 18px)}
.ticker::before{top:0}.ticker::after{bottom:0}
.ticker span.tk{color:#16130F;gap:9px}
.ticker span.tk::after{background:#16130F;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}
.ticker span.tk b{background:#16130F;color:#FFD400}
.ticker .tk-w,.ticker .tk-cd,.ticker .tk-now{font:800 11px/1 var(--f-m);font-style:normal;letter-spacing:.06em;text-transform:uppercase;padding:4px 6px;border-radius:3px}
.ticker .tk-w{background:#E30613;color:#fff}
.ticker .tk-cd{background:#16130F;color:#fff}
.ticker .tk-now{background:#E30613;color:#fff;animation:onair 1.2s ease-in-out infinite}

/* v46: «What's here» */
.qt-ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;background:#16130F;color:#fff;grid-row:span 2;transform:rotate(-6deg);box-shadow:2px 2px 0 #E30613;transition:background .15s,color .15s,transform .2s,box-shadow .15s}
.qt .qt-ic svg{width:26px;height:26px;color:inherit;grid-row:auto}
.qt{transition:background .15s,color .15s,transform .18s,box-shadow .18s}
.qt:hover,.qt:focus-visible{background:#E30613!important;color:#fff;outline:none}
.qt:hover b,.qt:hover span,.qt:focus-visible b,.qt:focus-visible span{color:#fff}
.qt:hover .qt-ic,.qt:focus-visible .qt-ic{background:transparent;color:#fff;box-shadow:inset 0 0 0 2.5px #fff;transform:rotate(8deg) scale(1.06)}
@media (max-width:640px){ .qt-ic{width:36px;height:36px} .qt .qt-ic svg{width:20px;height:20px} }

/* v46: event cards — hover floods the picture red */
.evc .evc-date{position:relative;isolation:isolate}
.evc .evc-date::after{content:"";position:absolute;inset:0;z-index:0;background:#E30613;mix-blend-mode:multiply;opacity:0;transition:opacity .2s ease;pointer-events:none}
.evc .evc-date>*{position:relative;z-index:1}
.evc:hover .evc-date::after,.evc:focus-visible .evc-date::after{opacity:.92}
.evc.world:hover .evc-date::after{background:#16130F;opacity:.6}

/* v46: home radio band */
.sec-radio{background:#16130F!important;background-image:radial-gradient(70% 90% at 85% 0%,rgba(227,6,19,.28),transparent 60%),var(--grain)!important;color:#fff}
.sec-radio .sec-h h2{color:#fff}
.sec-radio .sec-h .more{color:#FFD400}
.home-radio{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.home-radio .st b{font-size:26px}
.home-radio .tile.wh{color:#16130F}

/* v46: community */
.cm-band{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:stretch}
.cm-photo{position:relative;min-height:300px;border:3px solid #16130F;border-radius:8px;box-shadow:6px 6px 0 #16130F;background-size:cover;background-position:50% 35%;filter:grayscale(1) contrast(1.1);transition:filter .25s}
.cm-photo::after{content:"";position:absolute;inset:0;background:#E30613;mix-blend-mode:multiply;opacity:.55;transition:opacity .25s}
.cm-photo:hover{filter:none}.cm-photo:hover::after{opacity:0}
.cm-tag{position:absolute;z-index:1;left:14px;bottom:10px;font:400 clamp(30px,4vw,52px)/1 var(--f-spray);color:#FBF8F2;text-shadow:3px 3px 0 #16130F;transform:rotate(-5deg)}
.cm-cards{display:grid;gap:12px;align-content:start}
.cm-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:16px;border:3px solid #16130F;border-radius:8px;background:#FBF8F2;color:#16130F;text-decoration:none;box-shadow:4px 4px 0 #16130F;transition:background .15s,color .15s,transform .15s}
.cm-card.dark{background:#16130F;color:#fff}
.cm-card b{display:block;font:900 26px/1 var(--f-d);text-transform:uppercase;margin-bottom:6px}
.cm-card span{font-size:14px;line-height:1.4}
.cm-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#E30613;color:#fff;font:900 20px/1 var(--f-d)}
.cm-ic svg{width:28px;height:28px}
.cm-ic.vs{background:#FFD400;color:#16130F;transform:rotate(-8deg)}
.cm-card:hover,.cm-card:focus-visible{background:#E30613;color:#fff;transform:translate(-2px,-2px);outline:none}
.cm-card:hover .cm-ic{background:#16130F}
.cm-go{justify-self:start;font-size:18px;padding:14px 22px}
@media (max-width:760px){ .cm-band{grid-template-columns:minmax(0,1fr)} .cm-photo{min-height:220px} }
/* v46b fixes */
.cm-photo{filter:none;background-color:#E30613;background-blend-mode:luminosity}
.cm-photo::after{display:none}
.cm-photo:hover{background-blend-mode:normal}
.cm-card span{font-size:inherit}
.cm-t>span{font-size:14px;line-height:1.4}
.cm-card .cm-ic{font:900 22px/1 var(--f-d);letter-spacing:.02em}
@media (min-width:1100px){ .home-radio{grid-template-columns:repeat(4,minmax(0,1fr))} }
@media (min-width:641px) and (max-width:1099px){ .home-radio{grid-template-columns:repeat(2,minmax(0,1fr))} }
.cm-ic{display:flex!important;align-items:center;justify-content:center;text-align:center}

/* v47: ticker — faster, the stripes run too */
.ticker-track{animation-duration:34s!important}
.ticker::before,.ticker::after{background-size:25.46px 7px;animation:tape .9s linear infinite}
.ticker::after{animation-direction:reverse}
@keyframes tape{to{background-position:25.46px 0}}
@media (prefers-reduced-motion:reduce){ .ticker::before,.ticker::after{animation:none} }

/* v47: home radio back on a light band */
.sec-radio{background:revert-layer!important;background-image:none!important;color:inherit}
.sec-radio .sec-h h2{color:inherit}.sec-radio .sec-h .more{color:var(--red)}
@media (min-width:1100px){ .home-radio{grid-template-columns:repeat(3,minmax(0,1fr))} }
.home-radio .st{box-shadow:4px 4px 0 #16130F}

/* v47: event cards — whole poster in its own colours, blurred copy behind, red flood on hover */
.evc.has-poster .evc-date{min-height:210px;overflow:hidden;background:linear-gradient(180deg,transparent 52%,rgba(14,12,10,.88)),var(--ph) center/contain no-repeat,#0E0C0A!important;background-blend-mode:normal!important}
.evc.has-poster .evc-date::before{content:"";position:absolute;inset:-20px;z-index:-1;background:var(--ph) center/cover no-repeat;filter:blur(16px) brightness(.45) saturate(1.2)}
.evc:hover .evc-date{background-color:#16130F}
.evc:not(.has-poster):hover .evc-date{background-image:var(--halftone-ph),linear-gradient(180deg,rgba(22,19,15,.15),rgba(22,19,15,.85)),var(--ph,url("img/w/photos/4.webp"))!important}
.evc:hover .evc-date::after,.evc:focus-visible .evc-date::after{opacity:.85}
.evc.world:hover .evc-date::after{background:#E30613;opacity:.85}

/* v47: map pins + full screen */
.pin-bg{fill:#0E0C0A}
.map-zoom button[data-mz="full"]{font-size:20px}
.mapwrap.map-full{position:fixed;inset:0;z-index:300;border-radius:0;overflow:auto;padding:14px;background-color:#0E0C0A}
.mapwrap.map-full #ev-map{max-width:none}
.mapwrap.map-full .map-zoom{position:fixed;right:18px;top:18px}

/* v47: vinyl — no neon; split label so the spin is obvious */
.vinyl::after,body.playing .vinyl::after,.vinyl.fast::after,.ph-vinyl::after,body.playing .ph-vinyl::after,.ph-vinyl.fast::after{box-shadow:0 0 0 1.5px rgba(255,255,255,.55),0 4px 10px rgba(0,0,0,.45);animation:none}
.ph-vinyl::after{box-shadow:0 0 0 3px rgba(255,255,255,.7),0 14px 30px rgba(0,0,0,.55)}
.v-disc{background:
    radial-gradient(circle,#0c0c0d 0 2.4%,#FBF8F2 2.6% 3.6%,transparent 3.8%),
    radial-gradient(circle,transparent 0 21.5%,#0c0c0d 22% 22.8%,transparent 23.2%),
    linear-gradient(90deg,transparent 0 56%,rgba(14,12,10,.55) 56% 57.5%,transparent 57.5% 60%,rgba(14,12,10,.55) 60% 61.5%,transparent 61.5% 64%,rgba(14,12,10,.55) 64% 65%,transparent 65%) center/41% 41% no-repeat,
    conic-gradient(#E30613 0 180deg,#FBF8F2 180deg 360deg) center/41% 41% no-repeat,
    radial-gradient(circle,transparent 0 50%,#2e2b2c 50.5% 51.8%,transparent 52.4%),
    radial-gradient(circle,transparent 0 71%,#2e2b2c 71.5% 72.4%,transparent 73%),
    repeating-radial-gradient(circle,#121112 0 1.1px,#1f1d1e 1.1px 2.2px),#111!important;
  -webkit-mask:radial-gradient(circle,#000 0 70.6%,transparent 70.8%);mask:radial-gradient(circle,#000 0 70.6%,transparent 70.8%)}
.v-disc::before{content:"";position:absolute;inset:29.5%;border-radius:50%;box-shadow:0 0 0 1.5px #9E0410}
.vinyl-next{width:72px;height:72px}
/* v47b */
.evc.has-poster .evc-date{background:#0E0C0A!important}
.evc .evc-poster{position:absolute!important;inset:0;z-index:0!important;background:center/contain no-repeat}
.evc .evc-date::after{z-index:1}
.evc .evc-date>b,.evc .evc-date>span:not(.evc-poster){position:relative;z-index:2}
.evc.has-poster .evc-date>b,.evc.has-poster .evc-date>span:not(.evc-poster){text-shadow:0 2px 8px rgba(0,0,0,.85)}
.evc.has-poster .evc-date{box-shadow:inset 0 -70px 50px -30px rgba(14,12,10,.9)}
/* v47d: round split label on its own layer (rotates with the disc) */
.v-disc{background:
    radial-gradient(circle,transparent 0 50%,#2e2b2c 50.5% 51.8%,transparent 52.4%),
    radial-gradient(circle,transparent 0 71%,#2e2b2c 71.5% 72.4%,transparent 73%),
    repeating-radial-gradient(circle,#121112 0 1.1px,#1f1d1e 1.1px 2.2px),#111!important}
.v-disc::before{content:"";position:absolute;inset:29.5%;border-radius:50%;box-shadow:0 0 0 1.5px #0c0c0d;
  background:
    linear-gradient(0deg,transparent 0 30%,rgba(14,12,10,.5) 30% 34%,transparent 34% 42%,rgba(14,12,10,.5) 42% 46%,transparent 46%) right/50% 100% no-repeat,
    linear-gradient(90deg,#E30613 0 50%,#FBF8F2 50% 100%)}
.v-disc::after{content:"";position:absolute;inset:47.4%;border-radius:50%;background:#0c0c0d;box-shadow:0 0 0 1px #FBF8F2}
/* v48: news photos in their own colours, cropped to fill */
.nc-img.is-photo{background-size:cover!important;background-position:center!important;filter:none!important;background-blend-mode:normal!important}

/* v49: ticker slow */
.ticker-track{animation-duration:70s!important}
.ticker::before,.ticker::after{animation-duration:6s}
/* v49: event cards — black-and-white photo again, red laid over it on hover */
.evc .evc-poster{display:none!important}
.evc.has-poster .evc-date,.evc:hover .evc-date{min-height:116px;box-shadow:none;background-color:#16130F!important;background-image:var(--halftone-ph),linear-gradient(180deg,rgba(22,19,15,.15),rgba(22,19,15,.85)),var(--ph,url("img/w/photos/4.webp"))!important;background-size:5px 5px,100% 100%,cover!important;background-position:0 0,0 0,center 30%!important;background-repeat:repeat,no-repeat,no-repeat!important;background-blend-mode:normal,normal,luminosity!important}
.evc.has-poster .evc-date::before{display:none}
.evc.world .evc-date,.evc.world:hover .evc-date{background-color:#E30613!important;background-image:var(--halftone-ph),linear-gradient(180deg,rgba(227,6,19,.3),rgba(150,4,14,.9)),var(--ph,url("img/w/photos/1.webp"))!important}
.evc:hover .evc-date::after,.evc:focus-visible .evc-date::after{background:#E30613;opacity:.8}
.evc.world:hover .evc-date::after{background:#16130F;opacity:.45}
.evc .evc-date>b,.evc .evc-date>span{text-shadow:0 2px 10px rgba(0,0,0,.4)}
/* v49: home radio tiles side by side */
.split2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){ .split2{grid-template-columns:minmax(0,1fr)} }
/* v49: vinyl — white label, one clear black stripe from the centre */
.v-disc::before{background:linear-gradient(#0c0c0d,#0c0c0d) right center/50% 9% no-repeat,#FBF8F2!important;box-shadow:0 0 0 1.5px #0c0c0d}
/* v49: cypher photo credit */
.cm-photo-w{display:grid;gap:6px}
.cm-cred{margin:0;font-size:11px;color:var(--muted)}
.cm-cred a{color:inherit}
/* v50: playlist stats */
.plc-stat{font:700 12px/1.2 var(--f-m);color:#16130F;letter-spacing:.02em}
.plc-stat:empty{display:none}

/* v51 bright v47c tile colours taken out in v62 (Rick: back to the style before) — see _backup/styles-media_before_v62.css */

/* v51 */
.ticker-track{animation-duration:110s!important}
.ticker::before,.ticker::after{animation-duration:10s!important}
.sec-radio{background:revert!important;background-image:none!important;color:inherit}
.sec-radio .sec-h h2{color:inherit}.sec-radio .sec-h .more{color:var(--red)}
.home-radio{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
@media (min-width:1000px){ .home-radio{grid-template-columns:repeat(3,minmax(0,1fr))} }
.home-radio .st{box-shadow:4px 4px 0 #16130F}
/* v53: event video */
.ev-vid{position:relative;aspect-ratio:16/9;margin:4px 0 8px;border:3px solid #16130F;border-radius:8px;overflow:hidden;background:#000}
.ev-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* v55: sign-in, gate, me-strip */
.btn-login{display:inline-flex;align-items:center;gap:8px}
.au-pic{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;border:2px solid #16130F;background:#16130F;color:#fff;display:inline-grid;place-items:center;font:800 11px/1 var(--f-d)}
.au-pic.big{width:64px;height:64px;font-size:22px;border-width:3px;box-shadow:3px 3px 0 #E30613}
.auth-perks{margin:8px 0 14px;padding-left:20px;display:grid;gap:6px;font-size:15px}
.auth-btns{display:grid;gap:10px;justify-items:start}
.auth-g{background:#fff!important;color:#16130F!important;border:2px solid #16130F!important;display:inline-flex;align-items:center;gap:10px;font-weight:800}
.auth-g svg{width:20px;height:20px}
.auth-sp{background:#1DB954!important;color:#0B0B0B!important;opacity:.45;cursor:not-allowed}
.auth-note{font-size:12px;margin-top:12px}
.prof-form{display:grid;gap:12px;margin-top:10px}
.gate-card{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;border:3px dashed #16130F;border-radius:10px;background:repeating-linear-gradient(-45deg,#FBF8F2 0 14px,#F1ECE3 14px 28px)}
.gate-card b{display:block;font:900 22px/1.05 var(--f-d);text-transform:uppercase}
.gate-card small{display:block;margin-top:4px;font-size:13px;color:#4A433C}
.gate-ic{font-size:30px}
@media (max-width:640px){ .gate-card{grid-template-columns:minmax(0,1fr)} }
section[data-view="spot"].is-locked > :not(.gate){display:none!important}
.gate-big{padding:clamp(40px,8vw,90px) 16px;display:grid;gap:12px;max-width:820px}
.gate-big h1{font:900 clamp(40px,7vw,80px)/.9 var(--f-d);text-transform:uppercase;margin:0}
.gate-big p{margin:0 0 6px;font-size:17px;max-width:60ch}
.me-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px}
.me-strip b{display:block;font:900 26px/1 var(--f-d);text-transform:uppercase}
.me-strip small{font-size:13px;color:var(--muted)}
.me-act{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){ .me-strip{grid-template-columns:auto minmax(0,1fr)} .me-act{grid-column:1/-1} }

/* v56: person page = game character card */
.pp-hero{position:relative;isolation:isolate;min-height:clamp(320px,46vw,520px);display:flex;align-items:flex-end;background:#16130F center 25%/cover no-repeat;background-blend-mode:luminosity;background-color:#2A0B0C;color:#fff;border-bottom:4px solid #16130F}
.pp-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,12,10,.2) 0%,rgba(14,12,10,.55) 55%,rgba(14,12,10,.95) 100%),linear-gradient(90deg,rgba(227,6,19,.45),transparent 60%)}
.pp-hero-in{padding:22px 16px 26px;display:grid;gap:10px;justify-items:start}
.pp-back{color:#fff;text-decoration:none;font:800 14px/1 var(--f-d);text-transform:uppercase;letter-spacing:.04em;background:rgba(0,0,0,.45);padding:8px 10px;border-radius:4px}
.pp-back:hover{background:#E30613}
.pp-hero .eyebrow{color:#FFD400}
.pp-name{margin:0;font:900 clamp(52px,10vw,124px)/.86 var(--f-st,var(--f-d));text-transform:uppercase;letter-spacing:-.01em;text-shadow:4px 4px 0 #E30613;filter:url(#rough)}
.pp-badges{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pp-cred{position:absolute;right:12px;bottom:8px;max-width:50%;text-align:right}
.pp-cred .credit{margin:0;font-size:10.5px;color:#D6D0D2}.pp-cred a{color:#fff}
.bdg{display:inline-flex;align-items:center;gap:7px;padding:7px 12px 6px;border:3px solid #16130F;border-radius:4px;font:900 15px/1 var(--f-d);letter-spacing:.05em;text-transform:uppercase;box-shadow:3px 3px 0 #16130F;transform:rotate(-3deg)}
.bdg svg{width:18px;height:18px}
.bdg-ver{background:#E30613;color:#fff}
.bdg-dj{background:#16130F;color:#fff;border-color:#E30613;box-shadow:3px 3px 0 #E30613}
.bdg-legend{background:linear-gradient(135deg,#F7D774,#C9962B 55%,#F2D27A);color:#2A1B05;transform:rotate(2.5deg)}
.bdg-open{background:transparent;color:#E9E3D8;border:2px dashed rgba(255,255,255,.6);box-shadow:none;transform:none;font-size:12px}
.bdg-mini{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E30613;color:#fff;border:2px solid #16130F;box-shadow:2px 2px 0 #16130F;z-index:2}
.bdg-mini svg{width:16px;height:16px}
.bdg-mini.legend{background:linear-gradient(135deg,#F7D774,#C9962B);color:#2A1B05}
.pc-art{position:relative}
.pp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:-28px;position:relative;z-index:2}
.pp-stat{background:#16130F;color:#fff;border:3px solid #16130F;border-radius:8px;padding:12px 10px;box-shadow:4px 4px 0 #E30613;display:grid;gap:4px;text-align:center}
.pp-stat b{font:900 clamp(30px,5vw,48px)/1 var(--f-d);color:#FFD400}
.pp-stat span{font:700 11px/1.2 var(--f-m);text-transform:uppercase;letter-spacing:.06em;color:#D6D0D2}
.pp-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding-block:22px 40px}
.pp-main,.pp-side{display:grid;gap:14px;align-content:start}
.pp-card{background:#FBF8F2;border:3px solid #16130F;border-radius:8px;padding:16px;box-shadow:4px 4px 0 #16130F}
.pp-card h3{margin:0 0 10px;font:900 22px/1 var(--f-d);text-transform:uppercase}
.pp-card p{margin:0}
.pp-tl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pp-tl li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:6px;background:#F1ECE3}
.pp-tl li.win{background:#16130F;color:#fff}.pp-tl li.win .pp-y{color:#FFD400}.pp-tl li.win .link{color:#fff}
.pp-y{font:900 20px/1 var(--f-d);color:#E30613}
.pp-ev b{display:block;font:800 15px/1.2 var(--f-b)}.pp-ev small{font-size:12px;opacity:.75}
.pp-list{margin:0;padding-left:18px;display:grid;gap:5px}
.pp-rel{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))!important}
.pp-act{display:grid;gap:10px}
.pp-act .btn{justify-content:center}
.pp-own{font-size:12px}
.pp-pend{margin:0;padding:10px;border:2px dashed #E30613;border-radius:6px;font-weight:700;color:#E30613}
.pp-bdg-info .pp-badges{margin:4px 0 10px}
@media (max-width:900px){ .pp-grid{grid-template-columns:minmax(0,1fr)} .pp-stats{grid-template-columns:repeat(2,minmax(0,1fr))} .pp-cred{position:static;max-width:none;padding:0 16px 10px;text-align:left} }
.pp-hero-in{width:100%;box-sizing:border-box}
.pp-hero + .pp-grid{padding-top:26px}

/* v57: admin */
.btn-admin{display:inline-flex;align-items:center;height:36px;padding:0 12px;border-radius:4px;background:#16130F;color:#FFD400;font:900 14px/1 var(--f-d);text-transform:uppercase;letter-spacing:.06em;text-decoration:none;border:2px solid #FFD400}
.btn-admin[hidden]{display:none}
.adm-head h1{margin:0}
.adm-body{display:grid;gap:14px}
.adm-list{display:grid;gap:10px}
.adm-item{background:#FBF8F2;border:3px solid #16130F;border-radius:8px;padding:12px 14px;box-shadow:3px 3px 0 #16130F;display:grid;gap:8px}
.adm-item.st-pending{border-color:#E30613;box-shadow:3px 3px 0 #E30613}
.adm-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adm-h a{color:inherit;text-decoration:none}.adm-h b{font:900 20px/1 var(--f-d);text-transform:uppercase}
.adm-h small{color:var(--muted);font-size:12px}
.adm-chat{display:grid;gap:6px;justify-items:start}
.adm-msg{margin:0;padding:8px 12px;border-radius:12px 12px 12px 2px;background:#F1ECE3;max-width:640px}
.adm-msg.me{justify-self:end;background:#16130F;color:#fff;border-radius:12px 12px 2px 12px}
.adm-do{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adm-do .inp{min-height:38px}
.adm-row{grid-template-columns:minmax(140px,1fr) auto;align-items:center}
.adm-row a{color:inherit;text-decoration:none}.adm-row b{font:900 18px/1 var(--f-d);text-transform:uppercase}
.adm-row .muted{font-size:12px}
.adm-bdg .bdg{font-size:12px;padding:5px 8px}
.adm-q{width:100%;max-width:520px}
.adm-json{width:100%;font:12px/1.4 var(--f-m);padding:10px;border:2px solid #16130F;border-radius:6px}
.adm-stats{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ann{background:#16130F;color:#FFD400;font:800 16px/1.3 var(--f-b);padding:10px 0;border-bottom:3px solid #FFD400}
.ann[hidden]{display:none}
@media (max-width:640px){ .adm-row{grid-template-columns:minmax(0,1fr)} }

/* v58 */
.chat-say{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.chat-say .inp{flex:1 1 220px;min-width:0}
.adm-msg small{display:block;font-size:11px;opacity:.65;margin-bottom:2px}
.adm-msg.cur{background:#e10600;color:#fff;border-color:#e10600}
.my-claims{padding-top:18px;padding-bottom:6px}
.my-claims h3{font-family:var(--fd,inherit);text-transform:uppercase;letter-spacing:.02em;margin:0 0 10px}
.my-claims .adm-item{margin-bottom:12px}

/* v59 */
.fr{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:start}
.fr-rooms{display:grid;gap:6px;position:sticky;top:84px;max-height:calc(100vh - 100px);overflow:auto;padding:2px 4px 6px 2px}
.fr-rooms h5{margin:12px 0 2px;font:800 11px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fr-r{display:block;width:100%;text-align:left;background:#FBF8F2;border:2px solid #16130F;border-radius:6px;padding:8px 10px;font:inherit;font-size:14px;line-height:1.2;cursor:pointer;color:#16130F}
.fr-r b{font-weight:800}.fr-r small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.fr-r:hover{background:#fff;border-color:#E30613}
.fr-r[aria-current="true"]{background:#E30613;border-color:#E30613;color:#fff}.fr-r[aria-current="true"] small{color:#fff;opacity:.85}
.fr-top{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:14px}
.fr-top h2{margin:0;font:900 34px/1 var(--f-d);text-transform:uppercase}
.fr-sign{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#F1ECE3;border-radius:8px;padding:10px 12px;margin:0 0 12px}
.fr-list{display:grid;gap:10px}
.fr-t{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:#FBF8F2;border:3px solid #16130F;border-radius:8px;padding:12px;box-shadow:3px 3px 0 #16130F;cursor:pointer;color:#16130F;font:inherit;transition:transform .12s,box-shadow .12s}
.fr-t:hover{background:#fff;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #E30613}
.fr-t.k-callout{border-color:#E30613;box-shadow:3px 3px 0 #E30613}
.fr-ic{font-size:26px;text-align:center;line-height:1}
.fr-tb{min-width:0}.fr-tb b{display:block;font-size:17px;line-height:1.25;overflow-wrap:anywhere}
.fr-tb small{color:var(--muted);font-size:12px}
.fr-ev{display:block;margin-top:5px;font-size:13px;font-weight:700}
.fr-n{font:800 13px/1 ui-monospace,monospace;white-space:nowrap}
.fr-body{white-space:pre-wrap;overflow-wrap:anywhere}
.fr-box{background:#F1ECE3;border-radius:8px;padding:10px 12px;margin:10px 0;display:grid;gap:6px}
.fr-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
.fr-posts{display:grid;gap:8px;margin:8px 0 12px}
.fr-posts .adm-msg{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
.fr-pa{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}
.fr-mini{background:none;border:0;padding:0;color:inherit;opacity:.65;font-size:12px;text-decoration:underline;cursor:pointer}
.fr-rules{font-size:12px;color:var(--muted);margin-top:14px}
.fr-hid{opacity:.5}
.fr-my{display:grid;gap:4px}
#fr-rep{flex:1 1 260px;min-width:0;resize:vertical}
@media (max-width:760px){
  .fr{grid-template-columns:1fr;gap:12px}
  .fr-rooms{position:static;display:flex;overflow-x:auto;max-height:none;gap:6px;padding-bottom:8px;scrollbar-width:thin}
  .fr-rooms h5{display:none}.fr-r{flex:0 0 auto;width:auto;white-space:nowrap}.fr-r small{display:none}
  .fr-top h2{font-size:28px}
  .fr-t{grid-template-columns:30px minmax(0,1fr);gap:10px}.fr-ic{font-size:22px}.fr-n{grid-column:2}
}

/* v63: radio tiles in our sticker style + boombox in the middle */
.home-radio,.src-tiles{gap:16px!important}
.home-radio .st,.src-tiles .st{border:3px solid #16130F!important;border-radius:10px;overflow:visible;box-shadow:5px 5px 0 #E30613!important;transition:transform .15s,box-shadow .15s}
.src-tiles{padding:20px 16px 18px!important}
.src-tiles .st{border-color:#3a3530!important}
.home-radio .st:hover,.src-tiles .st:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #E30613!important}
.home-radio .st-sp::after,.src-tiles .st-sp::after,.home-radio .st-yt::after,.src-tiles .st-yt::after{content:"";position:absolute;top:-11px;width:70px;height:20px;background:rgba(238,232,214,.88);box-shadow:0 1px 3px rgba(0,0,0,.25);pointer-events:none}
.home-radio .st-sp::after,.src-tiles .st-sp::after{left:14px;transform:rotate(-6deg)}
.home-radio .st-yt::after,.src-tiles .st-yt::after{right:14px;transform:rotate(5deg)}
.st.bbx{display:block;background:#E30613!important;color:#fff;padding:24px 12px 14px!important;margin-top:8px;box-shadow:5px 5px 0 #16130F!important}
.src-tiles .st.bbx{box-shadow:5px 5px 0 #F3EDE2!important}
.home-radio .st.bbx:hover{box-shadow:7px 7px 0 #16130F!important}
.st.bbx::before{content:"";position:absolute;inset:6px;border:2px dashed rgba(255,255,255,.35);border-radius:6px;pointer-events:none}
.bbx-handle{position:absolute;left:26%;right:26%;top:-18px;height:20px;border:6px solid #16130F;border-bottom:0;border-radius:14px 14px 0 0}
.bbx-body{display:grid;grid-template-columns:76px minmax(0,1fr) 76px;gap:10px;align-items:center}
.bbx-spk{width:76px;height:76px;border-radius:50%;background:#16130F;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #3a3530,inset 0 0 0 9px #16130F,inset 0 0 0 11px #5a524a}
.bbx-spk i{display:block;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#6a625a 0 22%,#16130F 24% 46%,#3a3530 48% 62%,#16130F 64%)}
.bbx-mid{display:grid;gap:6px;justify-items:center;text-align:center;min-width:0}
.bbx-mid .st-logo{color:#fff}
.bbx-mid b{font-size:26px!important;line-height:1;color:#fff}
.bbx-tape{display:flex;align-items:center;gap:8px;background:#16130F;border-radius:6px;padding:6px 10px;border:2px solid #F3EDE2}
.bbx-tape i{display:block;width:16px;height:16px;border-radius:50%;border:3px solid #F3EDE2;border-top-color:#E30613}
.bbx-tape em{display:block;width:34px;height:8px;background:#5a3a2a;border-radius:2px}
.bbx-sub{font-size:12px!important;line-height:1.3;color:#FFE3E0!important}
.bbx .st-prem{font-size:11px!important;text-align:center}
.st.bbx:hover .bbx-spk i{animation:bbxThump .47s ease-in-out 2}
.st.bbx[aria-pressed="true"] .bbx-spk i{animation:bbxThump .47s ease-in-out infinite}
.st.bbx[aria-pressed="true"] .bbx-tape i{animation:bbxSpin 1.4s linear infinite}
.src-tiles .bbx-handle{border-color:#F3EDE2}
@keyframes bbxThump{50%{transform:scale(1.2)}}
@keyframes bbxSpin{to{transform:rotate(360deg)}}
@media (max-width:420px){.bbx-body{grid-template-columns:58px minmax(0,1fr) 58px}.bbx-spk{width:58px;height:58px}.bbx-spk i{width:26px;height:26px}}
@media (prefers-reduced-motion:reduce){.st.bbx .bbx-spk i,.st.bbx .bbx-tape i{animation:none!important}}

/* v63b: the Bronx from above — real streets around 1520 Sedgwick Ave (© OpenStreetMap contributors), faint, behind every section; fixed so it reads as one city under the page */
:root{--bronx:url("img/bg/bronx-streets.svg")}
body{background-image:var(--grain-d),var(--bronx);background-size:auto,1800px auto;background-position:0 0,center top;background-attachment:scroll,fixed}
.sec:not(.alt){background-color:transparent!important}
.sec.alt{background-image:var(--grain-d),var(--bronx),repeating-linear-gradient(90deg,transparent 0 119px,rgba(0,0,0,.035) 119px 121px)!important;background-size:auto,1800px auto,auto!important;background-position:0 0,center top,0 0!important;background-attachment:scroll,fixed,scroll!important}
@media (max-width:760px){body,.sec.alt{background-attachment:scroll!important}body{background-size:auto,1100px auto}.sec.alt{background-size:auto,1100px auto,auto!important}}

/* v64: sections = city blocks over the Bronx streets */
section[data-view] > .sec{margin:26px clamp(8px,2.4vw,30px);border-radius:18px;background-color:rgba(244,239,230,.88)!important;background-image:var(--grain-d)!important;background-attachment:scroll!important;box-shadow:0 0 0 3px #16130F,9px 9px 0 rgba(22,19,15,.16);position:relative}
section[data-view] > .sec.alt{background-color:rgba(220,213,201,.9)!important}
section[data-view] > .sec::before{content:"";position:absolute;top:-12px;left:28px;width:64px;height:20px;background:rgba(238,232,214,.9);box-shadow:0 1px 3px rgba(0,0,0,.2);transform:rotate(-4deg);z-index:2;pointer-events:none}
section[data-view] > .sec:nth-of-type(even)::before{left:auto;right:34px;transform:rotate(3deg)}
@media (max-width:760px){section[data-view] > .sec{margin:16px 8px;border-radius:12px;box-shadow:0 0 0 2.5px #16130F,5px 5px 0 rgba(22,19,15,.16)}}
/* v64: boombox v2 */
.home-radio{padding-top:26px}.src-tiles{padding-top:44px!important}
.st.bbx{margin-top:0;padding-top:26px!important}
.bbx-ant{position:absolute;right:13%;bottom:100%;width:4px;height:44px;background:#16130F;border-radius:2px;transform:rotate(24deg);transform-origin:bottom center;margin-bottom:-4px}
.bbx-ant::after{content:"";position:absolute;top:-5px;left:-3px;width:10px;height:10px;border-radius:50%;background:#16130F}
.src-tiles .bbx-ant,.src-tiles .bbx-ant::after{background:#F3EDE2}
.bbx-keys{position:absolute;left:7%;bottom:100%;display:flex;gap:3px}
.bbx-keys i{display:block;width:17px;height:11px;background:#F3EDE2;border:2px solid #16130F;border-bottom:0;border-radius:3px 3px 0 0}
.bbx-keys i.rec{background:#16130F}
.st.bbx[aria-pressed="true"] .bbx-keys i:first-child{height:7px;margin-top:4px}
.bbx-stk{position:absolute;left:-10px;bottom:14px;z-index:2;background:#FFD400;color:#16130F;font:800 11px/1 var(--f-m);letter-spacing:.08em;padding:4px 7px;border:2px solid #16130F;transform:rotate(-9deg);box-shadow:2px 2px 0 rgba(0,0,0,.35)}
.bbx-spk{background:repeating-radial-gradient(circle at center,#2a2622 0 2px,#16130F 2px 5px)!important;box-shadow:inset 0 0 0 4px #CFC8BD,inset 0 0 0 7px #16130F,0 2px 0 rgba(0,0,0,.35)!important}
.bbx-spk i{width:36px!important;height:36px!important;background:radial-gradient(circle at 40% 38%,#9a9086 0 9%,#3a3530 11% 24%,#16130F 26% 44%,#2e2925 46% 60%,#16130F 62%)!important;box-shadow:0 0 0 3px #CFC8BD}
.bbx-tape{gap:7px}
.bbx-tape em{width:auto!important;height:auto!important;background:#F3EDE2!important;color:#16130F;font:800 9px/1 var(--f-m);letter-spacing:.08em;padding:3px 5px;border-radius:2px;white-space:nowrap;font-style:normal}
.bbx-vu{display:flex;align-items:flex-end;gap:3px;height:14px}
.bbx-vu i{display:block;width:6px;height:30%;background:#FFD400;border-radius:1px}
.bbx-vu i:nth-child(n+6){background:#fff}
.bbx-vu i:nth-child(2){height:45%}.bbx-vu i:nth-child(3){height:35%}.bbx-vu i:nth-child(4){height:55%}.bbx-vu i:nth-child(5){height:40%}
.st.bbx[aria-pressed="true"] .bbx-vu i,.st.bbx:hover .bbx-vu i{animation:bbxVu .5s ease-in-out infinite alternate}
.bbx-vu i:nth-child(2){animation-delay:-.15s!important}.bbx-vu i:nth-child(3){animation-delay:-.3s!important}.bbx-vu i:nth-child(4){animation-delay:-.05s!important}
.bbx-vu i:nth-child(5){animation-delay:-.4s!important}.bbx-vu i:nth-child(6){animation-delay:-.22s!important}.bbx-vu i:nth-child(7){animation-delay:-.35s!important}
@keyframes bbxVu{0%{height:20%}100%{height:100%}}
@media (prefers-reduced-motion:reduce){.bbx-vu i{animation:none!important}}
@media (max-width:760px){.home-radio .st.bbx,.src-tiles .st.bbx{margin-top:30px}}

/* v65: frosted-glass city blocks — the Bronx shows through, text stays sharp */
section[data-view] > .sec{background-color:rgba(244,239,230,.72)!important;background-image:none!important;-webkit-backdrop-filter:blur(7px) saturate(1.15);backdrop-filter:blur(7px) saturate(1.15)}
section[data-view] > .sec.alt{background-color:rgba(222,215,203,.74)!important}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){section[data-view] > .sec{background-color:rgba(244,239,230,.9)!important}}
/* v65: Bronx map page */
.bx-head{background-image:linear-gradient(180deg,rgba(22,19,15,.2),rgba(22,19,15,.85)),url("img/history/bronx-3.jpg")!important;background-size:cover!important;background-position:center 40%!important}
.bx-door{display:inline-flex;align-items:center;gap:10px;justify-self:start;margin-top:6px;background:#FFD400;color:#16130F;border:2px solid #16130F;padding:6px 12px 6px 6px;font:800 13px/1 var(--f-m);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transform:rotate(-1.5deg);box-shadow:3px 3px 0 #16130F}
.bx-door b{background:#16130F;color:#FFD400;padding:4px 6px;border-radius:2px}
.bx-door:hover{transform:rotate(0) translateY(-2px)}
.foot-bx{color:inherit;font-weight:700}
.bx{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.bx-map{position:relative;background:#16130F;background-image:var(--grain);border:3px solid #16130F;border-radius:14px;box-shadow:7px 7px 0 #E30613;overflow:hidden}
.bx-map svg{display:block;width:100%;height:auto}
.bx-stamp{position:absolute;left:14px;top:14px;z-index:2;background:#E30613;color:#fff;font:900 15px/1 var(--f-d);letter-spacing:.06em;padding:7px 10px;transform:rotate(-2deg);box-shadow:3px 3px 0 #000}
.bx-n-arrow{position:absolute;right:14px;top:14px;z-index:2;color:#F3EDE2;font:800 13px/1 var(--f-m);border:2px solid #F3EDE2;padding:6px 8px;border-radius:50%}
.bx-n{fill:#2C2722;stroke:#16130F;stroke-width:1.8;transition:fill .2s;animation:bxIn .6s ease-out both;animation-delay:var(--d)}
.bx-n.park{fill:url(#bxh)}
.bx-n:hover{fill:#423A32}
.bx-n.hot{fill:#4A1612;cursor:pointer;animation:bxIn .6s ease-out both,bxHot 2.6s ease-in-out 1s infinite}
.bx-n.sel{fill:#E30613!important;animation:bxIn .6s ease-out both}
@keyframes bxIn{from{opacity:0}to{opacity:1}}
@keyframes bxHot{50%{fill:#6A1A14}}
.bx-roads{pointer-events:none}
.r-s{fill:none;stroke:#F3EDE2;stroke-opacity:.13;stroke-width:1.2}
.r-p{fill:none;stroke:#F3EDE2;stroke-opacity:.25;stroke-width:1.8}
.r-m{fill:none;stroke:#FFD400;stroke-opacity:.45;stroke-width:2.6}
.bx-pin{cursor:pointer;outline:none}
.bx-pi{animation:bxDrop .55s cubic-bezier(.3,1.6,.6,1) both;animation-delay:calc(var(--i) * 90ms + 400ms)}
@keyframes bxDrop{from{transform:translateY(-40px);opacity:0}to{transform:none;opacity:1}}
.bx-dot{fill:#E30613;stroke:#F3EDE2;stroke-width:3;transition:transform .15s;transform-box:fill-box;transform-origin:center}
.bx-pin.main .bx-dot{fill:#FFD400;stroke:#16130F}
.bx-num{font:800 12px var(--f-m);fill:#fff;text-anchor:middle;pointer-events:none}
.bx-pin.main .bx-num{fill:#16130F}
.bx-lab rect{fill:#F3EDE2;stroke:#16130F;stroke-width:2}
.bx-lab text{font:800 12px var(--f-m);letter-spacing:.06em;fill:#16130F}
.bx-pin:hover .bx-dot,.bx-pin:focus-visible .bx-dot,.bx-pin.on .bx-dot{transform:scale(1.3)}
.bx-pin:hover .bx-lab rect,.bx-pin:focus-visible .bx-lab rect,.bx-pin.on .bx-lab rect{fill:#E30613;stroke:#F3EDE2}
.bx-pin:hover .bx-lab text,.bx-pin:focus-visible .bx-lab text,.bx-pin.on .bx-lab text{fill:#fff}
.bx-radar{fill:none;stroke:#FFD400;stroke-width:2.5;animation:bxRadar 2.6s ease-out infinite}
.bx-radar.b{animation-delay:1.3s}
@keyframes bxRadar{0%{r:12;opacity:.95}100%{r:80;opacity:0}}
.bx-tip{position:absolute;z-index:3;pointer-events:none;background:#16130F;color:#F3EDE2;font:700 12px/1.2 var(--f-m);padding:5px 8px;border:2px solid #F3EDE2;transform:translate(-50%,-140%);white-space:nowrap}
.bx-card{position:sticky;top:88px;background:#FBF8F2;border:3px solid #16130F;border-radius:12px;box-shadow:6px 6px 0 #16130F;overflow:hidden}
.bx-card.pop{animation:bxPop .35s cubic-bezier(.3,1.5,.6,1)}
@keyframes bxPop{from{transform:translateY(10px) rotate(-1deg);opacity:.4}}
.bx-ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#16130F}
.bx-ph i{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15)}
.bx-ph::after{content:"";position:absolute;inset:0;background:#E30613;mix-blend-mode:multiply;opacity:.5}
.bx-n2{position:absolute;left:12px;bottom:10px;z-index:2;background:#FFD400;color:#16130F;font:900 26px/1 var(--f-d);padding:4px 8px;border:2px solid #16130F;transform:rotate(-3deg)}
.bx-cb{padding:14px 16px 16px;display:grid;gap:8px}
.bx-cb h3{font:900 26px/1.05 var(--f-d);text-transform:uppercase;margin:0}
.bx-cb p{margin:0;line-height:1.5}
.bx-go{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.bx-phc{font-size:11px;color:var(--muted)}.bx-phc a{color:inherit}
.bx-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:22px}
.bx-li{display:flex;gap:10px;align-items:center;background:#FBF8F2;border:2px solid #16130F;border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left;font:inherit;color:#16130F;box-shadow:3px 3px 0 #16130F;transition:transform .12s}
.bx-li:hover{transform:translate(-1px,-1px)}
.bx-li b{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#E30613;color:#fff;font:800 12px var(--f-m)}
.bx-li span{display:grid}.bx-li strong{font:800 13px/1.1 var(--f-m);letter-spacing:.04em}.bx-li small{font-size:12px;color:var(--muted)}
.bx-li[aria-pressed="true"]{background:#E30613;color:#fff}.bx-li[aria-pressed="true"] b{background:#fff;color:#E30613}.bx-li[aria-pressed="true"] small{color:#FFE3E0}
.bx-cred{font-size:12px;color:var(--muted);margin-top:16px}.bx-cred a{color:inherit}
@media (max-width:900px){.bx{grid-template-columns:1fr}.bx-card{position:static}.bx-lab{display:none}.bx-stamp{font-size:12px}}
@media (prefers-reduced-motion:reduce){.bx-n,.bx-pi,.bx-radar,.bx-card.pop{animation:none!important}}

/* v66: home blocks more see-through (Rick: the Bronx should show more) */
section[data-view="home"] > .sec{background-color:rgba(244,239,230,.5)!important;-webkit-backdrop-filter:blur(3px) saturate(1.1);backdrop-filter:blur(3px) saturate(1.1)}
section[data-view="home"] > .sec.alt{background-color:rgba(222,215,203,.55)!important}

/* v67: History map of New York */
.hm-sub{margin:-6px 0 16px;color:var(--muted)}
.hm-eras{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.hm-era{flex:0 0 auto;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center;text-align:left;background:#FBF8F2;border:3px solid #16130F;border-radius:8px;padding:8px 12px;cursor:pointer;color:#16130F;font:inherit;box-shadow:3px 3px 0 #16130F;transition:transform .12s}
.hm-era b{font:900 18px/1 var(--f-d);text-transform:uppercase}.hm-era small{grid-column:1;font:700 11px/1.3 var(--f-m);color:var(--muted)}
.hm-era i{grid-row:1 / span 2;grid-column:2;font:800 12px/1 var(--f-m);font-style:normal;background:#16130F;color:#fff;border-radius:999px;padding:5px 8px}
.hm-era:hover{transform:translateY(-2px)}
.hm-era[aria-selected="true"]{background:#E30613;color:#fff;box-shadow:3px 3px 0 #16130F}.hm-era[aria-selected="true"] small{color:#FFE3E0}.hm-era[aria-selected="true"] i{background:#fff;color:#E30613}
.hm-stage{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}
.hm-map{position:relative;aspect-ratio:4/3;background:#0F0D0B;border:3px solid #16130F;border-radius:14px;box-shadow:7px 7px 0 #E30613;overflow:hidden;touch-action:none;cursor:grab}
.hm-map:active{cursor:grabbing}
.hm-map svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.hm-water{fill:#0F0D0B}
.hm-n{fill:#2C2722;stroke:#16130F;stroke-width:1.4;vector-effect:non-scaling-stroke;transition:fill .2s}
.hm-n.park{fill:url(#hmh)}
.hm-n:hover{fill:#3E362F}
.hm-n.sel{fill:#E30613}
.hm-roads{pointer-events:none}
.hm-roads .r-t{fill:none;stroke:#F3EDE2;stroke-opacity:.18;stroke-width:1.2;vector-effect:non-scaling-stroke}
.hm-roads .r-m{fill:none;stroke:#FFD400;stroke-opacity:.42;stroke-width:2;vector-effect:non-scaling-stroke}
.hm-lbl{font-family:var(--f-d);font-weight:900;fill:#F3EDE2;fill-opacity:.14;letter-spacing:.12em;pointer-events:none}
.hm-pin{cursor:pointer;outline:none}
.hm-pin.ghost .hm-dot{fill:#6A625A;stroke:#16130F;stroke-width:2}
.hm-pin.ghost:hover .hm-dot{fill:#F3EDE2}
.hm-pi{animation:bxDrop .5s cubic-bezier(.3,1.6,.6,1) both;animation-delay:calc(var(--i) * 70ms + 250ms)}
.hm-dot{fill:#E30613;stroke:#F3EDE2;stroke-width:3;transform-box:fill-box;transform-origin:center;transition:transform .15s}
.hm-num{font:800 12px var(--f-m);fill:#fff;text-anchor:middle;pointer-events:none}
.hm-lab{display:none}.hm-lab rect{fill:#F3EDE2;stroke:#16130F;stroke-width:2}.hm-lab text{font:800 12px var(--f-m);letter-spacing:.04em;fill:#16130F}
.hm-pin:hover .hm-lab,.hm-pin:focus-visible .hm-lab,.hm-pin.on .hm-lab{display:inline}
.hm-pin.on .hm-dot{fill:#FFD400;stroke:#16130F;transform:scale(1.3)}.hm-pin.on .hm-num{fill:#16130F}
.hm-pin.on .hm-lab rect{fill:#E30613;stroke:#F3EDE2}.hm-pin.on .hm-lab text{fill:#fff}
.hm-stamp{position:absolute;left:14px;top:14px;z-index:2;display:grid;gap:2px;background:#E30613;color:#fff;padding:7px 12px 8px;transform:rotate(-2deg);box-shadow:3px 3px 0 #000;pointer-events:none}
.hm-stamp b{font:900 20px/1 var(--f-d);text-transform:uppercase}.hm-stamp small{font:700 11px/1 var(--f-m);letter-spacing:.08em}
.hm-ctl{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;gap:6px}
.hm-ctl button{min-width:36px;height:36px;border-radius:8px;border:2px solid #F3EDE2;background:#16130F;color:#F3EDE2;font:800 16px/1 var(--f-m);cursor:pointer;padding:0 10px}
.hm-ctl button:hover{background:#E30613;border-color:#E30613}
.hm-tip{position:absolute;z-index:3;pointer-events:none;background:#16130F;color:#F3EDE2;font:700 12px/1.2 var(--f-m);padding:5px 8px;border:2px solid #F3EDE2;transform:translate(-50%,-150%);white-space:nowrap}
.hm-card{position:sticky;top:88px;background:#FBF8F2;border:3px solid #16130F;border-radius:12px;box-shadow:6px 6px 0 #16130F;overflow:hidden}
.hm-card.pop{animation:bxPop .35s cubic-bezier(.3,1.5,.6,1)}
.hm-ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#16130F}
.hm-ph i{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.15)}
.hm-ph::after{content:"";position:absolute;inset:0;background:#E30613;mix-blend-mode:multiply;opacity:.5;pointer-events:none}
.hm-ph.none{background:#16130F;background-image:var(--grain);display:grid;place-items:center}
.hm-ph.none em{font:900 34px/1 var(--f-d);color:#F3EDE2;opacity:.22;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.hm-ph.none::after{opacity:.2}
.hm-n2{position:absolute;left:12px;bottom:10px;z-index:2;background:#FFD400;color:#16130F;font:900 26px/1 var(--f-d);padding:4px 8px;border:2px solid #16130F;transform:rotate(-3deg)}
.hm-cb{padding:14px 16px 16px;display:grid;gap:8px}
.hm-cb h3{font:900 25px/1.05 var(--f-d);text-transform:uppercase;margin:0}
.hm-year{font:800 13px/1 var(--f-m);color:#E30613;display:flex;gap:8px;align-items:center}
.hm-cb p{margin:0;line-height:1.5}
.hm-src{display:flex;flex-wrap:wrap;gap:10px;font-size:13px}
.hm-phc{font-size:11px;color:var(--muted)}.hm-phc a{color:inherit}
.hm-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;padding-top:10px;border-top:2px dashed rgba(22,19,15,.2)}
.hm-nav span{font:800 13px/1 var(--f-m)}
.hm-nav .btn{min-width:46px;font-size:20px}
.hm-strip{display:flex;gap:8px;overflow-x:auto;padding:16px 2px 6px;scrollbar-width:thin}
.hm-chip{flex:0 0 auto;display:flex;gap:8px;align-items:center;background:#FBF8F2;border:2px solid #16130F;border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;font:inherit;font-size:13px;color:#16130F}
.hm-chip b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#E30613;color:#fff;font:800 11px var(--f-m)}
.hm-chip strong{font:800 12px var(--f-m);margin-right:6px}
.hm-chip[aria-pressed="true"]{background:#16130F;color:#fff}.hm-chip[aria-pressed="true"] b{background:#FFD400;color:#16130F}
.hm-cred{font-size:12px;color:var(--muted);margin-top:10px}.hm-cred a{color:inherit}
@media (max-width:900px){.hm-stage{grid-template-columns:1fr}.hm-map{aspect-ratio:1/1}.hm-card{position:static}.hm-stamp b{font-size:16px}}
@media (prefers-reduced-motion:reduce){.hm-pi,.hm-card.pop{animation:none!important}}

/* v68: History = one story */
#hist-eras{display:none!important}
.hm-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.hm-top .hm-eras{flex:1 1 520px;min-width:0}
.hm-play{flex:0 0 auto;margin-top:4px;box-shadow:3px 3px 0 #16130F}
.hm-play[aria-pressed="true"]{background:#16130F!important;border-color:#16130F!important}
.hm-era u{text-decoration:none;font:800 12px/1 var(--f-m);opacity:.6;margin-right:4px;vertical-align:2px}
.hm-map > svg{opacity:0;transition:opacity .45s;pointer-events:none}
.hm-map > svg.on{opacity:1;pointer-events:auto}
.hm-n.us{fill:#2C2722;stroke:#4A423A;stroke-width:1}
.hm-n.us:hover{fill:#3E362F}
.hm-nyc rect{fill:#E30613;stroke:#F3EDE2;stroke-width:2}.hm-nyc text{font:800 13px var(--f-m);fill:#fff}.hm-nyc{cursor:pointer}
.hm-ctl button[aria-pressed="true"]{background:#E30613;border-color:#E30613}
.hm-stamp small:first-child{opacity:.85}
.hm-intro{background:#E30613!important;display:grid;place-items:center}
.hm-intro::after{display:none}
.hm-intro em{font:900 120px/1 var(--f-d);color:#fff;font-style:normal;opacity:.95;text-shadow:5px 5px 0 #16130F}
.hm-intro .hm-n2{font-size:18px}
.hm-note{font-size:13px;background:#FFF6CC;border-left:4px solid #FFD400;padding:6px 10px}
.hm-cb .chips{display:flex;flex-wrap:wrap;gap:6px}
.hm-ruler{margin-top:18px;padding:6px 4px 26px}
.hr-line{position:relative;height:30px;border-bottom:3px solid #16130F}
.hr-tick{position:absolute;bottom:-22px;transform:translateX(-50%);font:700 11px/1 var(--f-m);color:var(--muted)}
.hr-tick::before{content:"";position:absolute;left:50%;top:-10px;width:2px;height:8px;background:#16130F}
.hr-dot{position:absolute;bottom:4px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid #16130F;background:#BDB3A6;cursor:pointer;padding:0;transition:transform .15s}
.hr-dot.cur{background:#E30613;width:14px;height:14px;margin-left:-7px}
.hr-dot.on{background:#FFD400;transform:scale(1.5);z-index:2}
.hr-dot:hover{transform:scale(1.4)}

/* v69b: area instead of a pin */
.hm-area{fill:#E30613;fill-opacity:.14;stroke:none;pointer-events:none}
.hm-area-c{fill:none;stroke:#FFD400;stroke-width:2.5;stroke-dasharray:8 7;vector-effect:non-scaling-stroke;pointer-events:none;animation:hmSpin 30s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes hmSpin{to{transform:rotate(360deg)}}
.hm-areatag{display:inline-block;margin-left:6px;background:#FFF6CC;color:#16130F;padding:2px 6px;border-radius:3px;font-weight:700}
.hm-chip.approx b{background:transparent;color:#E30613;border:2px dashed #E30613}

/* v70: chapter palettes, attributes, wipe, myths, map nav */
[data-era="roots"]{--era:#C8742A;--era2:#F2D7A1;--era-bg:#1E140C;--era-on:#fff}
[data-era="bronx"]{--era:#E30613;--era2:#FFFFFF;--era-bg:#150A09;--era-on:#fff}
[data-era="golden"]{--era:#FFD400;--era2:#FF2D87;--era-bg:#18122B;--era-on:#16130F}
[data-era="global"]{--era:#14B8A6;--era2:#C6F432;--era-bg:#0B1A1B;--era-on:#08201E}
[data-era="revival"]{--era:#D9B44A;--era2:#FFFFFF;--era-bg:#121212;--era-on:#16130F}
#hm .hm-water{fill:var(--era-bg,#0F0D0B);transition:fill .9s}
#hm .hm-map{background:var(--era-bg,#0F0D0B);box-shadow:7px 7px 0 var(--era,#E30613);transition:box-shadow .6s,background .9s}
#hm .hm-n:not(.park):not(.sel){fill:color-mix(in srgb,var(--era,#2C2722) 13%,#2C2722);transition:fill .9s}
#hm .hm-n.sel{fill:var(--era)!important}
#hm .hm-pin:not(.ghost) .hm-dot{fill:var(--era);stroke:var(--era2)}
#hm .hm-pin:not(.ghost) .hm-num{fill:var(--era-on)}
#hm .hm-pin.on .hm-dot{fill:var(--era2);stroke:#16130F}
#hm .hm-pin.on .hm-num{fill:#16130F}
#hm .hm-pin.on .hm-lab rect{fill:var(--era);stroke:var(--era2)}#hm .hm-pin.on .hm-lab text{fill:var(--era-on)}
#hm .hm-stamp{background:var(--era);color:var(--era-on);grid-template-columns:auto auto;column-gap:10px;align-items:center;transition:background .6s}
#hm .hm-stamp .hm-ic{grid-row:1 / span 3;grid-column:1;width:42px;height:42px;color:var(--era2)}
#hm .hm-stamp small,#hm .hm-stamp b{grid-column:2}
.hm-ic{display:block}.hm-ic svg{width:100%;height:100%;display:block}
#hm .hm-intro{background:var(--era)!important;background-image:repeating-linear-gradient(-45deg,transparent 0 22px,rgba(0,0,0,.07) 22px 44px)!important}
#hm .hm-intro em{color:var(--era-on);font-size:58px;position:absolute;right:14px;top:10px;text-shadow:3px 3px 0 #16130F;opacity:1}
#hm .hm-intro .hm-ic.big{width:52%;max-width:180px;color:var(--era2);filter:drop-shadow(5px 5px 0 rgba(0,0,0,.35));animation:hmIcon 5s ease-in-out infinite}
#hm[data-era="roots"] .hm-intro .hm-ic.big{animation:hmSpin 2.2s linear infinite}
@keyframes hmIcon{50%{transform:rotate(-5deg) scale(1.05)}}
#hm .hm-area{fill:var(--era)}#hm .hm-area-c{stroke:var(--era2)}
#hm .hm-ph.none{background:var(--era-bg)}#hm .hm-ph.none em{color:var(--era);opacity:.5}
.hm-era{border-top:6px solid var(--era)!important}
.hm-era[aria-selected="true"]{background:var(--era)!important;color:var(--era-on)!important}
.hm-era[aria-selected="true"] small{color:inherit!important;opacity:.8}
.hm-era[aria-selected="true"] i{background:var(--era-on)!important;color:var(--era)!important}
.hm-chip[aria-pressed="true"] b{background:var(--era)!important;color:var(--era-on)!important}
#hm .hm-chip b{background:var(--era);color:var(--era-on)}
.hr-band{position:absolute;bottom:0;height:12px;background:var(--era);opacity:.3;border-right:2px solid #F3EDE2;transition:opacity .4s}
.hr-band.cur{opacity:1}
.hr-dot{background:#BDB3A6!important}.hr-dot.cur{background:var(--era)!important}.hr-dot.on{background:var(--era2)!important;border-color:#16130F}
.hm-wipe{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:18px;padding:20px;background:var(--era);background-image:repeating-linear-gradient(-45deg,transparent 0 22px,rgba(0,0,0,.09) 22px 44px);color:var(--era-on);animation:hmWipe 1.6s cubic-bezier(.7,0,.3,1) both;pointer-events:none}
.hm-wipe .hm-ic{width:min(26vw,150px);color:var(--era2);filter:drop-shadow(5px 5px 0 rgba(0,0,0,.3));animation:hmIcon .8s ease-in-out infinite}
.hm-wipe div{display:grid;gap:4px}.hm-wipe small{font:800 13px var(--f-m);letter-spacing:.12em;text-transform:uppercase}.hm-wipe b{font:900 clamp(30px,6vw,64px)/1 var(--f-d);text-transform:uppercase}.hm-wipe span{font:800 15px var(--f-m)}
@keyframes hmWipe{0%{clip-path:inset(0 100% 0 0)}28%{clip-path:inset(0 0 0 0)}72%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
.hm-ov{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:3px solid #16130F;background:var(--era,#E30613);color:var(--era-on,#fff);font:900 26px/1 var(--f-d);cursor:pointer;box-shadow:3px 3px 0 #16130F;display:grid;place-items:center;padding:0 0 3px;transition:transform .12s}
.hm-ov:hover{transform:translateY(-50%) scale(1.08)}
.hm-ov.prev{left:10px}.hm-ov.next{right:10px}
.hm-cap{position:absolute;left:12px;right:250px;bottom:12px;z-index:3;display:flex;gap:8px;align-items:center;background:rgba(22,19,15,.88);color:#F3EDE2;border:2px solid var(--era,#E30613);border-radius:8px;padding:6px 10px;font-size:13px;min-height:38px;pointer-events:none}
.hm-cap b{flex:0 0 auto;font:800 12px var(--f-m);color:var(--era)}.hm-cap span{flex:0 0 auto;font:800 12px var(--f-m);color:var(--era2)}
.hm-cap strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hm-prog{position:absolute;left:0;top:0;height:5px;width:0;background:var(--era2,#FFD400);z-index:4}
.hm-prog.run{animation:hmProg 7s linear forwards}
@keyframes hmProg{to{width:100%}}
.hm-myths{display:grid;gap:6px;margin-top:4px}
.hm-myths-h{font:900 16px/1 var(--f-d);text-transform:uppercase;margin:4px 0 2px}
.hm-myth{border:2px solid #16130F;border-radius:8px;background:#fff;overflow:hidden}
.hm-myth summary{cursor:pointer;padding:8px 10px;font-size:14px;list-style:none;display:flex;gap:8px;align-items:baseline}
.hm-myth summary::-webkit-details-marker{display:none}
.hm-myth summary::after{content:"+";margin-left:auto;font-weight:900}
.hm-myth[open] summary::after{content:"−"}
.hm-myth[open] summary > span:last-child{text-decoration:line-through;text-decoration-color:#E30613;color:var(--muted)}
.hm-myth p{margin:0;padding:0 10px 10px;font-size:14px;line-height:1.45}
.hm-m-tag{flex:0 0 auto;font:800 10px/1 var(--f-m);letter-spacing:.08em;text-transform:uppercase;background:#E30613;color:#fff;padding:3px 5px;border-radius:2px;display:inline-block}
.hm-m-tag.ok{background:#16130F;margin-right:6px}
@media (max-width:900px){.hm-cap{right:12px;bottom:60px}.hm-ov{width:42px;height:42px}.hm-ctl{right:8px;bottom:10px;left:8px;justify-content:flex-end}}
#hm .hm-map .hm-ic svg{position:static;inset:auto;width:100%;height:100%;opacity:1;pointer-events:none}
@media (prefers-reduced-motion:reduce){.hm-wipe,.hm-ic,.hm-prog.run{animation:none!important}}
@media (max-width:900px){#hm .hm-map{aspect-ratio:4/5}#hm .hm-stamp{padding:5px 8px;column-gap:6px}#hm .hm-stamp .hm-ic{width:30px;height:30px}#hm .hm-stamp b{font-size:14px}#hm .hm-stamp small{font-size:10px}.hm-ctl button{min-width:34px;height:34px;font-size:14px}}

/* v71: boroughs lens, trail, travelling attribute, year counter */
[data-era="boro"]{--era:#E30613;--era2:#FFD400;--era-bg:#120D0B;--era-on:#fff}
.hm-lens{display:inline-flex;gap:0;margin:0 0 12px;border:3px solid #16130F;border-radius:999px;overflow:hidden;box-shadow:3px 3px 0 #16130F;background:#FBF8F2}
.hm-lens button{border:0;background:transparent;padding:8px 16px;font:800 13px/1 var(--f-m);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:#16130F}
.hm-lens button[aria-selected="true"]{background:#16130F;color:#FFD400}
.hm-bt b{font-size:17px}
#hm .hm-n.bsel:not(.sel){fill:color-mix(in srgb,var(--era,#E30613) 20%,#2C2722)}
.hm-trail{pointer-events:none}
.hm-tr-all{fill:none;stroke:var(--era2,#FFD400);stroke-opacity:.55;stroke-width:3;stroke-dasharray:1 9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hm-tr-done{fill:none;stroke:var(--era2,#FFD400);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.85}
.hm-tr-new{fill:none;stroke:var(--era,#E30613);stroke-linecap:round;stroke-linejoin:round}
.hm-trav{color:var(--era2,#FFD400);pointer-events:none;filter:drop-shadow(0 3px 0 rgba(0,0,0,.55))}
.hm-trav svg{overflow:visible}
.hm-yr{position:absolute;right:16px;top:12px;z-index:2;font:900 46px/1 var(--f-d);color:var(--era,#E30613);-webkit-text-stroke:2px #16130F;text-shadow:3px 3px 0 #16130F;letter-spacing:.02em;pointer-events:none;font-variant-numeric:tabular-nums}
.hm-bintro{display:grid;place-items:center;background:var(--era)!important}
.hm-bintro .hm-bname{position:static!important;font:900 clamp(34px,5vw,54px)/.95 var(--f-d)!important;text-transform:uppercase;color:#fff;text-align:center;padding:0 14px;text-shadow:4px 4px 0 #16130F;transform:rotate(-3deg)}
.hm-chip[data-era] b{background:var(--era)!important;color:var(--era-on)!important}
.hm-chip[aria-pressed="true"]{outline:3px solid var(--era);outline-offset:1px}
@media (max-width:900px){.hm-yr{font-size:30px;right:10px;top:10px}.hm-lens button{padding:7px 12px;font-size:12px}}

/* v72: motion polish */
#hm .hm-n:not(.park):not(.sel):not(.bsel){fill:color-mix(in srgb,var(--era,#2C2722) 9%,#2C2722)}
#hm .hm-n.bsel:not(.sel){fill:color-mix(in srgb,var(--era,#E30613) 14%,#2C2722)}
.hm-tr-new{stroke:var(--era2,#FFD400)!important;opacity:.95}
.hm-tr-done{stroke-opacity:.75}
.hm-trav-idle{transform-box:fill-box;transform-origin:center}
#hm .hm-trav:not(.go)[data-era="roots"] .hm-trav-idle{animation:hmSpin 3.5s linear infinite}
#hm .hm-trav:not(.go)[data-era="bronx"] .hm-trav-idle{animation:travSway 2.4s ease-in-out infinite}
#hm .hm-trav:not(.go)[data-era="golden"] .hm-trav-idle{animation:travBeat .47s ease-in-out infinite}
#hm .hm-trav:not(.go)[data-era="global"] .hm-trav-idle{animation:travFloat 2.8s ease-in-out infinite}
#hm .hm-trav:not(.go)[data-era="revival"] .hm-trav-idle{animation:travSwing 2.6s ease-in-out infinite;transform-origin:50% 0}
@keyframes travSway{50%{transform:rotate(-7deg)}}
@keyframes travBeat{50%{transform:scale(1.08,.93) translateY(3%)}}
@keyframes travFloat{50%{transform:translateY(-8%) rotate(4deg)}}
@keyframes travSwing{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}
.hm-rip{fill:none;stroke:var(--era2,#FFD400);transform-box:fill-box;transform-origin:center;animation:hmRip 1.5s ease-out forwards;pointer-events:none}
@keyframes hmRip{from{transform:scale(.6);opacity:1}to{transform:scale(4.2);opacity:0}}
.hm-yr{display:flex;gap:0}.hm-yr.off{display:none}
.hm-yr .od{display:inline-block;height:1em;overflow:hidden}
.hm-yr .od-s{display:flex;flex-direction:column;transition:transform 1.4s cubic-bezier(.2,.85,.25,1)}
.hm-yr .od:nth-child(2) .od-s{transition-delay:.08s}.hm-yr .od:nth-child(3) .od-s{transition-delay:.16s}.hm-yr .od:nth-child(4) .od-s{transition-delay:.24s}
.hm-yr .od-s i{display:block;height:1em;line-height:1em;font-style:normal}
.hm-wipe{animation-duration:2.4s!important}
.hm-wipe[data-era="roots"] .hm-ic{animation:wipeRoll 2.4s cubic-bezier(.3,0,.2,1) both!important}
.hm-wipe[data-era="bronx"] .hm-ic{animation:wipeDrop 2.4s cubic-bezier(.3,1.4,.5,1) both!important}
.hm-wipe[data-era="golden"] .hm-ic{animation:wipeBeat 2.4s ease-out both!important}
.hm-wipe[data-era="global"] .hm-ic{animation:wipeFlip 2.4s ease-out both!important}
.hm-wipe[data-era="revival"] .hm-ic{animation:wipeSwing 2.4s ease-out both!important;transform-origin:50% 0}
.hm-wipe[data-era="boro"] .hm-ic{animation:wipeDrop 2.4s cubic-bezier(.3,1.4,.5,1) both!important}
@keyframes wipeRoll{0%{transform:translateX(-60vw) rotate(-900deg)}40%{transform:translateX(0) rotate(0)}100%{transform:rotate(180deg)}}
@keyframes wipeDrop{0%{transform:translateY(-120%) scale(.8);opacity:0}30%{transform:none;opacity:1}100%{transform:none}}
@keyframes wipeBeat{0%{transform:scale(.4);opacity:0}25%{transform:scale(1.12);opacity:1}35%,55%,75%{transform:scale(.96)}45%,65%,85%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes wipeFlip{0%{transform:perspective(400px) rotateY(-180deg);opacity:0}35%{transform:perspective(400px) rotateY(0);opacity:1}100%{transform:none}}
@keyframes wipeSwing{0%{transform:translateY(-120%) rotate(30deg);opacity:0}30%{transform:rotate(-14deg);opacity:1}50%{transform:rotate(9deg)}70%{transform:rotate(-4deg)}100%{transform:none}}
#hm .hm-pin.on .hm-lab{display:none}#hm .hm-pin.on:hover .hm-lab,#hm .hm-pin.on:focus-visible .hm-lab{display:inline}
@media (prefers-reduced-motion:reduce){.hm-trav-idle,.hm-rip,.hm-wipe .hm-ic{animation:none!important}.hm-yr .od-s{transition:none}}
