/* Palette, light/dark and softened details. Loaded after classic.css and buttons.css, so it only overrides; the page follows the system until the header toggle is used.
   Design tokens: use these, never a hard-coded colour, radius or shadow. Management mirrors them in management.css. */
:root{color-scheme:light dark;
--bg:light-dark(#f3e9d8,#15100d);--panel:light-dark(#eaddc6,#1e1713);--panel-2:light-dark(#e1d2b6,#2a201a);--field:light-dark(#fbf5e8,#1b1511);
--paper:light-dark(#2b1d16,#e6d9c4);--stone:light-dark(#6b5749,#a8998a);
--red:light-dark(#9e3418,#e4623f);--red-fill:light-dark(#9e3418,#cf4a28);--mustard:light-dark(#765108,#dba94a);--mustard-hover:color-mix(in srgb,var(--mustard),var(--paper) 40%);
--line:light-dark(rgba(43,29,22,.2),rgba(230,217,196,.18));
--wash:color-mix(in srgb,var(--mustard) 12%,transparent);--wash-line:color-mix(in srgb,var(--mustard) 42%,transparent);--band-fill:var(--wash);--band-line:var(--wash-line);
--button-hover:color-mix(in srgb,var(--red-fill),#000 18%);
--header-bg:#0e0a08;--header-ink:#e6d9c4;--header-accent:#dba94a;--header-line:color-mix(in srgb,var(--header-ink) 40%,transparent);--header-hover:color-mix(in srgb,var(--red) 18%,transparent);
--chevron-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--chevron-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 10l5-5 5 5' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E");
--radius:8px;--pill:999px;--shadow-pop:0 12px 32px #0006;--shadow-dialog:0 20px 60px #0008;
--label-font:700 12px/1.5 'Josefin Sans',sans-serif;--label-track:.1em;--tag-font:700 11px/1.8 'Josefin Sans',sans-serif;--meta-size:13px;--lead-size:18px;--sub-size:16px}
:root[data-theme=light]{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark}
.song-artist-versions .song-vault-appearances>a{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap}.song-artist-versions .download-card{margin-top:8px}.song-version-label{line-height:1.5}
body{background-color:var(--bg);background-image:radial-gradient(light-dark(rgba(43,29,22,.03),rgba(255,255,255,.035)) 1px,transparent 1px)}
.skip-link{background:var(--paper);color:var(--bg)}
/* The header band stays dark in both modes so the logo needs no second version. */
.site-header{color-scheme:dark;background:var(--header-bg);color:var(--header-ink)}
.site-header a:hover{color:var(--header-accent)}
.site-tagline{color:var(--header-accent)}
/* Header pills: the theme toggle and the phone menu button share one shape. */
.theme-toggle,.menu-toggle{min-height:0;background:none;border:1px solid var(--header-line);color:var(--header-ink);border-radius:var(--pill);padding:3px 12px;font:700 11px/1.5 'Josefin Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
button.theme-toggle:hover:not(:disabled),button.menu-toggle:hover:not(:disabled){border-color:var(--red);color:var(--header-ink);background:var(--header-hover)}
/* Surfaces that were fixed dark greys */
.search input,.select-label select,.appearance-controls input,.appearance-controls select,.song-directory-controls input,.song-directory-controls select,.select-label option,.profile-type-filter select{background:var(--field);color:var(--paper)}
.item-art,.release-list-art,.release-cover,.post-reading-sheet{background:var(--panel)}

.recording-player .player-panel{color-scheme:dark}
.appearance-list small,.track-version{color:var(--stone)}

/* Softened corners */
.release-cover,.release-list-art img,.item-art,.nav-menu{border-radius:var(--radius)}
/* Filter and tab base (public only); the sidebar, chip and card variants follow below. */
.filter{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius);background:transparent;color:var(--paper);font:15px/1.4 'Josefin Sans',sans-serif;letter-spacing:normal;text-decoration:none}
.filters,.gig-period-tabs{gap:8px}
.gig-period-tabs,.profile-tabs{border-bottom:0;padding-bottom:0}
.gig-period-tabs .filter{margin-bottom:0;padding:8px 16px;font-size:16px}
@media(max-width:600px){.gig-period-tabs .filter{padding:8px 12px;font-size:14px}.profile-tabs button span{margin-left:2px}}
/* Second accent: mustard for links to people, songs and releases, and for small labels */
.breadcrumbs a,.content-eyebrow a,.site-guide dt a{color:var(--mustard)}
.breadcrumbs a:hover,.content-eyebrow a:hover,.site-guide dt a:hover,.home-page .site-guide dt>a:hover,.prose p a:hover{color:var(--mustard-hover)}
.release-facts dt{color:var(--red)}
/* Calendar-style dates on gig rows */
.cal{display:grid;justify-items:center;align-self:start;line-height:1;text-align:center;padding:4px 0;border:1px solid var(--line);border-radius:var(--radius)}
.cal-d{font:30px/.95 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;color:var(--red)}
.cal-m{font:700 12px 'Josefin Sans',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mustard);margin-top:3px}
.cal-y{font:500 12px 'Josefin Sans',sans-serif;letter-spacing:normal;color:var(--stone);margin-top:1px}
a.gig-archive-item{grid-template-columns:52px minmax(0,1fr) 115px 20px;gap:16px}
.home-feeds a.gig-archive-item,.home-feeds a.vault-latest-item{grid-template-columns:52px minmax(0,1fr) 18px;gap:16px;padding:12px}
.archive-item:not(.gig-archive-item):not(.vault-latest-item):has(>.cal){grid-template-columns:52px minmax(0,1fr) 48px 20px;gap:16px}
@media(max-width:900px){a.gig-archive-item{grid-template-columns:52px minmax(0,1fr) 18px;gap:12px}.archive-item:not(.gig-archive-item):not(.vault-latest-item):has(>.cal){grid-template-columns:52px minmax(0,1fr) 40px 18px;gap:12px}}
@media(max-width:600px){.archive-item:not(.gig-archive-item):not(.vault-latest-item):has(>.cal) .item-art{display:none}.archive-item:not(.gig-archive-item):not(.vault-latest-item):has(>.cal){grid-template-columns:52px minmax(0,1fr) 18px}}
.archive-item .item-art{width:48px;height:48px}
/* Random Audio Vault session on home */
.vault-pick{display:grid;grid-template-columns:76px minmax(0,1fr);gap:16px;align-items:center;padding:16px;margin:0 0 8px}
.vault-pick[hidden]{display:none}
.vault-disc{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle,var(--panel) 0 7%,transparent 8%),radial-gradient(circle,var(--red) 0 33%,var(--header-bg) 34%)}
.vault-disc img{width:66%;height:66%;border-radius:50%;object-fit:cover}
.vault-disc::after{content:"";position:absolute;width:10%;aspect-ratio:1;border-radius:50%;background:var(--header-bg)}
.vault-pick p{margin:0}
.vault-eyebrow{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--red)}
.vault-pick h3{font:24px/1.1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;overflow-wrap:anywhere;margin:2px 0}
.vault-meta{font-size:13px;color:var(--stone)}.vault-meta b{font-weight:400}
.vault-pick .vault-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px}
@media(max-width:600px){.vault-pick{grid-template-columns:56px minmax(0,1fr)}.vault-disc{width:56px;height:56px}}
/* Headers and selected states use mustard; red is for dates, labels and buttons */
.home-page .site-guide dt,.home-page .site-guide dt>a{color:var(--mustard)}
.item-meta b,.vault-meta b{font-size:8px;color:var(--red)}

