/* 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 .stage-copy h1.stage-title-indented 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 .stage-copy h1.stage-title-indented 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%}

/* La Culturería: original supplied wordmark, with its integrated tagline. */
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}

.lc-private-history ol{list-style:none;padding:0}.lc-private-history li{border-bottom:1px solid #514878;padding:14px 0}.lc-private-history li a{display:grid;gap:6px}.lc-private-history small{opacity:.75}

.social-builder [data-save-route]:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.7)}

header .head-actions{gap:10px}header .account-access{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #8b80b7;border-radius:24px;padding:10px 14px;background:#302979;color:#fff;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}#lc-profile-form{display:grid;gap:12px;text-align:left}#lc-profile-form label{display:grid;gap:6px}#lc-profile-form input{width:100%;box-sizing:border-box;padding:12px;border-radius:8px;border:1px solid #827aa8;background:#302979;color:#fff;font:inherit}#lc-profile-form fieldset{display:grid;gap:12px;border:1px solid #827aa8;border-radius:10px;padding:14px}.lc-account-links{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px}.lc-account-preferences{margin-block:24px}
@media(max-width:750px){header{flex-wrap:wrap;height:auto!important;min-height:82px;padding-block:10px!important;gap:8px!important}header .head-actions{display:flex!important;flex-basis:100%;justify-content:flex-end;padding-top:4px}header .account-access{font-size:12px;padding:8px 12px}}

/* Posters retain their full artwork and the banner color treatment. */
.featured-slide .stage-photo.stage-complete{background:var(--brand-lavender)}.featured-slide .stage-photo.stage-complete img{width:100%;height:100%;object-fit:contain;object-position:center center;mix-blend-mode:luminosity}
.featured-image-banner.image-cover img{object-fit:cover;object-position:center}

/* Each banner can retain the blue treatment or show the original artwork. */
.featured-slide .stage-photo.banner-natural,.featured-image-banner.banner-natural{background:var(--bg)}.featured-slide .stage-photo.banner-natural img,.featured-image-banner.banner-natural img{mix-blend-mode:normal}.featured-image-banner.banner-blue{background:var(--brand-lavender)}.featured-image-banner.banner-blue img{mix-blend-mode:luminosity}

/* Mobile banners share a compact frame across image and editorial slides. */
@media(max-width:750px){
 .featured-carousel .featured-slides,.featured-carousel.is-image-only .featured-slides{height:clamp(260px,68vw,360px);min-height:0}
 .featured-carousel .featured-slide{height:100%;min-height:0}
 .featured-slide .editorial-stage{display:grid;grid-template-columns:61% 39%;height:100%;min-height:0}
 .featured-slide .stage-copy{height:100%;min-height:0;padding:12px;gap:8px;justify-content:space-between}
 .featured-slide .slogan-mark img{width:92px;height:38px}
 .featured-slide .stage-copy h1{width:100%;max-width:100%;font-size:clamp(22px,6vw,30px);line-height:1.08;margin:0;overflow-wrap:anywhere}
 .featured-slide .stage-copy h1.stage-title-indented em{margin-left:.65em}
 .featured-slide .stage-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .featured-slide .stage-bottom p{font-size:11px;line-height:1.4;max-width:100%}
 .featured-slide .stage-bottom .button{font-size:11px;padding:8px 10px;gap:8px;white-space:normal}
 .featured-slide .stage-image{height:100%;min-height:0;max-height:none}
 .featured-slide .image-credit{left:6px;bottom:8px;max-width:calc(100% - 12px);padding:4px;font-size:9px;letter-spacing:0}
 .featured-slide .stage-index{display:none}
 .featured-slide .featured-image-banner{position:absolute;inset:0;height:100%;min-height:0}
 .featured-slide .featured-image-banner img{width:100%;height:100%;object-fit:contain;object-position:center}
 .featured-controls{gap:8px;padding:10px 12px}
 .featured-controls>span{font-size:11px}
 .featured-dots button{width:20px}
 .featured-arrows{gap:8px}
 .featured-arrows>span{font-size:12px;white-space:nowrap}
}

.featured-image-banner picture{display:block;width:100%;height:100%}

/* Reserving the persistent player's height must not enlarge its grid column. */
.detail-grid>*,.detail-grid .player,.detail-grid .detail-info{min-width:0}
.detail-grid .player{width:100%;max-width:100%}
.detail-grid .player.is-playing{aspect-ratio:auto}
#playback-shell:not(.is-docked):not(.is-expanded){max-width:calc(100vw - 16px)}
@media(max-width:750px){.detail-grid{grid-template-columns:minmax(0,1fr)}}

/* Clearer account choices and comfortable mobile controls. */
.account-mode-tabs{display:flex;gap:8px;margin:0 30px 20px 0}.account-mode-tabs button{flex:1;min-height:44px;border:1px solid #8b80b7;border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}.account-mode-tabs button[aria-pressed=true]{background:var(--lime,#c9f344);color:#070435;border-color:transparent;font-weight:700}
.password-toggle{justify-self:start;min-height:44px}.captcha-audio audio{display:block;width:100%;max-width:300px;margin:10px 0}.captcha-audio summary,.privacy-details summary{cursor:pointer;padding:12px 0;min-height:24px}.privacy-details{margin-bottom:20px}.privacy-details p{font-size:14px;line-height:1.6}
.ruletra-remember{display:flex;align-items:flex-start;gap:12px;text-align:left;margin-top:20px;font-size:15px;line-height:1.5}.ruletra-remember input{width:22px;height:22px;flex-shrink:0;margin-top:3px;accent-color:var(--lime,#c9f344)}.ruletra-remember small{display:block;font-size:13px;line-height:1.5;margin-top:6px}.social-empty p{max-width:55ch;line-height:1.6}
@media(max-width:750px){
 .social-login{padding:24px 20px}.social-login h2{font-size:clamp(27px,7vw,34px);line-height:1.15;margin:12px 0}.social-login>p{font-size:15px;line-height:1.5}.social-login input{font-size:16px}.social-login .lc-captcha{padding:12px}.social-login .lc-captcha img{max-width:180px;height:auto}.social-login .fine{font-size:14px}
 .featured-slide .stage-bottom p{font-size:13px;line-height:1.35}.featured-slide .stage-bottom .button{font-size:13px;min-height:44px;padding:9px 12px;box-sizing:border-box}.featured-slide .image-credit{font-size:11px}.featured-slide .stage-copy{padding:12px;gap:6px}.featured-slide .stage-copy h1{font-size:clamp(22px,5.8vw,29px)}
 .featured-controls>span{font-size:12px}.featured-dots{gap:2px}.featured-dots button{width:24px;min-height:44px}.featured-arrows{gap:4px}.featured-arrows button{min-width:36px;min-height:44px}.featured-controls{gap:6px;padding:5px 10px}
 .playback-controls button,.part-step button,.route-draft-list button{min-width:44px;min-height:44px}.media-card small,.route-meta,.resource-meta{font-size:13px}.connection-manifesto p{font-size:16px}
}
.search-related-heading{grid-column:1/-1;padding-top:24px;margin-bottom:0}.account-password-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.account-password-actions a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}.social-login .fine:empty,#lc-account-status:empty{display:none}
#lc-account-form .captcha-audio{padding:0;border:0;margin:0}#lc-account-form .captcha-audio summary{padding:8px 0;min-height:24px}#lc-account-form .lc-captcha{gap:8px}#lc-captcha-refresh{min-height:44px}
@media(max-width:750px){#lc-captcha-image{width:180px;min-height:0}#lc-account-form{gap:8px}#lc-account-form input{font-size:16px;padding:10px;min-height:44px}#lc-account-form .lc-captcha{padding:10px}.social-login>p{margin:10px 0}.account-mode-tabs{margin-bottom:14px}}
@media(max-width:380px){.featured-controls{flex-wrap:wrap;row-gap:0}.featured-arrows{flex-basis:100%;justify-content:flex-end}.featured-dots{margin-left:auto}}
@media(max-width:750px){.acervos-home>div.platform-bands{grid-template-columns:repeat(2,minmax(0,1fr))}.acervos-home>div.platform-bands .platform-logo-link{min-width:0}.platform-bands .platform-logo{max-width:100%;min-width:0}.platform-bands .platform-logo img{max-width:100%}}
@media(max-width:380px){.featured-slide .stage-copy h1 em{font-size:.82em}}
/* Do not let the generic 40px minimum turn compact play buttons into ovals. */
#playback-shell .audio-actions [data-audio-toggle]{min-width:0;min-height:0;flex-shrink:0;padding:0;display:grid;place-items:center;line-height:1;aspect-ratio:1;border-radius:50%;box-sizing:border-box}
/* A small disclosure keeps sharing close to the route without adding a toolbar. */
.route-share{position:relative;max-width:480px;margin-top:16px;font-family:var(--sans)}
.route-share>summary{display:inline-flex;align-items:center;gap:14px;min-height:44px;padding:10px 18px;border:1px solid var(--brand-lavender);border-radius:24px;color:var(--ink);font:600 13px/1.5 var(--sans);cursor:pointer;list-style:none}
.route-share>summary::-webkit-details-marker{display:none}
.route-share>summary:hover{background:#8294ee20}
.route-share-panel{padding:18px;margin-top:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink)}
.route-share-panel>p{font:400 13px/1.6 var(--sans);margin:0 0 12px;color:var(--muted)}
.route-share-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.route-share-options a,.route-share-options button{display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border-radius:22px;border:1px solid var(--brand-lavender);background:transparent;color:var(--ink);font:600 12px/1.5 var(--sans)}
.route-share-options a:first-child{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.route-share-panel label{display:block;font:400 11px/1.6 var(--sans);color:var(--muted)}
.route-share-panel input{display:block;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:400 12px/1.5 var(--sans)}
.route-share-panel .route-share-status{font-size:12px;margin:12px 0 0;color:var(--gold)}
.route-share-status:empty{display:none}
.route-share :focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* Route topics are shortcuts, rather than a numbered sequence to complete. */
.routes-topic-picker{padding-top:26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.routes-topic-picker>p{font:600 12px/1.5 var(--sans);color:var(--muted);margin:0 0 12px}
.routes-topic-picker .routes-entry-nav{display:flex;gap:10px;flex-wrap:wrap;padding:0;border:0;overflow:visible}
.routes-topic-picker .routes-entry-nav a,.routes-topic-picker .routes-entry-nav a:first-child,.routes-topic-picker .routes-entry-nav a:last-child{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:24px;font:600 13px/1.5 var(--sans);color:var(--ink)}
.routes-topic-picker .routes-entry-nav a:hover{background:var(--brand-purple);border-color:var(--brand-lavender)}
.routes-topic-picker .routes-entry-nav a span{font:400 11px/1.5 var(--sans);color:var(--brand-lavender)}
@media(max-width:600px){.routes-topic-picker{padding-top:20px;padding-bottom:20px}.routes-topic-picker .routes-entry-nav{gap:8px}.routes-topic-picker .routes-entry-nav a{font-size:12px;padding:9px 13px}}
/* Account access fits the task, rather than a full content dialog. */
#quickview:has(#lc-account-form){width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border-radius:22px}
#quickview:has(#lc-account-form) .social-login{max-width:none;margin:0;padding:28px;font:400 14px/1.5 var(--sans);text-align:left}
#quickview:has(#lc-account-form) .close{width:36px;height:36px;min-height:36px;min-width:36px;font-size:24px;top:12px;right:12px;padding:0}
#quickview:has(#lc-account-form) .account-mode-tabs{gap:4px;margin:0 38px 22px 0;padding:4px;background:var(--brand-purple);border-radius:24px;display:flex}
#quickview:has(#lc-account-form) .account-mode-tabs button{font:600 13px/1.4 var(--sans);min-height:36px;padding:8px 12px;border:0;border-radius:20px}
#quickview:has(#lc-account-form) h2{font:700 28px/1.2 var(--sans);letter-spacing:-.02em;margin:0 0 8px}
#quickview:has(#lc-account-form) .social-login>p{font:400 13px/1.6 var(--sans);margin:0 0 20px;color:var(--muted)}
#quickview #lc-account-form{gap:12px}
#quickview #lc-account-form label{font:400 13px/1.5 var(--sans);gap:6px}
#quickview #lc-account-form input:not([type=hidden]){font:400 16px/1.5 var(--sans);min-height:44px;padding:9px 12px;border-radius:10px}
#quickview #lc-account-form .account-password-actions{font-size:12px;gap:12px}
#quickview #lc-account-form .account-password-actions button,#quickview #lc-account-form .account-password-actions a{font-size:12px;min-height:32px;padding:0}
#quickview #lc-account-form .lc-captcha{display:grid;grid-template-columns:180px minmax(0,1fr);gap:4px 14px;padding:12px;border:1px solid var(--line);border-radius:12px;margin:4px 0 0;min-width:0}
#quickview #lc-account-form .lc-captcha legend{font:400 12px/1.5 var(--sans);padding:0 6px;color:var(--muted)}
#quickview #lc-captcha-image{grid-column:1;grid-row:1;width:180px;max-width:100%;min-height:0;height:auto;align-self:center;border-radius:4px}
#quickview #lc-captcha-refresh{grid-column:1;grid-row:2;font-size:11px;min-height:32px;text-align:left;justify-self:start;padding:0}
#quickview #lc-account-form .lc-captcha>label{grid-column:2;grid-row:1/3;align-self:start}
#quickview #lc-account-form .captcha-audio{grid-column:1/-1}
#quickview #lc-account-form .lc-captcha input:not([type=hidden]){text-transform:uppercase;padding:8px}
#quickview #lc-account-form>[type=submit]{width:100%;min-height:44px;font:700 14px/1.5 var(--sans);padding:10px;margin-top:4px}
#quickview #lc-account-form>small{font-size:11px;color:var(--muted)}
#quickview #lc-account-status{font-size:12px;margin:0;color:var(--gold)}
#quickview:has(#lc-account-form) .social-login>.fine{font-size:11px;margin:14px 0 0}
@media(max-width:500px){#quickview:has(#lc-account-form) .social-login{padding:24px 20px}#quickview #lc-account-form .lc-captcha{grid-template-columns:150px minmax(0,1fr);gap:4px 10px}#quickview #lc-captcha-image{width:150px}}
@media(max-width:360px){#quickview #lc-account-form .lc-captcha{grid-template-columns:130px minmax(0,1fr)}#quickview #lc-captcha-image{width:130px}#quickview #lc-account-form .lc-captcha>label{font-size:11px}}
.echo-access-options{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.echo-access-options button{min-height:44px;padding:10px 16px;border:1px solid var(--brand-lavender);border-radius:24px;font:600 13px/1.5 var(--sans);background:transparent;color:var(--ink)}
.echo-access-options button:first-child{background:var(--gold);color:var(--bg);border-color:var(--gold)}

/* One consistent family of reaction icons across cards, routes and dialogs. */
.lc-social-icon{display:inline-block;width:24px;height:24px;flex-shrink:0;vertical-align:middle;color:inherit}
.resonance-actions button,.lp-write-echo{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.resonance-actions .lc-social-icon,.echo-reactions .lc-social-icon{color:var(--gold)}
.resonance-actions [aria-pressed=true] .lc-social-icon{color:inherit}
.echo-reactions .lc-social-icon{width:20px;height:20px}
.echo-symbol .lc-social-icon{width:20px;height:20px}
.resonance-pair>.lc-social-icon{width:30px;height:30px;color:var(--gold)}
.lp-write-echo .lc-social-icon{width:18px;height:18px}
.routes-mark .lc-social-icon,.connection-spark .lc-social-icon{width:1em;height:1em}
.route-kicker .lc-social-icon{width:16px;height:16px}
.ruletra-heading h2 .lc-social-icon{width:1em;height:1em}
#quickview .resonance-actions button .echo-write-label{color:inherit;font-size:inherit;margin:0}

/* Compact account and selection controls, with a curated avatar picker. */
header .head-actions{gap:5px}
header .account-access,header .queue-access{position:relative;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink)}
header .account-access svg,header .queue-access svg{display:block;width:23px;height:23px}
header .account-access:hover,header .queue-access:hover{background:#8294ee25}
header .lc-profile-avatar{width:32px;height:32px;display:block;border-radius:50%;border:1px solid #cdd4ff80}
header .queue-access span{position:absolute;right:0;top:1px;margin:0;padding:1px 4px;min-width:15px;border-radius:9px;background:var(--gold);color:var(--bg);font:600 10px/1.4 var(--sans)}
header .queue-access [hidden]{display:none!important}
#lc-profile-form .lc-avatar-picker{padding:12px;border:1px solid var(--line);background:transparent}
.lc-avatar-picker>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
#lc-profile-form .lc-avatar-picker label{position:relative;display:block;cursor:pointer;margin:0}
#lc-profile-form .lc-avatar-picker input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lc-avatar-picker label>span{display:grid;place-items:center;padding:4px;border:2px solid transparent;border-radius:14px}
.lc-avatar-picker img{display:block;width:48px;max-width:100%;height:auto;border-radius:50%}
.lc-avatar-picker input:checked+span{border-color:var(--gold);background:#cdf34315}
.lc-avatar-picker input:focus-visible+span{outline:2px solid var(--brand-lavender);outline-offset:2px}
.lc-account-security{border-top:1px solid var(--line);padding-top:12px;margin:4px 0}
.lc-account-security>summary{font-size:13px;color:var(--muted);cursor:pointer;min-height:36px}
.lc-account-security>label,.lc-account-security>fieldset{margin-top:12px}
.social-avatar-image{overflow:hidden;background:transparent;padding:0}
.social-avatar-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
@media(max-width:480px){.lc-avatar-picker>div{grid-template-columns:repeat(4,minmax(0,1fr))}header .head-actions{gap:3px}header .account-access,header .queue-access{width:40px;min-width:40px;height:40px;min-height:40px}}
/* Keep the profile panel as compact as the public sign-in panel. */
#quickview:has(.lc-account-settings){width:min(520px,calc(100vw - 32px));max-width:520px;max-height:calc(100dvh - 48px);padding:0;overflow:auto;border-radius:20px}
#quickview .lc-account-settings{max-width:none;margin:0;padding:24px;font:400 13px/1.6 var(--sans);text-align:left}
#quickview .lc-account-settings h2{font:700 28px/1.3 var(--sans);margin:6px 0 18px;letter-spacing:-.02em}
#quickview .lc-account-settings .eyebrow{font-size:10px}
#quickview .lc-account-links{font-size:12px;gap:14px;margin:0 0 16px;align-items:center}
#quickview .lc-account-links .text-button{font-size:12px;min-height:32px;padding:0}
#quickview #lc-profile-form label,#quickview #lc-profile-form legend{font-size:12px}
#quickview #lc-profile-form input:not([type=radio]){padding:10px;font-size:14px}
#quickview .lc-account-settings .lc-account-preferences{margin:18px 0 14px;font-size:12px}
#quickview .lc-account-settings .lc-account-preferences h3{font-size:15px;margin:0 0 6px}
#quickview .lc-account-settings .lc-account-preferences p{font-size:12px;line-height:1.6;margin:0 0 6px}
#quickview .lc-account-settings .lc-account-preferences button{font-size:12px;min-height:32px;padding:0}
#quickview .lc-account-settings .button{font-size:13px;min-height:44px}
@media(max-width:500px){#quickview .lc-account-settings{padding:22px 18px}}

#lc-profile-status:empty{display:none}
#quickview #lc-profile-status{margin:0;font-size:12px}
.lc-account-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}
#quickview .lc-account-footer button{font-size:12px;min-height:44px;padding:0}

/* Route cards share the editorial cover and a compact reading hierarchy. */
.route-cover-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;border:1px solid #8294ee35;border-radius:20px;background:var(--surface);padding:0;min-width:0}
.route-cover-card .route-card-art{position:relative;display:block;height:200px;flex:none;overflow:hidden;background:var(--brand-purple)}
.route-cover-card .route-card-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}
.route-cover-card:hover .route-card-art>img{transform:scale(1.025)}
.route-card-badge{position:absolute;left:16px;bottom:14px;padding:5px 10px;border:1px solid #ffffff25;border-radius:7px;background:#070435d9;color:#e7eaff;font:500 10px/1.4 var(--sans)}
.route-card-art-fallback{display:grid;place-items:center;height:100%;background:radial-gradient(ellipse at 65% 35%,#5349a9,var(--brand-purple) 75%);color:var(--gold)}
.route-card-art-fallback>svg{width:54px;height:54px}
.route-cover-card .route-card-copy{display:flex;flex-direction:column;flex:1;padding:22px;min-width:0}
.route-cover-card .route-card-kicker{font:500 10px/1.5 var(--sans);letter-spacing:.07em;margin:0 0 9px}
.route-cover-card .route-card-copy h3{font:700 22px/1.3 var(--sans);letter-spacing:-.02em;min-height:2.6em;margin:0 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.route-cover-card .route-card-synopsis{font:400 13px/1.7 var(--sans);color:var(--muted);margin:0 0 18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:3.4em}
.route-cover-card .route-card-details{align-items:start;gap:8px;flex-direction:column;font-size:11px;margin:0 0 20px}
.route-cover-card .route-card-details>span{display:inline-block;padding:4px 9px;border-radius:6px;background:#8294ee18;color:#d2d8ff;font-size:11px}
.route-cover-card .route-duration{font-size:11px;line-height:1.5}
.route-cover-card .route-card-enter{align-self:flex-start;justify-content:center;margin-top:auto;gap:12px;min-height:44px;padding:10px 16px;border:1px solid #8294ee80;border-radius:999px;background:#30287855;color:var(--gold);font:600 12px/1.5 var(--sans)}
.route-cover-card .route-card-enter svg{width:18px;height:18px;flex:none}
.route-cover-card:hover .route-card-enter{background:var(--gold);border-color:var(--gold);color:var(--bg)}
.route-cover-card .route-card-progress{margin:0 0 16px;font-size:10px}
.route-cover-card .route-card-progress p{font-size:10px;line-height:1.5}
.suggested-route-art>.suggested-route-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center;padding:0;border-radius:0}
@media(max-width:600px){.route-cover-card .route-card-art{height:175px}.route-cover-card .route-card-copy{padding:20px}.route-cover-card .route-card-copy h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.route-cover-card .route-card-art>img{transition:none}}

/* A slightly smaller route card keeps the shelves light. */
.home-route-rail>.route-cover-card{flex-basis:320px}
.route-collection-rail>.route-discovery-card{flex:0 0 320px}
.route-cover-card .route-card-art{height:170px}
.route-cover-card .route-card-copy{padding:18px}
.route-cover-card .route-card-copy h3{font-size:20px;margin-bottom:10px}
.route-cover-card .route-card-synopsis{font-size:12px;line-height:1.65;min-height:3.3em;margin-bottom:14px}
.route-cover-card .route-card-details{margin-bottom:14px;gap:6px}
.route-cover-card .route-card-kicker{font-size:9px;margin-bottom:8px}
.route-cover-card .route-card-progress{margin-bottom:12px}
.route-cover-card .route-card-enter{padding:8px 14px;font-size:11px}
@media(max-width:600px){.home-route-rail>.route-cover-card,.route-collection-rail>.route-discovery-card{flex-basis:280px}.route-cover-card .route-card-art{height:155px}.route-cover-card .route-card-copy{padding:17px}.route-cover-card .route-card-copy h3{font-size:19px}}

/* Avatar choices stay grouped, with one category visible at a time. */
#lc-profile-form .lc-avatar-picker{padding:4px 12px 8px}
.lc-avatar-group{margin:0;padding:0;border:0;border-radius:0;background:none}
.lc-avatar-group+.lc-avatar-group{border-top:1px solid var(--line)}
.lc-avatar-group>summary{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 2px;list-style:none;cursor:pointer;font:600 12px/1.5 var(--sans);color:var(--ink)}
.lc-avatar-group>summary::-webkit-details-marker{display:none}
.lc-avatar-group>summary small{font:400 10px/1 var(--sans);color:var(--muted)}
.lc-avatar-group>summary svg{margin-left:auto;width:16px;height:16px;color:var(--brand-lavender)}
.lc-avatar-group[open]>summary svg{transform:rotate(180deg)}
.lc-avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:2px 0 10px}
@media(max-width:480px){.lc-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.lc-avatar-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:4px 0 8px}
.lc-avatar-categories button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:40px;padding:6px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font:500 11px/1.4 var(--sans)}
.lc-avatar-categories button[aria-pressed=true]{border-color:#8294ee70;background:#8294ee20;color:var(--ink)}
.lc-avatar-categories small{font-size:9px;color:var(--brand-lavender)}
.lc-avatar-picker [data-avatar-panel]{margin:0;padding:0;border:0}
.lc-avatar-picker [data-avatar-panel][hidden]{display:none}

.lc-avatar-categories{display:flex;justify-content:center;gap:8px;margin:2px 0 10px}
.lc-avatar-categories button{width:44px;height:44px;min-height:44px;flex:none;padding:10px}
.lc-avatar-categories svg{display:block;width:22px;height:22px}
.lc-avatar-picker .lc-avatar-legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lc-avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:222px;overflow-y:auto;overscroll-behavior:contain;padding:2px 3px 8px;scrollbar-width:thin;scrollbar-color:#8294ee70 transparent}
.lc-avatar-picker img{width:42px}
.lc-avatar-picker label>span{padding:3px}
@media(max-width:480px){.lc-avatar-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-height:206px}.lc-avatar-picker img{width:38px}}
#lc-profile-form .lc-avatar-picker{gap:0}
.lc-avatar-categories{margin:0 0 6px}
.lc-avatar-grid{max-height:208px;gap:4px}
.lc-avatar-picker img{width:36px}
#quickview .lc-account-settings h2{margin-bottom:10px}
#quickview .lc-account-links{margin-bottom:8px}
#quickview .lc-account-security{padding-top:8px}
#quickview .lc-account-security>summary{min-height:28px}

.lc-avatar-picker .lc-avatar-preview{display:grid;place-items:center;margin:6px 0 10px}
.lc-avatar-picker .lc-avatar-preview img{display:block;width:96px;height:96px;max-width:none;border-radius:50%;border:2px solid #8294ee70;box-shadow:0 6px 18px #0003}
.lc-avatar-picker .lc-avatar-grid{max-height:128px;scroll-padding-block:4px}
.lc-avatar-picker>.lc-avatar-preview{grid-template-columns:minmax(0,1fr);width:100%}

/* Brand lockups include their own tagline; retain the original proportions. */
header .brand img{width:210px;height:auto;aspect-ratio:1366/507.05;object-fit:contain}
.footer-manifesto .footer-wordmark{display:block;margin:0}
.footer-manifesto .footer-wordmark img{width:260px;height:auto;aspect-ratio:1366/507.05}
@media(max-width:1100px){header .brand img{width:170px}}
@media(max-width:750px){header .brand img{width:132px}.footer-manifesto .footer-wordmark img{width:230px}}
@media(max-width:380px){header .brand img{width:114px}}
