/* CORE SEEKER / LIVE hub v1901. All new layout stays in the LIVE namespace. */
body.is-live-hub-history-v1901 .workspace,
body.is-live-hub-record-v1901 .workspace {
  grid-template-columns: minmax(0, 1fr);
}
body.is-live-hub-history-v1901 .side-panel,
body.is-live-hub-record-v1901 .side-panel { display: none; }
body.is-live-hub-history-v1901 .detail-panel,
body.is-live-hub-record-v1901 .detail-panel {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body.is-live-hub-v1901 .workspace,
body.is-live-hub-v1901 .detail-panel,
body.is-live-hub-v1901 .reader-content { min-width: 0; }

.lh-page,
.lh-shared-nav {
  --lh-line: var(--line, #3b2939);
  --lh-surface: var(--surface, #1c141c);
  --lh-ink: var(--ink, #f2e8ef);
  --lh-soft: var(--ink-soft, #d3c3ce);
  --lh-muted: var(--muted, #aa93a4);
  --lh-purple: var(--zcs-structure-bright-v1874, #a655b5);
  --lh-focus: #dfb2f0;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  color: var(--lh-ink);
  -webkit-text-size-adjust: 100%;
}
.lh-page { margin-inline: auto; }
.lh-page *, .lh-page *::before, .lh-page *::after,
.lh-shared-nav *, .lh-shared-nav *::before, .lh-shared-nav *::after { box-sizing: border-box; }
.lh-page :where(section, article, header, nav, aside, div, form, fieldset, label, ol, ul),
.lh-shared-nav :where(div, a) { min-width: 0; max-width: 100%; }
.lh-page :where(h2, h3, h4, p, li, a, summary, label),
.lh-shared-nav :where(a, strong, span) {
  overflow-wrap: anywhere;
  word-break: normal;
  white-space: normal;
}
.lh-page :where(a, button, input, select, summary):focus-visible,
.lh-shared-nav a:focus-visible { outline: 3px solid var(--lh-focus); outline-offset: 3px; }
.lh-page :where(section, [id]), .lh-shared-nav { scroll-margin-top: 8rem; }

.lh-header {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 1.5rem;
  padding: .35rem 0 1.4rem;
  border-bottom: 1px solid var(--lh-line);
}
.lh-header .eyebrow { margin: 0 0 .7rem; color: var(--lh-purple); font-size: .72rem; line-height: 1.6; letter-spacing: .1em; }
.lh-header h2 {
  margin: 0 0 .8rem;
  font: 500 clamp(2rem, 4.5vw, 3.7rem)/1.25 var(--font-heading, Georgia, serif);
  color: var(--lh-ink);
}
.lh-header .lh-lead {
  display: block;
  width: 100%;
  max-width: 48rem;
  margin: 0;
  color: var(--lh-soft);
  font-size: .95rem;
  line-height: 1.95;
}
.lh-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  width: 100%;
  min-width: 0;
  margin: 0 0 1.5rem;
  padding: 0;
}
.lh-nav > a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .35rem;
  min-width: 0;
  min-height: 5.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--lh-line);
  border-top: 2px solid var(--lh-line);
  border-radius: 2px;
  background: #100c12;
  color: var(--lh-ink);
  text-decoration: none;
  transition: border-color .16s ease, background-color .16s ease;
}
.lh-nav > a strong { font: 500 1.05rem/1.5 var(--font-heading, Georgia, serif); }
.lh-nav > a span { color: var(--lh-muted); font-size: .74rem; line-height: 1.65; }
.lh-nav > a:hover,
.lh-nav > a:focus-visible { border-color: var(--lh-purple); background: #1a1020; }
.lh-nav > a[aria-current="page"],
.lh-nav > a[aria-current="true"],
.lh-nav > a.is-active {
  border-top-color: var(--lh-purple);
  background: #211426;
  box-shadow: inset 0 -2px 0 rgba(166, 85, 181, .18);
}
.lh-nav > a[aria-current="page"] strong,
.lh-nav > a[aria-current="true"] strong,
.lh-nav > a.is-active strong { color: #e0b8e8; }
.lh-shared-nav { max-width: 980px; margin: 0 auto 1.25rem; }
.lh-context {
  display: block;
  width: 100%;
  margin: 0 0 1.5rem;
  padding: .85rem 1rem;
  border-left: 2px solid var(--lh-purple);
  background: rgba(120, 56, 136, .075);
  color: var(--lh-soft);
  font-size: .82rem;
  line-height: 1.9;
}
.lh-context p { margin: 0; }
.lh-context p + p { margin-top: .5rem; }
.lh-context a, .lh-year-link, .lh-back { color: #d8a9e4; text-underline-offset: .24em; }
.lh-context a:hover, .lh-year-link:hover, .lh-back:hover { color: #f0d6f6; }

.lh-atlas.core-live-atlas-page {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  background: transparent;
}
.lh-atlas .atlas-main {
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
}
.lh-atlas .atlas-hero { margin-top: .5rem; margin-bottom: 1.75rem; }
.lh-atlas .atlas-hero > div { min-width: 0; }
.lh-atlas .atlas-hero h2 {
  margin: .25rem 0 .9rem;
  font: 500 clamp(1.8rem, 3.4vw, 2.65rem)/1.35 var(--atlas-display);
  letter-spacing: .025em;
}
.lh-atlas .atlas-breadcrumb { margin-bottom: 1.25rem; }
.lh-atlas .atlas-workspace,
.lh-atlas .atlas-explorer,
.lh-atlas .atlas-detail,
.lh-atlas .atlas-geographic-map,
.lh-atlas .atlas-findbar { min-width: 0; max-width: 100%; }
.lh-atlas .atlas-record-stamp { max-width: 100%; }
.lh-atlas .atlas-record-stamp > span { min-width: 0; }

.lh-record-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  width: 100%;
  margin-top: .7rem;
}
.lh-record-actions :is(a, button),
.lh-year-link,
.lh-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: .55rem .75rem;
  border: 1px solid var(--lh-line, #3b2939);
  border-radius: 2px;
  background: #1b1220;
  color: #dcb4e7;
  font-size: .8rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.lh-record-actions :is(a, button):hover,
.lh-year-link:hover,
.lh-back:hover { border-color: #a655b5; background: #281730; }
.lh-back { margin-bottom: 1.25rem; background: transparent; }
.lh-record-detail { width: 100%; max-width: 100%; margin-top: 1.25rem; }
.lh-record-meta { display: flex; flex-wrap: wrap; gap: .45rem .65rem; width: 100%; margin: .9rem 0 1.3rem; }
.lh-record-meta > :is(span, a) {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  padding: .35rem .6rem;
  border: 1px solid var(--lh-line);
  color: var(--lh-soft);
  font-size: .78rem;
  line-height: 1.6;
  text-decoration: none;
}
.lh-section-title { margin: 1.9rem 0 .9rem; padding-bottom: .65rem; border-bottom: 1px solid var(--lh-line); font-size: 1.3rem; line-height: 1.6; }
.lh-setlist {
  width: 100%;
  margin-top: 1.1rem;
  padding: 1rem clamp(.8rem, 2.5vw, 1.5rem);
  border: 1px solid var(--lh-line);
  background: #110d13;
}
.lh-setlist .lh-song-list,
ol.lh-song-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1.8rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
.lh-song-list li {
  min-width: 0;
  max-width: 100%;
  padding: .7rem .15rem;
  border-bottom: 1px solid #302333;
  font-size: .9rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.lh-song-list li::marker { color: var(--lh-muted); font-family: var(--font-mono, monospace); font-size: .75rem; }
.lh-song-list li > :is(span, a, strong) { min-width: 0; max-width: 100%; }
.lh-song-list .lh-song-index { display: inline-block; min-width: 2.3em; padding-right: .6rem; color: var(--lh-muted); font: .75rem var(--font-mono, monospace); }
.lh-unknown-note {
  display: block;
  width: 100%;
  margin: 1rem 0;
  padding: .8rem 1rem;
  border: 1px solid #60464b;
  background: #1c141b;
  color: #d7c2cd;
  font-size: .8rem;
  line-height: 1.85;
}
.lh-related-videos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  margin: 1rem 0;
}
.lh-video-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--lh-line);
  border-radius: 3px;
  background: #151017;
  color: var(--lh-ink);
  text-decoration: none;
}
.lh-video-card:hover { border-color: var(--lh-purple); }
.lh-video-card > a { display: block; color: inherit; text-decoration: none; }
.lh-video-card img { display: block; width: 100%; height: auto; max-width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #0c0c0c; }
.lh-video-card h4 { margin: .85rem .9rem .45rem; font-size: .95rem; line-height: 1.65; }
.lh-video-card p { margin: 0 .9rem .85rem; color: var(--lh-muted); font-size: .76rem; line-height: 1.8; }
.lh-video-card .lh-video-badges,
.lh-video-card .lh-badges { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 .9rem .9rem; }
.lh-video-card .lh-video-badges > span,
.lh-video-card .lh-badges > span { display: inline-block; padding: .2rem .4rem; border: 1px solid var(--lh-line); color: #d7b3df; font-size: .68rem; line-height: 1.5; }
.lh-video-association {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .65rem;
  grid-column: 1 / -1;
  min-width: 0;
  max-width: 100%;
  margin: .6rem 0 0;
  padding-top: .6rem;
  border-top: 1px solid var(--line, #3b2939);
  font-size: .76rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.lh-video-association > a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .2rem 0; color: #d8a9e4; text-underline-offset: .2em; }
.lh-video-association > span { color: var(--muted, #aa93a4); }
.lh-video-filter {
  display: block;
  width: min(100%, 32rem);
  min-width: 0;
  margin: 1rem 0 1.4rem;
  color: var(--lh-soft);
  font-size: .8rem;
}
.lh-video-filter > :is(span, label) { display: block; margin-bottom: .4rem; }
.lh-video-filter :is(select, input),
.lh-page input[type="search"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  padding: .65rem .75rem;
  border: 1px solid var(--lh-line);
  border-radius: 2px;
  background: #100b13;
  color: var(--lh-ink);
  font-size: 16px;
  line-height: 1.5;
}
.lh-loading, .lh-error { width: 100%; margin: 1rem 0; padding: 1rem; border: 1px solid var(--lh-line); color: var(--lh-soft); font-size: .85rem; line-height: 1.85; }
.lh-error { border-left: 3px solid #d83848; }

@media (max-width: 1000px) {
  .lh-related-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .lh-header { margin-bottom: 1.1rem; padding-bottom: 1.1rem; }
  .lh-header h2 { font-size: clamp(1.9rem, 8vw, 2.7rem); }
  .lh-header .lh-lead { font-size: .88rem; line-height: 1.85; }
  .lh-nav { gap: .4rem; margin-bottom: 1.1rem; }
  .lh-nav > a { min-height: 5rem; padding: .7rem .55rem; }
  .lh-nav > a strong { font-size: .88rem; }
  .lh-nav > a span { font-size: .66rem; }
  .lh-shared-nav { margin-bottom: 1rem; }
  .lh-context { padding: .75rem .8rem; font-size: .78rem; }
  .lh-atlas .atlas-hero { gap: 1rem; margin-bottom: 1.25rem; }
  .lh-atlas .atlas-hero h2 { font-size: clamp(1.7rem, 7vw, 2.2rem); }
  .lh-atlas :where(input[type="search"], select) { font-size: 16px; min-height: 44px; }
  .lh-atlas .atlas-segmented label > span { min-height: 44px; }
  .lh-atlas .atlas-text-button { min-height: 44px; }
  .lh-atlas .atlas-view-switch button { min-height: 44px; }
  .lh-song-list, .lh-setlist .lh-song-list, ol.lh-song-list { grid-template-columns: minmax(0, 1fr); }
  .lh-related-videos { gap: .7rem; }
  .lh-video-card h4 { margin: .65rem .7rem .35rem; font-size: .86rem; }
  .lh-video-card p { margin: 0 .7rem .7rem; font-size: .72rem; }
  .lh-section-title { margin-top: 1.5rem; font-size: 1.15rem; }
}
@media (max-width: 440px) {
  .lh-related-videos { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 380px) {
  .lh-nav { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
  .lh-nav > a { flex-direction: row; justify-content: space-between; align-items: center; gap: .75rem; min-height: 52px; padding: .65rem .8rem; }
  .lh-nav > a strong { flex: 0 1 auto; }
  .lh-nav > a span { flex: 0 1 55%; text-align: right; }
  .lh-atlas .atlas-hero h2 { font-size: 1.65rem; }
}
@media (prefers-reduced-motion: reduce) {
  .lh-nav > a { transition: none; }
  .lh-page *, .lh-shared-nav * { scroll-behavior: auto !important; }
}

/* Final integration boundaries and legacy navigation. */
.live-hub-atlas-v1901 .atlas-hero #atlas-title{margin:.25rem 0 .9rem;font:500 clamp(2.1rem,3.4vw,3.15rem)/1.3 var(--atlas-display);letter-spacing:.025em}
.lh-videos-page > .compact-reader-header > p,.lh-videos-page > .reader-header > p{grid-column:1/-1;width:100%;min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.lh-event-records,.lh-event-records>li{min-width:0;max-width:100%}
.lh-empty{color:var(--muted,#aa93a4);font-size:13px;line-height:1.9;overflow-wrap:anywhere}
.main-nav [data-view="setlists"],[data-mobile-view="setlists"]{display:none!important}
@media(max-width:760px){.lh-videos-page > .compact-reader-header,.lh-videos-page > .reader-header{display:grid;grid-template-columns:minmax(0,1fr)}.lh-videos-page > .reader-header > *{grid-column:1/-1;min-width:0;max-width:100%}.lh-videos-page > .reader-header > .eyebrow{grid-row:1}.lh-videos-page > .reader-header > h2{grid-row:2}.lh-videos-page > .reader-header > .portal-toolbar{grid-row:3;width:100%}}

/* v1910: the integrated LIVE landing leaves the stage to the map. */
body.is-live-hub-history-v1901 .lh-page > .lh-header { display: none; }
body.is-live-hub-history-v1901 .lh-page > .lh-nav { margin: 0 0 .85rem; gap: .35rem; }
body.is-live-hub-history-v1901 .lh-page > .lh-nav > a { min-height: 44px; padding: .55rem .6rem; }
body.is-live-hub-history-v1901 .lh-page > .lh-nav > a strong { font-size: .8rem; line-height: 1.4; }
body.is-live-hub-history-v1901 .lh-page > .lh-nav > a span { display: none; }
body.is-live-hub-history-v1901 .lh-page > .lh-nav > a[aria-current="page"] { border-top-color: #be81d2; }
body.is-live-hub-history-v1901 .lh-atlas.atlas-discovery-v1910 .atlas-hero { margin-top: 0; margin-bottom: .7rem; }
body.is-live-hub-history-v1901 .lh-atlas.atlas-discovery-v1910 .atlas-main { padding: 0; }
body.is-live-hub-history-v1901 .lh-atlas.atlas-discovery-v1910 .atlas-show-expanded .lh-record-actions { margin-top: .5rem; }
body.is-live-hub-history-v1901 .lh-atlas.atlas-discovery-v1910 .atlas-show-expanded .lh-record-actions button { width: 100%; min-height: 44px; }
@media (max-width:380px) {
  body.is-live-hub-history-v1901 .lh-page > .lh-nav { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.is-live-hub-history-v1901 .lh-page > .lh-nav > a { justify-content: center; }
  body.is-live-hub-history-v1901 .lh-page > .lh-nav > a strong { font-size: .68rem; text-align: center; }
}
/* v1910: compact shared LIVE tabs keep the analysis stage in view. */
body.is-live-hub-v1901 .lh-shared-nav { margin-bottom:12px; }
body.is-live-hub-v1901 .lh-shared-nav > .eyebrow { margin:0 0 7px; font-size:10px; }
body.is-live-hub-v1901 .lh-shared-nav > .lh-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:0; }
body.is-live-hub-v1901 .lh-shared-nav > .lh-nav > a { min-height:44px; padding:8px; align-items:center; justify-content:center; flex-direction:row; text-align:center; }
body.is-live-hub-v1901 .lh-shared-nav > .lh-nav > a strong { font-size:12px; line-height:1.4; }
body.is-live-hub-v1901 .lh-shared-nav > .lh-nav > a span { display:none; }
@media(max-width:380px){body.is-live-hub-v1901 .lh-shared-nav > .lh-nav > a { padding:6px 4px; }body.is-live-hub-v1901 .lh-shared-nav > .lh-nav > a strong { font-size:11px; }}