/* Welcome */
.home-page .welcome h1{color:var(--mustard)}
.home-page .welcome h1::after{content:'';display:block;width:64px;height:4px;margin-top:12px;background:var(--mustard)}
.home-page .welcome-copy{border-left:0;padding-left:0}
.welcome-copy p:first-child{line-height:1.7}
.welcome-copy p:first-child strong{color:var(--red)}
/* Every link hovers mustard; links that are mustard already brighten and underline */
a:hover,.official-tracks a:hover,.official-tracks a:focus-visible,.release-facts a:hover,.release-facts a:focus-visible,.recording-tracks .vault-song-link:hover,.recording-page .recording-tracks li .vault-song-link:hover,.song-credits a:hover,.song-credits a:focus-visible{color:var(--mustard)}
.prose p a{color:var(--mustard)}
.band-portal-enter,.post-card-read>span{color:var(--mustard)}
/* Red tints that sat behind headings and cards */
.recording-tracks .is-current-track{background:linear-gradient(110deg,var(--wash),transparent 85%)}
.release-cover{border-color:var(--wash-line)}
.person-directory-mark{background:var(--wash)}
.gig-song-stats a{color:var(--mustard)}
.gig-song-stats a:hover{color:var(--mustard-hover)}
/* Tags: one pill for every status word (Live, Session, Special, Cancelled, Missing). Management uses the same values. */
.tag-type,.cancelled-badge,.post-missing-badge{display:inline-block;font:var(--tag-font);letter-spacing:var(--label-track);text-transform:uppercase;padding:1px 10px;border:1px solid currentColor;border-radius:var(--pill);vertical-align:1px;white-space:nowrap}
.tag-type{border-color:transparent}
.tag-live{background:var(--red-fill);color:#fff}.tag-session{background:var(--mustard);color:light-dark(#fff,var(--bg))}.tag-special{background:none;border-color:var(--line);color:var(--stone)}
.vault-eyebrow .tag-type{margin-left:8px}
.filter-count,.filter-list .n{font:600 11px 'Josefin Sans',sans-serif;letter-spacing:normal;opacity:.7;margin-left:2px}
/* Audio Vault heading: lead paragraph like Welcome */
.lead-copy{max-width:none}
.lead-copy p{margin:0 0 12px;color:var(--stone);font-size:var(--sub-size);line-height:1.7}
.lead-copy p:first-child{color:var(--paper);font-size:var(--lead-size)}
.lead-copy p:last-child{margin-bottom:0}
.archive-heading .lead-copy{margin-top:8px}
/* Credits: small label above, larger name or value below, in both columns */
.song-personnel-list>div{display:flex;flex-direction:column;gap:2px}
.musician-list>div{flex-direction:column-reverse}
.song-personnel-list dt,.song-personnel-list dd{margin:0}
.song-personnel-list:not(.musician-list) dt,.musician-list dd{font-size:var(--meta-size);color:var(--stone)}
.song-personnel-list:not(.musician-list) dd,.musician-list dt{font-size:16px;color:var(--paper)}
.song-personnel-list a{color:inherit;text-decoration:none}
.song-personnel-list a:hover{color:var(--mustard-hover)}
.cal span:empty{display:none}

/* Artist choice: three cards, then a filter sidebar beside the list (Audio Vault, Gig Archive) */
.artist-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:8px 0 28px;padding:0;border:0}
.artist-navigation a{display:grid;gap:2px;margin:0;padding:16px;color:var(--paper);font:400 13px/1.4 'Josefin Sans',sans-serif}
.artist-navigation a>span{font:24px/1.1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em}
.artist-navigation small{color:var(--stone)}
.artist-navigation a[aria-current=page]{border-left-color:var(--mustard);background:linear-gradient(110deg,var(--wash),var(--panel) 80%);font-weight:400}

