/* On Tour: proportional geography and a small, evidence-backed signal detail. */
#music .globe { z-index:2; }
#music .globe .city-signal {
  display:block; position:absolute; width:24px; height:24px; min-width:0; min-height:0;
  margin:-12px; padding:0; border:0; border-radius:50%; background:transparent;
  box-shadow:none; animation:none; transform:none; z-index:2; cursor:pointer;
}
#music .globe .city-signal:hover,#music .globe .city-signal:focus-visible {
  outline:1px solid #ffd6ed; outline-offset:2px; background:#ff009025;
  box-shadow:0 0 18px #ff00908a;
}
#music .globe .city-signal[aria-expanded=true] { outline:2px solid #fff; outline-offset:3px; z-index:3; }
#music .globe .city-signal[data-verified=true]::after {
  content:''; position:absolute; inset:7px; border:1px solid #fff; border-radius:50%;
  box-shadow:0 0 10px #fff5; pointer-events:none;
}
#music .city-popover {
  position:absolute; z-index:5; width:max-content; max-width:min(248px,calc(100% - 12px));
  padding:11px 16px 12px; border:1px solid #ff75bd9c; border-radius:10px;
  background:linear-gradient(125deg,#21151fee,#090609f2); color:#fff;
  box-shadow:inset 0 1px 0 #fff4,0 0 0 1px #ff00902b,0 8px 25px #000b,0 0 19px #ff009028;
  backdrop-filter:blur(15px); text-align:left; pointer-events:none;
}
#music .city-popover[hidden] { display:none; }
#music .city-popover::after {
  content:''; position:absolute; left:var(--signal-anchor); bottom:-5px; width:8px; height:8px;
  transform:translateX(-50%) rotate(45deg); border-bottom:1px solid #ff75bd9c;
  border-right:1px solid #ff75bd9c; background:#0c080c;
}
#music .city-popover[data-side=below]::after { top:-5px; bottom:auto; transform:translateX(-50%) rotate(225deg); }
#music .city-popover strong { display:block; font:400 22px/1.05 var(--display); color:var(--pink); text-transform:uppercase; }
#music .city-popover span { display:block; margin-top:5px; font:500 13px/1.35 var(--body); color:#fff; text-transform:none; overflow-wrap:anywhere; }
#music .city-popover[data-verified=false] span { color:#c4b9c1; }
/* Portrait tablet: dates above a full-width map, never a tall half-width map. */
@media (min-width:601px) and (max-width:950px) and (min-height:501px) {
  #music .signal-world { display:grid; grid-template-columns:1fr; gap:8px; overflow:visible; }
  #music .tour { grid-area:auto; position:relative; width:100%; margin:0; }
  #music .tour h3 { margin:0 0 12px; }
  #music .tour>.outline-button { position:absolute; top:-5px; right:0; min-height:34px; padding:4px 14px; margin:0; font-size:17px; }
  #music .tour-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0; }
  #music .tour-list a { grid-template-columns:minmax(0,1fr) 14px; grid-template-rows:20px auto auto; gap:3px; min-height:90px; padding:10px; }
  #music .tour-list time { grid-area:1/1; font-size:15px; }
  #music .tour-list strong { grid-area:2/1; font-size:20px; }
  #music .tour-list span { grid-area:3/1; font-size:11px; }
  #music .tour-list b { grid-column:2; grid-row:1/4; }
  #music .globe { grid-area:auto; width:100%; height:auto; aspect-ratio:2/1; min-height:0; max-height:none; margin:4px 0; }
  #music .world-counts { grid-area:auto; width:100%; margin:0; }
  #music .world-counts strong { font-size:32px; }
  #music .world-counts small { font-size:17px; }
  #music .signal-thanks { grid-area:auto; margin:6px 0 0; }
  #music .touch-download-link { margin-top:12px; }
}
@media (max-width:600px) {
  #music .globe { width:100%; height:auto; aspect-ratio:1.8/1; min-height:0; max-height:none; margin:20px 0 8px; }
  #music .city-popover { max-width:min(224px,calc(100% - 12px)); padding:10px 12px; }
  #music .city-popover strong { font-size:21px; }
  #music .city-popover span { font-size:13px; }
}
@media (min-width:951px) and (max-width:1199px) {
  #music .globe { height:auto; aspect-ratio:2/1; min-height:0; max-height:none; margin:16px 0; }
}
@media (prefers-reduced-motion:reduce) { #music .city-popover { animation:none; transition:none; } }

@media (min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music:has(#tour-tab[aria-selected=true]) .music__inner { padding-top:20px; padding-bottom:90px; }
 #music:has(#tour-tab[aria-selected=true]) .eyebrow { margin-bottom:14px; }
 #music:has(#tour-tab[aria-selected=true]) .music-heading { margin-bottom:12px; }
 #music:has(#tour-tab[aria-selected=true]) .touch-music-tabs { margin-bottom:12px; }
 #music .globe { height:clamp(180px,calc(100dvh - 632px),320px); aspect-ratio:auto; }
 #music .tour h3 { margin-bottom:8px; }
 #music .tour-list a { min-height:82px; padding:8px; }
}

#music .tour-event { min-width:0; position:relative; }
#music .tour-empty { grid-column:1/-1; display:flex; flex-direction:column; justify-content:center; min-height:112px; padding:16px; border:1px solid #ffffff26; border-radius:5px; background:linear-gradient(125deg,#1c111bbd,#080708c9); }
#music .tour-empty strong { font:400 24px/1.1 var(--display); color:#fff; }
#music .tour-empty span { font:400 13px/1.4 var(--body); color:#c9bbc5; margin-top:8px; }
#music .tour-attribution { display:block; color:#b9a8b3; font:400 10px/1.4 var(--body); text-decoration:none; margin-top:6px; }
#music .tour-sync-status { font:400 12px/1.4 var(--body); color:#c9bbc5; margin:6px 0; }
#music .tour-sync-status[hidden] { display:none; }
#music .tour-event:has(.tour-ticket) { padding-right:58px; }
#music .tour-list a.tour-ticket { position:absolute; right:0; top:0; bottom:0; display:grid; place-items:center; width:54px; height:auto; min-height:0; padding:4px; color:var(--pink); font:400 15px/1 var(--display); }
@media (min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music .tour-empty { min-height:82px; padding:12px; }
 #music .tour-event:has(.tour-ticket) { padding-right:0; }
 #music .tour-list a.tour-ticket { position:static; width:100%; min-height:24px; }
 #music .tour-attribution { margin-top:3px; }
}

#music .globe .city-signal[hidden] { display:none; }
#music .map-controls { position:absolute; bottom:0; left:0; right:0; display:flex; gap:5px; justify-content:center; align-items:center; z-index:6; }
#music .map-controls button,#music .map-controls select { height:30px; min-height:30px; border:1px solid #ff00905c; border-radius:5px; background:#130c13ed; color:#f8e6f1; font:500 12px/1 var(--body); padding:0 8px; }
#music .map-controls button { width:32px; font-size:19px; cursor:pointer; }
#music .map-controls select { width:145px; }
#music .map-controls :focus-visible { outline:2px solid #fff; outline-offset:2px; }
#music .map-credit { position:absolute; bottom:34px; right:2px; color:#bda8b7; font:400 9px/1 var(--body); text-decoration:none; z-index:4; }
#music .globe[data-zoom]:not([data-zoom="1"]) canvas { clip-path:inset(0); }

#music .map-controls { bottom:auto; top:0; left:12px; right:auto; }
#music .map-controls button { position:static; inset:auto; flex:none; margin:0; transform:none; animation:none; box-shadow:none; }
#music .map-controls button:hover { border-color:#ff77c4; background:#45102f; }
#music .globe .city-signal[data-verified=true]::after { display:none; }

@media (min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music:has(#tour-tab[aria-selected=true]) .music__inner { padding-bottom:74px; }
}

#music .tour-event strong,#music .tour-event span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#music .tour-event>a:not(.tour-ticket) { min-width:0; }

@media (min-width:951px) and (max-width:1199px) {
 #music .music__inner { padding-bottom:86px; }
 #music .touch-download-link { display:none; }
 #music .signal-world>.free-downloads { display:flex!important; width:max-content; min-height:42px; margin:12px auto 0; padding:8px 20px; font-size:20px; }
 #music .tour-empty { min-height:96px; }
}

@media (min-width:951px) and (max-width:1199px) {
 #music .tour-list { gap:4px; }
 #music .tour-event>a:not(.tour-ticket) { min-height:34px; height:34px; padding:4px 8px; grid-template-columns:76px minmax(0,1fr) minmax(0,1.1fr) 14px; grid-template-rows:1fr; gap:6px; }
 #music .tour-event time { grid-area:1/1; font-size:15px; }
 #music .tour-event strong { grid-area:1/2; font-size:18px; }
 #music .tour-event span { grid-area:1/3; font-size:11px; }
 #music .tour-event b { grid-area:1/4; font-size:18px; }
}

/* Reserve real layout space for the tour header and map tools. */
#music .tour { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto auto; gap:6px 12px; align-items:center; }
#music .tour h3 { grid-area:1/1; margin:0; }
#music .tour>.outline-button { grid-area:1/2; position:static; inset:auto; justify-self:end; align-self:center; margin:0; min-height:32px; }
#music .tour-list { grid-area:2/1/3/-1; margin:0; }
#music .tour-sync-status { grid-area:4/1/5/-1; margin:0; }
#music .tour-attribution { grid-area:3/1/4/-1; margin:0; }
@media (min-width:1101px) {
 #music .music__inner { grid-template-rows:6dvh max-content minmax(0,1fr) 10dvh 5dvh 7dvh; }
 #music .globe { margin-top:12px; height:calc(100% - 12px); }
}

@media (min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music:has(#tour-tab[aria-selected=true]) .music__inner { padding-top:14px; }
 #music .tour { row-gap:4px; }
 #music .tour-empty { min-height:76px; }
 #music .touch-download-link { margin-top:8px; }
}


/* Five date rows are the limit; remaining shows live in the More dialog. */
#music .tour { --gig-row:clamp(32px,4.5dvh,40px); }
#music .tour-list { display:grid; grid-template-columns:1fr; grid-auto-rows:auto; gap:4px; }
#music .tour-list:not([data-empty=true]) { grid-auto-rows:var(--gig-row); }
#music .tour-event { display:grid; grid-template-columns:minmax(0,1fr) 64px; gap:0; padding:0!important; min-width:0; border:1px solid #ffffff29; border-radius:5px; background:linear-gradient(130deg,#191018b3,#080708d9); overflow:hidden; }
#music .tour-event>a.tour-details { display:grid; grid-template-columns:74px minmax(0,.8fr) minmax(0,1.2fr); grid-template-rows:1fr; align-items:center; gap:7px; height:100%; min-height:0; padding:4px 8px; border:0; background:transparent; border-radius:0; margin:0; color:#fff; }
#music .tour-event .tour-event-copy { display:contents; }
#music .tour-event time { grid-area:1/1; font:400 15px/1.05 var(--display); color:#c8bac3; white-space:nowrap; }
#music .tour-event strong { grid-area:1/2; font:400 20px/1.05 var(--display); color:#fff; }
#music .tour-event .tour-event-copy>span { grid-area:1/3; font:400 11px/1.2 var(--body); color:#c8bac3; }
#music .tour-event>a.tour-ticket { position:static; inset:auto; display:grid; place-items:center; width:auto; height:100%; min-height:0; margin:0; padding:0 5px; border:0; border-left:1px solid #ffffff1c; border-radius:0; background:#ffffff04; font:400 15px/1 var(--display); color:#8dccff; white-space:nowrap; }
#music .tour-event:is(:hover,:focus-within,.is-map-selected) { border-color:#2697ffb3; box-shadow:inset 2px 0 #2697ff; background:linear-gradient(130deg,#153451b3,#080b14d9); }
#music .tour-event a:focus-visible { outline:2px solid #8dccff; outline-offset:-2px; }
#music .tour-footer { grid-area:3/1/4/-1; display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:26px; }
#music .tour-footer .tour-attribution { margin:0; }
#music .tour-more { border:1px solid #ff009075; border-radius:5px; background:#230b1b; color:#fff; padding:3px 10px; min-height:28px; font:400 17px/1 var(--display); cursor:pointer; }
#music .tour-more[hidden] { display:none; }
#music .tour-more:hover,#music .tour-more:focus-visible { border-color:#ff8acb; background:#48102e; }
#music .map-controls { inset:0 8px auto auto; width:max-content; max-width:calc(100% - 16px); padding:5px; gap:3px; border:1px solid #ff72b751; border-radius:10px; background:linear-gradient(135deg,#21131ff2,#0b090def); box-shadow:inset 0 1px #ffffff26,0 5px 18px #0008; backdrop-filter:blur(14px); }
#music .map-controls button,#music .map-controls select { height:32px; min-height:32px; border:0; border-radius:6px; background:transparent; }
#music .map-controls select { width:140px; border-right:1px solid #ffffff20; border-radius:5px 0 0 5px; }
#music .map-controls button { width:32px; }
#music .map-controls select option,#music .map-controls optgroup { background:#160c15; color:#fff; }
#music .globe .gig-signal { position:absolute; display:block; z-index:4; width:28px; height:28px; min-width:0; min-height:0; margin:-14px; padding:0; background:transparent; border:0; border-radius:50%; box-shadow:none; transform:none; animation:none; cursor:pointer; }
#music .globe .gig-signal[hidden] { display:none; }
#music .globe .gig-signal:is(:hover,:focus-visible,[aria-expanded=true]) { outline:2px solid #a1dcff; outline-offset:3px; background:#2697ff22; box-shadow:0 0 20px #2697ff80; }
#music .city-popover[data-kind=upcoming] { border-color:#75c6ffbb; box-shadow:inset 0 1px #fff4,0 0 0 1px #2697ff44,0 8px 25px #000b; }
#music .city-popover[data-kind=upcoming] strong { color:#69baff; }
#music .city-popover[data-kind=upcoming]::after { border-color:#75c6ffbb; }

/* The native dialog owns scrolling and focus; the main section stays in place. */
#tour-dialog { box-sizing:border-box; width:min(660px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; margin:auto; overflow:auto; border:1px solid #ff91c67d; border-radius:16px; color:#fff; background:linear-gradient(145deg,#20171ff2,#080709fa 48%,#160811f5); box-shadow:inset 0 1px #fff5,0 24px 90px #000b; overscroll-behavior:contain; }
#tour-dialog::backdrop { background:#000b; backdrop-filter:blur(7px); }
#tour-dialog[open] { animation:tour-dialog-in .25s cubic-bezier(.16,1,.3,1) both; }
.tour-dialog-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px; }
#tour-dialog h2 { margin:0; font:400 42px/1 var(--display); text-transform:uppercase; }
#tour-dialog h2 em { color:var(--pink); font-style:normal; }
#tour-dialog button { flex:none; min-width:44px; min-height:44px; border:1px solid #ff009064; border-radius:8px; background:#ffffff08; color:#fff; font:400 27px/1 var(--body); cursor:pointer; }
#tour-dialog button:disabled { opacity:.28; cursor:default; }
#tour-dialog button:focus-visible,#tour-dialog a:focus-visible { outline:2px solid #ffa0d1; outline-offset:2px; }
#tour-dialog .tour-close { border-radius:50%; }
.tour-more-list { display:grid; gap:7px; padding:0 22px; }
#tour-dialog .tour-event { display:grid; grid-template-columns:minmax(0,1fr) 76px; align-items:stretch; min-width:0; min-height:68px; border:1px solid #ffffff26; border-radius:7px; overflow:hidden; background:#ffffff04; }
#tour-dialog .tour-details { display:grid; grid-template-columns:78px minmax(0,1fr); gap:12px; align-items:center; min-width:0; padding:10px; color:#fff; text-decoration:none; }
#tour-dialog time { font:400 18px/1.2 var(--display); color:#b9aeb7; }
#tour-dialog .tour-event-copy { display:block; min-width:0; }
#tour-dialog .tour-event strong { display:block; font:400 25px/1.05 var(--display); overflow-wrap:anywhere; }
#tour-dialog .tour-event-copy>span { display:block; margin-top:4px; color:#c7bac4; font:400 12px/1.35 var(--body); overflow-wrap:anywhere; }
#tour-dialog .tour-ticket { display:grid; place-items:center; padding:5px; color:#8dccff; border-left:1px solid #ffffff20; text-decoration:none; font:400 19px/1 var(--display); }
.tour-dialog-footer { display:flex; align-items:center; justify-content:center; gap:20px; padding:18px 22px; }
.tour-dialog-footer span { color:#bdafba; font:400 13px/1.2 var(--body); }
@keyframes tour-dialog-in { from {opacity:0;transform:translateY(10px)} to {opacity:1;transform:none} }
@media(prefers-reduced-motion:reduce) { #tour-dialog[open] { animation:none; } }
@media(min-width:601px) and (max-width:1199px) {
 #music .tour { --gig-row:36px; }
 #music .tour-event>a.tour-details { grid-template-columns:65px minmax(0,.9fr) minmax(0,1fr); gap:6px; }
 #music .tour-event time { font-size:14px; }
 #music .tour-event strong { font-size:18px; }
 #music .tour-event .tour-event-copy>span { font-size:11px; }
}
@media(min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .eyebrow { font-size:21px; margin-bottom:10px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading h2 { font-size:52px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading .spray-copy { margin-top:10px; max-width:390px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading { margin-bottom:8px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .touch-music-tabs { margin-bottom:8px; }
 #music:has(.tour[data-event-count="5"]) .globe { height:clamp(150px,calc(100dvh - 650px),260px); }
 #music:has(.tour[data-event-count="5"]) .world-counts strong { font-size:30px; }
 #music:has(.tour[data-event-count="5"]) .signal-thanks { margin-top:3px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .touch-download-link { margin-top:4px; min-height:40px; }
}
@media(max-width:600px) {
 #music .tour { --gig-row:62px; }
 #music .tour-event { grid-template-columns:minmax(0,1fr) 58px; }
 #music .tour-event>a.tour-details { grid-template-columns:58px minmax(0,1fr); gap:8px; padding:7px; }
 #music .tour-event time { font-size:15px; white-space:normal; }
 #music .tour-event .tour-event-copy { display:block; min-width:0; }
 #music .tour-event strong { font-size:22px; }
 #music .tour-event .tour-event-copy>span { display:block; margin-top:4px; font-size:11px; }
 #music .tour-event>a.tour-ticket { font-size:16px; }
 #music .tour-more { min-height:40px; padding:6px 14px; font-size:19px; }
 #music .tour-footer { min-height:40px; }
 #music .globe { margin-top:12px; aspect-ratio:1.6/1; }
 #music .map-controls { top:0; right:0; max-width:100%; }
 #music .map-controls button { width:34px; height:36px; min-height:36px; }
 #music .map-controls select { width:128px; height:36px; min-height:36px; }
 #tour-dialog { width:calc(100vw - 24px); }
 .tour-dialog-header { padding:16px; }
 #tour-dialog h2 { font-size:36px; }
 .tour-more-list { padding:0 12px; }
 #tour-dialog .tour-details { grid-template-columns:58px minmax(0,1fr); gap:8px; padding:9px; }
 #tour-dialog .tour-event { grid-template-columns:minmax(0,1fr) 60px; }
 #tour-dialog .tour-event strong { font-size:23px; }
 #tour-dialog time { font-size:16px; }
 #tour-dialog .tour-ticket { font-size:17px; }
}

/* Independent columns keep the track list in place when dates arrive. */
@media(min-width:1200px) {
 #music .music__inner { grid-template-rows:6dvh 24dvh minmax(0,1fr) 10dvh 5dvh 7dvh; }
 #music .signal-world { display:grid; grid-area:2/2/7/3; grid-template-columns:minmax(0,1fr); grid-template-rows:max-content minmax(0,1fr) 10dvh 5dvh 7dvh; gap:0; min-height:0; }
 #music .tour { grid-area:1/1; }
 #music .globe { grid-area:2/1; width:100%; height:calc(100% - 12px); margin:12px 0 0; }
 #music .world-counts { grid-area:3/1; }
 #music .signal-thanks { grid-area:4/1; }
 #music .free-downloads { grid-area:5/1; justify-self:center; align-self:center; }
 #music .map-controls { right:0; }
}
@media(min-width:1500px) {
 #music .tour { width:100%; max-width:none; }
 #music .tour-list:not([data-empty=true]) { grid-template-columns:repeat(5,minmax(0,1fr)); grid-auto-rows:112px; gap:6px; }
 #music .tour-event { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) 28px; }
 #music .tour-event>a.tour-details { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:5px; padding:8px; }
 #music .tour-event time { font-size:15px; }
 #music .tour-event strong { max-width:100%; font-size:22px; }
 #music .tour-event .tour-event-copy>span { max-width:100%; font-size:11px; }
 #music .tour-event>a.tour-ticket { border-left:0; border-top:1px solid #ffffff1c; font-size:16px; }
}

/* A compact map tool button leaves the geography unobstructed. */
#music .map-controls { padding:0; width:max-content; height:44px; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
#music .map-controls .map-control-toggle { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; width:auto; min-width:100px; height:44px; min-height:44px; padding:4px 5px; border:0; border-radius:3px; background:transparent; color:#f8eaf3; transition:color .18s,text-shadow .18s; }
.map-config-label { font:400 24px/1 var(--display); letter-spacing:.04em; }
.map-config-label::before { content:'/'; color:var(--pink); margin-right:5px; }
.map-config-state { display:block; color:var(--pink); font:400 22px/1 var(--body); transition:transform .18s,color .18s; }
#music .map-control-panel { position:absolute; top:46px; right:0; display:flex; align-items:center; gap:3px; padding:5px; border:1px solid #ff72b775; border-radius:9px; background:#160d17f7; box-shadow:0 10px 24px #000c,inset 0 1px #ffffff29; }
#music .map-control-panel[hidden] { display:none; }
#music .map-controls .map-control-toggle:is(:hover,:focus-visible,[aria-expanded=true]) { color:#ff8ac9; background:transparent; text-shadow:0 0 14px #ff009080; }
#music .map-controls .map-control-toggle:focus-visible { outline:1px solid #ff8ac9; outline-offset:3px; }
#music .map-control-toggle[aria-expanded=true] .map-config-state { color:#fff; transform:rotate(45deg); }
@media(prefers-reduced-motion:reduce) { #music .map-controls .map-control-toggle,.map-config-state { transition:none; } }
#music .tour-event>a.tour-ticket { justify-items:center; justify-self:stretch; text-align:center; }
@media(min-width:601px) and (max-width:950px) and (min-height:501px) and (max-height:1050px) {
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading { margin-bottom:6px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading h2 { font-size:48px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .music-heading .spray-copy { margin:4px 0 0; max-width:350px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .eyebrow { margin-bottom:8px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .touch-music-tabs { margin-bottom:8px; min-height:44px; height:44px; padding:2px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .touch-music-tabs button { min-height:38px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .signal-world { gap:6px; }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .globe { height:clamp(145px,calc(100dvh - 683px),250px); }
 #music:has(#tour-tab[aria-selected=true]):has(.tour[data-event-count="5"]) .touch-download-link { min-height:40px; height:40px; margin-top:4px; }
}
@media(min-width:601px) and (max-width:950px) and (min-height:1051px) {
 #music:has(.tour[data-event-count="5"]) .music__inner { padding-bottom:80px; }
 #music:has(.tour[data-event-count="5"]) .globe { height:clamp(240px,calc(100dvh - 860px),360px); aspect-ratio:auto; }
}
@media(min-width:951px) and (max-width:1199px) {
 #music:has(.tour[data-event-count="5"]) .globe { height:clamp(145px,calc(100dvh - 610px),245px); aspect-ratio:auto; }
}

#music .tour-event>a.tour-ticket { grid-template-columns:1fr; grid-template-rows:1fr; align-content:center; justify-content:center; }
@media(min-width:1500px) {
 #music .tour[data-event-count="0"],#music .tour:not([data-event-count]) { width:78%; max-width:550px; }
}

@media(min-width:1200px) and (max-width:1499px) { #music .map-controls { right:24px; } }

#tour-dialog .tour-ticket { white-space:nowrap; }

/* Artist identity stays secondary to the selected city and track. */
#music .city-supporter { display:flex; align-items:center; gap:9px; margin:0 0 10px; padding:0 0 9px; border-bottom:1px solid #ff79bf35; }
#music .city-supporter[hidden] { display:none; }
#music .supporter-portraits { display:flex; flex:none; align-items:center; padding-right:2px; }
#music .supporter-portrait { position:relative; display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; overflow:hidden; border:1px solid #ff80c6b3; background:#21111d; color:#ff9acf; font:500 13px/1 var(--body); box-shadow:0 0 0 2px #100a0e,0 0 12px #ff00902b; }
#music .supporter-portrait + .supporter-portrait { margin-left:-12px; }
#music .supporter-portrait img { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; object-fit:cover; }
#music .supporter-copy { min-width:0; }
#music .supporter-copy small { display:block; margin:0 0 3px; font:500 9px/1.2 var(--body); letter-spacing:.12em; color:#d99cbe; }
#music .supporter-name { display:block; font:600 13px/1.25 var(--body); letter-spacing:0; color:#fff; text-transform:none; overflow-wrap:anywhere; }
@media (max-width:600px) {
 #music .city-supporter { gap:8px; margin-bottom:8px; padding-bottom:8px; }
 #music .supporter-portrait { width:38px; height:38px; }
 #music .supporter-name { font-size:12px; }
}

/* Radio records use an explicit broadcast identity, never an artist placeholder. */
#music .supporter-copy small[hidden] { display:none; }
#music .supporter-portrait--radio { color:#ffe4f3; background:radial-gradient(circle at 30% 25%,#652341,#180c16 75%); }
#music .supporter-portrait--radio svg { display:block; width:24px; height:24px; filter:drop-shadow(0 0 4px #ff009080); }


/* Panning is enabled only after zooming; the unzoomed map keeps native scrolling. */
#music .globe[data-zoom]:not([data-zoom="1"]) { touch-action:none; }
#music .globe[data-zoom]:not([data-zoom="1"]) canvas,
#music .globe[data-zoom]:not([data-zoom="1"]) .city-signal,
#music .globe[data-zoom]:not([data-zoom="1"]) .gig-signal { cursor:grab; user-select:none; touch-action:none; }
#music .globe[data-zoom]:not([data-zoom="1"]) canvas { pointer-events:auto; }
#music .globe.is-panning, #music .globe.is-panning * { cursor:grabbing!important; }

/* The tablet CTA belongs to On Tour, with half a button of breathing room. */
@media (min-width:601px) and (max-width:950px) and (min-height:501px) {
 #music .touch-download-link { display:none!important; }
 #music:has(#tour-tab[aria-selected=true]) .touch-download-link {
  display:flex!important; height:44px!important; min-height:44px!important;
  margin-top:22px!important; align-self:start;
 }
}
@media (min-width:951px) and (max-width:1199px) {
 #music .signal-world>.free-downloads { min-height:44px; margin-top:22px; }
}

/* Follow panel state at every tabbed width, including narrow tablet windows. */
#music:has(#music-tour[hidden]) .touch-download-link { display:none!important; }
#music:has(#music-tracks[hidden]) .touch-download-link {
 display:flex!important; height:44px!important; min-height:44px!important;
 margin-top:22px!important;
}
