/* V72 public design. The explicit public root replaces legacy typography and
   shell declarations without changing admin styles or media-card geometry. */
#historium-public {
  --font-ui: "Historium Sans", "Segoe UI", Arial, sans-serif;
  --font-display: var(--font-ui);
  --font-reading: var(--font-ui);
  --v72-ink: #f4f3ee;
  --v72-soft: #aaaead;
  --v72-surface: #191c1d;
  --v72-line: #ffffff20;
  --v72-accent: #dbbb85;
  --v72-paper: #101213;
  font-family: var(--font-ui) !important;
  font-size: 16px; line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
html[data-theme="light"] #historium-public {
  --v72-ink: #202323; --v72-soft: #5e6564; --v72-surface: #ebece7;
  --v72-line: #20232325; --v72-accent: #815921; --v72-paper: #f6f5f0;
}
#historium-public:not([data-page="shorts"]) { --header: 80px; }
#historium-public:not([data-page="shorts"]) .hm-header { height: 80px !important; min-height: 80px !important; }
#historium-public :is(h1,h2,h3,h4,h5,p,a,button,input,select,textarea,summary,small,time,blockquote,figcaption) {
  font-family: var(--font-ui) !important;
  font-stretch: normal !important;
}
#historium-public :is(h1,h2,h3,h4) { font-weight: 650 !important; letter-spacing: -.035em !important; }
#historium-public :is(p,li) { letter-spacing: -.012em; }
#historium-public :is(.home-netflix-card__title,.home-netflix-card__resting-title,.hm-card__title) {
  font-family: var(--font-ui) !important; font-weight: 600 !important;
  letter-spacing: -.018em !important; line-height: 1.45 !important;
}
#historium-public :is(.home-netflix-card__meta,.hm-card__meta,.content-kicker,.breadcrumbs) { font-family: var(--font-ui) !important; }
#historium-public :is(.shelf-heading h2,.archive-heading h1,.music-library-heading h2) { letter-spacing: -.035em !important; font-weight: 650 !important; }
#historium-public :is(.action,.button,.library-save-button.is-labeled):not(.shorts-action) {
  min-height: 44px !important; padding: 11px 18px !important; gap: 9px !important;
  font: 600 13px/1.3 var(--font-ui) !important; letter-spacing: -.01em !important;
  text-transform: none !important; border-radius: 7px !important; box-shadow: none !important;
}
#historium-public :is(a,button,summary,input,select,textarea):focus-visible {
  outline: 2px solid var(--v72-accent); outline-offset: 4px;
}
#historium-public .library-save-button:not(.shorts-action):not(.is-music-favorite):not(.is-busy) .library-save-icon {
  --bookmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M6 3h12v18l-6-4-6 4V3Z'/%3E%3C/svg%3E");
  display: block !important; width: 19px !important; height: 19px !important;
  min-width: 19px !important; background: currentColor !important; border: 0 !important;
  border-radius: 0 !important; transform: none !important;
  mask: var(--bookmark) center/contain no-repeat !important;
  -webkit-mask: var(--bookmark) center/contain no-repeat !important;
}
#historium-public .library-save-button.is-saved:not(.shorts-action):not(.is-music-favorite):not(.is-busy) .library-save-icon {
  --bookmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 3h12v18l-6-4-6 4V3Z'/%3E%3C/svg%3E");
}
#historium-public .library-save-button:not(.shorts-action):not(.is-music-favorite):not(.is-busy) .library-save-icon::before,
#historium-public .library-save-button:not(.shorts-action):not(.is-music-favorite):not(.is-busy) .library-save-icon::after { content: none !important; }
#historium-public :is(.shelf-rail-button,.home-netflix-card__control) {
  box-shadow: none !important; border: 1px solid #ffffff40 !important;
  background: #191c1ded !important; color: #fafaf8 !important;
}
#historium-public .shelf-rail-button { width: 44px !important; height: 44px !important; }
#historium-public .shelf-rail-button:hover:not(:disabled) { background: #383d3f !important; }
#historium-public .home-netflix-card__control { width: 38px !important; height: 38px !important; min-width: 38px !important; min-height: 38px !important; }
#historium-public .home-netflix-card__control svg { width: 19px !important; height: 19px !important; }