.section-directory{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:32px;align-items:start}
.section-directory>*{grid-column:1/-1}
.section-directory>.archive-toolbar{grid-column:1;grid-row:3/span 2;display:grid;gap:20px;align-content:start;margin:0}
.section-directory>#archive-list,.section-directory>#gig-list{grid-column:2;grid-row:3}
.section-directory>.list-pagination{grid-column:2;grid-row:4}
.archive-toolbar .gig-period-tabs{order:1;display:grid;grid-template-columns:1fr 1fr}
.archive-toolbar .search{order:2;flex:none}
.archive-toolbar .filters{order:3;display:grid;gap:0;border:0;border-radius:0;overflow:visible}
.archive-toolbar .year-filters{order:4;margin-top:6px;grid-template-columns:1fr 1fr}
.archive-toolbar .year-filters::before{grid-column:1/-1;grid-row:1}
.archive-toolbar .year-filters .year-filter{grid-column:var(--year-column);grid-row:var(--year-row)}
.archive-toolbar .select-label{order:4;flex:none;font-size:0}
.archive-toolbar #gig-count,.archive-toolbar #results-count{order:5;margin:0;color:var(--stone);font-size:var(--meta-size)}
.archive-toolbar .filters .year-filter,.archive-toolbar .filters .filter{display:flex;align-items:center;font-family:inherit;cursor:pointer;justify-content:space-between;height:auto;min-height:0;padding:6px 10px;border:0;border-left:3px solid var(--line);border-radius:0;background:none;color:var(--stone);font-size:15px;letter-spacing:normal;text-align:left}
.archive-toolbar .filters .year-filter:hover,.archive-toolbar .filters .filter:hover{color:var(--paper);background:none}
.archive-toolbar .filters .year-filter.active,.archive-toolbar .filters .filter.active{background:var(--wash);border-left-color:var(--mustard);color:var(--paper);font-weight:600}
.archive-toolbar .filters::before{content:attr(aria-label);font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard);margin-bottom:8px}
.archive-toolbar .gig-period-tabs .filter{justify-content:center;border:1px solid var(--line);height:36px}

@media(max-width:900px){.archive-toolbar .filters.year-filters{margin-top:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.archive-toolbar .filters.year-filters::before{display:none}.archive-toolbar .year-filters .year-filter{flex:none}.section-directory{display:block}.section-directory>.archive-toolbar{position:static;margin:0 0 16px}.archive-toolbar .filters{display:flex;flex-wrap:wrap;gap:8px}.archive-toolbar .filters .year-filter,.archive-toolbar .filters .filter{border:1px solid var(--line);border-radius:var(--radius)}.archive-toolbar .filters .year-filter.active,.archive-toolbar .filters .filter.active{border-color:var(--mustard)}.archive-toolbar .filters::before{width:100%;margin:0}}
.archive-toolbar .gig-period-tabs .filter{padding:0 6px;font-size:14px;white-space:nowrap}
/* Person profile: tinted hero with the portrait inline, section cards, filter sidebar beside the list */
.person-profile-header{grid-template-columns:230px minmax(0,1fr);gap:0 32px;padding:32px 16px 16px;margin-bottom:24px;align-items:start}
.person-profile-header .profile-photo{grid-column:1;grid-row:1/5;width:230px}
.person-profile-header .profile-portrait{max-height:none;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);border:1px solid var(--wash-line)}
.person-profile-header .profile-intro,.person-profile-header .profile-bio,.person-profile-header .profile-facts{grid-column:2}
.person-profile-header .content-eyebrow{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--red)}
.person-profile-header h1{margin:0;color:var(--paper)}
.profile-bio{max-width:none;margin:16px 0 0}
.profile-bio p{margin:0 0 10px;line-height:1.7}
.profile-bio p:first-child{color:var(--paper);font-size:var(--lead-size)}
.profile-fact-label{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--red)}
.person-profile-header .profile-facts{margin-top:16px;border-top:1px solid var(--wash-line)}.person-profile-header .profile-facts:empty{display:none}
.profile-facts a{text-decoration:none}
.profile-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 24px}
.profile-tabs button{display:grid;gap:2px;justify-items:start;justify-content:start;align-content:center;margin:0;text-align:left;padding:16px;border-radius:var(--radius);font:24px/1.1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;text-decoration:none}
.profile-tabs button span{margin:0;font:400 13px 'Josefin Sans',sans-serif;letter-spacing:normal;text-transform:none;color:var(--stone);opacity:1}
#profile-posts-tab span::after{content:' posts'}#profile-appearances-tab span::after{content:' shows'}#profile-releases-tab span::after,#profile-songs-tab span::after{content:' credits'}

@media(min-width:901px){
.person-posts,.appearance-history{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:32px;align-items:start}
.person-posts>*,.appearance-history>*{grid-column:2}
.person-posts>.profile-post-controls,.appearance-history>.appearance-controls{grid-column:1;grid-row:1/span 4;display:grid;gap:16px;align-content:start}
.person-posts>.post-list-count,.appearance-history>.appearance-count{grid-row:1;margin:0 0 8px}
.person-posts .post-card-grid{grid-template-columns:1fr}
}
@media(max-width:900px){.person-profile-header{grid-template-columns:110px minmax(0,1fr);gap:0 16px;padding:24px 12px 12px}.person-profile-header .profile-photo{width:110px}}
/* Appearance rows use the calendar tile */
.person-profile .appearance-list>a:has(>.cal){grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px}
.person-profile .appearance-list>a:has(>.cal) small{display:block;color:var(--stone);font-size:13px}
/* Posts use red accents so the dark theme is not all mustard */
/* Band page: archive links as a quiet row, section cards switch the content, faces first */
[data-profile-panel][hidden]{display:none}
/* Band page "In the archive": three panels previewing the artist's discography, gigs and Audio Vault. */
.band-hub{margin:48px 0 0}
.band-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.band-hub-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius)}
.band-hub-card header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px}
.band-hub-card h3{margin:0;font:24px/1.1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em}
.band-hub-card header span,.band-hub-lines span{font-size:var(--meta-size);color:var(--stone)}
.band-hub-feature{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;color:var(--paper)}
.band-hub-feature>span:last-child>span{display:block}
.band-hub-feature .item-title{margin:2px 0}
.band-hub-feature:hover .item-title,.band-hub-feature:focus-visible .item-title,.band-hub-lines a:hover,.band-hub-lines a:focus-visible{color:var(--mustard)}
.band-hub-feature .cal{align-self:center;padding:8px 0}
.band-hub-feature .vault-disc{width:72px;height:72px}
.band-hub-art,.band-hub-covers a{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2)}
.band-hub-art img,.band-hub-covers img{width:100%;height:100%;object-fit:cover}
.band-hub-covers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.band-hub-covers a:hover,.band-hub-covers a:focus-visible{border-color:var(--red)}
.band-hub-lines{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:6px}
.band-hub-lines a{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:baseline;font-size:15px;line-height:1.4;color:var(--paper)}
.band-hub-card .empty{margin:0;font-size:15px;color:var(--stone)}
.band-hub-card footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
@media(max-width:900px){.band-hub-grid{grid-template-columns:1fr}}
@media(max-width:600px){.band-hub{margin-top:40px}.band-hub-card{padding:12px}}
.band-page .band-introduction{max-width:none}
.band-page .band-introduction p:first-child{font-size:var(--lead-size);line-height:1.7}

