/* Figma LosCaminos_SEyPD, Hero 4:3 — 5 October 2026. */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/identity/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/identity/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/identity/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/identity/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: normal;
  font-display: swap;
  src: url(/assets/identity/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Philosopher';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/identity/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Philosopher';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/identity/font-7.ttf) format('truetype');
}

:root{--bg:#070435;--surface:#171345;--ink:#fff;--muted:#c4c8e2;--gold:#c4ef4d;--line:#8294ee45;--brand-purple:#2f2981;--brand-lavender:#8294ee;--brand-green:#4ae077;--brand-pink:#e23f6d;--hero-ink:#175d81;--sans:'Open Sans',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif}
body{background:var(--bg);color:var(--ink)}

.slogan-mark img{display:block;width:150px;height:62px;object-fit:contain}

/* Shared typography and grid. */
header{height:107px;padding-inline:max(36px,calc((100% - 1128px)/2));gap:30px;background:var(--brand-purple);border-bottom:8px solid var(--bg)}
header .institutional-signature{gap:14px;margin:0;padding:0;border:0;flex-shrink:0}
header .unam-seal img{width:42px;height:50px;object-fit:contain}
header .culture-mark img{width:102px;height:44px;object-fit:contain}
header .brand{font:700 24px/1.25 var(--sans);letter-spacing:0;white-space:nowrap;text-transform:capitalize}
header nav{gap:22px}header nav a{color:white;font-size:16px;padding:30px 0;border:0}
header nav a[aria-current=page]{border:0;color:var(--gold)}
header .head-actions{margin-left:auto;gap:0}header .icon-button{border:0;font-size:28px}


/* Featured route: proportions and title placement from the 1440px Figma frame. */
.featured-slides,.featured-slide .editorial-stage{min-height:429px}
.featured-slide .editorial-stage{grid-template-columns:58% 42%;height:429px;background:var(--gold);color:var(--hero-ink)}
.featured-slide .stage-copy{height:auto;padding:22px 8% 32px 5.3%;display:flex;justify-content:space-between;min-width:0}
.slogan-mark{padding:0;margin:0;gap:0;display:block;transform:none}
.slogan-mark img{width:125px;height:auto;max-width:100%}
.featured-slide .stage-copy h1{font-family:var(--sans);font-size:clamp(42px,4.445vw,64px);font-weight:700;line-height:1.06;letter-spacing:0;margin:12px auto 22px;width:max-content;max-width:100%;color:var(--hero-ink)}
.featured-slide .stage-copy h1 em{font-family:var(--serif);font-weight:700;font-size:1.15625em;line-height:1;letter-spacing:0}
.featured-slide:first-child .stage-copy h1 em{display:inline-block;margin-left:1.65em}
.stage-bottom{gap:20px;align-items:center;flex-direction:row}.stage-bottom p{font:700 16px/1.5 var(--sans);color:var(--hero-ink);max-width:320px}
.stage-bottom .button{background:var(--brand-purple);padding:10px 16px;min-height:42px;font-size:16px;line-height:1.4;gap:18px;color:white}
.featured-slide .stage-image{min-height:0;height:429px;background:var(--brand-lavender)}
.stage-image img{mix-blend-mode:luminosity;object-fit:cover;object-position:center}
.image-credit{font:600 12px/1.4 var(--sans);letter-spacing:.06em;background:#070435ba;bottom:16px;left:20px;padding:6px 10px}
.stage-index{display:none}
.featured-controls{min-height:64px;padding:10px max(36px,calc((100% - 1128px)/2));border-color:#3f80e2;color:white;gap:34px;font-size:16px}
.featured-arrows button{border:0;border-radius:0;font-size:24px}.featured-dots button span{height:2px;border-radius:0;background:white}
.featured-dots button[aria-pressed=true] span{background:var(--gold)}

/* Discovery and collections share the same content alignment. */
.discovery-deck{padding-top:26px;padding-bottom:0;margin-top:0;margin-bottom:0}
.discovery-deck h2{font:400 16px/1.5 var(--sans);letter-spacing:0;margin:0 0 62px}
.discovery-deck h2 em{font-family:var(--sans);font-weight:700;font-style:normal}
.discovery-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.discovery-options .discovery-card{min-height:153px;padding:24px;border-radius:20px;background:var(--brand-lavender);border:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:40px auto;gap:8px 12px;color:var(--bg);text-align:left}
.discovery-symbol{grid-column:1/-1;color:var(--gold);margin:0;align-self:start}.discovery-symbol svg{width:34px;height:34px}
.discovery-options .discovery-surprise{background:var(--brand-green)}.discovery-surprise .discovery-symbol{color:var(--brand-purple)}
.discovery-label{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:0}.discovery-label small{display:block;font-size:14px;line-height:1.4;font-weight:600;margin-top:4px;color:var(--bg)}
.discovery-go{align-self:center;color:var(--bg);font-size:25px}

















/* Acervo bands follow the colour blocks in the supplied layout. */
.acervos-home{padding:64px 0 0;margin:0}.acervos-heading{margin-bottom:35px}
.acervos-heading h2{font:700 30px/1.25 var(--sans);letter-spacing:0}
.acervos-heading h2 span:nth-child(1){color:#19d7ed}.acervos-heading h2 span:nth-child(2){color:#e2903f}.acervos-heading h2 span:nth-child(3){color:#e2e23f}.acervos-heading h2 span:nth-child(4){color:#3f80e2}
.acervos-home>div.platform-bands{display:grid;grid-template-columns:1.2fr 1fr;gap:8px;margin-inline:calc((min(1128px,100vw - 72px) - 100vw)/2)}
.acervos-home>div.platform-bands .platform-logo-link{padding:18px 30px;min-height:122px;border:0;border-radius:0;display:flex;align-items:center;justify-content:center;flex-direction:row;position:relative}
.acervos-home>div.platform-bands .platform-logo-link.platform-dc{grid-column:1/-1;background:#ff1f31}.acervos-home>div.platform-bands .platform-logo-link.platform-gm{background:#f08111;grid-column:1;grid-row:2}.acervos-home>div.platform-bands .platform-logo-link.platform-vv{background:#fcb615;grid-column:2;grid-row:2}.acervos-home>div.platform-bands .platform-logo-link.platform-cd{grid-column:1/-1;background:#7919ce}
.platform-bands .platform-logo{height:80px;width:200px;padding:0;background:none;display:flex;justify-content:center;align-items:center}
.platform-bands .platform-logo img{max-width:100%;height:100%;object-fit:contain;filter:none}
.platform-bands .platform-explore{position:absolute;right:24px;bottom:14px;margin:0;color:var(--bg);font-size:12px}
.platform-bands .platform-cd .platform-explore{color:white}
.acervos-home .community-link{display:block;padding:28px 0;margin:0;font-size:30px;font-weight:700;color:var(--gold);border:0}

/* Footer uses the supplied vector signature at a compact scale. */
.footer-editorial{border-top:1px solid #3f80e2;padding:36px max(36px,calc((100% - 1128px)/2)) 0;background:var(--bg);margin-top:0}
.footer-lead{grid-template-columns:1fr 1fr;gap:64px;padding:0 0 36px;align-items:start}
.footer-wordmark{font:700 24px/1.35 var(--sans);text-transform:capitalize;letter-spacing:0;margin:0 0 12px}
.footer-manifesto img{display:block;width:230px;height:auto;max-width:100%}
.footer-services>p{font:700 24px/1.35 var(--sans);margin:0 0 20px}
.footer-services nav{gap:0 36px}.footer-services nav a,.footer-services nav button{font-size:14px;border-bottom:1px solid var(--line);padding:9px 0}
.footer-credit{padding:22px 0;gap:25px}.footer-credit p,.footer-credit>span{font-size:13px}.footer-credit>span strong{color:#fcb615}

@media(min-width:1600px){.featured-slide .editorial-stage,.featured-slide .stage-image{height:480px}.featured-slides,.featured-slide .editorial-stage{min-height:480px}.featured-slide .stage-copy h1{font-size:72px}}
@media(max-width:1100px){header{gap:20px;padding-inline:28px}header nav{gap:16px}header nav a{font-size:14px}header .institutional-signature{gap:8px}.featured-slide .stage-copy{padding-inline:28px}.stage-bottom{align-items:start;gap:12px}.stage-bottom p{font-size:14px}.stage-bottom .button{font-size:14px;padding:10px 13px;white-space:normal}.discovery-options{gap:16px}.discovery-options .discovery-card{padding:20px}.discovery-label{font-size:20px}}
@media(max-width:750px){
 header{height:82px;padding:0 20px;gap:18px;border-bottom-width:4px}header .brand{font-size:22px}header .institutional-signature{gap:8px}header .unam-seal img{width:29px;height:38px}header .culture-mark img{width:70px;height:34px}header .head-actions{margin-left:auto}

 .featured-slides,.featured-slide .editorial-stage{min-height:0}
 .featured-slide .editorial-stage{display:flex;flex-direction:column;height:auto}
 .featured-slide .stage-copy{height:370px;padding:20px 24px 24px}
 .slogan-mark img{width:105px}
 .featured-slide .stage-copy h1{font-size:44px;margin:12px auto 20px;line-height:1.06}
 .featured-slide:first-child .stage-copy h1 em{margin-left:1.35em}
 .stage-bottom{align-items:center;gap:14px}.stage-bottom p{font-size:13px;max-width:52%;line-height:1.5}.stage-bottom .button{font-size:13px;max-width:46%;padding:10px 14px;gap:10px}
 .featured-slide .stage-image{height:260px;min-height:260px;max-height:none}
 .stage-image img{object-position:center 40%}.image-credit{font-size:10px;bottom:12px}
 .featured-controls{padding:8px 20px;min-height:60px;gap:10px}.featured-controls>span{font-size:12px}.featured-arrows{gap:3px}.featured-arrows button{width:32px}.featured-dots button{width:23px}
 .discovery-deck{padding-top:24px}.discovery-deck h2{font-size:16px;margin-bottom:24px;max-width:300px}
 .discovery-options{grid-template-columns:1fr 1fr;gap:14px}.discovery-options .discovery-card{min-height:154px;padding:18px;border-radius:16px}.discovery-label{font-size:20px}.discovery-label small{font-size:13px}.discovery-symbol svg{width:30px;height:30px}











 .acervos-home{padding-top:44px}.acervos-heading h2{font-size:26px}.acervos-heading{margin-bottom:24px}.acervos-home>div.platform-bands{margin-inline:-20px;gap:6px}.acervos-home>div.platform-bands .platform-logo-link{min-height:104px;padding:14px 20px}.platform-bands .platform-logo{height:65px;width:150px}.platform-bands .platform-explore{display:none}.acervos-home .community-link{font-size:25px;padding:24px 0}
 .footer-editorial{padding:28px 20px 105px}.footer-lead{grid-template-columns:1fr;gap:32px;padding-bottom:28px}.footer-manifesto img{width:180px}.footer-wordmark{font-size:22px}.footer-services>p{font-size:22px}.footer-credit{gap:18px;flex-wrap:wrap}.footer-credit>span{margin-left:0}
}
@media(prefers-reduced-motion:reduce){.featured-slide,.stage-image img{animation:none!important;transition:none!important}}



.discovery-options .discovery-symbol{background:transparent;color:var(--gold);width:34px;height:34px;border-radius:0}
.discovery-options .discovery-surprise .discovery-symbol{color:var(--brand-purple)}
.discovery-options .discovery-card:hover,.discovery-options .discovery-card:focus-visible{background:#a0afff;color:var(--bg)}
.discovery-options .discovery-surprise:hover,.discovery-options .discovery-surprise:focus-visible{background:#78ee9b}
@media(max-width:750px){


}

.acervos-home>div.platform-bands .platform-logo-link .platform-explore{position:absolute;right:24px;bottom:10px;display:flex;align-items:center;gap:8px;width:auto;margin:0;font-size:12px}
@media(max-width:750px){.acervos-home>div.platform-bands .platform-logo-link .platform-explore{display:none}}

/* Collections retain their original layout, proportions and typography. */
.home-content .section-head h2{color:var(--brand-green)}
.home-content .home-personal .section-head h2{color:var(--brand-pink)}
.home-route-rail>.compact-route-card .compact-route-art,.home-personal .suggested-thumb{background:var(--brand-lavender)}
header,.featured-carousel,.discovery-deck,.acervos-home,.footer-editorial{font-family:var(--sans)}
.acervos-home>div.platform-bands{margin-inline:calc((100% - 100vw)/2)}
.home-content .home-route-rail>.compact-route-card .compact-route-art{background:var(--brand-lavender)}

/* Para ti and Explorar: palette only; retain existing geometry and images. */
.personal-welcome{background:var(--brand-purple);border-color:var(--brand-lavender)}
.personal-welcome .eyebrow,.personal-welcome h1 em,.personal-next-copy>small{color:var(--gold)}
.personal-welcome h1,.personal-next-copy>strong{color:var(--ink)}
.personal-welcome-copy>p,.personal-next-copy>span,.personal-welcome-copy>button{color:#e0e4ff}
.personal-next{border-color:#8294ee80}
.personal-next-image,.personal-page .suggested-thumb{background:var(--brand-lavender)}
.personal-page .section-head h2{color:var(--brand-pink)}
.personal-page .section-head p,.personal-page .suggested-copy>small,.personal-page .suggested-copy>span{color:var(--muted)}
.personal-page .section-head>a{color:var(--gold)}
.personal-modes button{background:var(--surface);border-color:var(--brand-lavender);color:var(--ink)}
.personal-modes button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.personal-modes button:hover:not([aria-pressed=true]){background:var(--brand-purple)}
.search-heading h1,.search-results-heading h2{color:var(--brand-green)}
.search-page .searchbar input,.search-page .search-filters select{background:var(--surface);border-color:var(--brand-lavender);color:var(--ink)}
.search-page .searchbar input::placeholder{color:var(--muted)}
.search-page .search-filters .chip{color:var(--muted)}
.search-page .search-filters .chip.active{background:var(--gold);color:var(--bg)}
.search-page .search-filters .chip:hover:not(.active){background:var(--brand-purple);color:var(--ink)}
.search-page .source-panel{background:var(--brand-purple);border-color:var(--brand-lavender)}
.search-page .search-summary,.search-page .search-route-suggestions h2,.search-page .search-sources small,.search-page .search-note,.search-page .external-result small,.search-page .harvest-toolbar>span{color:var(--muted)}
.search-page .search-route-suggestions{border-color:var(--line)}
.search-page .search-route-link{background:var(--brand-purple)}
.search-page .search-route-link:hover{background:var(--surface)}
.search-page .search-route-link small{color:#e0e4ff}
.search-page .external-result .external-art,.search-page .thumb{background:var(--brand-lavender)}
.search-page .harvest-select{border-color:var(--brand-lavender);color:var(--muted)}
.search-page .harvest-select[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.search-page .harvest-toolbar .button{background:var(--brand-purple);border-color:var(--brand-lavender);color:var(--ink)}
.search-page .external-open{color:var(--gold)}

/* Photographic art direction is limited to the four featured banners. */
.featured-slide .stage-photo{background:var(--brand-lavender)}
.featured-slide .stage-photo img{object-fit:cover;object-position:center;mix-blend-mode:luminosity}
.featured-slide .stage-photo-0 img{object-position:center 38%}
.featured-slide .stage-photo-1 img{height:118%;object-position:center 45%}
.featured-slide .stage-photo-2 img{object-position:52% 45%}
.featured-slide .stage-photo-3 img{object-position:center 42%}

/* Los Caminos signature: four ends meeting in a shared cultural route. */
header .brand{display:flex;align-items:center;flex-shrink:0}
header .brand img{display:block;width:200px;height:auto}
.footer-wordmark img{display:block;width:230px;height:auto}
@media(max-width:1100px){header .brand img{width:170px}}
@media(max-width:750px){header{gap:12px}header .brand{padding-left:12px;margin-right:0}header .brand img{width:132px}.footer-wordmark img{width:210px}}
@media(max-width:380px){header{padding-inline:14px;gap:9px}header .brand img{width:114px}}

/* Preserve the graphic slogan at a subordinate scale. */
.footer-manifesto .footer-wordmark{margin-bottom:14px}
.footer-manifesto .footer-tagline{display:block;width:145px;height:auto;max-width:100%;transform:none}
@media(max-width:750px){.footer-manifesto .footer-tagline{width:132px}}

/* Route cards: a compact sequence of complete covers and one editorial surface. */
.route-editorial-card{background:#14113f;border:1px solid #8294ee38;border-radius:18px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}
.route-editorial-card:hover,.route-editorial-card:focus-visible{border-color:var(--brand-lavender);box-shadow:0 8px 24px #0003}
.route-editorial-card .compact-route-art{height:220px;border-radius:0;background:var(--brand-purple)!important;padding:22px 22px 30px;gap:12px;align-items:center;overflow:hidden}
.route-editorial-card .compact-route-art>span{position:relative;flex:1;min-width:0;width:auto;height:158px;border-radius:3px;overflow:visible;transform:none;box-shadow:inset 0 0 0 1px #ffffff20;background:var(--brand-lavender)}
.route-editorial-card .compact-route-art>span:nth-child(2){transform:none}
.route-editorial-card .compact-route-art>span:nth-child(3){transform:none}
.route-editorial-card .compact-route-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:3px}
.route-editorial-card .compact-route-art .typographic-cover{box-sizing:border-box;border-radius:3px;padding:10px 8px;overflow:hidden}
.route-editorial-card .compact-route-art .typographic-cover>span{font-size:9px;letter-spacing:.09em}
.route-editorial-card .compact-route-art .typographic-cover strong{font-size:20px;line-height:1.12}
.route-editorial-card .compact-route-art>span>small{position:absolute;top:calc(100% + 7px);left:0;right:0;font:400 11px/1 var(--sans);text-align:center;color:#e0e4ff}
.route-card-copy{padding:22px 20px 0}
.route-card-copy .route-card-kicker{font-size:11px;line-height:1.5;letter-spacing:.06em;color:var(--brand-lavender);margin:0 0 9px;text-transform:uppercase}
.route-editorial-card .route-card-copy h3{font-size:23px;line-height:1.15;letter-spacing:-.025em;margin:0 0 16px;color:var(--ink);min-height:2.3em}
.route-card-details{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-bottom:18px;color:var(--muted);font-size:12px;line-height:1.5}
.route-card-details>span{color:var(--gold);white-space:nowrap}
.route-card-details .route-duration{font-size:12px;line-height:1.5;margin:0;letter-spacing:0;font-weight:400}
.route-card-enter{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #8294ee38;padding:13px 0;font-size:13px;font-weight:600;color:var(--ink)}
.route-card-enter>span{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;background:var(--gold);color:var(--bg);font-size:22px;line-height:1}
@media(max-width:600px){.route-editorial-card .compact-route-art{height:200px;padding:20px 16px 30px;gap:9px}.route-editorial-card .compact-route-art>span{height:140px}.route-card-copy{padding:18px 16px 0}.route-editorial-card .route-card-copy h3{font-size:21px}.route-editorial-card .compact-route-art .typographic-cover strong{font-size:18px}}

/* Give each cover breathing room; a wider frame balances square and portrait art. */
.home-route-rail>.route-editorial-card{flex-basis:360px}
.route-editorial-card .compact-route-art{height:220px;padding:30px 28px 42px;gap:16px}
.route-editorial-card .compact-route-art>span{height:auto;aspect-ratio:3/4;background:#8294ee66;box-shadow:inset 0 0 0 1px #8294ee70;border-radius:6px}
.route-editorial-card .compact-route-art img{box-sizing:border-box;padding:6px;border-radius:6px}
.route-editorial-card .compact-route-art .typographic-cover{padding:12px 10px;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;gap:10px}
.route-editorial-card .compact-route-art .typographic-cover>span{font-size:8px;line-height:1.4;letter-spacing:.06em}
.route-editorial-card .compact-route-art .typographic-cover strong{font-size:18px;line-height:1.05}
.route-editorial-card .compact-route-art>span>small{top:calc(100% + 12px)}
.route-card-copy{padding:24px 24px 0}
@media(max-width:600px){.home-route-rail>.route-editorial-card{flex-basis:300px}.route-editorial-card .compact-route-art{height:195px;padding:26px 20px 40px;gap:12px}.route-editorial-card .compact-route-art>span{height:auto}.route-editorial-card .compact-route-art .typographic-cover{padding:9px 7px;gap:6px}.route-editorial-card .compact-route-art .typographic-cover strong{font-size:16px}.route-editorial-card .compact-route-art .typographic-cover>span{font-size:7px}.route-card-copy{padding:22px 20px 0}}

/* Original institutional artwork: retina-resolution seal and vector wordmark. */
.institutional-signature img,.footer-signature img{opacity:1;image-rendering:auto;object-fit:contain}
.institutional-signature .culture-mark img,.footer-signature img[src$="cultura-unam-vector.svg"]{filter:brightness(0) invert(1)}

/* Institutional signatures need enough physical size to retain fine details. */
header .unam-seal img{display:block;width:60px;height:60px}
header .culture-mark img{width:140px;height:54px}
header .institutional-signature{gap:18px}
.footer-signature img[src$="unam-escudo-hd.png"]{width:72px;height:72px}
.footer-signature img[src$="cultura-unam-vector.svg"]{width:160px;height:auto}
@media(max-width:1100px) and (min-width:751px){header{gap:18px;padding-inline:24px}header .unam-seal img{width:52px;height:54px}header .culture-mark img{width:120px;height:46px}header .institutional-signature{gap:12px}header nav{gap:16px}}
@media(max-width:750px){header .unam-seal img{width:38px;height:42px}header .culture-mark img{width:88px;height:38px}header .institutional-signature{gap:8px}}
@media(max-width:380px){header .unam-seal img{width:34px;height:38px}header .culture-mark img{width:78px;height:34px}header .institutional-signature{gap:7px}}

/* Remove the older footer cap so the high-resolution signatures retain their size. */
.footer-credit .footer-signature{gap:24px;flex-shrink:0}
.footer-credit .footer-signature a{min-height:72px}
.footer-credit .footer-signature img{display:block;max-height:none;max-width:none;object-fit:contain}
.footer-credit .footer-signature img[src$="unam-escudo-hd.png"]{width:72px;height:72px}
.footer-credit .footer-signature img[src$="cultura-unam-vector.svg"]{width:160px;height:auto}
.footer-credit .footer-signature a+a{padding-left:24px}
@media(max-width:750px){.footer-credit .footer-signature{gap:18px}.footer-credit .footer-signature a{min-height:60px}.footer-credit .footer-signature a+a{padding-left:18px}.footer-credit .footer-signature img[src$="unam-escudo-hd.png"]{width:60px;height:60px}.footer-credit .footer-signature img[src$="cultura-unam-vector.svg"]{width:140px;height:auto}}

/* Ruletra follows the Figma palette and the site's editorial identity. */
dialog:has(.ruletra-panel){background:var(--bg);border:1px solid var(--brand-lavender);border-radius:24px;color:var(--ink);font-family:var(--sans);box-shadow:0 24px 80px #0007}
.ruletra-panel{padding:36px}
.ruletra-heading{padding:0 60px 24px 0;border-bottom:1px solid var(--line)}
.ruletra-heading .eyebrow{color:var(--gold);font-size:12px;letter-spacing:.12em}
.ruletra-heading h2{color:var(--ink);font-family:var(--sans);font-size:64px;letter-spacing:-.045em;font-weight:750;margin:14px 0}
.ruletra-heading h2 span{color:var(--brand-green);vertical-align:middle}
.ruletra-heading p{color:var(--muted);font-size:16px}
.ruletra-layout{gap:32px;margin-top:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.ruletra-wheel{filter:none;padding:8px}
.ruletra-pointer{border-top-color:var(--gold);top:8px;filter:drop-shadow(0 3px 2px #07043580)}
.ruletra-information{background:var(--brand-lavender);color:var(--bg);padding:28px;border-radius:18px}
.ruletra-information h3{font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--bg);margin:0 0 18px}
.ruletra-information p,.ruletra-information .ruletra-note{color:var(--bg);font-size:14px;line-height:1.6}
.ruletra-information .ruletra-note{font-size:12px;opacity:.85}
.ruletra-information .eyebrow{color:var(--bg);letter-spacing:.09em;margin-bottom:16px}
.ruletra-information .button{background:var(--bg);color:var(--gold);border:1px solid var(--bg);border-radius:28px;font-family:var(--sans);font-weight:700;padding:14px 20px;width:100%;margin:8px 0;min-height:50px}
.ruletra-information .button:hover{background:var(--brand-purple);color:white}
.ruletra-information .button.secondary{background:transparent;color:var(--bg);border-color:#07043570}
.ruletra-information .text-button{color:var(--bg);font-weight:600}
.ruletra-panel .close{background:var(--brand-purple);border:1px solid var(--brand-lavender);color:var(--ink);border-radius:50%}
.ruletra-result-image{object-fit:contain;background:#07043516;border-radius:10px;padding:10px;width:100%;max-height:180px}
.ruletra-information .progress small{color:var(--bg)}
@media(min-width:751px) and (max-height:850px){.ruletra-panel{padding:24px 30px}.ruletra-heading{padding-bottom:16px}.ruletra-heading h2{font-size:48px;margin:8px 0}.ruletra-layout{margin-top:20px;gap:26px}.ruletra-information{padding:24px}.ruletra-information h3{font-size:26px}.ruletra-result-image{max-height:140px}}
@media(max-width:750px){dialog:has(.ruletra-panel){border-radius:22px 22px 0 0}.ruletra-panel{padding:26px 20px 32px}.ruletra-heading{padding-right:35px;padding-bottom:20px}.ruletra-heading h2{font-size:48px}.ruletra-layout{grid-template-columns:1fr;gap:20px;margin-top:22px}.ruletra-wheel{max-width:320px}.ruletra-information{padding:24px;text-align:left}.ruletra-information h3{font-size:27px}.ruletra-heading p{font-size:15px}}
.ruletra-information #ruletra-outcome:not(:empty){display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px 16px;align-items:start}
#ruletra-outcome>*{grid-column:1/-1}
#ruletra-outcome>.eyebrow,#ruletra-outcome>h3,#ruletra-outcome>.route-progress,#ruletra-outcome>.resource-progress{grid-column:1}
#ruletra-outcome>.ruletra-result-image{grid-column:2;grid-row:1/4;width:96px;height:110px;margin:0;padding:6px}
#ruletra-outcome>.eyebrow{margin:0;font-size:11px}
#ruletra-outcome>h3{margin:0;font-size:24px}
#ruletra-outcome p{margin:0;font-size:12px}
#ruletra-outcome .route-progress small,#ruletra-outcome .resource-progress small{color:var(--bg)}
#ruletra-outcome .button{margin:0;min-height:44px;padding:11px 16px}

/* Shared Figma identity for content, preferences and community modals. */
#quickview:not(:has(.ruletra-panel)){background:var(--bg);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:24px;font-family:var(--sans);box-shadow:0 24px 80px #0007}
#quickview::backdrop{background:#070435b8;backdrop-filter:blur(7px)}
#quickview:not(:has(.ruletra-panel)) :is(button,input,textarea,select){font-family:var(--sans)}
#quickview:not(:has(.ruletra-panel)) .close{background:var(--brand-purple);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:50%}
#quickview:not(:has(.ruletra-panel)) :is(h2,h3){color:var(--ink);font-family:var(--sans);letter-spacing:-.035em}
#quickview:not(:has(.ruletra-panel)) .eyebrow{color:var(--gold);letter-spacing:.1em}
#quickview:not(:has(.ruletra-panel)) .button{background:var(--gold);color:var(--bg);border:1px solid var(--gold);border-radius:28px;font-weight:700}
#quickview:not(:has(.ruletra-panel)) .button:hover{background:var(--brand-green);border-color:var(--brand-green)}
#quickview:not(:has(.ruletra-panel)) .button.secondary{background:var(--brand-purple);border-color:var(--brand-lavender);color:var(--ink)}
#quickview:not(:has(.ruletra-panel)) .text-button,#quickview .discovery-full{color:var(--brand-lavender)}
#quickview .discovery-art{background:var(--brand-lavender);border-radius:16px}
#quickview .discovery-art .typographic-cover{background:var(--brand-lavender);color:var(--bg)}
#quickview .discovery-art .typographic-cover strong{color:var(--bg)}
#quickview .discovery-art.integrated-player{background:var(--brand-purple)}
#quickview :is(.media-stage,.suggestion-art){background:var(--brand-lavender)}
#quickview .video-player .media-stage{background:#000}
#quickview :is(.audio-controls,.media-tools,.media-parts){background:var(--brand-purple);color:var(--ink)}
#quickview :is(.discovery-meta,.discovery-author,.discovery-description,.resonance-context,.resonance-search-status){color:var(--muted)}
#quickview .discovery-author{color:var(--brand-lavender)}
#quickview .discovery-source{opacity:1}
#quickview .resonance-actions button{background:transparent;color:var(--ink);border:1px solid var(--brand-lavender);border-radius:24px}
#quickview .resonance-actions button span{color:var(--brand-green)}
#quickview .resonance-actions button[aria-pressed="true"]{background:var(--gold);color:var(--bg);border-color:var(--gold)}
#quickview .resonance-actions button[aria-pressed="true"] span{color:var(--bg)}
#quickview .resonance-actions button:hover{background:var(--brand-purple);color:white}
#quickview .discovery-thought{background:var(--brand-lavender);border:0;border-radius:12px;padding:18px 20px;color:var(--bg);margin-bottom:18px}
#quickview .discovery-thought :is(.listening-note,p,a){color:var(--bg)}
#quickview .discovery-route :is(.eyebrow,.discovery-route-action){color:var(--brand-lavender)}
#quickview .discovery-route>img{background:var(--brand-purple)}
#quickview :is(.resource-progress,.route-progress){color:var(--muted)}
#quickview .discovery-related .section-head h2{color:var(--brand-green)}
#quickview .suggestion-art .typographic-cover{background:var(--brand-lavender);color:var(--bg)}
#quickview :is(.settings,.resonance-editor,.social-login,.route-builder,.community-form){background:var(--bg);color:var(--ink)}
#quickview :is(.settings,.resonance-editor,.social-login,.route-builder,.community-form) :is(p,label,small){color:var(--muted)}
#quickview :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select){background:var(--brand-purple);border:1px solid var(--brand-lavender);color:var(--ink);border-radius:10px;accent-color:var(--gold)}
#quickview :is(input,textarea)::placeholder{color:#c4c8e2;opacity:1}
#quickview :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--gold)}
#quickview .echo-prompts button{background:var(--brand-purple);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:24px}
#quickview .echo-prompts button:hover{background:var(--brand-lavender);color:var(--bg)}
#quickview .social-builder-pieces li{background:var(--surface);border-color:var(--line)}
#quickview :is(.social-order button,.social-builder-footer .secondary){color:var(--gold)}
@media(max-width:750px){#quickview:not(:has(.ruletra-panel)){border-radius:20px}#quickview .discovery-thought{padding:16px}}

/* Related pieces: complete covers, a shared frame and clear reading order. */
#quickview .discovery-suggestions{align-items:stretch;gap:20px}
#quickview .discovery-suggestion{display:flex;flex-direction:column;align-items:stretch;gap:0;overflow:hidden;border:1px solid #8294ee35;border-radius:18px;background:#15113f;transition:border-color .2s}
#quickview .discovery-suggestion:hover{border-color:var(--brand-lavender)}
#quickview .suggestion-art{box-sizing:border-box;flex:none;width:100%;height:220px;aspect-ratio:auto;margin:0;border-radius:0;padding:24px;background:#2f2981;display:flex;align-items:center;justify-content:center}
#quickview .suggestion-art>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform:none;filter:drop-shadow(0 8px 8px #07043555)}
#quickview .suggestion-copy{display:flex;flex:1;flex-direction:column;padding:20px;min-width:0}
#quickview .suggestion-meta{font-size:12px;line-height:1.5;color:var(--brand-lavender);margin-bottom:8px}
#quickview .suggestion-copy>strong{font:700 18px/1.35 var(--sans);color:white;min-height:2.7em}
#quickview .suggestion-copy>.suggestion-author{display:block;color:#c7c8df;font-size:14px;line-height:1.4;margin:8px 0 16px}
#quickview .suggestion-copy .resource-progress{margin:auto 0 0;padding-top:8px}
#quickview .suggestion-copy .resource-progress small{font-size:12px;color:#b3b4d2}
#quickview .suggestion-art .typographic-cover{width:100%;height:100%;padding:18px;display:flex;flex-direction:column;justify-content:space-between;background:var(--gold);color:var(--bg);border-radius:6px}
#quickview .suggestion-art .typographic-cover>span{display:block;font:700 11px/1.4 var(--sans);letter-spacing:.1em}
#quickview .suggestion-art .typographic-cover strong{font:700 26px/1.1 var(--sans);color:var(--bg)}
@media(max-width:750px){#quickview .discovery-suggestions{gap:14px}#quickview .discovery-suggestion{flex:0 0 78%}#quickview .suggestion-art{height:200px;padding:22px}#quickview .suggestion-copy{padding:16px}#quickview .suggestion-copy>strong{font-size:17px}}

/* Persistent player lives outside the dialog; share its identity explicitly. */
#playback-shell{background:var(--bg);color:var(--ink);font-family:var(--sans);border:1px solid #8294ee55;border-radius:18px;scrollbar-color:var(--brand-lavender) var(--bg)}
#playback-shell :is(.audio-controls,.playback-queue,.media-parts,.media-tools){background:var(--brand-purple);color:var(--ink)}
#playback-shell .audio-controls{padding:16px 20px}
#playback-shell .audio-timeline{color:#d2d7ff}
#playback-shell .audio-timeline input{accent-color:var(--gold)}
#playback-shell .audio-actions button{color:var(--ink)}
#playback-shell .audio-actions [data-audio-toggle]{background:var(--gold);color:var(--bg)}
#playback-shell :is(.audio-actions select,.media-parts select){background:var(--bg);color:var(--ink);border:1px solid var(--brand-lavender)}
#playback-shell .dock-heading{background:var(--brand-purple)}
#playback-shell .dock-heading button{color:var(--brand-lavender)}
#playback-shell .queue-controls>button{background:var(--bg);color:var(--ink)}
#playback-shell .queue-controls summary,#playback-shell .queue-controls li button[aria-current=true]{color:var(--gold)}
#playback-shell .media-stage{background:var(--brand-purple)}
#playback-shell.is-video .media-stage{background:#000}
#playback-shell.is-video:not(.is-docked) .media-stage,#playback-shell.is-video:not(.is-docked):has(.playback-queue) .media-stage{max-height:min(38dvh,420px);min-height:0}
#quickview:has(.discovery-art.video-player){scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--brand-lavender) var(--bg)}
#quickview .discovery-detail:has(.discovery-art.video-player){padding:54px 28px 36px}
#quickview .discovery-feature:has(.discovery-art.video-player){gap:20px}
#quickview .discovery-feature:has(.discovery-art.video-player) .discovery-copy h2{font-size:clamp(24px,2.3vw,32px);margin:8px 0}
@media(max-width:750px){#quickview .discovery-detail:has(.discovery-art.video-player){padding:54px 16px 28px}#playback-shell .audio-controls{padding:12px}#playback-shell.is-video:not(.is-docked) .media-stage{max-height:32dvh}}

#playback-shell .audio-timeline{font-size:14px}
#playback-shell.is-video:not(.is-docked):has(.playback-queue) .media-stage{max-height:min(26dvh,320px)}

/* Audio cover and controls: the same Figma surfaces in every player state. */
#playback-shell:not(.is-video) .persistent-media{background:var(--brand-purple)}
#playback-shell:not(.is-video) .media-stage{background:var(--brand-lavender)}
#playback-shell:not(.is-video):not(.is-docked) .media-stage{height:220px;display:grid;place-items:center}
#playback-shell:not(.is-video):not(.is-docked) .media-stage>img{height:220px;width:100%;padding:24px;object-fit:contain}
#playback-shell:not(.is-video) .media-stage .typographic-cover{background:var(--brand-lavender);color:var(--bg)}
#playback-shell:not(.is-video) .media-stage .typographic-cover strong{color:var(--bg)}
#playback-shell:not(.is-video) .audio-controls{background:var(--brand-purple);border-top:1px solid #8294ee55}
#playback-shell .audio-timeline input::-webkit-slider-runnable-track{background:var(--brand-lavender);height:4px}
#playback-shell .audio-timeline input::-moz-range-track{background:var(--brand-lavender);height:4px}
#playback-shell .audio-timeline input::-webkit-slider-thumb{background:var(--gold)}
#playback-shell .audio-timeline input::-moz-range-thumb{background:var(--gold)}
#playback-shell .audio-actions select{font-family:var(--sans)}
@media(max-width:750px){#playback-shell:not(.is-video):not(.is-docked) .media-stage,#playback-shell:not(.is-video):not(.is-docked) .media-stage>img{height:190px}}

/* Suggested pieces expose the same live progress as the catalog and player. */
.suggested-copy .resource-progress,.personal-next-copy .resource-progress{display:block;width:100%;margin:8px 0 0;color:var(--brand-lavender)}
.suggested-copy .resource-progress progress,.personal-next-copy .resource-progress progress{height:5px;background:#8294ee40}
.suggested-copy .resource-progress progress::-webkit-progress-bar,.personal-next-copy .resource-progress progress::-webkit-progress-bar{background:#8294ee40}
.suggested-copy .resource-progress progress::-webkit-progress-value,.personal-next-copy .resource-progress progress::-webkit-progress-value{background:var(--gold)}
.suggested-copy .resource-progress progress::-moz-progress-bar,.personal-next-copy .resource-progress progress::-moz-progress-bar{background:var(--gold)}
.suggested-copy .resource-progress small,.personal-next-copy .resource-progress small{display:block;font:400 13px/1.4 var(--sans);color:#c7ccec;margin-top:7px;letter-spacing:0}

#quickview .modal-minimize{position:absolute;top:16px;right:68px;z-index:5;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--brand-lavender);border-radius:22px;background:var(--brand-purple);color:var(--ink);font:600 13px/1 var(--sans)}
#quickview .modal-minimize[hidden]{display:none}
#quickview .modal-minimize>span:first-child{font-size:24px;font-weight:400}
#quickview .modal-minimize:hover{background:var(--brand-lavender);color:var(--bg)}
#quickview .discovery-detail:has(.modal-minimize:not([hidden])){padding-top:72px}
#quickview .modal-minimize:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* Floating playback: bounded preview, no empty second row when there is no queue. */
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized){width:calc(100% - 32px);max-width:780px;left:16px;right:16px;bottom:16px;grid-template-columns:160px minmax(0,1fr);gap:0 18px;padding:0 16px 14px;align-items:center}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .dock-heading{padding:10px 0;background:transparent}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .media-stage{grid-row:2;align-self:center;width:160px;height:90px;aspect-ratio:16/9}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .audio-controls{grid-row:2;padding:12px;border-radius:12px;min-height:0}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .playback-queue{grid-column:1/-1;grid-row:3;margin-top:12px;padding:10px 12px;border-radius:12px}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .persistent-status{grid-column:1/-1}
#playback-shell.is-docked.is-minimized{grid-template-columns:minmax(0,1fr) 36px 40px 36px 36px}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{display:block;grid-column:5;grid-row:1;color:var(--brand-lavender)}
@media(max-width:750px){#playback-shell.is-docked:not(.is-expanded):not(.is-minimized){width:calc(100% - 20px);left:10px;right:10px;bottom:78px;grid-template-columns:88px minmax(0,1fr);gap:0 10px;padding:0 10px 10px}#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .media-stage{width:88px;height:64px;aspect-ratio:auto}#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .audio-controls{padding:8px}}
/* Shared listening queue, across routes and individual pieces. */
.queue-add,.queue-access{font:600 14px var(--sans);color:var(--gold);background:transparent;border:1px solid var(--brand-lavender);border-radius:22px;padding:10px 15px;cursor:pointer}
.media-card>.queue-add{margin-top:10px}
.queue-access{white-space:nowrap}.queue-access span{margin-left:6px}
#listening-queue{position:fixed;inset:20px 20px 20px auto;width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:0;padding:24px;background:var(--bg);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:24px;box-shadow:0 16px 70px #0009;overflow:auto;font-family:var(--sans)}
#listening-queue .listening-heading{display:flex;justify-content:space-between;align-items:center}
#listening-queue h2{font-size:30px;margin:4px 0;color:var(--ink)}
#listening-queue .listening-heading span{font-size:12px;letter-spacing:.12em;color:var(--gold)}
#listening-queue p{font-size:14px;line-height:1.6;color:var(--brand-lavender)}
#listening-queue ol{list-style:none;padding:0;margin:20px 0}
#listening-queue li{display:grid;grid-template-columns:48px minmax(0,1fr) 32px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--brand-purple)}
#listening-queue button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:0;padding:4px;text-align:left}
#listening-queue button:focus-visible,.queue-add:focus-visible,.queue-access:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#listening-queue button[aria-current=true]{color:var(--gold)}
#listening-queue button small{display:block;font-size:11px;line-height:1.5;color:var(--brand-lavender);margin-bottom:4px}
#listening-queue button strong{font-size:15px;line-height:1.45;display:block}
#listening-queue .queue-cover{height:64px;background:var(--brand-purple);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
#listening-queue .queue-cover img{width:100%;height:100%;object-fit:contain}
#listening-queue .queue-cover .fallback{font-size:8px;padding:4px}
#listening-queue .listening-heading button,#listening-queue .queue-remove{font-size:26px;text-align:center}
#listening-queue button:disabled{opacity:.3;cursor:default}
#playback-shell .queue-controls{display:flex;justify-content:space-between;gap:8px}
#playback-shell .queue-controls button{font-size:13px;padding:8px 12px;border-radius:18px;border:1px solid var(--brand-lavender)}
#playback-shell .queue-controls [data-listening-queue]{color:var(--gold)}
@media(max-width:750px){#listening-queue{inset:10px 10px 78px auto;max-height:calc(100dvh - 88px);padding:18px}.queue-access{font-size:12px;padding:8px}.head-actions{gap:6px}}
#playback-shell .queue-controls>button{width:auto;flex:1;min-width:0;line-height:1.2}
#playback-shell.is-docked.is-minimized .queue-controls>button{display:none}
#listening-queue .queue-cover .typographic-cover{height:64px;min-height:0;padding:5px;overflow:hidden}
#listening-queue .queue-cover .typographic-cover strong{font-size:11px;line-height:1.1;letter-spacing:0}
#listening-queue .queue-cover .typographic-cover span{display:none}
/* Modal → floating preview → playback bar, with a way back to the preview. */
#playback-shell.is-docked.is-minimized{grid-template-columns:minmax(0,1fr) 36px 40px 36px}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-min]{display:block;grid-column:2;grid-row:1;width:36px;height:36px;padding:0;font-size:24px;color:var(--brand-lavender)}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{grid-column:4}
/* The active player modal exits through Minimize, preserving playback. */
#quickview .modal-minimize{right:16px}
#quickview [data-close][hidden]{display:none}
/* Content skipping stays available in every player size. */
#playback-shell .queue-controls>button>span[aria-hidden]{font-size:22px;line-height:1}
#playback-shell.is-docked.is-minimized{grid-template-columns:minmax(0,1fr) 36px 40px 36px 36px 36px}
#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-prev],
#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-next]{display:flex;align-items:center;justify-content:center;grid-row:1;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--gold)}
#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-prev]{grid-column:2}
#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-next]{grid-column:4}
#playback-shell.is-docked.is-minimized .queue-controls .queue-skip-label{display:none}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-min]{grid-column:5}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{grid-column:6}
@media(max-width:500px){
 #playback-shell.is-docked.is-minimized{grid-template-columns:36px 36px 40px 36px minmax(0,1fr) 36px}
 #playback-shell.is-docked.is-minimized .dock-heading a{grid-column:1/-1;grid-row:1;padding:3px 0}
 #playback-shell.is-docked.is-minimized .queue-controls>[data-queue-prev],
 #playback-shell.is-docked.is-minimized .queue-controls>[data-queue-next],
 #playback-shell.is-docked.is-minimized [data-audio-toggle],
 #playback-shell.is-docked.is-minimized .dock-heading [data-dock-min],
 #playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{grid-row:2}
 #playback-shell.is-docked.is-minimized .dock-heading [data-dock-min]{grid-column:1}
 #playback-shell .queue-controls .queue-skip-label{display:none}
}
/* Separate chapters within a piece from pieces within the listener's selection. */
#playback-shell .media-parts,#playback-shell.is-docked .media-parts{display:block;grid-column:1/-1;grid-row:3;min-width:0;padding:12px 16px;margin:0;border-top:1px solid var(--brand-lavender);background:var(--brand-purple)}
#playback-shell .parts-heading,#playback-shell .queue-scope{display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:7px;color:var(--brand-lavender)}
#playback-shell .parts-controls{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px}
#playback-shell .parts-controls select{width:100%;min-width:0;margin:0;padding:8px;font-size:14px;background:var(--bg);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:8px}
#playback-shell .parts-controls button{height:36px;font-size:25px;background:var(--bg);color:var(--ink);border:1px solid var(--brand-lavender);border-radius:50%}
#playback-shell .parts-controls button:disabled{opacity:.3;cursor:default}
#playback-shell .queue-scope{color:var(--gold)}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .playback-queue{grid-row:4}
#playback-shell.is-docked.is-minimized{grid-template-columns:minmax(0,1fr) 40px 36px 36px}
#playback-shell.is-docked.is-minimized .dock-heading a{grid-column:1;grid-row:1}
#playback-shell.is-docked.is-minimized [data-audio-toggle]{grid-column:2;grid-row:1}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-min]{grid-column:3;grid-row:1}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{grid-column:4;grid-row:1}
#playback-shell.is-docked.is-minimized .media-parts{grid-column:1/-1;grid-row:2;padding:8px 10px;border-radius:8px}
#playback-shell.is-docked.is-minimized .playback-queue{display:block;grid-column:1/-1;grid-row:3;padding:8px 10px;border-radius:8px}
#playback-shell.is-docked.is-minimized .queue-controls{display:flex;align-items:center;gap:6px}
#playback-shell.is-docked.is-minimized .queue-controls>button{display:flex;width:auto;flex:1;height:34px;font-size:12px;padding:4px 6px;gap:5px}
#playback-shell.is-docked.is-minimized .queue-controls .queue-skip-label{display:inline;font-size:12px}
#playback-shell .queue-controls .queue-skip-label{font-size:13px}
@media(max-width:500px){
 #playback-shell .queue-controls .queue-skip-label{display:inline;font-size:11px;white-space:normal}
 #playback-shell.is-docked.is-minimized .queue-controls .queue-skip-label{font-size:11px}
 #playback-shell .queue-controls>button{white-space:normal;line-height:1.2}
 #playback-shell .parts-heading,#playback-shell .queue-scope{font-size:12px}
 #playback-shell .queue-controls>button>span[aria-hidden]{font-size:18px}
}
#playback-shell .queue-controls>button{white-space:normal;gap:4px;padding:7px 5px;min-height:40px}
#playback-shell .queue-controls .queue-skip-label{display:inline;white-space:normal;overflow-wrap:normal;font-size:12px}
#playback-shell .queue-controls>button>span[aria-hidden]{font-size:16px;flex-shrink:0}

/* Quiet secondary navigation: chapter title gets the full available width. */
#playback-shell .media-parts,#playback-shell.is-docked .media-parts{display:grid;grid-template-columns:minmax(0,1fr) 32px 32px;gap:6px 8px;padding:14px 20px;background:transparent;border-top:1px solid #8294ee30}
#playback-shell .parts-controls{display:contents}
#playback-shell .parts-heading{grid-column:1;grid-row:1;align-self:center;margin:0;font-size:13px;font-weight:400;color:var(--ink)}
#playback-shell [data-part-prev]{grid-column:2;grid-row:1}
#playback-shell [data-part-next]{grid-column:3;grid-row:1}
#playback-shell .parts-controls button{height:32px;border:0;border-radius:6px;background:transparent;font-size:24px}
#playback-shell .parts-controls select{grid-column:1/-1;grid-row:2;border:0;border-radius:6px;background:#07043545;padding:10px 8px;font-size:14px}
#playback-shell .playback-queue,#playback-shell.is-docked.is-minimized .playback-queue{padding:12px 20px;background:var(--bg);border-top:0}
#playback-shell .queue-controls,#playback-shell.is-docked.is-minimized .queue-controls{display:grid;grid-template-columns:minmax(0,1fr) 36px 36px;gap:10px;align-items:center}
#playback-shell .queue-controls>button,#playback-shell.is-docked.is-minimized .queue-controls>button{display:flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:6px;padding:0;width:36px;height:36px;min-height:36px;grid-row:1;color:var(--ink)}
#playback-shell .queue-controls>[data-listening-queue],#playback-shell.is-docked.is-minimized .queue-controls>[data-listening-queue]{grid-column:1;justify-content:flex-start;width:auto;gap:10px;font-size:14px;font-weight:400;color:var(--ink)}
#playback-shell .queue-controls>[data-queue-prev],#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-prev]{grid-column:2}
#playback-shell .queue-controls>[data-queue-next],#playback-shell.is-docked.is-minimized .queue-controls>[data-queue-next]{grid-column:3}
#playback-shell .queue-position{color:var(--brand-lavender);font-size:12px}
#playback-shell .queue-controls>button>span[aria-hidden]{font-size:20px}
#playback-shell .queue-status:empty{display:none}
#playback-shell.is-docked.is-minimized .media-parts{padding:8px 12px}
#playback-shell.is-docked.is-minimized .playback-queue{padding:6px 12px}
#playback-shell .parts-controls button:hover:not(:disabled),#playback-shell .queue-controls>button:hover:not(:disabled){background:#8294ee25}

/* A minimized player is one row; parts are an on-demand panel above it. */
#playback-shell [data-dock-parts]{display:none}
#playback-shell.is-docked.is-minimized{display:grid;grid-template-columns:minmax(0,1fr) auto auto 40px 32px 32px;gap:8px;align-items:center;padding:10px 14px;overflow:visible;min-height:0}
#playback-shell.is-docked.is-minimized .dock-heading a{grid-column:1;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#playback-shell.is-docked.is-minimized [data-dock-parts]{display:block;grid-column:2;grid-row:1;border:0;background:transparent;color:var(--brand-lavender);font-size:12px;padding:4px;min-width:0}
#playback-shell.is-docked.is-minimized .playback-queue{grid-column:3;grid-row:1;padding:0;border:0;background:transparent}
#playback-shell.is-docked.is-minimized .queue-controls{display:flex;gap:2px}
#playback-shell.is-docked.is-minimized .queue-controls>button{width:28px;height:32px;min-height:32px;flex:none}
#playback-shell.is-docked.is-minimized .queue-controls>[data-listening-queue]{font-size:0;width:28px;gap:0}
#playback-shell.is-docked.is-minimized [data-listening-queue]::after{content:'☷';font-size:23px;color:var(--brand-lavender)}
#playback-shell.is-docked.is-minimized .queue-position,#playback-shell.is-docked.is-minimized .queue-status{display:none}
#playback-shell.is-docked.is-minimized [data-audio-toggle],#playback-shell.is-docked.is-minimized [data-dock-toggle]{grid-column:4;grid-row:1}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-min]{grid-column:5;grid-row:1}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-close]{grid-column:6;grid-row:1}
#playback-shell.is-docked.is-minimized .media-parts{display:none}
#playback-shell.is-docked.is-minimized.parts-open .media-parts{display:grid;position:absolute;bottom:calc(100% + 8px);right:0;width:min(360px,100%);box-sizing:border-box;background:var(--brand-purple);padding:14px;border:1px solid var(--brand-lavender);border-radius:14px;box-shadow:0 8px 30px #0006}
@media(max-width:500px){
 #playback-shell.is-docked.is-minimized{grid-template-columns:minmax(40px,1fr) auto auto 32px 24px 24px;gap:3px;padding:8px}
 #playback-shell.is-docked.is-minimized .queue-controls>button{width:24px}
 #playback-shell.is-docked.is-minimized .queue-controls>[data-listening-queue]{width:24px}
}
#playback-shell.is-docked.is-minimized .dock-heading [data-dock-parts]{display:block;width:auto}
#playback-shell.is-docked.is-minimized .persistent-media{position:static}
/* Video thumbnail: the image is the main surface, controls remain secondary. */
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized){display:block;width:min(400px,calc(100vw - 24px));max-width:400px;left:auto;right:16px;bottom:16px;margin:0;padding:0;overflow:hidden;border-radius:16px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .dock-heading{display:flex;height:44px;padding:6px 12px;gap:8px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .dock-heading a{font-size:12px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .dock-heading button{width:24px;height:28px;font-size:20px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .dock-heading [data-dock-parts]{display:block;width:auto;font-size:12px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .persistent-media{display:block;padding:0;min-height:0;position:static}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .media-stage{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:none;margin:0;border-radius:0;position:relative}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .media-stage iframe{position:absolute;inset:0;width:100%;height:100%}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-controls{display:flex;gap:4px;padding:8px 12px;min-height:0;border-radius:0}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-actions{gap:18px;margin:0}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-actions button{width:30px;height:30px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-actions [data-audio-toggle]{width:36px;height:36px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-actions select{padding:4px;font-size:12px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .audio-timeline{font-size:11px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .media-parts{display:none}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized).parts-open .media-parts{display:grid;padding:8px 12px}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .playback-queue{margin:0;padding:4px 12px;border-radius:0}
#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized) .queue-controls>button{height:30px;min-height:30px}
@media(max-width:750px){#playback-shell.is-docked.is-video:not(.is-expanded):not(.is-minimized){right:12px;bottom:78px;width:min(340px,calc(100vw - 24px))}}
/* Expanded modal gives priority to the moving image. */
#playback-shell.is-video:not(.is-docked) .media-stage,#playback-shell.is-video:not(.is-docked):has(.playback-queue) .media-stage{width:100%;height:min(56dvh,720px);max-height:none;min-height:0;aspect-ratio:auto;position:relative}
#playback-shell.is-video:not(.is-docked) .media-stage iframe{position:absolute;inset:0;width:100%;height:100%}
#playback-shell.is-video:not(.is-docked) .audio-controls{display:flex;flex-direction:row;align-items:center;gap:20px;padding:10px 16px;min-height:0}
#playback-shell.is-video:not(.is-docked) .audio-actions{order:0;display:flex;align-items:center;gap:12px;margin:0;flex:none}
#playback-shell.is-video:not(.is-docked) .audio-actions button{width:30px;height:30px}
#playback-shell.is-video:not(.is-docked) .audio-actions [data-audio-toggle]{width:38px;height:38px}
#playback-shell.is-video:not(.is-docked) .audio-actions label{margin:0}
#playback-shell.is-video:not(.is-docked) .audio-actions select{font-size:12px;padding:5px;width:58px}
#playback-shell.is-video:not(.is-docked) .audio-timeline{order:1;flex:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px}
#playback-shell.is-video:not(.is-docked) .audio-timeline input{grid-column:2;grid-row:1;width:100%;margin:0}
#playback-shell.is-video:not(.is-docked) [data-audio-time]{grid-column:1;grid-row:1}
#playback-shell.is-video:not(.is-docked) [data-audio-duration]{grid-column:3;grid-row:1}
#playback-shell.is-video:not(.is-docked) .playback-queue{padding:2px 16px}
#playback-shell.is-video:not(.is-docked) .queue-controls>button{height:32px;min-height:32px}
#playback-shell.is-video:not(.is-docked) .media-parts{padding:6px 16px;grid-template-columns:auto minmax(0,1fr) 32px 32px;align-items:center}
#playback-shell.is-video:not(.is-docked) .parts-heading{grid-column:1}
#playback-shell.is-video:not(.is-docked) .parts-controls select{grid-column:2;grid-row:1;padding:6px}
#playback-shell.is-video:not(.is-docked) [data-part-prev]{grid-column:3}
#playback-shell.is-video:not(.is-docked) [data-part-next]{grid-column:4}
@media(max-width:600px){
 #playback-shell.is-video:not(.is-docked) .media-stage,#playback-shell.is-video:not(.is-docked):has(.playback-queue) .media-stage{height:auto;aspect-ratio:16/9}
 #playback-shell.is-video:not(.is-docked) .audio-controls{flex-wrap:wrap;gap:6px;padding:8px 12px}
 #playback-shell.is-video:not(.is-docked) .audio-timeline{order:0;flex-basis:100%}
 #playback-shell.is-video:not(.is-docked) .audio-actions{order:1;margin:auto}
 #playback-shell.is-video:not(.is-docked) .parts-heading{font-size:12px}
}
#playback-shell.is-video:not(.is-docked) .audio-actions{width:auto}
#playback-shell.is-video:not(.is-docked) .audio-timeline{width:auto;min-width:0}

#quickview .discovery-art.has-video-poster:not(.is-playing){height:auto;min-height:0;aspect-ratio:16/9;align-self:start;padding:0;background:var(--bg);display:grid;place-items:center;overflow:hidden}
#quickview .discovery-art.has-video-poster:not(.is-playing)>img{width:100%;height:100%;max-height:none;padding:0;object-fit:contain}
/* Audio preview is a small listening card, with optional chapter controls. */
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized){display:grid;grid-template-columns:72px minmax(0,1fr);width:min(520px,calc(100vw - 24px));max-width:520px;left:auto;right:16px;bottom:16px;margin:0;padding:0 12px 6px;gap:8px 12px;overflow:hidden;border-radius:16px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .dock-heading{display:flex;grid-column:1/-1;grid-row:1;height:42px;padding:6px 0;gap:8px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .dock-heading a{font-size:13px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .dock-heading button{width:26px;height:28px;font-size:20px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .dock-heading [data-dock-parts]{display:block;width:auto;font-size:12px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .persistent-media{display:contents}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .media-stage{grid-column:1;grid-row:2;width:72px;height:84px;aspect-ratio:auto;align-self:center;margin:0;padding:4px;background:var(--brand-purple)}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .media-stage>img{width:100%;height:100%;padding:0;object-fit:contain}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-controls{grid-column:2;grid-row:2;display:flex;flex-direction:column;padding:6px 10px;gap:6px;min-height:0;border-radius:10px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-timeline{font-size:11px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-actions{display:flex;gap:18px;margin:0;width:100%}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-actions button{width:28px;height:28px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-actions [data-audio-toggle]{width:34px;height:34px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .audio-actions select{font-size:12px;padding:4px}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .media-parts{display:none}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized).parts-open .media-parts{display:grid;grid-column:1/-1;grid-row:3;padding:6px 0}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .playback-queue{grid-column:1/-1;grid-row:4;margin:0;padding:0;border-radius:0;background:transparent}
#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized) .queue-controls>button{height:30px;min-height:30px}
@media(max-width:750px){#playback-shell.is-docked:not(.is-video):not(.is-expanded):not(.is-minimized){right:12px;bottom:78px;width:min(420px,calc(100vw - 24px))}}

#playback-shell .dock-part-step{display:none}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .dock-heading .dock-part-step{display:block;flex:none;width:24px;height:28px;border:0;background:transparent;font-size:24px;color:var(--brand-lavender);padding:0}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .dock-heading .dock-part-step:disabled{opacity:.25;cursor:default}
#playback-shell.is-docked:not(.is-expanded):not(.is-minimized) .dock-heading [data-dock-parts]{white-space:nowrap;font-size:12px}
/* Public community account forms. */
#lc-account-form{display:grid;gap:12px;text-align:left}#lc-account-form label{display:grid;gap:6px}#lc-account-form input{width:100%;box-sizing:border-box;padding:12px;border-radius:8px;border:1px solid #827aa8;background:#fff;color:#070435;font:inherit}#lc-account-form .lc-captcha{display:grid;gap:10px;border:1px solid #827aa8;border-radius:10px;padding:14px}#lc-captcha-image{width:240px;max-width:100%;height:auto;min-height:78px}#lc-account-status{white-space:normal}#lc-account-switch{margin-top:18px}