/* Spacious masthead, clear navigation, independent action group. */
#historium-public .hm-header {
  background: #101213 !important; color: #f4f3ee !important;
  border: 0 !important; border-bottom: 1px solid #ffffff20 !important;
  box-shadow: none !important; backdrop-filter: none !important;
  transform: none !important; top: 0 !important;
}
html[data-theme="light"] #historium-public .hm-header { background: #fcfbf7 !important; color: #202323 !important; border-bottom-color: #20232320 !important; }
#historium-public:not([data-page="shorts"]) .hm-header .header-inner {
  min-height: 80px !important; height: 80px !important; max-width: 1600px !important;
  padding: 0 40px !important; gap: 28px !important;
}
#historium-public .hm-header .brand { gap: 12px !important; flex: 0 0 auto !important; min-width: 0 !important; }
#historium-public .hm-header .brand-logo { width: 42px !important; height: 42px !important; object-fit: contain !important; background: #101213 !important; border-radius: 50% !important; filter: none !important; mix-blend-mode: normal !important; }
#historium-public .hm-header .brand-name {
  font-family: var(--font-ui) !important; font-size: 25px !important; font-weight: 650 !important;
  letter-spacing: -.055em !important; color: var(--v72-ink) !important;
}
#historium-public .hm-header .primary-nav { gap: 22px !important; margin-inline: auto !important; }
#historium-public .hm-header .primary-nav > a {
  position: relative !important; padding: 10px 0 !important; min-height: 44px !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  background: none !important; color: var(--v72-soft) !important;
  font-size: 14px !important; font-weight: 550 !important; letter-spacing: -.015em !important;
}
#historium-public .hm-header .primary-nav > a:hover { color: var(--v72-ink) !important; }
#historium-public .hm-header .primary-nav > a[aria-current="page"] { color: var(--v72-ink) !important; }
#historium-public .hm-header .primary-nav > a[aria-current="page"]::after {
  content: "" !important; position: absolute !important; inset: auto 0 0 !important;
  height: 2px !important; background: var(--v72-accent) !important; border: 0 !important;
}
#historium-public .hm-header .header-actions { gap: 12px !important; flex: 0 0 auto !important; }
#historium-public .hm-header :is(.theme-toggle,.nav-toggle,.header-search > button) {
  width: 42px !important; min-width: 42px !important; height: 42px !important;
  border: 0 !important; border-radius: 50% !important; background: transparent !important;
  color: var(--v72-ink) !important; box-shadow: none !important;
}
#historium-public .hm-header :is(.theme-toggle,.nav-toggle,.header-search > button):hover { background: var(--v72-surface) !important; }
#historium-public .hm-header :is(.theme-symbol,.search-icon svg) { width: 21px !important; height: 21px !important; stroke-width: 1.7 !important; }
#historium-public .hm-header .language-select { font: 500 12px/1.4 var(--font-ui) !important; color: var(--v72-ink) !important; }
#historium-public .hm-header .header-search { border-radius: 24px !important; box-shadow: none !important; }
#historium-public .hm-search-label { font: 500 12px/1.3 var(--font-ui); }
@media (min-width: 1201px) {
  #historium-public .hm-header .header-search { width: 96px !important; min-width: 96px !important; }
  #historium-public .hm-header .header-search > button { display: inline-flex !important; flex: 0 0 96px !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; width: 96px !important; min-width: 96px !important; max-width: none !important; gap: 9px !important; padding: 0 12px !important; border: 1px solid var(--v72-line) !important; border-radius: 24px !important; background: var(--v72-surface) !important; }
}
@media (max-width: 1200px) { #historium-public .hm-search-label { display: none; } }
@media (min-width: 961px) {
  #historium-public #platform-search-results { top: calc(var(--header) + 56px) !important; max-height: calc(100dvh - var(--header) - 76px) !important; }
  #historium-public .hm-header .header-search { position: relative !important; justify-content: center !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
  #historium-public .hm-header .header-search:not(.is-open) input { display: none !important; }
  #historium-public .hm-header .header-search.is-open input {
    display: block !important; position: absolute !important; top: calc(100% + 18px) !important;
    right: 0 !important; left: auto !important; bottom: auto !important;
    width: 360px !important; min-width: 360px !important; max-width: 80vw !important;
    height: 50px !important; margin: 0 !important; padding: 12px 16px !important;
    color: var(--v72-ink) !important; background: var(--v72-paper) !important;
    border: 1px solid var(--v72-line) !important; border-radius: 8px !important;
    opacity: 1 !important; visibility: visible !important; transform: none !important;
    box-shadow: 0 12px 36px #0005 !important;
  }
}
#historium-public .hm-header .header-search input { font: 400 14px/1.5 var(--font-ui) !important; }
#historium-public .hm-header .sign-in-link {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 40px !important; padding: 9px 17px !important; border-radius: 22px !important;
  border: 1px solid var(--v72-line) !important; background: var(--v72-surface) !important;
  color: var(--v72-ink) !important; box-shadow: none !important;
  font: 600 12px/1.3 var(--font-ui) !important; letter-spacing: 0 !important;
}