#band-members-tab span::after{content:' people'}#band-posts-tab span::after{content:' posts'}#band-biography-tab span::after{content:' chapters'}
.band-page .has-profile-tabs>section>h2{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.band-page .band-members,.band-page .band-biography,.band-page .person-posts{margin:0}
.band-core-members{gap:12px}
.band-core-members .person-directory-card{grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;padding:12px}
.band-core-members .person-directory-card img,.band-core-members .person-directory-mark{width:96px;min-width:96px;height:96px;border-radius:var(--radius);object-fit:cover}
.band-core-members .person-directory-mark{font-size:44px;background:var(--wash)}
.band-core-members .person-directory-card strong{overflow-wrap:anywhere}
.band-core-members .person-directory-card small{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.band-contributor-grid{gap:12px}
.band-contributor-grid .person-directory-card{grid-template-columns:48px minmax(0,1fr);align-items:center;padding:8px 12px}
.band-contributor-grid .person-directory-card img,.band-contributor-grid .person-directory-mark{width:48px;min-width:48px;height:48px;border-radius:var(--radius);font-size:26px}
.band-contributor-grid .person-directory-card small,.band-page .band-contributor-group .person-directory-card small{overflow-wrap:anywhere}
.band-contributor-group{border:0;padding:0;margin:22px 0 0}
.band-contributor-group>summary{list-style:none;font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--red);cursor:pointer;min-height:0;padding:0}
.band-contributor-group>summary::-webkit-details-marker{display:none}
.band-contributor-group>summary::after{content:'+';margin-left:10px;color:var(--stone)}
.band-contributor-group[open]>summary::after{content:'−'}
.band-contributor-group>summary>span{color:var(--stone);letter-spacing:normal;font-weight:600}
.band-contributor-group[open]>summary{margin-bottom:10px}
.person-directory-card:hover strong{color:var(--mustard)}
.band-page .people-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));column-gap:12px}
@media(max-width:600px){.band-core-members .person-directory-card{grid-template-columns:72px minmax(0,1fr)}.band-core-members .person-directory-card img,.band-core-members .person-directory-mark{width:72px;min-width:72px;height:72px}}
.band-page .band-core-members{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.band-page .person-directory-card>.person-card-copy{padding-right:20px}
/* Posts: filter list in the sidebar, plain panel cards so red and mustard do not collide */
.has-origin-list .profile-type-filter select{display:none}
.has-origin-list .profile-type-filter{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard);gap:0}
.has-origin-list .profile-post-controls .select-label{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard)}.has-origin-list .profile-post-controls .select-label select{font-size:15px;letter-spacing:normal;text-transform:none;font-weight:400;color:var(--paper)}
.filter-list{display:grid;margin:0 0 4px}
.filter-list button{display:flex;justify-content:space-between;gap:12px;background:none;border:0;border-left:3px solid var(--line);color:var(--stone);padding:6px 10px;border-radius:0;cursor:pointer;text-align:left;font:400 15px 'Josefin Sans',sans-serif;letter-spacing:normal;text-transform:none;min-height:0}
.filter-list button:hover{color:var(--paper)}
.filter-list button[aria-pressed=true]{color:var(--paper);border-left-color:var(--mustard);background:var(--wash);font-weight:600}

/* Phones and small tablets */
.menu-toggle{display:none}
@media(max-width:700px){
.site-header .header-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 12px;padding-top:10px;padding-bottom:10px}
.site-logo img{width:104px;height:auto}
.menu-toggle{display:inline-flex;min-height:40px;padding:0 16px}
.menu-toggle[aria-expanded=true]{border-color:var(--header-accent);color:var(--header-accent)}
.header-navigation{flex:1 0 100%;display:none}
.nav-open .header-navigation{display:block;padding:6px 0 10px;margin-top:12px;border-top:1px solid color-mix(in srgb,var(--header-accent) 42%,transparent)}
.site-tagline{display:none}
.header-navigation,.main-nav{width:100%;box-sizing:border-box}
.main-nav{display:grid;grid-template-columns:1fr;font-size:15px;letter-spacing:.1em}
.main-nav>a,.main-nav>details>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 4px;border-bottom:1px solid color-mix(in srgb,var(--header-ink) 12%,transparent);color:var(--header-ink)}
.main-nav>a:active,.main-nav>details>summary:active{background:color-mix(in srgb,var(--header-accent) 12%,transparent)}
.main-nav details[open]>summary{color:var(--header-accent)}
.main-nav details .nav-menu{position:static;display:grid;border:0;border-left:3px solid var(--header-accent);margin:8px 0 8px 4px;background:none;padding:0 0 0 12px;box-shadow:none}
.main-nav details .nav-menu a{min-height:42px;display:flex;align-items:center;color:var(--header-ink);font-size:15px}
.main-nav .theme-toggle{justify-self:stretch;justify-content:center;margin:12px 0 4px;min-height:40px}
/* artist cards become a compact 2 x 2 grid */
.artist-navigation{grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 18px}
.artist-navigation a{padding:12px}
.artist-navigation a>span{font-size:19px}

.archive-heading .lead-copy p+p{display:none}

/* release and recording pages: cover small, then the tracks and player, then the rest */
.release-layout{display:flex;flex-direction:column}
.release-layout>.release-sidebar{display:contents}
.release-layout .cover-figure{order:-2;width:min(100%,180px);margin:0}
.release-layout>.release-main,.release-layout>.recording-body{order:-1;width:100%;box-sizing:border-box}
.release-layout:not(.song-layout)>.release-main{display:contents}
.release-layout>.release-main>.prose{order:-1;width:100%}
.release-layout>.release-main>.release-credits{order:1;width:100%}
.recording-body{display:flex;flex-direction:column}
.recording-body>.release-notes{order:1}
.recording-tracks .recording-track-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.recording-tracks .recording-track-row>span:first-child{flex:1 1 auto;min-width:0}
.recording-tracks .recording-track-actions{flex:none;flex-wrap:nowrap;gap:6px;display:flex;align-items:center}
.recording-tracks .track-play,.recording-tracks .track-download{display:inline-flex}

.recording-tracks>li{padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.release-layout>.release-sidebar>section,.release-layout>.release-sidebar>div{align-self:stretch;width:100%;box-sizing:border-box}
.release-layout>.release-sidebar .release-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.official-tracks{padding-left:24px;margin-left:0}

}

/* Arrow icons are drawn, never typed, so phones cannot swap them for emoji */
.ico{display:inline-block;width:.9em;height:.9em;vertical-align:-.1em;background:currentColor;mask:var(--ico) center/contain no-repeat}
.ico-ne{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 12 12 4M5.5 4H12v6.5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")}
.ico-r{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12M9 3l5 5-5 5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")}
.ico-l{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M14 8H2M7 3 2 8l5 5' fill='none' stroke='%23000' stroke-width='1.8'/%3E%3C/svg%3E")}
html{font-variant-emoji:text}

/* Discography: release type list in a sidebar, like the vault and gig archive */
.discography-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
.discography-side{position:sticky;top:16px}
.discography-side .filter-heading{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard);margin:0 0 8px;padding:0;background:none;border:0}
.discography-main{min-width:0}
/* Shared sort control (public_sort.html): the sidebar list in Discography, Audio Vault and Gig Archive */
.sort-group .filter-heading{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard);margin:0 0 8px;padding:0;background:none;border:0}
.discography-side .sort-group{margin-top:24px}
.archive-toolbar .sort-group{order:4;margin-top:6px}
@media(max-width:900px){.sort-group .filter-list{display:flex;flex-wrap:wrap;gap:8px}.sort-group .filter-list button{border:1px solid var(--line);border-radius:var(--radius);gap:8px}.sort-group .filter-list button[aria-pressed=true]{border-color:var(--mustard)}}
@media(max-width:900px){.discography-layout{display:block}.discography-side{position:static;margin:0 0 16px}.discography-side .filter-list{display:flex;flex-wrap:wrap;gap:8px}.discography-side .filter-list button{border:1px solid var(--line);border-radius:var(--radius);gap:8px}.discography-side .filter-list button[aria-pressed=true]{border-color:var(--mustard)}}
.cal{background:var(--panel-2)}
/* Home feeds: the two columns stay level whatever the entry counts; the buttons sit on one line at the bottom */
@media(min-width:901px){.home-feeds>section{display:flex;flex-direction:column}.home-feeds>section>p:last-child{margin:auto 0 0;padding-top:16px}}
/* Home feeds: rows are 90px with 6px gaps; the pick card is exactly two rows plus the gap (186px) and its title clamps at two lines, so card + 3 rows ends level with 5 rows */
@media(min-width:901px){.home-feeds a.gig-archive-item,.home-feeds a.vault-latest-item{box-sizing:border-box;height:90px;align-items:center}.home-feeds .vault-pick:not([hidden]){box-sizing:border-box;height:186px;padding-block:12px;margin-bottom:6px;overflow:hidden}.home-feeds .vault-pick h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.home-feeds .vault-pick .vault-actions{margin-top:8px}}

@media(max-width:900px){.controls.song-directory-controls{grid-template-columns:1fr}}
/* Songs: single-line boxed rows. Cover note and quiet status sit beside the title; the whole row is the link. */
.song-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.song-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:4px 16px;min-height:46px;padding:8px 40px 8px 16px}
.song-row::after{content:'';position:absolute;right:16px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:currentColor;mask:var(--chevron) center/contain no-repeat;color:var(--stone)}
.song-row[hidden]{display:none}
.song-row-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0}
.prose .song-row .song-title-link{text-decoration:none;color:var(--paper);line-height:1.4}
.song-title-link::before{content:'';position:absolute;inset:0}
.song-row .cover-credit{margin:0;font-size:13px;font-style:normal;color:var(--stone)}
.song-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:4px 16px;flex-shrink:0}
.song-row .song-list-artist{color:var(--stone);font-size:13px;white-space:nowrap}
.song-row .song-version-label{display:inline-flex;align-items:baseline;gap:4px 10px;font-size:13px;color:var(--stone)}
.song-status,.song-download-badge{display:inline-flex;align-items:center;gap:6px;font:700 11px/1 'Josefin Sans',sans-serif;letter-spacing:var(--label-track);text-transform:uppercase;color:var(--stone);white-space:nowrap}
.song-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red)}
.song-status-demo::before{background:var(--mustard)}
.song-status-both::before{background:linear-gradient(90deg,var(--red) 50%,var(--mustard) 50%)}
.song-download-badge{color:var(--mustard)}
@media(max-width:600px){.song-row{flex-direction:column;align-items:flex-start;padding-right:36px}.song-row-meta{justify-content:flex-start;flex-wrap:wrap}}

/* A single compact download card, shared by releases and artist versions. */
.free-download .download-card,.song-artist-versions .download-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--mustard);border-radius:var(--radius);overflow-wrap:anywhere}
.download-card .download-eyebrow{margin:0;color:var(--red);font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase}
.download-card .download-title{margin:0;padding:0;border:0;background:none;color:var(--paper);font:600 20px/1.4 'Josefin Sans',sans-serif;letter-spacing:normal}
.download-card .download-description{margin:0;color:var(--stone);font-size:15px;line-height:1.5}
.download-card .download-source{margin:0;color:var(--stone);font-size:var(--meta-size);line-height:1.5}
.download-card a.download-action{max-width:100%;margin-top:4px;white-space:normal;text-align:left}