/* New footer markup deliberately has no legacy footer grid/clip classes. */
#historium-public .hm-footer {
  margin-top: 80px !important; padding: 0 !important; background: var(--v72-paper) !important;
  border: 0 !important; border-top: 1px solid var(--v72-line) !important;
}
#historium-public .hm-footer::before,#historium-public .hm-footer::after { content: none !important; }
#historium-public[data-page="home"] .hm-footer { margin-top: 24px !important; }
.hm-footer__inner { max-width: 1440px; padding: 64px 48px 28px; margin: 0 auto; }
.hm-footer__main { display: grid; grid-template-columns: 1.65fr 1fr 1fr 1fr; gap: 48px; align-items: start; }
.hm-footer__identity { min-width: 0; padding-inline-end: 30px; }
#historium-public .hm-footer__brand { display: flex; align-items: center; gap: 14px; color: var(--v72-ink); text-decoration: none; }
.hm-footer__logo { width: 52px; height: 52px; object-fit: contain; background: #101213; border-radius: 50%; }
#historium-public .hm-footer__brand span { font: 600 36px/1.2 var(--font-ui); letter-spacing: -.055em; }
#historium-public .hm-footer__identity p { max-width: 30ch; margin: 24px 0 0; font-size: 15px; line-height: 1.8; color: var(--v72-soft); }
#historium-public .hm-footer__title { margin: 12px 0 26px; font-size: 12px; font-weight: 600 !important; letter-spacing: .04em !important; color: var(--v72-soft); }
.hm-footer__links { display: grid; gap: 12px; }
#historium-public .hm-footer__links a { width: fit-content; min-height: 28px; color: var(--v72-ink); font-size: 15px; line-height: 1.7; text-decoration: none; }
#historium-public .hm-footer__links a:hover { color: var(--v72-accent); }
.hm-footer__social-link { display: inline-flex; align-items: center; gap: 12px; }
.hm-footer__icon { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; }
.hm-footer__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.hm-footer__social-link[href*="facebook"] svg { fill: currentColor; stroke: none; width: 17px; height: 17px; }
.hm-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; margin-top: 54px; padding-top: 24px; border-top: 1px solid var(--v72-line); }
#historium-public .hm-footer__copyright { margin: 0; font-size: 12px; color: var(--v72-soft); }
.hm-footer__legal { display: flex; flex-wrap: wrap; gap: 22px; }
#historium-public .hm-footer__legal :is(a,button) { padding: 0; background: none; border: 0; font-size: 12px; font-weight: 400; line-height: 1.7; color: var(--v72-soft); cursor: pointer; }
#historium-public .hm-footer__legal :is(a,button):hover { color: var(--v72-ink); }