/* Boxed links: one panel and one hover for every row or card that is a link (songs, posts, bands, people, post neighbours, artist tabs).
   Rows end in one grey chevron that turns mustard on hover. */
.item-arrow .ico,.person-card-arrow .ico,.sidebar-related-links .ico{--ico:var(--chevron);width:14px;height:14px}
.song-row:hover::after,.song-row:focus-within::after,.archive-item:hover .item-arrow,.archive-item:focus-visible .item-arrow,.person-directory-card:hover .person-card-arrow,.person-directory-card:focus-visible .person-card-arrow,.sidebar-related-links a:hover .ico,.sidebar-related-links a:focus-visible .ico{color:var(--mustard)}
.sidebar-related-links .ico{color:var(--stone)}
.song-row,.post-card,.post-neighbours>a,.band-portal-card,.person-directory-card,.artist-navigation a,.archive-item,.album-list a,.related-albums a,.vault-pick,.song-vault-appearances>a,.appearance-list>a,.person-credit-history>a,.gig-song-stats li,.home-page .site-guide dl>div,.sidebar-related-links a{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);transition:background .15s,border-color .15s}
.song-row:hover,.song-row:focus-within,.post-card:hover,.post-card:focus-visible,.post-neighbours>a:hover,.post-neighbours>a:focus-visible,.band-portal-card:hover,.band-portal-card:focus-visible,.person-directory-card:hover,.person-directory-card:focus-visible,.artist-navigation a:not([aria-current]):hover,.artist-navigation a:not([aria-current]):focus-visible,.archive-item:hover,.archive-item:focus-visible,.album-list a:hover,.album-list a:focus-visible,.related-albums a:hover,.related-albums a:focus-visible,.song-vault-appearances>a:hover,.song-vault-appearances>a:focus-visible,.appearance-list>a:hover,.appearance-list>a:focus-visible,.person-credit-history>a:hover,.person-credit-history>a:focus-visible,.gig-song-stats li:hover,.gig-song-stats li:focus-within,.sidebar-related-links a:hover,.sidebar-related-links a:focus-visible{color:var(--paper);border-left-color:var(--red);background:linear-gradient(110deg,var(--wash),var(--panel) 80%)}
.vault-pick,.home-page .site-guide dl>div{border-left-color:var(--mustard)}
/* Notices: one wash box for archive notes, upcoming/incomplete/cancelled banners. */
.archive-note,.upcoming-notice,.setlist-incomplete,.cancelled-notice{display:block;margin:0 0 24px;padding:12px 16px;background:var(--wash);border:1px solid var(--wash-line);border-radius:var(--radius);color:var(--paper);font-size:15px;line-height:1.5}
.cancelled-notice{border-color:var(--red)}
.post-source-panel .archive-note{margin-top:24px;font-size:13px;color:var(--stone)}
/* Blank artwork: the release title on a panel. */
.cover-holding{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:16px;box-sizing:border-box;background:var(--panel);border:1px solid var(--wash-line);border-radius:var(--radius);color:var(--paper);font:36px/1.1 'Bebas Neue',Impact,sans-serif;letter-spacing:.04em;overflow-wrap:anywhere}.cover-holding.release-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;height:auto}.cover-holding span,.cover-holding small{display:block}.cover-holding small{font:var(--label-font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--mustard)}@media(max-width:700px){.cover-holding{font-size:24px}}

/* Selectable controls: one subtle hover and one selected state everywhere (buttons.css fills must not leak in). */
.filter-list button:hover:not(:disabled){background:none;border-color:var(--line);color:var(--paper)}
.filter-list button[aria-pressed=true]:hover:not(:disabled){background:var(--wash);border-left-color:var(--mustard);color:var(--paper)}
.sort-group .filter-list button[aria-pressed=true]:hover:not(:disabled),.discography-side .filter-list button[aria-pressed=true]:hover:not(:disabled){border-color:var(--mustard)}
.gig-period-tabs .filter,.profile-tabs button{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);color:var(--paper);transition:border-color .15s,background .15s}
.gig-period-tabs .filter:hover,.gig-period-tabs .filter:focus-visible,.profile-tabs button:hover,.profile-tabs button:focus-visible{background:linear-gradient(110deg,var(--wash),var(--panel) 80%);border-color:var(--line);border-left-color:var(--red);color:var(--paper)}
.gig-period-tabs .filter.active,.gig-period-tabs .filter.active:hover,.profile-tabs button[aria-selected=true],.profile-tabs button[aria-selected=true]:hover{background:linear-gradient(110deg,var(--wash),var(--panel) 80%);border-color:var(--line);border-left-color:var(--mustard);box-shadow:none;color:var(--paper)}

.release-sidebar .release-credits{margin-top:32px}.release-sidebar .release-credits h2{font-size:24px}

/* ===== Definitive styles (owner picks, November 2026). Reuse these; do not add variants. =====
   Tokens (:root above): colours, --radius, --pill, --shadow-pop/--shadow-dialog, --label-font, --tag-font, --meta-size, --lead-size, --sub-size, --chevron.
   Labels: --label-font, red for content, mustard for filter headings. Status words: the tag pill (--tag-font).
   Small grey text: --meta-size (13px); sentences 15px. Intros: --lead-size cream, then --sub-size grey.
   Headings (Bebas Neue, .04em, never text-transform): page 76px, section 30px, sub/sidebar/card tabs 24px, footer 20px.
   Links: mustard, underlined only inside paragraphs, never on hover. Titles: rows 16px, cards 20px, both 600.
   Boxes: rows 8px 12px (12px when two lines), cards 16px, large cards 24px; 3px left edge, red on hover;
   selected or current items use a mustard edge or border. Rows end in the grey --chevron.
   Buttons (buttons.css): primary red fill, .secondary outline, Bebas 18; .small is 16px. One mustard focus ring. */
.recording-tracks .track-play[aria-pressed=true]{background:var(--button-hover);border-color:var(--button-hover)}
.item-meta,.track-duration,.album-list .release-list-text small,.band-portal-card p,.list-pagination .pagination-summary,.post-date,.post-card-meta .post-date,.post-neighbours span,.setlist-release-count,.setlist-release-percent,.setlist-release-label small,.release-track-note,.post-list-count,.post-byline span,.filter-row>span,main li>small,main a>small:not(.filter-count),main span>small:not(.filter-count){font-size:var(--meta-size)}
.setlist-release-label a{color:var(--paper)}
.setlist-release-label a:hover,.setlist-release-label a:focus-visible{color:var(--mustard)}
.item-title,.album-list strong,.release-list-text strong,.appearance-list strong,.archived-post-list strong,.prose .song-row .song-title-link,.post-neighbours strong,.person-credit-history strong,.song-release-text,.song-vault-appearances>a>span,.sidebar-related-links a{font-size:16px;font-weight:600;letter-spacing:normal}
.person-directory-card strong,.band-core-members .person-directory-card strong,.band-contributor-grid .person-directory-card strong,.post-card-grid .post-card-title,.home-page .site-guide dt{font-size:var(--person-name-size,20px);font-weight:600;letter-spacing:normal}
main .post-card-meta .post-card-origin{font-size:var(--meta-size)}

.prose .credits-grid h3{font:var(--label-font);letter-spacing:var(--label-track)}
.guide-artist-links a{color:var(--mustard);text-decoration:none}

/* Disclosure markers: one triangle (right = closed, down = open) for the header menu, expanding rows and selects. */
:root{--tri-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 2.5l8 5.5-8 5.5z'/%3E%3C/svg%3E");--tri-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2.5 5h11L8 13z'/%3E%3C/svg%3E")}
.main-nav summary::after{width:10px;height:10px;mask-image:var(--tri-right);-webkit-mask-image:var(--tri-right)}
.main-nav details[open]>summary::after{mask-image:var(--tri-down);-webkit-mask-image:var(--tri-down)}
.select-label,.profile-type-filter{position:relative}
.select-label select,.profile-type-filter select,.appearance-controls select{appearance:none;-webkit-appearance:none;padding-right:38px}
.select-label:has(>select)::after,.profile-type-filter:has(>select)::after{content:'';position:absolute;right:14px;bottom:16px;width:10px;height:10px;background:var(--stone);-webkit-mask:var(--tri-down) center/contain no-repeat;mask:var(--tri-down) center/contain no-repeat;pointer-events:none}
.has-origin-list .profile-type-filter::after{display:none}

/* Written setlist entries that were not confirmed performances. */
.official-tracks .setlist-unplayed{list-style-type:none}

/* Credits on phones: label left, name right, tighter rows and group gaps (song, release and sidebar credits) */
@media(max-width:600px){
.release-credits{margin-top:24px}
.release-credits>section{margin-bottom:16px}
.release-credits h2{margin-bottom:8px}
.credits-grid{gap:14px}
.credits-grid h3{margin:0 0 2px}
.release-credits .song-personnel-list>div{display:grid;grid-template-columns:minmax(84px,34%) minmax(0,1fr);gap:0 12px;align-items:baseline;padding:6px 0}
.release-credits .musician-list dd{order:-1}
.release-credits .musician-list dt{order:0}
.release-credits .musician-list dt:only-child{grid-column:1/-1}
}

/* Audio Vault track listing on phones: full-width rows, title and note on top, compact controls beneath. */
@media(max-width:600px){
.release-layout .recording-tracks{padding-left:0;margin-left:0;list-style:none}
.release-layout .recording-tracks>li{position:relative;padding:12px 0 12px 28px;min-height:0}
.release-layout .recording-tracks>li::before{content:counter(list-item) '.';position:absolute;left:2px;top:12px;color:var(--red)}
.release-layout .recording-tracks .recording-track-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}
.release-layout .recording-tracks .recording-track-row>span:first-child{display:block}
.release-layout .recording-tracks .cover-credit,.recording-tracks .track-version{display:block;margin:2px 0 0}
.release-layout .recording-tracks .recording-track-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.release-layout .recording-tracks .recording-track-actions>:only-child{grid-column:1/-1}
.release-layout .recording-tracks .track-play[hidden]+.track-download{grid-column:1/-1}
.release-layout .recording-tracks .track-play,.recording-tracks .track-download{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin:0}
.recording-player .set-player-controls button{flex:1 1 auto;min-height:44px;white-space:nowrap}
}