/* License details use a centered SVG. Hidden text must not reserve a column. */
#historium-public[data-page="music"] .track-license-type-button { align-items: center !important; }
#historium-public[data-page="music"] .track-license-icon {
  display: block !important; flex: 0 0 20px !important; width: 20px !important; height: 20px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; transform: none !important;
}
#historium-public[data-page="music"] .music-hero :is(h1,.music-hero-title) { font-size: clamp(32px,4.5vw,58px) !important; line-height: 1.08 !important; max-width: 22ch !important; }
#historium-public[data-page="music"] :is(.track-title,.track-title strong,.track-library-title strong) { font-weight: 600 !important; }
@media (max-width: 1200px) and (min-width: 961px) {
  #historium-public:not([data-page="shorts"]) .hm-header .header-inner { padding-inline: 26px !important; gap: 18px !important; }
  #historium-public .hm-header .primary-nav { gap: 15px !important; }
  #historium-public .hm-header .primary-nav > a { font-size: 13px !important; }
  #historium-public .hm-header .header-actions { gap: 6px !important; }
}
@media (max-width: 1100px) {
  .hm-footer__main { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
  .hm-footer__identity { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 0 0 12px; }
  #historium-public .hm-footer__identity p { margin: 0; max-width: 42ch; }
}
@media (max-width: 960px) {
  #historium-public:not([data-page="shorts"]) { --header: 64px; }
  #historium-public:not([data-page="shorts"]) .hm-header { height: 64px !important; min-height: 64px !important; }
  #historium-public:not([data-page="shorts"]) .hm-header .header-inner { min-height: 64px !important; height: 64px !important; padding-inline: 18px !important; gap: 12px !important; }
  #historium-public .hm-header .brand-logo { width: 34px !important; height: 34px !important; }
  #historium-public .hm-header .brand-name { font-size: 22px !important; }
  #historium-public .hm-header .brand { gap: 9px !important; }
  #historium-public .hm-header .header-actions { gap: 6px !important; margin-inline-start: auto !important; }
  #historium-public .hm-header .primary-nav { gap: 4px !important; margin: 0 !important; }
  #historium-public .hm-header .primary-nav > a { padding: 15px 10px !important; min-height: 50px !important; font-size: 19px !important; font-weight: 500 !important; }
  #historium-public .hm-header .primary-nav > a[aria-current="page"]::after { display: none !important; }
  #historium-public .hm-header .primary-nav > a[aria-current="page"] { color: var(--v72-accent) !important; }
}
@media (max-width: 767px) {
  #historium-public .hm-header :is(.theme-toggle,.nav-toggle) { width: 40px !important; height: 44px !important; min-width: 40px !important; }
  #historium-public .hm-header .sign-in-link { min-height: 36px !important; padding: 8px 13px !important; }
  #historium-public .hm-footer { margin-top: 56px !important; }
  .hm-footer__inner { padding: 40px 24px 28px; }
  .hm-footer__main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 22px; }
  .hm-footer__identity { display: block; padding-bottom: 8px; }
  #historium-public .hm-footer__brand span { font-size: 34px; }
  #historium-public .hm-footer__identity p { margin-top: 20px; font-size: 14px; }
  .hm-footer__channels { grid-column: 1/-1; }
  .hm-footer__social { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  #historium-public .hm-footer__title { margin: 4px 0 18px; }
  .hm-footer__links { gap: 10px; }
  #historium-public .hm-footer__links a { min-height: 34px; font-size: 14px; }
  .hm-footer__bottom { margin-top: 32px; gap: 20px; }
  .hm-footer__legal { gap: 14px; }
  #historium-public[data-page="music"] .hm-track-card .track-license-type-button {
    display: flex !important; justify-content: center !important; align-items: center !important;
    width: 44px !important; min-width: 44px !important; height: 44px !important; min-height: 44px !important;
    padding: 0 !important; gap: 0 !important; border-radius: 50% !important;
    grid-template-columns: none !important; color: var(--v72-ink) !important;
  }
  #historium-public[data-page="music"] .hm-track-card .track-license-type-button > span:last-child { display: none !important; }
  #historium-public[data-page="music"] .hm-track-card .track-license-type-button .track-license-icon { color: currentColor !important; }
}
@media (max-width: 374px) {
  #historium-public:not([data-page="shorts"]) .hm-header .header-inner { padding-inline: 10px !important; gap: 5px !important; }
  #historium-public .hm-header .header-actions { gap: 3px !important; }
  #historium-public .hm-header .brand-name { font-size: 20px !important; }
  #historium-public .hm-header .brand-logo { width: 28px !important; height: 28px !important; }
  #historium-public .hm-header .sign-in-link { padding-inline: 9px !important; width: auto !important; max-width: none !important; font-size: 11px !important; }
}
@media (prefers-reduced-motion: reduce) { #historium-public :is(.action,.button,.shelf-rail-button) { transition: none !important; } }