/* Release track listings: a quiet label per edition (name, then format and territory), tight numbered rows with right-aligned durations. Releases with regional variations show them as tabs, and deluxe editions stay under the standard listing in a "Standard and deluxe" tab (release-tabs.js); each extra edition is a one-line boxed row that opens to its listing. */
.release-layout .edition-card{background:none;border:0;border-top:1px solid var(--line);border-radius:0;margin:0;overflow:visible;padding:16px 0 6px}
.release-layout .prose h2+.edition-card,.release-layout .edition-panel>.edition-card:first-child,.release-layout .edition-tabs+.edition-panel>.edition-card:first-child{border-top:0;padding-top:4px}
.release-layout .edition-head,.release-layout .edition-head-detail{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;justify-content:flex-start;padding:0 0 6px;background:none;border:0}
.release-layout .prose .edition-card .edition-title{font:700 13px/1.5 'Josefin Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--paper);margin:0}
.release-layout .edition-head :is(.edition-meta,.edition-pills){margin:0;gap:0;justify-content:flex-start}
.release-layout .edition-head .edition-pills{display:inline-flex;flex-wrap:wrap;align-items:baseline}
.release-layout .edition-head .edition-pills+.edition-pills::before{content:'\00b7';margin:0 8px;color:var(--stone)}
.release-layout .edition-head .tag-type{border:0;padding:0;background:none;font:600 12px/1.5 'Josefin Sans',sans-serif;letter-spacing:.08em;color:var(--stone)}
.release-layout .edition-head .tag-type+.tag-type::before{content:'\00b7';margin:0 8px}
.release-layout .edition-head .format-detail{margin:0}
.release-layout .edition-head .format-detail>summary{justify-content:flex-start;gap:4px 10px}
.release-layout .edition-head .format-detail[open]{flex-basis:100%}
.release-layout .edition-head .format-detail[open]>summary{margin-bottom:6px}
.release-layout .edition-head .format-table{background:var(--field);font-size:14px}
.release-layout .edition-head .format-detail+.edition-pills{margin-left:10px}
.release-layout .edition-card .official-tracks{max-width:none;margin:0;padding:0 0 4px 30px}
.release-layout .edition-card .official-tracks li{padding:2px 0 2px 2px;line-height:1.4}
.release-layout .official-tracks .track-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.release-layout .official-tracks .track-title{min-width:0}
.release-layout .official-tracks .track-duration{flex:none;margin-left:0;text-align:right;min-width:3.2em}
.release-layout .prose .edition-card .release-variation-notes{margin:6px 0 8px;padding:12px 16px}
.release-layout .edition-card>.release-notes{margin:0;padding:6px 0 0}
/* Edition tabs: the gig-tab buttons, one panel at a time. Without JavaScript each panel keeps its own heading. */
.release-layout .edition-tabs{display:flex;flex-wrap:nowrap;gap:8px;margin:0 0 16px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:thin}
.release-layout .edition-tabs .filter{flex:none;white-space:nowrap}
.release-layout .edition-tabs .filter span{margin-left:6px;font-size:.78em;color:var(--stone)}
.release-layout .edition-panel[hidden]{display:none}
.release-layout .edition-group-title{margin:24px 0 8px;font:700 13px/1.5 'Josefin Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--paper)}
.release-layout .has-edition-tabs .edition-group-title{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.release-layout .edition-tabs-host>.edition-panel>.edition-title{margin-top:18px}
/* Extra editions: one-line boxed rows (boxed-link edge, red when open or hovered) that open to their own listing. */
.release-layout .release-variation-list{display:grid;gap:8px;padding:0}
.release-layout details.edition-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--radius);padding:0 14px;margin:0}
.release-layout details.edition-card:hover{border-left-color:var(--red)}
.release-layout .edition-panel details.edition-card{margin:14px 0 0}
.release-layout .edition-panel details.edition-card+details.edition-card{margin-top:10px}
.release-layout details.edition-card>summary{cursor:pointer;list-style:none}
.release-layout details.edition-card>summary::-webkit-details-marker{display:none}
.release-layout details.edition-card>summary.edition-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2px 12px;padding:9px 0}
.release-layout .prose details.edition-card .edition-title{font:600 15px/1.4 'Josefin Sans',sans-serif;letter-spacing:normal;text-transform:none;color:var(--paper)}
.release-layout .prose details.edition-card:not([open])>summary .edition-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.release-layout details.edition-card>summary.edition-head .edition-meta{grid-column:2;grid-row:1;justify-self:end;display:inline-flex;flex-wrap:nowrap;white-space:nowrap;max-width:22em;overflow:hidden}
.release-layout details.edition-card:not([open])>summary.edition-head .edition-pills{flex-wrap:nowrap}
.release-layout details.edition-card[open]>summary.edition-head .edition-meta{grid-column:1;grid-row:2;justify-self:start;max-width:none;white-space:normal;flex-wrap:wrap}
.release-layout details.edition-card>summary::after{content:'';grid-column:3;grid-row:1;width:10px;height:10px;background:var(--stone);-webkit-mask:var(--tri-right) center/contain no-repeat;mask:var(--tri-right) center/contain no-repeat}
.release-layout details.edition-card[open]>summary::after{-webkit-mask-image:var(--tri-down);mask-image:var(--tri-down)}
.release-layout details.edition-card>summary:hover::after{background:var(--mustard)}
.release-layout details.edition-card>.edition-head-detail{padding:0 0 6px}
.release-layout details.edition-card .official-tracks{padding:0 0 10px 30px}
.release-layout details.edition-card>.release-variation-notes{margin:0 0 10px}
@media(max-width:600px){.release-layout .edition-card .official-tracks{padding-left:26px}.release-layout .official-tracks .track-line{gap:12px}.release-layout details.edition-card:not([open])>summary.edition-head .edition-meta{display:none}.release-layout .edition-tabs .filter span{margin-left:2px}}
/* Browsers without light-dark() (Safari before 17.5, Chrome before 123, Firefox before 120) get the same palette here,
   including the parts that are always dark, where the mixed tokens are recalculated. Keep in step with the light-dark() values above. */
@supports not (color:light-dark(#000,#fff)){:root{--bg:#f3e9d8;--panel:#eaddc6;--panel-2:#e1d2b6;--field:#fbf5e8;--paper:#2b1d16;--stone:#6b5749;--red:#9e3418;--red-fill:#9e3418;--mustard:#765108;--line:rgba(43,29,22,.2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#15100d;--panel:#1e1713;--panel-2:#2a201a;--field:#1b1511;--paper:#e6d9c4;--stone:#a8998a;--red:#e4623f;--red-fill:#cf4a28;--mustard:#dba94a;--line:rgba(230,217,196,.18)}}:root[data-theme=dark]{--bg:#15100d;--panel:#1e1713;--panel-2:#2a201a;--field:#1b1511;--paper:#e6d9c4;--stone:#a8998a;--red:#e4623f;--red-fill:#cf4a28;--mustard:#dba94a;--line:rgba(230,217,196,.18)}.site-header,.recording-player .player-panel{--bg:#15100d;--panel:#1e1713;--panel-2:#2a201a;--field:#1b1511;--paper:#e6d9c4;--stone:#a8998a;--red:#e4623f;--red-fill:#cf4a28;--mustard:#dba94a;--line:rgba(230,217,196,.18);--mustard-hover:color-mix(in srgb,var(--mustard),var(--paper) 40%);--wash:color-mix(in srgb,var(--mustard) 12%,transparent);--wash-line:color-mix(in srgb,var(--mustard) 42%,transparent);--band-fill:var(--wash);--band-line:var(--wash-line);--button-hover:color-mix(in srgb,var(--red-fill),#000 18%);--header-line:color-mix(in srgb,var(--header-ink) 40%,transparent);--header-hover:color-mix(in srgb,var(--red) 18%,transparent)}}
