:root {
  color-scheme: light;
  --canvas: #f8f5f7;
  --surface: #ffffff;
  --surface-soft: #fbf8fa;
  --surface-alt: #f3edf1;
  --text: #241b20;
  --text-strong: #1a1116;
  --muted: #747982;
  --muted-2: #9da2aa;
  --line: #e6e7e9;
  --line-strong: #d8dade;
  --red: #ad1c4a;
  --red-soft: #fceaf0;
  --red-border: #f0c7d5;
  --green: #23845c;
  --shadow: 0 18px 50px rgba(73, 24, 47, .075);
  --sidebar-width: 246px;
  --content-width: 1500px;
  --radius: 18px;
  --font: 'DM Sans', sans-serif;
  --display: 'Manrope', 'DM Sans', sans-serif;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #151116;
  --surface: #201920;
  --surface-soft: #281f28;
  --surface-alt: #302530;
  --text: #f4edf1;
  --text-strong: #ffffff;
  --muted: #a0a5ad;
  --muted-2: #737a84;
  --line: #3d303a;
  --line-strong: #584150;
  --red: #ef83a8;
  --red-soft: #38212d;
  --red-border: #71475b;
  --green: #7ed1a6;
  --shadow: 0 18px 50px rgba(0, 0, 0, .22);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); scroll-behavior: smooth; }
body { background-image: radial-gradient(ellipse at 84% 0%, color-mix(in srgb,var(--red-soft) 46%,transparent), transparent 34rem); min-width: 320px; min-height: 100vh; margin: 0; background: var(--canvas); color: var(--text); font-family: var(--font); font-size: 14px; line-height: 1.5; overflow-x: hidden; transition: background .2s ease, color .2s ease; }
body.player-open { overflow: hidden; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; }
::selection { color: #fff; background: var(--red); }
[data-icon] svg { width: 19px; height: 19px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Opening signature: one illustrated sneaker tap. */
.intro { position: fixed; inset: 0; z-index: 1000; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; background: radial-gradient(ellipse at 52% 46%, #262a30 0, #111419 48%, #08090c 100%); color: #f6f7f8; transition: opacity .55s ease, visibility .55s ease; }
.intro.done { opacity: 0; visibility: hidden; pointer-events: none; }
.intro-grain { position: absolute; inset: 0; pointer-events: none; opacity: .055; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.intro-brand, .intro-bottom { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 25px 4.5vw; }
.intro-brand { justify-content: flex-start; gap: 11px; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.intro-brand img { width: 29px; height: 29px; object-fit: contain; }
.intro-center { position: relative; z-index: 1; align-self: center; display: grid; justify-items: center; gap: 10px; padding-bottom: 14px; }
.tap-stage { position: relative; display: grid; place-items: center; width: min(460px, 88vw); height: 250px; }
.tap-foot { position: absolute; z-index: 2; width: 340px; max-width: 90%; height: auto; transform-origin: 73% 88%; filter: drop-shadow(0 24px 18px rgba(0,0,0,.45)); animation: oneTap 1.25s cubic-bezier(.3,.75,.35,1) .12s both; }
.tap-glow { position: absolute; bottom: 13px; left: 50%; width: 230px; height: 70px; transform: translateX(-50%); background: radial-gradient(ellipse, rgba(51,181,255,.23), transparent 70%); filter: blur(8px); opacity: 0; animation: glowTap .9s .56s both; }
.tap-ring { position: absolute; bottom: 13px; left: 50%; width: 150px; height: 32px; transform: translateX(-50%) scale(.3); border: 2px solid rgba(77,197,255,.8); border-radius: 50%; opacity: 0; animation: ringTap .52s .61s ease-out both; }
.tap-spark { position: absolute; z-index: 3; bottom: 30px; left: 27%; width: 5px; height: 42px; border-radius: 8px; background: #78dcff; box-shadow: 0 0 12px #33baff, 0 0 30px #33baff; opacity: 0; }
.spark-a { transform: rotate(-20deg); animation: spark .34s .64s both; }
.spark-b { left: 72%; height: 34px; transform: rotate(18deg); animation: spark .34s .67s both; }
.spark-c { left: 48%; height: 27px; transform: rotate(2deg); animation: spark .34s .7s both; }
.intro-copy { margin-top: -5px; text-align: center; }
.eyebrow, .intro-bottom { color: #a9b0ba; font-size: 9px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.intro-copy h1 { margin: 9px 0 13px; font-family: var(--display); font-size: clamp(39px,7vw,74px); font-weight: 800; line-height: .95; letter-spacing: -.045em; }
.intro-copy h1 span { color: #e23d55; }
.intro-sub { margin: 0; color: #b9c0c9; font-size: 13px; letter-spacing: .02em; }
.intro-bottom { color: #7c8590; font-size: 8px; }
.skip-intro { position: absolute; z-index: 3; right: 4.5vw; bottom: 22px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: transparent; color: #c5cad1; font-size: 10px; cursor: pointer; }
.skip-intro span { margin-left: 6px; color: #e23d55; }
@keyframes oneTap { 0% { transform: translateY(-20px) rotate(-5deg); } 45% { transform: translateY(0) rotate(0); } 58% { transform: translateY(18px) rotate(8deg); } 70%,100% { transform: translateY(12px) rotate(4deg); } }
@keyframes ringTap { 0% { opacity: 0; transform: translateX(-50%) scale(.25); } 25% { opacity: 1; } 100% { opacity: 0; transform: translateX(-50%) scale(1.6); } }
@keyframes glowTap { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: .2; } }
@keyframes spark { 0% { opacity: 0; transform: translateY(10px) scaleY(.3); } 35% { opacity: 1; } 100% { opacity: 0; transform: translateY(-17px) scaleY(1); } }

/* Desktop app frame and navigation. */
.app-shell { min-height: 100vh; padding-left: var(--sidebar-width); opacity: 0; transition: opacity .4s ease; }
.app-shell.ready { opacity: 1; }
.sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; display: flex; flex-direction: column; width: var(--sidebar-width); padding: 22px 18px 18px; border-right: 1px solid var(--line); background: var(--surface); }
.side-brand { display: flex; align-items: center; gap: 11px; min-height: 43px; margin-bottom: 28px; color: var(--text-strong); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.side-brand img { width: 34px; height: 34px; object-fit: contain; }
.side-label { margin: 0 8px 9px; color: var(--muted-2); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.side-label-spaced { margin-top: 25px; }
.side-nav { display: grid; gap: 4px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 13px; width: 100%; min-height: 43px; padding: 0 11px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); text-align: left; cursor: pointer; transition: background .18s ease, color .18s ease; }
.nav-item .nav-icon { display: grid; width: 21px; place-items: center; }
.nav-item .nav-icon svg { width: 18px; height: 18px; }
.nav-item span:nth-child(2) { font-size: 12px; font-weight: 600; }
.nav-item:hover { background: var(--surface-soft); color: var(--text); }
.nav-item.active { background: var(--red-soft); color: var(--red); }
.nav-note { margin-left: auto; padding: 3px 5px; border-radius: 5px; background: var(--red-soft); color: var(--red); font-size: 7px; font-weight: 800; letter-spacing: .06em; }
.sidebar-continue { margin-top: 28px; padding-top: 17px; border-top: 1px solid var(--line); }
.continue-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 3px 11px; color: var(--muted-2); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.plain-icon { display: grid; width: 26px; height: 26px; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--muted); cursor: pointer; }
.plain-icon:hover { background: var(--surface-soft); color: var(--red); }
.plain-icon svg { width: 15px; height: 15px; }
.continue-item { display: grid; grid-template-columns: 56px minmax(0,1fr) 18px; align-items: center; gap: 9px; width: 100%; padding: 7px 2px; border: 0; border-radius: 8px; background: transparent; text-align: left; cursor: pointer; }
.continue-item:hover { background: var(--surface-soft); }
.continue-item img { display: block; width: 56px; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; background: var(--surface-alt); }
.continue-item strong { display: block; overflow: hidden; color: var(--text); font-size: 9px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.continue-item small { display: block; margin-top: 2px; color: var(--muted); font-size: 8px; }
.continue-item i { color: var(--text); font-style: normal; }
.continue-item i svg { width: 13px; height: 13px; }
.continue-empty { padding: 9px 3px; color: var(--muted-2); font-size: 10px; line-height: 1.5; }
.sidebar-bottom { display: flex; align-items: center; gap: 8px; margin-top: auto; padding: 15px 4px 2px; border-top: 1px solid var(--line); color: var(--muted-2); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.live-dot { display: inline-block; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px var(--red-soft); }
.main-column { min-height: 100vh; }
.topbar { position: sticky; z-index: 40; top: 0; display: grid; grid-template-columns: minmax(190px,275px) minmax(0,1fr) auto; align-items: center; gap: 18px; min-height: 78px; padding: 0 clamp(22px,3vw,46px); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 93%, transparent); backdrop-filter: blur(18px); }
.topbar-search { min-width: 0; }
.search-box { display: flex; align-items: center; gap: 10px; width: 100%; height: 41px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); color: var(--muted); transition: border .18s ease, box-shadow .18s ease; }
.search-box:focus-within { border-color: var(--red); box-shadow: 0 0 0 3px var(--red-soft); }
.search-box svg { width: 16px; height: 16px; }
.search-box input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 11px; }
.search-box input::placeholder { color: var(--muted-2); }
.search-box kbd { flex: 0 0 auto; padding: 2px 5px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted-2); font-size: 8px; }
.category-nav { display: flex; align-items: center; gap: 5px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.category-nav::-webkit-scrollbar { display: none; }
.category-chip { flex: 0 0 auto; min-height: 34px; padding: 0 13px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: .18s ease; }
.category-chip:hover { background: var(--surface-soft); color: var(--text); }
.category-chip.active { border-color: var(--red); background: var(--red); color: #fff; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.theme-toggle { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--text); cursor: pointer; }
.theme-toggle:hover { border-color: var(--red); color: var(--red); }
.theme-toggle svg { width: 17px; height: 17px; }
.profile-button { display: flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 10px 0 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text); font-size: 10px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.profile-button > svg { width: 13px; height: 13px; color: var(--muted); }
.profile-avatar { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: var(--text); color: var(--surface); font-size: 8px; font-weight: 800; }
.subscribe-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 0 13px; border: 0; border-radius: 8px; background: var(--red); color: #fff; font-size: 10px; font-weight: 800; box-shadow: 0 6px 16px rgba(229,30,43,.14); transition: .18s ease; }
.subscribe-button:hover { transform: translateY(-1px); background: #ce1825; }
.subscribe-button svg { width: 13px; height: 13px; }
.mobile-brand, .mobile-search-toggle { display: none; }
.page-content { width: min(var(--content-width),100%); min-height: calc(100vh - 170px); margin: 0 auto; padding: 30px clamp(22px,3vw,46px) 68px; }

/* Shared layout and type. */
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 4px 0 24px; }
.page-heading h1 { margin: 5px 0 0; color: var(--text-strong); font-family: var(--display); font-size: clamp(29px,3vw,40px); font-weight: 800; letter-spacing: -.055em; line-height: 1.08; }
.page-heading p { max-width: 650px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.section-eyebrow { color: var(--red); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section-block { margin-top: 39px; }
.compact-section { margin-top: 26px; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.section-head h2 { margin: 4px 0 0; color: var(--text-strong); font-family: var(--display); font-size: 22px; font-weight: 800; letter-spacing: -.045em; line-height: 1.2; }
.section-head p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.text-link { display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; color: var(--red); font-size: 10px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.text-link svg { width: 14px; height: 14px; }
.btn-primary, .btn-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 42px; padding: 0 16px; border: 1px solid transparent; border-radius: 8px; font-size: 10px; font-weight: 800; cursor: pointer; transition: .18s ease; }
.btn-primary { background: var(--red); color: #fff; box-shadow: 0 7px 18px rgba(229,30,43,.13); }
.btn-primary:hover { transform: translateY(-1px); background: #ca1724; }
.btn-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--text); }
.btn-secondary:hover { border-color: var(--red-border); color: var(--red); background: var(--red-soft); }
.btn-primary svg, .btn-secondary svg { width: 14px; height: 14px; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pill-red { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
.muted { color: var(--muted); }
.empty-state { padding: 36px 20px; border: 1px dashed var(--line-strong); border-radius: 14px; color: var(--muted); font-size: 12px; text-align: center; }
.result-count { color: var(--muted-2); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.data-note { margin: 17px 0 0; color: var(--muted-2); font-size: 9px; line-height: 1.6; }

/* Home: cinematic, image-led latest episode feature. */
.latest-spotlight { position: relative; min-height: clamp(370px,42vw,510px); overflow: hidden; isolation: isolate; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: #171116; color: #fff; box-shadow: 0 20px 55px rgba(30,12,22,.14); }
.latest-spotlight-image { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 38%; transform: scale(1.015); }
.latest-spotlight-shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(15,10,14,.88) 0%,rgba(18,10,15,.70) 35%,rgba(16,10,14,.18) 70%,rgba(12,8,11,.08) 100%),linear-gradient(0deg,rgba(10,7,10,.72),transparent 65%); }
.latest-spotlight-top { position: absolute; top: 22px; right: 24px; left: 26px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.spotlight-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; background: rgba(22,15,20,.34); color: rgba(255,255,255,.94); font-size: 9px; font-weight: 800; letter-spacing: .1em; backdrop-filter: blur(14px); }
.spotlight-badge i { width: 7px; height: 7px; border-radius: 50%; background: #f2a0bd; box-shadow: 0 0 0 4px rgba(242,160,189,.15); }
.spotlight-counter { color: rgba(255,255,255,.58); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.spotlight-counter b { color: #fff; }
.latest-spotlight-copy { position: absolute; right: 24%; bottom: 44px; left: clamp(25px,4vw,52px); max-width: 560px; }
.spotlight-series { display: inline-flex; margin-bottom: 11px; color: #f3a4c0; font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.latest-spotlight-copy h1 { max-width: 620px; margin: 0; color: #fff; font-family: var(--display); font-size: clamp(30px,4.2vw,54px); font-weight: 800; letter-spacing: -.055em; line-height: 1.02; text-wrap: balance; }
.spotlight-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; color: rgba(255,255,255,.78); font-size: 10px; font-weight: 600; }
.spotlight-meta span { color: rgba(255,255,255,.42); }
.latest-spotlight-copy > p { display: -webkit-box; max-width: 500px; margin: 13px 0 0; overflow: hidden; color: rgba(255,255,255,.75); font-size: 11px; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.spotlight-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 19px; }
.spotlight-watch, .spotlight-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 17px; border: 1px solid transparent; border-radius: 999px; font-size: 10px; font-weight: 800; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.spotlight-watch { background: #fff; color: #20151b; }
.spotlight-watch:hover { transform: translateY(-2px); background: #f9eaf0; }
.spotlight-watch svg, .spotlight-secondary svg { width: 14px; height: 14px; }
.spotlight-secondary { border-color: rgba(255,255,255,.28); background: rgba(28,18,24,.32); color: #fff; backdrop-filter: blur(9px); }
.spotlight-secondary:hover { transform: translateY(-2px); background: rgba(255,255,255,.15); }
.spotlight-controls { position: absolute; top: 50%; right: 23px; display: grid; gap: 9px; transform: translateY(-50%); }
.spotlight-controls button { display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(27,19,24,.44); color: #fff; backdrop-filter: blur(12px); cursor: pointer; transition: .18s ease; }
.spotlight-controls button:hover { background: rgba(255,255,255,.94); color: #271a21; }
.spotlight-controls button:first-child svg { transform: rotate(180deg); }
.spotlight-controls svg { width: 17px; height: 17px; }
.spotlight-dots { position: absolute; right: 25px; bottom: 22px; display: flex; align-items: center; gap: 6px; }
.spotlight-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 99px; background: rgba(255,255,255,.45); cursor: pointer; transition: width .2s ease,background .2s ease; }
.spotlight-dot.active { width: 24px; background: #f3a4c0; }
.home-feature-rows { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 34px; }
.home-feature-card { display: grid; grid-template-columns: .82fr 1fr; min-height: 220px; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); }
.home-feature-image { position: relative; display: grid; min-height: 220px; place-items: center; overflow: hidden; background: linear-gradient(145deg,#25151f,#6e2447 55%,#c66b8e); }
.home-feature-image img { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.podcast-monogram { color: rgba(255,255,255,.96); font-family: var(--display); font-size: clamp(60px,7vw,102px); font-weight: 800; letter-spacing: -.1em; }
.podcast-monogram span { color: #f1a4c0; font-size: .38em; vertical-align: top; }
.home-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 21px; }
.home-feature-copy h3 { margin: 8px 0; color: var(--text-strong); font-family: var(--display); font-size: clamp(23px,2.5vw,33px); font-weight: 800; letter-spacing: -.06em; line-height: 1.02; }
.home-feature-copy p { margin: 0 0 14px; color: var(--muted); font-size: 10px; line-height: 1.65; }
.home-feature-copy .btn-secondary { min-height: 35px; padding: 0 11px; font-size: 9px; }
.series-strip { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.series-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 126px; padding: 13px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #241820; color: #fff; text-align: left; cursor: pointer; transition: border .18s ease, transform .18s ease, box-shadow .18s ease; }
.series-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; transition: transform .3s ease; }
.series-tile-shade { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(15,10,13,.83),rgba(15,10,13,.06)); }
.series-tile:hover { transform: translateY(-2px); border-color: var(--red-border); box-shadow: var(--shadow); }
.series-tile:hover img { transform: scale(1.04); }
.series-tile small, .series-tile strong { position: relative; z-index: 1; }
.series-tile small { max-width: 85%; color: rgba(255,255,255,.75); font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.series-tile strong { max-width: 90%; margin-top: 12px; font-family: var(--display); font-size: 15px; font-weight: 800; letter-spacing: -.035em; line-height: 1.15; }
.series-arrow { position: absolute; right: 12px; bottom: 12px; display: grid; width: 24px; height: 24px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--red); }
.series-arrow svg { width: 13px; height: 13px; }

/* Episode cards: thumbnail image only, all information below. */
.video-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px 15px; }
.wide-video-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.video-card { min-width: 0; outline: none; cursor: pointer; }
.thumb-wrap { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; border-radius: 10px; background: var(--surface-alt); }
.thumb-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.video-card:hover .thumb-wrap img, .video-card:focus-visible .thumb-wrap img { transform: scale(1.035); }
.video-card:focus-visible .thumb-wrap { outline: 3px solid var(--red); outline-offset: 3px; }
.thumb-play { position: absolute; top: 50%; left: 50%; display: grid; width: 44px; height: 44px; place-items: center; transform: translate(-50%,-50%) scale(.88); border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(17,18,20,.76); color: #fff; opacity: 0; transition: .2s ease; }
.thumb-play svg { width: 15px; height: 15px; fill: currentColor; stroke: none; }
.video-card:hover .thumb-play, .video-card:focus-visible .thumb-play { transform: translate(-50%,-50%) scale(1); opacity: 1; }
.video-card-info { padding: 9px 1px 0; }
.video-card-info h3 { display: -webkit-box; min-height: 34px; margin: 0 0 5px; overflow: hidden; color: var(--text-strong); font-size: 12px; font-weight: 700; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.video-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--muted-2); }
.view-meta { display: inline-flex; align-items: center; gap: 4px; }
.view-meta svg { width: 12px; height: 12px; }
.video-series-label { margin-top: 5px; color: var(--muted-2); font-size: 8px; font-weight: 700; }

/* Library pages: direct-to-content, compact and easy to scan. */
.library-channel-link { display: inline-flex; align-items: center; gap: 8px; min-height: 37px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--surface); color: var(--text); font-size: 9px; font-weight: 800; white-space: nowrap; }
.library-channel-link:hover { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
.library-channel-link svg { width: 13px; height: 13px; }
.library-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 18px 0 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.library-toolbar-copy { display: grid; gap: 2px; }
.library-toolbar-copy strong { color: var(--text-strong); font-size: 11px; }
.library-toolbar-copy span { color: var(--muted); font-size: 9px; }
.library-search, .merch-search { display: flex; align-items: center; gap: 8px; width: min(300px,45%); min-height: 37px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); color: var(--muted); }
.library-search svg, .merch-search svg { width: 15px; height: 15px; flex: 0 0 auto; }
.library-search input, .merch-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 9px; }
.library-filter-row { margin-top: 13px; }
/* Playlists and collections. */
.playlist-hero { display: grid; grid-template-columns: 1fr .7fr; min-height: 250px; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.playlist-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 28px 34px; }
.playlist-hero-copy h2 { margin: 13px 0 8px; color: var(--text-strong); font-family: var(--display); font-size: clamp(30px,4vw,45px); font-weight: 800; letter-spacing: -.07em; line-height: 1.02; }
.playlist-hero-copy p { max-width: 470px; margin: 0 0 17px; color: var(--muted); font-size: 11px; line-height: 1.7; }
.playlist-hero-art { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; background: var(--surface-alt); color: var(--text); }
.playlist-hero-art strong { font-family: var(--display); font-size: clamp(85px,12vw,145px); font-weight: 800; letter-spacing: -.11em; line-height: .95; }
.playlist-hero-art strong span { color: var(--red); }
.playlist-hero-art small { margin-top: 8px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .27em; }
.playlist-collections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 14px; }
.collection-card { display: flex; flex-direction: column; align-items: flex-start; min-height: 185px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); color: var(--text); text-align: left; transition: border .18s ease, transform .18s ease, box-shadow .18s ease; }
.collection-card:hover { transform: translateY(-2px); border-color: var(--red-border); box-shadow: var(--shadow); }
.collection-card-top { display: flex; justify-content: space-between; width: 100%; color: var(--muted-2); }
.collection-card-top small { font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.collection-card-top span { font-family: var(--display); font-size: 15px; font-weight: 800; }
.collection-card strong { margin-top: 20px; color: var(--text-strong); font-family: var(--display); font-size: 22px; font-weight: 800; letter-spacing: -.05em; line-height: 1.08; }
.collection-card p { margin: 8px 0 10px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.collection-card button { display: inline-flex; align-items: center; gap: 7px; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--red); font-size: 9px; font-weight: 800; cursor: pointer; }
.collection-card button svg { width: 13px; height: 13px; }
.series-external { margin-top: 7px; color: var(--muted-2); font-size: 8px; font-weight: 700; }
.series-external:hover { color: var(--red); }
.official-playlist-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 15px; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.official-playlist-links .section-eyebrow { width: 100%; }
.official-playlist-links a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 9px; font-weight: 700; }
.official-playlist-links a:hover { border-color: var(--red-border); color: var(--red); }

/* Podcast library — straight into the episodes. */
.podcast-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 17px 0 15px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.podcast-show-lockup { display: flex; align-items: center; gap: 12px; }
.podcast-cover-art { display: grid; flex: 0 0 49px; width: 49px; height: 49px; place-items: center; border-radius: 10px; background: linear-gradient(145deg,#291521,#9e2855 70%,#db85a3); color: #fff; font-family: var(--display); font-size: 20px; font-weight: 800; letter-spacing: -.08em; }
.podcast-cover-art > span > span { color: #f4b7cb; font-size: .7em; }
.podcast-show-lockup strong, .podcast-show-lockup small { display: block; }
.podcast-show-lockup strong { color: var(--text-strong); font-size: 12px; }
.podcast-show-lockup small { margin-top: 3px; color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.spotify-follow-link { display: inline-flex; align-items: center; gap: 7px; min-height: 35px; padding: 0 12px; border: 1px solid var(--red-border); border-radius: 8px; background: var(--red-soft); color: var(--red); font-size: 9px; font-weight: 800; }
.spotify-follow-link svg { width: 13px; height: 13px; }
.podcast-filter-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 18px; }
.spotify-episode-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.spotify-episode-card { min-width: 0; padding: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.spotify-episode-copy { min-height: 112px; padding: 2px 2px 10px; }
.spotify-episode-copy h3 { margin: 7px 0; color: var(--text-strong); font-family: var(--display); font-size: 19px; font-weight: 800; letter-spacing: -.04em; line-height: 1.15; }
.spotify-episode-copy p { min-height: 32px; margin: 0 0 7px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.spotify-episode-copy small { color: var(--muted-2); font-size: 8px; font-weight: 700; }
.spotify-episode-card iframe { display: block; width: 100%; max-width: 100%; min-width: 0; border: 0; border-radius: 9px; background: var(--surface-alt); }
.podcast-bottom-note { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 25px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 13px; background: linear-gradient(115deg,var(--surface),var(--red-soft)); }
.podcast-bottom-note h2 { margin: 5px 0; color: var(--text-strong); font-family: var(--display); font-size: 22px; letter-spacing: -.05em; }
.podcast-bottom-note p { margin: 0; color: var(--muted); font-size: 9px; }
/* Official merch catalogue: real product imagery, live-store handoff, useful filters. */
.merch-story-strip { display: grid; grid-template-columns: 1.05fr .9fr auto; align-items: stretch; min-height: 190px; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(115deg,var(--surface),var(--red-soft)); }
.merch-story-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 22px 25px; }
.merch-story-copy h2 { margin: 8px 0; color: var(--text-strong); font-family: var(--display); font-size: clamp(26px,3vw,37px); font-weight: 800; letter-spacing: -.06em; line-height: 1.03; }
.merch-story-copy p { max-width: 310px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.merch-story-art { min-width: 0; background: #f1ecec; }
.merch-story-art img { display: block; width: 100%; height: 100%; min-height: 190px; object-fit: cover; object-position: center 34%; }
.merch-story-action { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 130px; padding: 16px; border-left: 1px solid var(--line); }
.merch-story-action strong { color: var(--text-strong); font-family: var(--display); font-size: 34px; letter-spacing: -.06em; }
.merch-story-action span { color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.merch-story-action a { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; color: var(--red); font-size: 9px; font-weight: 800; }
.merch-story-action a svg { width: 13px; height: 13px; }
.merch-library { margin-top: 30px; }
.merch-controls { display: grid; gap: 13px; margin: 14px 0 18px; }
.merch-filter-row { display: flex; gap: 7px; overflow-x: auto; padding: 2px 0 5px; scrollbar-width: thin; }
.merch-search-sort { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.merch-search { width: min(360px,60%); }
.sort-select { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.sort-select select { min-height: 36px; padding: 0 28px 0 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--text); font-size: 9px; outline: none; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px 13px; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.product-card:hover { transform: translateY(-3px); border-color: var(--red-border); box-shadow: var(--shadow); }
.product-art { position: relative; display: grid; height: 220px; place-items: center; overflow: hidden; background: linear-gradient(145deg,#f7f3f5,#ece5e9); }
.product-art img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .35s ease; }
.product-card:hover .product-art img { transform: scale(1.035); }
.product-mark { position: absolute; z-index: 1; top: 10px; left: 10px; padding: 5px 7px; border: 1px solid rgba(173,28,74,.12); border-radius: 5px; background: rgba(255,255,255,.82); color: #88304f; font-size: 7px; font-weight: 800; letter-spacing: .08em; backdrop-filter: blur(8px); }
.product-quickview { position: absolute; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; transform: translateY(5px); border-radius: 7px; background: rgba(28,18,24,.83); color: #fff; font-size: 8px; font-weight: 800; opacity: 0; transition: .2s ease; }
.product-quickview svg { width: 12px; height: 12px; }
.product-card:hover .product-quickview { transform: translateY(0); opacity: 1; }
.product-art.image-fallback:before { display: block; width: 82px; height: 104px; border: 2px solid rgba(173,28,74,.18); border-radius: 22px 22px 12px 12px; background: linear-gradient(135deg,#eadde3,#cba9b9); content: ''; }
.product-details { padding: 12px; }
.product-details > small { color: var(--muted-2); font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.product-details h3 { min-height: 34px; margin: 5px 0 5px; color: var(--text-strong); font-size: 11px; font-weight: 700; line-height: 1.35; }
.product-desc { display: -webkit-box; min-height: 30px; margin: 0 0 8px; overflow: hidden; color: var(--muted); font-size: 8px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.product-price { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.product-price span { display: flex; flex-direction: column; gap: 1px; }
.product-price del { color: var(--muted-2); font-size: 8px; }
.product-price strong { color: var(--text-strong); font-size: 12px; }
.product-wish { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--muted); cursor: pointer; }
.product-wish svg { width: 14px; height: 14px; }
.product-wish.saved { border-color: var(--red-border); color: var(--red); }
.product-wish.saved svg { fill: var(--red-soft); }
.product-buy-link { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); color: var(--red); font-size: 8px; font-weight: 800; }
.product-buy-link svg { width: 12px; height: 12px; }
.store-note { margin-top: 15px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: 9px; line-height: 1.6; }
.store-note a { color: var(--red); font-weight: 800; }
/* Community preview: local-only demo interactions. */
.demo-status { flex: 0 0 auto; padding: 6px 9px; border: 1px solid var(--red-border); border-radius: 999px; background: var(--red-soft); color: var(--red); font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.community-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(250px,.75fr); align-items: start; gap: 19px; }
.community-compose { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.compose-top { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.compose-avatar, .post-avatar, .comment-avatar { display: grid; flex: 0 0 auto; width: 37px; height: 37px; place-items: center; border-radius: 50%; background: var(--text); color: var(--surface); font-size: 9px; font-weight: 800; }
.compose-top strong { display: block; color: var(--text-strong); font-size: 11px; }
.compose-top small { display: block; color: var(--muted); font-size: 9px; }
#community-message { display: block; width: 100%; min-height: 96px; padding: 12px; resize: vertical; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: var(--surface-soft); color: var(--text); font-size: 11px; }
#community-message:focus { border-color: var(--red); box-shadow: 0 0 0 3px var(--red-soft); }
#community-message::placeholder { color: var(--muted-2); }
.compose-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 11px; }
.compose-bottom > span { color: var(--muted-2); font-size: 8px; }
.community-feed-head { display: flex; align-items: flex-end; justify-content: space-between; margin: 27px 0 12px; }
.community-feed-head h2 { margin: 4px 0 0; color: var(--text-strong); font-family: var(--display); font-size: 20px; font-weight: 800; letter-spacing: -.04em; }
.feed-sort { color: var(--muted-2); font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.community-feed { display: grid; gap: 11px; }
.community-post { padding: 15px 16px 11px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.post-head { display: flex; align-items: center; gap: 9px; }
.post-avatar { width: 34px; height: 34px; background: var(--surface-alt); color: var(--text); }
.post-user { min-width: 0; }
.post-user strong { display: block; color: var(--text-strong); font-size: 10px; }
.post-user small { display: block; color: var(--muted-2); font-size: 8px; }
.post-more { display: grid; width: 29px; height: 29px; place-items: center; margin-left: auto; border: 0; border-radius: 50%; background: transparent; color: var(--muted-2); }
.post-more svg { width: 16px; height: 16px; }
.post-text { margin: 13px 0 14px; color: var(--text); font-size: 11px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.post-actions { display: flex; gap: 8px; padding-top: 9px; border-top: 1px solid var(--line); }
.post-action { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 0; border-radius: 7px; background: transparent; color: var(--muted); font-size: 9px; cursor: pointer; }
.post-action:hover { background: var(--surface-soft); color: var(--text); }
.post-action svg { width: 14px; height: 14px; }
.post-action small { font-size: 8px; }
.post-action.liked { color: var(--red); }
.post-action.liked svg { fill: var(--red-soft); }
.post-comments { margin-top: 7px; padding: 10px 0 0; border-top: 1px solid var(--line); }
.comment-row { display: flex; align-items: flex-start; gap: 8px; padding: 7px 0; }
.comment-avatar { width: 25px; height: 25px; background: var(--surface-alt); color: var(--text); font-size: 7px; }
.comment-row strong { display: block; color: var(--text-strong); font-size: 8px; }
.comment-row p { margin: 2px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.comment-form { display: flex; gap: 7px; margin-top: 8px; }
.comment-form input { width: 100%; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--line); border-radius: 7px; outline: 0; background: var(--surface-soft); color: var(--text); font-size: 9px; }
.comment-form input:focus { border-color: var(--red); }
.comment-form button { display: grid; flex: 0 0 36px; height: 36px; place-items: center; border: 0; border-radius: 7px; background: var(--red); color: white; cursor: pointer; }
.comment-form button svg { width: 14px; height: 14px; }
.community-aside { display: grid; gap: 11px; }
.community-aside-card { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.aside-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; background: var(--red-soft); color: var(--red); }
.aside-icon svg { width: 17px; height: 17px; }
.community-aside-card h3 { margin: 11px 0 6px; color: var(--text-strong); font-family: var(--display); font-size: 17px; font-weight: 800; letter-spacing: -.04em; line-height: 1.2; }
.community-aside-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.7; }
.community-stat-row { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.community-stat-row strong, .community-stat-row small { display: block; }
.community-stat-row strong { color: var(--text-strong); font-size: 10px; }
.community-stat-row small { margin-top: 2px; color: var(--muted-2); font-size: 8px; }
.community-aside-card ul { display: grid; gap: 8px; margin: 10px 0 0; padding-left: 16px; color: var(--muted); font-size: 9px; line-height: 1.55; }
.firebase-note .btn-secondary { margin-top: 13px; font-size: 8px; }
.community-teaser { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 42px; padding: 20px 23px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }
.community-teaser h2 { margin: 5px 0; color: var(--text-strong); font-family: var(--display); font-size: 21px; font-weight: 800; letter-spacing: -.05em; }
.community-teaser p { margin: 0; color: var(--muted); font-size: 10px; }

/* Footer. */
.site-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 22px clamp(22px,3vw,46px) 25px; border-top: 1px solid var(--line); background: var(--surface); }
.footer-brand { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.footer-brand img { width: 23px; height: 23px; object-fit: contain; }
.site-footer p { margin: 0; color: var(--muted); font-size: 9px; }
.footer-links { display: flex; gap: 15px; margin-left: auto; color: var(--muted); font-size: 9px; font-weight: 700; }
.footer-links a:hover { color: var(--red); }
.site-footer small { width: 100%; color: var(--muted-2); font-size: 8px; }
.mobile-nav { display: none; }

/* Full-screen watch route and episode details modal. */
.player-modal { position: fixed; z-index: 1100; inset: 0; display: none; align-items: center; justify-content: center; padding: 18px; }
.player-modal.open { display: flex; }
.player-backdrop { position: absolute; inset: 0; background: rgba(12,14,17,.84); backdrop-filter: blur(8px); }
.player-dialog { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(1500px,100%); max-height: calc(100dvh - 36px); padding: 17px 20px 20px; overflow: auto; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: var(--surface); color: var(--text); box-shadow: 0 30px 100px rgba(0,0,0,.4); }
.player-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 40px; margin-bottom: 13px; }
.player-brand { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.player-brand img { width: 25px; height: 25px; object-fit: contain; }
.player-kicker { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 8px; letter-spacing: .15em; }
.player-kicker .live-dot { width: 5px; height: 5px; }
.close-player { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--text); font-size: 21px; line-height: 1; cursor: pointer; }
.close-player:hover { border-color: var(--red); color: var(--red); }
.player-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,.7fr); gap: 22px; min-height: 0; }
.player-main { min-width: 0; }
.video-frame { position: relative; width: 100%; overflow: hidden; border-radius: 11px; background: #08090b; aspect-ratio: 16/9; }
#youtube-player, #youtube-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.player-fallback { position: absolute; z-index: 2; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(145deg,#191d22,#08090c); color: #c9cdd3; text-align: center; }
.fallback-play { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font-size: 15px; }
.player-fallback p { margin: 5px 0 0; font-size: 10px; }
.player-fallback a { color: #fff; font-size: 9px; text-decoration: underline; text-underline-offset: 3px; }
.custom-controls { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 7px 12px; background: linear-gradient(transparent,rgba(0,0,0,.8)); color: #fff; }
.control-btn { display: grid; flex: 0 0 27px; width: 27px; height: 28px; place-items: center; border: 0; border-radius: 6px; background: transparent; color: #fff; cursor: pointer; }
.control-btn:hover { background: rgba(255,255,255,.15); }
.control-btn svg { width: 15px; height: 15px; }
.time-readout { display: flex; flex: 0 0 auto; gap: 5px; color: #e6e8eb; font-size: 9px; }
.time-readout b { font-weight: 700; }
.time-readout i { color: #888; font-style: normal; }
.seek-bar { width: 100%; min-width: 25px; height: 4px; accent-color: var(--red); cursor: pointer; }
.player-info { padding: 17px 2px 0; }
.player-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 8px; font-weight: 700; }
.player-info h2 { margin: 9px 0 6px; color: var(--text-strong); font-family: var(--display); font-size: clamp(22px,3vw,31px); font-weight: 800; letter-spacing: -.05em; line-height: 1.12; }
.player-info p { max-width: 780px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.player-viewline { margin-top: 9px; color: var(--muted-2); font-size: 8px; }
.player-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.action-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--muted); font-size: 9px; font-weight: 700; cursor: pointer; }
.action-chip:hover, .action-chip.saved { border-color: var(--red-border); background: var(--red-soft); color: var(--red); }
.action-chip svg { width: 14px; height: 14px; }
.up-next-panel { min-width: 0; padding-left: 18px; border-left: 1px solid var(--line); }
.up-next-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 2px 0 12px; color: var(--text); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.up-next-heading .muted { color: var(--muted-2); font-size: 7px; }
.up-next-list { display: grid; gap: 9px; }
.up-next-item { display: grid; grid-template-columns: 104px minmax(0,1fr); align-items: center; gap: 9px; width: 100%; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.up-next-item:hover strong { color: var(--red); }
.up-next-item img { display: block; width: 104px; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; background: var(--surface-alt); }
.up-next-item strong { display: -webkit-box; overflow: hidden; color: var(--text); font-size: 9px; font-weight: 700; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.up-next-item small { display: block; margin-top: 4px; color: var(--muted-2); font-size: 7px; }

/* Toast and saved state. */
.toast { position: fixed; z-index: 1300; right: 22px; bottom: 22px; max-width: min(360px,calc(100vw - 30px)); padding: 11px 15px; transform: translateY(10px); border: 1px solid var(--line-strong); border-radius: 9px; background: var(--text-strong); color: var(--surface); font-size: 10px; opacity: 0; pointer-events: none; box-shadow: var(--shadow); transition: .2s ease; }
.toast.show { transform: translateY(0); opacity: 1; }
.favorites-empty { display: grid; justify-items: center; gap: 8px; padding: 48px 18px; }
.favorites-empty h2 { margin: 5px 0 0; color: var(--text-strong); font-family: var(--display); font-size: 22px; }
.favorites-empty p { margin: 0 0 8px; }
.empty-icon { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 50%; background: var(--red-soft); color: var(--red); }
.empty-icon svg { width: 20px; height: 20px; }

/* Responsive desktop / tablet / mobile layouts. */
@media (max-width: 1350px) {
  :root { --sidebar-width: 226px; }
  .topbar { grid-template-columns: minmax(170px,230px) minmax(0,1fr) auto; gap: 10px; padding: 0 22px; }
  .category-chip { padding: 0 10px; font-size: 9px; }
  .profile-button { padding-right: 7px; }
  .subscribe-button { padding: 0 10px; }
  .video-grid, .wide-video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .series-strip { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .series-tile:nth-child(n+4) { display: none; }
}
@media (max-width: 1040px) {
  :root { --sidebar-width: 205px; }
  .topbar { grid-template-columns: minmax(160px,200px) minmax(0,1fr) auto; }
  .category-nav { gap: 2px; }
  .category-chip { padding: 0 8px; font-size: 8px; }
  .profile-button > span:nth-child(2) { display: none; }
  .home-hero { min-height: 330px; }
  .hero-visual, .hero-visual img { min-height: 330px; }
  .hero-copy h1 { font-size: clamp(38px,5vw,55px); }
  .community-layout { grid-template-columns: minmax(0,1.4fr) minmax(220px,.8fr); }
}
@media (max-width: 850px) {
  :root { --sidebar-width: 0px; }
  .app-shell { padding-left: 0; padding-bottom: 74px; }
  .sidebar { display: none; }
  .topbar { position: sticky; grid-template-columns: minmax(0,1fr) auto; min-height: 65px; padding: 0 17px; gap: 12px; }
  .topbar-search { min-width: 0; }
  .category-nav { display: none; }
  .topbar-actions { gap: 7px; }
  .profile-button { display: none; }
  .subscribe-button { min-height: 35px; font-size: 9px; }
  .page-content { padding: 22px 18px 55px; }
  .mobile-nav { position: fixed; z-index: 80; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); height: calc(67px + env(safe-area-inset-bottom)); padding: 6px 5px calc(6px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 94%,transparent); backdrop-filter: blur(18px); }
  .mobile-nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; border: 0; background: transparent; color: var(--muted-2); cursor: pointer; }
  .mobile-nav-item svg { width: 18px; height: 18px; }
  .mobile-nav-item small { font-size: 7px; font-weight: 700; }
  .mobile-nav-item.active { color: var(--red); }
  .home-hero { grid-template-columns: 1fr .88fr; min-height: 310px; }
  .hero-copy { padding: 23px; }
  .hero-copy h1 { margin-top: 17px; font-size: clamp(37px,6vw,53px); }
  .hero-visual, .hero-visual img { min-height: 310px; }
  .video-grid, .wide-video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px 12px; }
  .playlist-collections { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .player-modal { padding: 0; }
  .player-dialog { width: 100%; max-height: 100dvh; height: 100dvh; padding: 14px 16px 18px; border: 0; border-radius: 0; }
  .player-layout { grid-template-columns: 1fr; gap: 17px; }
  .up-next-panel { padding: 14px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .up-next-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .up-next-item { grid-template-columns: 90px minmax(0,1fr); }
  .up-next-item img { width: 90px; }
  .community-layout { grid-template-columns: 1fr; }
  .community-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-aside-card:last-child { grid-column: 1/-1; }
}
@media (max-width: 600px) {
  body { font-size: 13px; }
  .topbar { min-height: 59px; padding: 0 12px; }
  .search-box { height: 37px; padding: 0 10px; }
  .search-box kbd { display: none; }
  .topbar-actions { gap: 6px; }
  .theme-toggle { width: 34px; height: 34px; }
  .subscribe-button { min-height: 33px; padding: 0 9px; font-size: 8px; }
  .page-content { padding: 16px 13px 40px; }
  .page-heading { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
  .page-heading h1 { font-size: 31px; }
  .page-heading p { font-size: 10px; }
  .home-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 14px; }
  .hero-copy { padding: 22px 19px 18px; }
  .hero-copy h1 { margin: 17px 0 10px; font-size: clamp(43px,12vw,54px); }
  .hero-copy > p { font-size: 10px; line-height: 1.7; }
  .hero-cta { margin-top: 17px; }
  .hero-cta .btn-primary, .hero-cta .btn-secondary { min-height: 38px; padding: 0 11px; font-size: 9px; }
  .hero-proof { margin-top: 17px; font-size: 7px; }
  .hero-visual { min-height: 205px; height: 205px; margin: 0 9px 9px; border-radius: 9px; }
  .hero-visual img { min-height: 205px; height: 205px; object-position: center 26%; }
  .hero-caption { right: 13px; bottom: 10px; }
  .hero-caption small { font-size: 7px; }
  .hero-caption strong { font-size: 18px; }
  .hero-image-count { top: 10px; right: 12px; font-size: 7px; }
  .section-block { margin-top: 29px; }
  .section-head { align-items: flex-end; gap: 8px; margin-bottom: 12px; }
  .section-head h2 { font-size: 20px; }
  .section-head p { max-width: 220px; font-size: 9px; }
  .text-link { gap: 3px; font-size: 8px; }
  .series-strip { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .series-tile { min-height: 88px; padding: 11px; border-radius: 10px; }
  .series-tile:nth-child(n+4) { display: flex; }
  .series-tile:nth-child(n+5) { display: none; }
  .series-tile small { font-size: 6px; }
  .series-tile strong { font-size: 14px; }
  .series-arrow { right: 8px; bottom: 8px; width: 21px; height: 21px; }
  .video-grid, .wide-video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 10px; }
  .thumb-wrap { border-radius: 8px; }
  .thumb-play { width: 34px; height: 34px; transform: translate(-50%,-50%) scale(1); opacity: .9; }
  .thumb-play svg { width: 12px; height: 12px; }
  .video-card-info { padding-top: 7px; }
  .video-card-info h3 { min-height: 29px; margin-bottom: 4px; font-size: 9px; line-height: 1.4; }
  .video-card-meta { gap: 4px; font-size: 7px; }
  .view-meta { gap: 2px; }
  .view-meta svg { width: 10px; height: 10px; }
  .video-series-label { margin-top: 4px; font-size: 7px; }
  .featured-video { grid-template-columns: 1fr; gap: 10px; padding: 9px; border-radius: 12px; }
  .featured-copy { padding: 5px 5px 7px; }
  .featured-copy h2 { margin: 8px 0 5px; font-size: 26px; }
  .featured-copy p { font-size: 9px; }
  .featured-meta { margin: 8px 0 11px; font-size: 8px; }
  .featured-play { width: 40px; height: 40px; }
  .featured-play svg { width: 13px; height: 13px; }
  .filter-row { gap: 5px; margin: 13px 0 16px; }
  .filter-chip { min-height: 29px; padding: 0 9px; font-size: 8px; }
  .result-count { font-size: 7px; }
  .playlist-hero { grid-template-columns: 1fr .65fr; min-height: 170px; border-radius: 13px; }
  .playlist-hero-copy { padding: 17px; }
  .playlist-hero-copy h2 { margin: 10px 0 6px; font-size: 27px; }
  .playlist-hero-copy p { margin-bottom: 10px; font-size: 8px; }
  .playlist-hero-copy .btn-primary { min-height: 34px; padding: 0 10px; font-size: 8px; }
  .playlist-hero-art strong { font-size: 66px; }
  .playlist-hero-art small { font-size: 6px; letter-spacing: .18em; }
  .playlist-collections { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 9px; }
  .collection-card { min-height: 155px; padding: 11px; border-radius: 10px; }
  .collection-card-top small { font-size: 6px; }
  .collection-card-top span { font-size: 12px; }
  .collection-card strong { margin-top: 17px; font-size: 16px; }
  .collection-card p { margin: 6px 0 8px; font-size: 8px; }
  .collection-card button, .series-external { font-size: 7px; }
  .podcast-hero { grid-template-columns: 1fr; min-height: 0; }
  .podcast-hero-copy { padding: 22px 19px 15px; }
  .podcast-hero-copy h1 { font-size: 48px; }
  .podcast-hero-copy p { font-size: 9px; }
  .podcast-hero-art { min-height: 165px; }
  .mic-orbit { width: 120px; height: 120px; }
  .mic-symbol { transform: scale(.67); }
  .spotify-episode-grid { grid-template-columns: 1fr; gap: 9px; }
  .spotify-episode-copy { min-height: 0; }
  .spotify-episode-copy p { min-height: 0; }
  .podcast-list { grid-template-columns: 1fr; gap: 8px; }
  .podcast-card { padding: 14px; }
  .podcast-card p { min-height: 0; }
  .merch-intro { grid-template-columns: 1fr; }
  .merch-intro > div:first-child { padding: 22px 19px; }
  .merch-intro h1 { font-size: 47px; }
  .merch-intro p { font-size: 9px; }
  .merch-intro-visual { min-height: 170px; height: 170px; margin: 0 8px 8px; border-radius: 9px; }
  .merch-intro-visual img { min-height: 170px; }
  .merch-intro-visual span { font-size: 19px; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .product-art { height: 142px; }
  .product-art svg { width: 108px; height: 110px; }
  .product-details { padding: 9px; }
  .product-details h3 { min-height: 27px; font-size: 9px; }
  .product-price strong { font-size: 9px; }
  .product-price a { font-size: 7px; }
  .community-layout { gap: 12px; }
  .community-compose { padding: 12px; }
  #community-message { min-height: 82px; font-size: 10px; }
  .compose-bottom > span { max-width: 145px; font-size: 7px; }
  .compose-bottom .btn-primary { min-height: 35px; padding: 0 10px; font-size: 8px; }
  .community-feed-head { margin: 21px 0 10px; }
  .community-feed-head h2 { font-size: 18px; }
  .community-post { padding: 12px; }
  .post-text { font-size: 10px; }
  .community-aside { grid-template-columns: 1fr; }
  .community-aside-card:last-child { grid-column: auto; }
  .community-teaser { flex-direction: column; align-items: flex-start; padding: 15px; }
  .community-teaser h2 { font-size: 18px; }
  .site-footer { gap: 8px; padding: 17px 13px 22px; }
  .site-footer p { width: 100%; order: 2; font-size: 8px; }
  .footer-links { gap: 10px; margin: 0 0 0 auto; font-size: 8px; }
  .site-footer small { order: 3; }
  .player-modal { padding: 0; }
  .player-dialog { padding: 10px 10px calc(15px + env(safe-area-inset-bottom)); }
  .player-topline { min-height: 34px; margin-bottom: 7px; }
  .player-brand { font-size: 8px; }
  .player-brand img { width: 22px; height: 22px; }
  .close-player { flex-basis: 31px; width: 31px; height: 31px; }
  .player-layout { gap: 12px; }
  .video-frame { border-radius: 8px; }
  .custom-controls { min-height: 40px; padding: 4px 6px; gap: 5px; }
  .control-btn { flex-basis: 24px; width: 24px; height: 25px; }
  .time-readout { gap: 3px; font-size: 7px; }
  .player-info { padding-top: 11px; }
  .player-info h2 { font-size: 22px; }
  .player-info p { font-size: 9px; }
  .player-actions { gap: 6px; margin-top: 10px; }
  .action-chip { min-height: 31px; padding: 0 8px; font-size: 8px; }
  .up-next-panel { padding-top: 10px; }
  .up-next-list { grid-template-columns: 1fr 1fr; gap: 8px; }
  .up-next-item { grid-template-columns: 70px minmax(0,1fr); gap: 6px; }
  .up-next-item img { width: 70px; }
  .up-next-item strong { font-size: 7px; }
  .up-next-item small { font-size: 6px; }
  .intro-brand, .intro-bottom { padding: 18px 17px; }
  .intro-brand { font-size: 8px; }
  .intro-bottom { font-size: 6px; }
  .tap-stage { height: 215px; }
  .tap-foot { width: 290px; }
  .intro-copy h1 { font-size: 46px; }
  .skip-intro { right: 17px; bottom: 16px; }
}
@media (max-width: 370px) {
  .mobile-nav-item small { font-size: 6px; }
  .mobile-nav-item svg { width: 16px; height: 16px; }
  .topbar { grid-template-columns: minmax(0,1fr) auto; }
  .subscribe-button { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .tap-foot { transform: translateY(12px) rotate(4deg); }
}

/* v3 responsive refinements */
@media (max-width: 1150px) {
  .latest-spotlight { min-height: 390px; }
  .latest-spotlight-copy { right: 18%; }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 850px) {
  .latest-spotlight { min-height: 360px; border-radius: 15px; }
  .latest-spotlight-copy { right: 16%; bottom: 40px; left: 24px; }
  .latest-spotlight-shade { background: linear-gradient(90deg,rgba(15,10,14,.83),rgba(18,10,15,.44) 64%,rgba(16,10,14,.18)),linear-gradient(0deg,rgba(10,7,10,.76),transparent 70%); }
  .spotlight-controls { right: 14px; }
  .home-feature-rows { gap: 10px; }
  .home-feature-card { grid-template-columns: .72fr 1fr; }
  .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .merch-story-strip { grid-template-columns: 1fr .8fr; }
  .merch-story-action { grid-column: 1/-1; flex-direction: row; align-items: center; justify-content: flex-start; gap: 9px; min-width: 0; padding: 10px 16px; border-top: 1px solid var(--line); border-left: 0; }
  .merch-story-action strong { font-size: 22px; }
  .merch-story-action a { margin: 0 0 0 auto; }
}
@media (max-width: 600px) {
  .latest-spotlight { min-height: 400px; }
  .latest-spotlight-image { object-position: center; }
  .latest-spotlight-top { top: 13px; right: 13px; left: 13px; }
  .spotlight-badge { padding: 7px 9px; font-size: 7px; }
  .latest-spotlight-copy { right: 45px; bottom: 42px; left: 16px; }
  .latest-spotlight-copy h1 { font-size: clamp(27px,8vw,38px); }
  .spotlight-meta { gap: 5px; margin-top: 9px; font-size: 8px; }
  .latest-spotlight-copy > p { margin-top: 8px; font-size: 9px; }
  .spotlight-actions { gap: 7px; margin-top: 12px; }
  .spotlight-watch, .spotlight-secondary { min-height: 36px; padding: 0 11px; font-size: 8px; }
  .spotlight-controls { top: 52%; right: 9px; gap: 6px; }
  .spotlight-controls button { width: 31px; height: 31px; }
  .spotlight-dots { right: 14px; bottom: 16px; }
  .home-feature-rows { grid-template-columns: 1fr; margin-top: 26px; }
  .home-feature-card { min-height: 170px; grid-template-columns: .72fr 1fr; }
  .home-feature-image, .home-feature-image img { min-height: 170px; }
  .home-feature-copy { padding: 14px; }
  .home-feature-copy h3 { font-size: 24px; }
  .home-feature-copy p { font-size: 8px; }
  .library-toolbar { align-items: stretch; flex-direction: column; gap: 10px; padding: 11px; }
  .library-search { width: 100%; }
  .library-channel-link { min-height: 33px; padding: 0 10px; font-size: 8px; }
  .podcast-toolbar { align-items: flex-start; flex-direction: column; }
  .podcast-show-lockup strong { font-size: 10px; }
  .spotify-episode-grid { grid-template-columns: 1fr; gap: 9px; }
  .spotify-episode-copy { min-height: 0; }
  .spotify-episode-copy p { min-height: 0; }
  .podcast-bottom-note { align-items: flex-start; flex-direction: column; padding: 15px; }
  .podcast-bottom-note h2 { font-size: 19px; }
  .merch-story-strip { grid-template-columns: 1fr .8fr; min-height: 145px; }
  .merch-story-copy { padding: 14px; }
  .merch-story-copy h2 { font-size: 23px; }
  .merch-story-copy p { font-size: 8px; }
  .merch-story-art img { min-height: 145px; }
  .merch-search-sort { align-items: stretch; flex-direction: column; }
  .merch-search { width: 100%; }
  .sort-select { justify-content: space-between; }
  .sort-select select { flex: 1; }
  .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .product-art { height: 165px; }
  .product-details { padding: 9px; }
  .product-details h3 { min-height: 29px; font-size: 9px; }
  .product-desc { min-height: 27px; font-size: 7px; }
  .product-price strong { font-size: 10px; }
  .product-buy-link { font-size: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .latest-spotlight *, .home-feature-card *, .product-card *, .series-tile * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* V3 polish: brand-led berry palette, cinematic latest release, quieter library surfaces. */
:root {
  --canvas:#faf7f9;
  --surface:#ffffff;
  --surface-soft:#fcf8fa;
  --surface-alt:#f3e9ee;
  --text:#2c1c24;
  --text-strong:#21131a;
  --muted:#766d73;
  --muted-2:#a0979d;
  --line:#eadfe5;
  --line-strong:#ddcbd4;
  --red:#ad1c4a;
  --red-soft:#f8e8ee;
  --red-border:#e9bfd0;
  --shadow:0 18px 46px rgba(91,20,49,.075);
}
html[data-theme="dark"] {
  --canvas:#171016;
  --surface:#211821;
  --surface-soft:#291f29;
  --surface-alt:#332530;
  --text:#f2eaf0;
  --text-strong:#fff9fc;
  --muted:#b4a8b0;
  --muted-2:#877b84;
  --line:#44313e;
  --line-strong:#5d4352;
  --red:#e2789d;
  --red-soft:#38212e;
  --red-border:#70475c;
  --shadow:0 18px 50px rgba(0,0,0,.24);
}
body { background:radial-gradient(ellipse at 88% -5%, color-mix(in srgb,var(--red-soft) 58%,transparent), transparent 38rem),var(--canvas); }
.topbar { background:color-mix(in srgb,var(--surface) 93%,transparent); backdrop-filter:blur(16px); }
.nav-item.active { box-shadow:inset 2px 0 0 var(--red); }
.category-chip.active,.filter-chip.active { box-shadow:0 4px 15px color-mix(in srgb,var(--red) 13%,transparent); }
.latest-spotlight { min-height:clamp(360px,37vw,475px); border:1px solid rgba(173,28,74,.11); border-radius:18px; box-shadow:0 16px 48px rgba(48,13,29,.13); }
.latest-spotlight-image { object-position:center 31%; }
.latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.88) 0%,rgba(24,9,17,.66) 38%,rgba(23,9,15,.16) 72%,rgba(15,7,11,.05) 100%),linear-gradient(0deg,rgba(17,6,12,.72),transparent 63%); }
.spotlight-badge { border-color:rgba(255,255,255,.2); background:rgba(35,12,24,.42); }
.spotlight-badge i { background:#e985a9; box-shadow:0 0 0 4px rgba(233,133,169,.18); }
.spotlight-series { color:#f2a7c0; }
.spotlight-watch { background:#fff; color:#381323; }
.spotlight-watch:hover { background:#fdeaf1; }
.spotlight-dot.active { background:#ed91b0; }
.section-block { margin-top:34px; }
.section-head { margin-bottom:15px; }
.section-head h2 { letter-spacing:-.045em; }
.video-card { border-radius:11px; }
.thumb-wrap { border-radius:10px; background:var(--surface-alt); }
.video-card-info h3 { font-size:12px; font-weight:750; }
.video-card:hover .thumb-wrap { box-shadow:0 8px 25px rgba(70,19,41,.13); }
.page-heading { align-items:flex-end; margin:1px 0 21px; padding-bottom:17px; border-bottom:1px solid var(--line); }
.page-heading h1 { font-size:clamp(27px,2.7vw,36px); }
.page-heading p { font-size:11px; }
.library-toolbar,.podcast-toolbar { border-radius:11px; }
.library-search,.merch-search { border-radius:9px; }
.podcast-toolbar { margin-top:14px; }
.podcast-search { width:min(350px,55%); }
.podcast-library-summary { display:flex; align-items:center; gap:13px; margin:0 0 15px; padding:0 2px; color:var(--muted); font-size:9px; }
.podcast-library-summary > span { color:var(--red); font-size:8px; font-weight:850; letter-spacing:.12em; }
.podcast-library-summary strong { color:var(--text-strong); font-size:10px; }
.podcast-library-summary a { display:inline-flex; align-items:center; gap:5px; margin-left:auto; color:var(--red); font-weight:800; }
.podcast-library-summary a svg { width:12px;height:12px; }
.spotify-episode-card { border-radius:12px; }
.spotify-episode-copy h3 { font-size:17px; }
.merch-story-strip { grid-template-columns:1.05fr .95fr; min-height:220px; background:linear-gradient(112deg,var(--surface),color-mix(in srgb,var(--red-soft) 80%,var(--surface))); }
.merch-story-copy { padding:27px 30px; }
.merch-story-copy h2 { font-size:clamp(28px,3.2vw,42px); }
.merch-story-copy p { max-width:350px; font-size:10px; }
.merch-story-art img { min-height:220px; object-position:center 34%; }
.merch-story-action { display:none; }
.merch-story-cta { display:inline-flex; align-items:center; gap:8px; margin-top:17px; padding:10px 14px; border:1px solid var(--red-border); border-radius:8px; background:var(--red); color:#fff; font-size:9px; font-weight:800; }
.merch-story-cta svg { width:13px;height:13px; }
.merch-library { margin-top:28px; }
.merch-filter-row { padding-bottom:6px; }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px 14px; }
.product-card { border-color:var(--line); border-radius:12px; box-shadow:0 1px 2px rgba(33,19,26,.02); }
.product-art { height:236px; background:#f7f3f5; }
html[data-theme="dark"] .product-art { background:#30242c; }
.product-art img { object-fit:contain; padding:10px; mix-blend-mode:multiply; }
html[data-theme="dark"] .product-art img { mix-blend-mode:normal; }
.product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#fff 0, #f6e9ef 57%,#eddbe4 100%); }
html[data-theme="dark"] .product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#49303d 0,#2e2029 65%,#251b23 100%); }
.product-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; width:100%; height:100%; color:#8c3858; text-align:center; }
.product-placeholder b { display:grid; width:59px;height:59px; place-items:center; border:1px solid rgba(173,28,74,.24); border-radius:50%; background:rgba(255,255,255,.65); font-family:var(--display); font-size:21px; letter-spacing:-.12em; }
.product-placeholder strong { font-size:8px; letter-spacing:.16em; }
.product-placeholder small { font-size:6px; font-weight:800; letter-spacing:.12em; opacity:.68; }
html[data-theme="dark"] .product-placeholder { color:#e9a0bb; }
html[data-theme="dark"] .product-placeholder b { border-color:rgba(233,120,157,.32); background:rgba(255,255,255,.06); }
.product-details h3 { font-size:11px; }
.product-price strong { color:var(--red); }
.product-buy-link { font-size:8px; }
.product-mark { border-color:rgba(173,28,74,.16); color:#842443; }
html[data-theme="dark"] .product-mark { background:rgba(34,21,29,.82); color:#f0a0ba; }
.store-note { background:var(--surface); }
.btn-primary { background:var(--red); }
.btn-primary:hover { background:#94183f; }
.btn-secondary:hover { border-color:var(--red-border); color:var(--red); }
.theme-toggle:focus-visible,.nav-item:focus-visible,.filter-chip:focus-visible,.category-chip:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

@media (max-width:1150px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .latest-spotlight { min-height:360px; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .merch-story-strip { grid-template-columns:1fr .85fr; min-height:190px; }
  .merch-story-copy { padding:22px; }
  .merch-story-art img { min-height:190px; }
}
@media (max-width:600px) {
  .latest-spotlight { min-height:410px; border-radius:14px; }
  .latest-spotlight-image { object-position:55% center; }
  .latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.76),rgba(24,9,17,.26) 100%),linear-gradient(0deg,rgba(17,6,12,.88),transparent 80%); }
  .latest-spotlight-copy { right:38px; bottom:39px; left:15px; }
  .latest-spotlight-copy h1 { max-width:100%; font-size:clamp(27px,8vw,36px); }
  .latest-spotlight-copy > p { max-width:94%; -webkit-line-clamp:3; }
  .spotlight-actions { flex-wrap:wrap; }
  .spotlight-controls { right:9px; }
  .section-block { margin-top:27px; }
  .page-heading { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:15px; padding-bottom:13px; }
  .page-heading h1 { font-size:28px; }
  .page-heading p { font-size:10px; }
  .podcast-toolbar { gap:10px; }
  .podcast-search { width:100%; }
  .podcast-library-summary { align-items:flex-start; flex-wrap:wrap; gap:6px 10px; }
  .podcast-library-summary a { width:100%; margin-left:0; }
  .merch-story-strip { grid-template-columns:1fr .72fr; min-height:156px; }
  .merch-story-copy { padding:15px; }
  .merch-story-copy h2 { font-size:22px; }
  .merch-story-copy p { font-size:8px; line-height:1.5; }
  .merch-story-cta { margin-top:10px; padding:8px 9px; font-size:7px; }
  .merch-story-art img { min-height:156px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product-art { height:170px; }
  .product-placeholder b { width:48px;height:48px;font-size:18px; }
  .product-placeholder small { max-width:90%; font-size:5px; }
}

.product-placeholder { display:none; }
.product-art.no-product-image .product-placeholder { display:flex; }
.product-art.image-fallback:before { content:none; display:none; }
.library-toolbar { display:grid; grid-template-columns:minmax(120px,1fr) minmax(180px,300px) auto; }
.episode-sort { white-space:nowrap; }
.episode-sort select { min-width:105px; }
@media (max-width:850px) {
  .library-toolbar { grid-template-columns:1fr 1fr; }
  .library-toolbar-copy { grid-column:1/-1; }
  .episode-sort { justify-content:flex-end; }
}
@media (max-width:600px) {
  .library-toolbar { grid-template-columns:1fr; }
  .library-toolbar-copy { grid-column:auto; }
  .library-search { width:100%; }
  .episode-sort { justify-content:space-between; }
  .episode-sort select { flex:1; }
}


/* V3 polish: brand-led berry palette, cinematic latest release, quieter library surfaces. */
:root {
  --canvas:#faf7f9;
  --surface:#ffffff;
  --surface-soft:#fcf8fa;
  --surface-alt:#f3e9ee;
  --text:#2c1c24;
  --text-strong:#21131a;
  --muted:#766d73;
  --muted-2:#a0979d;
  --line:#eadfe5;
  --line-strong:#ddcbd4;
  --red:#ad1c4a;
  --red-soft:#f8e8ee;
  --red-border:#e9bfd0;
  --shadow:0 18px 46px rgba(91,20,49,.075);
}
html[data-theme="dark"] {
  --canvas:#171016;
  --surface:#211821;
  --surface-soft:#291f29;
  --surface-alt:#332530;
  --text:#f2eaf0;
  --text-strong:#fff9fc;
  --muted:#b4a8b0;
  --muted-2:#877b84;
  --line:#44313e;
  --line-strong:#5d4352;
  --red:#e2789d;
  --red-soft:#38212e;
  --red-border:#70475c;
  --shadow:0 18px 50px rgba(0,0,0,.24);
}
body { background:radial-gradient(ellipse at 88% -5%, color-mix(in srgb,var(--red-soft) 58%,transparent), transparent 38rem),var(--canvas); }
.topbar { background:color-mix(in srgb,var(--surface) 93%,transparent); backdrop-filter:blur(16px); }
.nav-item.active { box-shadow:inset 2px 0 0 var(--red); }
.category-chip.active,.filter-chip.active { box-shadow:0 4px 15px color-mix(in srgb,var(--red) 13%,transparent); }
.latest-spotlight { min-height:clamp(360px,37vw,475px); border:1px solid rgba(173,28,74,.11); border-radius:18px; box-shadow:0 16px 48px rgba(48,13,29,.13); }
.latest-spotlight-image { object-position:center 31%; }
.latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.88) 0%,rgba(24,9,17,.66) 38%,rgba(23,9,15,.16) 72%,rgba(15,7,11,.05) 100%),linear-gradient(0deg,rgba(17,6,12,.72),transparent 63%); }
.spotlight-badge { border-color:rgba(255,255,255,.2); background:rgba(35,12,24,.42); }
.spotlight-badge i { background:#e985a9; box-shadow:0 0 0 4px rgba(233,133,169,.18); }
.spotlight-series { color:#f2a7c0; }
.spotlight-watch { background:#fff; color:#381323; }
.spotlight-watch:hover { background:#fdeaf1; }
.spotlight-dot.active { background:#ed91b0; }
.section-block { margin-top:34px; }
.section-head { margin-bottom:15px; }
.section-head h2 { letter-spacing:-.045em; }
.video-card { border-radius:11px; }
.thumb-wrap { border-radius:10px; background:var(--surface-alt); }
.video-card-info h3 { font-size:12px; font-weight:750; }
.video-card:hover .thumb-wrap { box-shadow:0 8px 25px rgba(70,19,41,.13); }
.page-heading { align-items:flex-end; margin:1px 0 21px; padding-bottom:17px; border-bottom:1px solid var(--line); }
.page-heading h1 { font-size:clamp(27px,2.7vw,36px); }
.page-heading p { font-size:11px; }
.library-toolbar,.podcast-toolbar { border-radius:11px; }
.library-search,.merch-search { border-radius:9px; }
.podcast-toolbar { margin-top:14px; }
.podcast-search { width:min(350px,55%); }
.podcast-library-summary { display:flex; align-items:center; gap:13px; margin:0 0 15px; padding:0 2px; color:var(--muted); font-size:9px; }
.podcast-library-summary > span { color:var(--red); font-size:8px; font-weight:850; letter-spacing:.12em; }
.podcast-library-summary strong { color:var(--text-strong); font-size:10px; }
.podcast-library-summary a { display:inline-flex; align-items:center; gap:5px; margin-left:auto; color:var(--red); font-weight:800; }
.podcast-library-summary a svg { width:12px;height:12px; }
.spotify-episode-card { border-radius:12px; }
.spotify-episode-copy h3 { font-size:17px; }
.merch-story-strip { grid-template-columns:1.05fr .95fr; min-height:220px; background:linear-gradient(112deg,var(--surface),color-mix(in srgb,var(--red-soft) 80%,var(--surface))); }
.merch-story-copy { padding:27px 30px; }
.merch-story-copy h2 { font-size:clamp(28px,3.2vw,42px); }
.merch-story-copy p { max-width:350px; font-size:10px; }
.merch-story-art img { min-height:220px; object-position:center 34%; }
.merch-story-action { display:none; }
.merch-story-cta { display:inline-flex; align-items:center; gap:8px; margin-top:17px; padding:10px 14px; border:1px solid var(--red-border); border-radius:8px; background:var(--red); color:#fff; font-size:9px; font-weight:800; }
.merch-story-cta svg { width:13px;height:13px; }
.merch-library { margin-top:28px; }
.merch-filter-row { padding-bottom:6px; }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px 14px; }
.product-card { border-color:var(--line); border-radius:12px; box-shadow:0 1px 2px rgba(33,19,26,.02); }
.product-art { height:236px; background:#f7f3f5; }
html[data-theme="dark"] .product-art { background:#30242c; }
.product-art img { object-fit:contain; padding:10px; mix-blend-mode:multiply; }
html[data-theme="dark"] .product-art img { mix-blend-mode:normal; }
.product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#fff 0, #f6e9ef 57%,#eddbe4 100%); }
html[data-theme="dark"] .product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#49303d 0,#2e2029 65%,#251b23 100%); }
.product-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; width:100%; height:100%; color:#8c3858; text-align:center; }
.product-placeholder b { display:grid; width:59px;height:59px; place-items:center; border:1px solid rgba(173,28,74,.24); border-radius:50%; background:rgba(255,255,255,.65); font-family:var(--display); font-size:21px; letter-spacing:-.12em; }
.product-placeholder strong { font-size:8px; letter-spacing:.16em; }
.product-placeholder small { font-size:6px; font-weight:800; letter-spacing:.12em; opacity:.68; }
html[data-theme="dark"] .product-placeholder { color:#e9a0bb; }
html[data-theme="dark"] .product-placeholder b { border-color:rgba(233,120,157,.32); background:rgba(255,255,255,.06); }
.product-details h3 { font-size:11px; }
.product-price strong { color:var(--red); }
.product-buy-link { font-size:8px; }
.product-mark { border-color:rgba(173,28,74,.16); color:#842443; }
html[data-theme="dark"] .product-mark { background:rgba(34,21,29,.82); color:#f0a0ba; }
.store-note { background:var(--surface); }
.btn-primary { background:var(--red); }
.btn-primary:hover { background:#94183f; }
.btn-secondary:hover { border-color:var(--red-border); color:var(--red); }
.theme-toggle:focus-visible,.nav-item:focus-visible,.filter-chip:focus-visible,.category-chip:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

@media (max-width:1150px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .latest-spotlight { min-height:360px; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .merch-story-strip { grid-template-columns:1fr .85fr; min-height:190px; }
  .merch-story-copy { padding:22px; }
  .merch-story-art img { min-height:190px; }
}
@media (max-width:600px) {
  .latest-spotlight { min-height:410px; border-radius:14px; }
  .latest-spotlight-image { object-position:55% center; }
  .latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.76),rgba(24,9,17,.26) 100%),linear-gradient(0deg,rgba(17,6,12,.88),transparent 80%); }
  .latest-spotlight-copy { right:38px; bottom:39px; left:15px; }
  .latest-spotlight-copy h1 { max-width:100%; font-size:clamp(27px,8vw,36px); }
  .latest-spotlight-copy > p { max-width:94%; -webkit-line-clamp:3; }
  .spotlight-actions { flex-wrap:wrap; }
  .spotlight-controls { right:9px; }
  .section-block { margin-top:27px; }
  .page-heading { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:15px; padding-bottom:13px; }
  .page-heading h1 { font-size:28px; }
  .page-heading p { font-size:10px; }
  .podcast-toolbar { gap:10px; }
  .podcast-search { width:100%; }
  .podcast-library-summary { align-items:flex-start; flex-wrap:wrap; gap:6px 10px; }
  .podcast-library-summary a { width:100%; margin-left:0; }
  .merch-story-strip { grid-template-columns:1fr .72fr; min-height:156px; }
  .merch-story-copy { padding:15px; }
  .merch-story-copy h2 { font-size:22px; }
  .merch-story-copy p { font-size:8px; line-height:1.5; }
  .merch-story-cta { margin-top:10px; padding:8px 9px; font-size:7px; }
  .merch-story-art img { min-height:156px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product-art { height:170px; }
  .product-placeholder b { width:48px;height:48px;font-size:18px; }
  .product-placeholder small { max-width:90%; font-size:5px; }
}


/* V3 polish: brand-led berry palette, cinematic latest release, quieter library surfaces. */
:root {
  --canvas:#faf7f9;
  --surface:#ffffff;
  --surface-soft:#fcf8fa;
  --surface-alt:#f3e9ee;
  --text:#2c1c24;
  --text-strong:#21131a;
  --muted:#766d73;
  --muted-2:#a0979d;
  --line:#eadfe5;
  --line-strong:#ddcbd4;
  --red:#ad1c4a;
  --red-soft:#f8e8ee;
  --red-border:#e9bfd0;
  --shadow:0 18px 46px rgba(91,20,49,.075);
}
html[data-theme="dark"] {
  --canvas:#171016;
  --surface:#211821;
  --surface-soft:#291f29;
  --surface-alt:#332530;
  --text:#f2eaf0;
  --text-strong:#fff9fc;
  --muted:#b4a8b0;
  --muted-2:#877b84;
  --line:#44313e;
  --line-strong:#5d4352;
  --red:#e2789d;
  --red-soft:#38212e;
  --red-border:#70475c;
  --shadow:0 18px 50px rgba(0,0,0,.24);
}
body { background:radial-gradient(ellipse at 88% -5%, color-mix(in srgb,var(--red-soft) 58%,transparent), transparent 38rem),var(--canvas); }
.topbar { background:color-mix(in srgb,var(--surface) 93%,transparent); backdrop-filter:blur(16px); }
.nav-item.active { box-shadow:inset 2px 0 0 var(--red); }
.category-chip.active,.filter-chip.active { box-shadow:0 4px 15px color-mix(in srgb,var(--red) 13%,transparent); }
.latest-spotlight { min-height:clamp(360px,37vw,475px); border:1px solid rgba(173,28,74,.11); border-radius:18px; box-shadow:0 16px 48px rgba(48,13,29,.13); }
.latest-spotlight-image { object-position:center 31%; }
.latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.88) 0%,rgba(24,9,17,.66) 38%,rgba(23,9,15,.16) 72%,rgba(15,7,11,.05) 100%),linear-gradient(0deg,rgba(17,6,12,.72),transparent 63%); }
.spotlight-badge { border-color:rgba(255,255,255,.2); background:rgba(35,12,24,.42); }
.spotlight-badge i { background:#e985a9; box-shadow:0 0 0 4px rgba(233,133,169,.18); }
.spotlight-series { color:#f2a7c0; }
.spotlight-watch { background:#fff; color:#381323; }
.spotlight-watch:hover { background:#fdeaf1; }
.spotlight-dot.active { background:#ed91b0; }
.section-block { margin-top:34px; }
.section-head { margin-bottom:15px; }
.section-head h2 { letter-spacing:-.045em; }
.video-card { border-radius:11px; }
.thumb-wrap { border-radius:10px; background:var(--surface-alt); }
.video-card-info h3 { font-size:12px; font-weight:750; }
.video-card:hover .thumb-wrap { box-shadow:0 8px 25px rgba(70,19,41,.13); }
.page-heading { align-items:flex-end; margin:1px 0 21px; padding-bottom:17px; border-bottom:1px solid var(--line); }
.page-heading h1 { font-size:clamp(27px,2.7vw,36px); }
.page-heading p { font-size:11px; }
.library-toolbar,.podcast-toolbar { border-radius:11px; }
.library-search,.merch-search { border-radius:9px; }
.podcast-toolbar { margin-top:14px; }
.podcast-search { width:min(350px,55%); }
.podcast-library-summary { display:flex; align-items:center; gap:13px; margin:0 0 15px; padding:0 2px; color:var(--muted); font-size:9px; }
.podcast-library-summary > span { color:var(--red); font-size:8px; font-weight:850; letter-spacing:.12em; }
.podcast-library-summary strong { color:var(--text-strong); font-size:10px; }
.podcast-library-summary a { display:inline-flex; align-items:center; gap:5px; margin-left:auto; color:var(--red); font-weight:800; }
.podcast-library-summary a svg { width:12px;height:12px; }
.spotify-episode-card { border-radius:12px; }
.spotify-episode-copy h3 { font-size:17px; }
.merch-story-strip { grid-template-columns:1.05fr .95fr; min-height:220px; background:linear-gradient(112deg,var(--surface),color-mix(in srgb,var(--red-soft) 80%,var(--surface))); }
.merch-story-copy { padding:27px 30px; }
.merch-story-copy h2 { font-size:clamp(28px,3.2vw,42px); }
.merch-story-copy p { max-width:350px; font-size:10px; }
.merch-story-art img { min-height:220px; object-position:center 34%; }
.merch-story-action { display:none; }
.merch-story-cta { display:inline-flex; align-items:center; gap:8px; margin-top:17px; padding:10px 14px; border:1px solid var(--red-border); border-radius:8px; background:var(--red); color:#fff; font-size:9px; font-weight:800; }
.merch-story-cta svg { width:13px;height:13px; }
.merch-library { margin-top:28px; }
.merch-filter-row { padding-bottom:6px; }
.product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px 14px; }
.product-card { border-color:var(--line); border-radius:12px; box-shadow:0 1px 2px rgba(33,19,26,.02); }
.product-art { height:236px; background:#f7f3f5; }
html[data-theme="dark"] .product-art { background:#30242c; }
.product-art img { object-fit:contain; padding:10px; mix-blend-mode:multiply; }
html[data-theme="dark"] .product-art img { mix-blend-mode:normal; }
.product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#fff 0, #f6e9ef 57%,#eddbe4 100%); }
html[data-theme="dark"] .product-art.no-product-image { background:radial-gradient(circle at 50% 38%,#49303d 0,#2e2029 65%,#251b23 100%); }
.product-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; width:100%; height:100%; color:#8c3858; text-align:center; }
.product-placeholder b { display:grid; width:59px;height:59px; place-items:center; border:1px solid rgba(173,28,74,.24); border-radius:50%; background:rgba(255,255,255,.65); font-family:var(--display); font-size:21px; letter-spacing:-.12em; }
.product-placeholder strong { font-size:8px; letter-spacing:.16em; }
.product-placeholder small { font-size:6px; font-weight:800; letter-spacing:.12em; opacity:.68; }
html[data-theme="dark"] .product-placeholder { color:#e9a0bb; }
html[data-theme="dark"] .product-placeholder b { border-color:rgba(233,120,157,.32); background:rgba(255,255,255,.06); }
.product-details h3 { font-size:11px; }
.product-price strong { color:var(--red); }
.product-buy-link { font-size:8px; }
.product-mark { border-color:rgba(173,28,74,.16); color:#842443; }
html[data-theme="dark"] .product-mark { background:rgba(34,21,29,.82); color:#f0a0ba; }
.store-note { background:var(--surface); }
.btn-primary { background:var(--red); }
.btn-primary:hover { background:#94183f; }
.btn-secondary:hover { border-color:var(--red-border); color:var(--red); }
.theme-toggle:focus-visible,.nav-item:focus-visible,.filter-chip:focus-visible,.category-chip:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible { outline:2px solid var(--red); outline-offset:2px; }

@media (max-width:1150px) {
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .latest-spotlight { min-height:360px; }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .merch-story-strip { grid-template-columns:1fr .85fr; min-height:190px; }
  .merch-story-copy { padding:22px; }
  .merch-story-art img { min-height:190px; }
}
@media (max-width:600px) {
  .latest-spotlight { min-height:410px; border-radius:14px; }
  .latest-spotlight-image { object-position:55% center; }
  .latest-spotlight-shade { background:linear-gradient(90deg,rgba(24,9,17,.76),rgba(24,9,17,.26) 100%),linear-gradient(0deg,rgba(17,6,12,.88),transparent 80%); }
  .latest-spotlight-copy { right:38px; bottom:39px; left:15px; }
  .latest-spotlight-copy h1 { max-width:100%; font-size:clamp(27px,8vw,36px); }
  .latest-spotlight-copy > p { max-width:94%; -webkit-line-clamp:3; }
  .spotlight-actions { flex-wrap:wrap; }
  .spotlight-controls { right:9px; }
  .section-block { margin-top:27px; }
  .page-heading { align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:15px; padding-bottom:13px; }
  .page-heading h1 { font-size:28px; }
  .page-heading p { font-size:10px; }
  .podcast-toolbar { gap:10px; }
  .podcast-search { width:100%; }
  .podcast-library-summary { align-items:flex-start; flex-wrap:wrap; gap:6px 10px; }
  .podcast-library-summary a { width:100%; margin-left:0; }
  .merch-story-strip { grid-template-columns:1fr .72fr; min-height:156px; }
  .merch-story-copy { padding:15px; }
  .merch-story-copy h2 { font-size:22px; }
  .merch-story-copy p { font-size:8px; line-height:1.5; }
  .merch-story-cta { margin-top:10px; padding:8px 9px; font-size:7px; }
  .merch-story-art img { min-height:156px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .product-art { height:170px; }
  .product-placeholder b { width:48px;height:48px;font-size:18px; }
  .product-placeholder small { max-width:90%; font-size:5px; }
}

/* V4 interaction layer: live search, persistent listening, PiP and product quick view. */
.topbar-search{position:relative;z-index:80}.search-suggestions{position:absolute;top:calc(100% + 9px);left:0;right:0;z-index:120;padding:7px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:0 18px 50px rgba(28,12,22,.18);max-height:min(440px,70vh);overflow:auto}.search-suggestions[hidden]{display:none}.suggestion-row{display:flex;width:100%;align-items:center;gap:11px;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--text-strong);text-align:left;cursor:pointer}.suggestion-row:hover{background:var(--red-soft)}.suggestion-row img,.suggestion-audio-thumb{width:58px;height:39px;flex:none;border-radius:7px;object-fit:cover;background:var(--red-soft)}.suggestion-audio-thumb{display:grid;place-items:center;color:var(--red);font-size:23px}.suggestion-row span:not(.suggestion-audio-thumb){display:grid;gap:3px;min-width:0}.suggestion-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.suggestion-row small{color:var(--muted);font-size:9px}.suggestion-row i{margin-left:auto;color:var(--red);font-size:8px;font-style:normal;font-weight:900;letter-spacing:.1em}.suggestion-empty{padding:15px;color:var(--muted);font-size:11px}.suggestion-all{width:100%;padding:11px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--red);font-size:10px;font-weight:800;text-align:left;cursor:pointer}
.podcast-play-button{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 13px;border:0;border-radius:999px;background:var(--red);color:white;font-size:10px;font-weight:800;cursor:pointer}.podcast-play-button svg{width:13px;height:13px}.audio-dock{position:fixed;z-index:150;right:22px;bottom:18px;left:calc(var(--sidebar-width, 220px) + 22px);display:grid;grid-template-columns:48px minmax(130px,1fr) 30px minmax(260px,440px);align-items:center;gap:12px;padding:9px 13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 14px 50px rgba(20,10,17,.2);backdrop-filter:blur(18px)}.audio-dock[hidden],.audio-expanded[hidden],.product-detail-modal[hidden]{display:none}.audio-dock-art{display:grid;width:46px;height:46px;place-items:center;border-radius:9px;background:linear-gradient(140deg,#ad1c4a,#e7a2bf);color:white;font-weight:900}.audio-dock-track{display:grid;gap:4px;min-width:0}.audio-dock-track strong{overflow:hidden;color:var(--text-strong);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.audio-dock-track small{color:var(--muted);font-size:9px}.audio-dock-expand{width:30px;height:30px;border:0;border-radius:50%;background:var(--red-soft);color:var(--red);font-size:19px;cursor:pointer}.audio-dock-embed{height:58px;overflow:hidden;border-radius:8px}.audio-dock-embed iframe{height:152px!important;transform:translateY(-5px);border:0}.audio-expanded{position:fixed;inset:0;z-index:210;display:grid;place-items:center;padding:18px}.audio-expanded-backdrop{position:absolute;inset:0;background:rgba(12,8,12,.72);backdrop-filter:blur(12px)}.audio-expanded-panel{position:relative;z-index:1;width:min(560px,100%);max-height:min(92vh,850px);overflow:auto;padding:30px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:#100d13;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.4);text-align:center}.audio-expanded-close{position:absolute;top:15px;right:16px;width:34px;height:34px;border:0;border-radius:50%;background:#28222e;color:#fff;font-size:22px;cursor:pointer}.audio-expanded-art{display:grid;width:min(260px,70vw);aspect-ratio:1;margin:8px auto 24px;place-items:center;border-radius:24px;background:radial-gradient(circle at 25% 20%,#f3c1d2,#ad1c4a 55%,#321522);font-family:var(--display);font-size:76px;font-weight:900;box-shadow:0 25px 70px rgba(173,28,74,.25)}.audio-expanded-panel .section-eyebrow{color:#e89ab5}.audio-expanded-panel h2{margin:9px 0;font-size:26px}.audio-expanded-panel>p{margin:0 0 20px;color:#b8aeb8;font-size:12px}.audio-expanded-embed iframe{width:100%;height:152px;border:0;border-radius:12px}.audio-queue{display:grid;gap:5px;margin-top:16px;text-align:left}.audio-queue-item{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid #302632;border-radius:9px;background:#1b1620;color:#fff;text-align:left;cursor:pointer}.audio-queue-item.active{border-color:#ad1c4a;background:#2a1721}.audio-queue-item span{font-size:11px;font-weight:700}.audio-queue-item small{color:#b9aab6;font-size:10px}
.player-window-actions{display:flex;align-items:center;gap:8px}.pip-player{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text-strong);font-size:16px;cursor:pointer}.player-modal.pip-mode{inset:auto 18px 18px auto;width:min(430px,calc(100vw - 24px));height:auto;background:transparent;overflow:visible}.player-modal.pip-mode .player-backdrop{display:none}.player-modal.pip-mode .player-dialog{max-height:none;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 20px 70px rgba(0,0,0,.3)}.player-modal.pip-mode .player-topline{padding:0 0 8px}.player-modal.pip-mode .player-brand,.player-modal.pip-mode .player-kicker,.player-modal.pip-mode .player-info,.player-modal.pip-mode .up-next-panel{display:none}.player-modal.pip-mode .player-layout{display:block}.player-modal.pip-mode .video-frame{aspect-ratio:16/9;border-radius:9px}.player-modal.pip-mode .custom-controls{display:none!important}.player-modal.pip-mode .player-main{min-width:0}
.product-art{border:0;padding:0;width:100%;text-align:inherit;cursor:pointer}.product-buy-link{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--red);font:inherit;font-size:8px;font-weight:800;cursor:pointer}.product-buy-link svg{width:12px;height:12px}.product-detail-modal{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px}.product-detail-backdrop{position:absolute;inset:0;background:rgba(15,8,13,.68);backdrop-filter:blur(10px)}.product-detail-panel{position:relative;z-index:1;width:min(850px,100%);max-height:90vh;overflow:auto;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 25px 90px rgba(0,0,0,.28)}.product-detail-close{position:absolute;top:12px;right:13px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:var(--surface-2);color:var(--text-strong);font-size:22px;cursor:pointer}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.product-detail-image{display:grid;min-height:340px;place-items:center;overflow:hidden;border-radius:14px;background:#f5edf1}.product-detail-image img{width:100%;height:100%;max-height:490px;object-fit:contain;padding:12px}.product-detail-placeholder{display:grid;width:100%;aspect-ratio:1;place-items:center;background:linear-gradient(140deg,#f3c6d7,#a91b49);color:#fff;font-size:80px;font-weight:900}.product-detail-placeholder span{font-size:9px;letter-spacing:.2em}.product-detail-copy h2{margin:10px 0;font-size:clamp(24px,4vw,36px);line-height:1.12}.product-detail-price{display:block;margin:14px 0;color:var(--red);font-size:22px}.product-detail-copy>del{color:var(--muted)}.product-detail-copy p{color:var(--muted);font-size:13px;line-height:1.7}.product-detail-note{margin:18px 0;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:10px;line-height:1.6}.product-detail-store{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:9px;color:#fff;text-decoration:none;font-size:11px;font-weight:800}.product-detail-store svg{width:14px;height:14px}
.toast{z-index:300}.toast.show{animation:toast-in .25s ease both}@keyframes toast-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:850px){.audio-dock{left:12px;right:12px;bottom:76px;grid-template-columns:42px minmax(80px,1fr) 28px;gap:8px;padding:8px}.audio-dock-art{width:40px;height:40px}.audio-dock-embed{grid-column:1/-1;height:58px}.audio-expanded-panel{padding:24px 16px}.audio-expanded-art{width:min(220px,65vw)}.player-modal.pip-mode{right:8px;bottom:80px;width:min(360px,calc(100vw - 16px))}.product-detail-layout{grid-template-columns:1fr;gap:17px}.product-detail-image{min-height:230px;max-height:38vh}.product-detail-panel{padding:18px}.product-detail-copy h2{font-size:25px}}
@media(max-width:600px){.search-suggestions{position:fixed;top:70px;left:10px;right:10px;max-height:60vh}.audio-dock{bottom:72px}.audio-dock-embed{display:none}.audio-expanded{padding:0;place-items:stretch}.audio-expanded-panel{width:100%;height:100%;max-height:none;border:0;border-radius:0;padding:55px 18px max(25px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center}.audio-expanded-art{width:min(270px,66vw);margin:0 auto 22px}.audio-expanded-panel h2{font-size:25px}.audio-queue{max-height:22vh;overflow:auto}.player-modal.pip-mode{right:8px;bottom:75px}.player-modal.pip-mode .player-dialog{padding:7px}.player-modal.pip-mode .close-player{width:29px;height:29px}}
.audio-transport{display:flex;justify-content:center;gap:16px;margin:12px 0}.audio-transport button{width:42px;height:42px;border:0;border-radius:50%;background:#28222e;color:#fff;font-size:26px;cursor:pointer}.product-detail-image.missing{background:linear-gradient(140deg,#f3c6d7,#a91b49)}.product-detail-image.missing .product-detail-placeholder{min-height:280px}.product-art.image-fallback{display:grid;place-items:center}.product-art.image-fallback .product-placeholder{min-height:100%;padding:15px}
.podcast-feature-layout{display:grid;grid-template-columns:minmax(250px,.82fr) 1.18fr;gap:clamp(25px,5vw,68px);align-items:center;margin:14px 0 30px;padding:clamp(20px,4vw,42px);overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(125deg,var(--surface),color-mix(in srgb,var(--red-soft) 68%,var(--surface)))}.podcast-feature-art{position:relative;display:flex;min-height:270px;aspect-ratio:1.2;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;border-radius:16px;background:radial-gradient(circle at 22% 18%,#e7a3bd 0,#ad1c4a 39%,#351521 100%);color:#fff;box-shadow:0 22px 55px rgba(173,28,74,.22)}.podcast-feature-art:after{position:absolute;inset:12px;border:1px solid rgba(255,255,255,.24);border-radius:11px;content:''}.podcast-art-orbit{position:absolute;width:75%;aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 24px rgba(255,255,255,.04),0 0 0 50px rgba(255,255,255,.035)}.podcast-art-kicker,.podcast-feature-art>small{z-index:1;font-size:8px;font-weight:800;letter-spacing:.2em}.podcast-feature-art>strong{z-index:1;margin:8px 0;font-family:var(--display);font-size:clamp(75px,12vw,130px);letter-spacing:-.12em}.podcast-feature-art>strong span,.podcast-cover-art span span,.podcast-list-art span span{color:#f4c5d5}.podcast-feature-copy h2{margin:12px 0;font-size:clamp(32px,4.3vw,54px);line-height:1.02;letter-spacing:-.05em}.podcast-feature-copy>p{max-width:480px;color:var(--muted);font-size:13px;line-height:1.8}.podcast-feature-stats{display:flex;gap:24px;margin:20px 0;color:var(--muted);font-size:10px}.podcast-feature-stats span{display:grid;gap:4px}.podcast-feature-stats b{color:var(--text-strong);font-size:14px}.podcast-feature-copy .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 17px;border:0;border-radius:9px;color:#fff;font-size:11px;font-weight:800;cursor:pointer}.podcast-feature-copy .btn-primary svg{width:14px;height:14px}.podcast-episode-list{display:grid;gap:7px}.podcast-list-row{display:grid;grid-template-columns:68px minmax(0,1fr) 42px;align-items:center;gap:15px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);transition:border-color .2s,transform .2s}.podcast-list-row:hover{transform:translateY(-2px);border-color:var(--red-border)}.podcast-list-art{display:grid;width:68px;height:68px;place-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(140deg,#e9b4c9,#8e1c47 65%,#25131c);color:#fff;font-size:25px;font-weight:900}.podcast-list-art.art-2{background:linear-gradient(140deg,#e5c8ac,#5a3846 65%,#21151c)}.podcast-list-art.art-3{background:linear-gradient(140deg,#a9d0ca,#276e6b 60%,#142d32)}.podcast-list-info{min-width:0}.podcast-list-info>small{color:var(--red);font-size:8px;font-weight:850;letter-spacing:.12em}.podcast-list-info h3{margin:5px 0;font-size:14px}.podcast-list-info p{margin:0 0 4px;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.podcast-list-info>span{color:var(--muted);font-size:9px}.podcast-row-play{display:grid;width:38px;height:38px;place-items:center;border:0;border-radius:50%;background:var(--red-soft);color:var(--red);cursor:pointer}.podcast-row-play svg{width:14px;height:14px}.audio-dock-embed{height:152px}.audio-dock-embed iframe{height:152px!important;transform:none}.audio-dock{grid-template-columns:48px minmax(130px,1fr) 30px minmax(300px,390px);min-height:170px}.audio-dock-embed{border-radius:10px}
@media(max-width:850px){.podcast-feature-layout{grid-template-columns:.8fr 1.2fr}.podcast-feature-art{min-height:220px}.audio-dock{grid-template-columns:42px minmax(80px,1fr) 28px;min-height:unset}.audio-dock-embed{grid-column:1/-1;height:152px}.audio-dock-embed iframe{height:152px!important}}
@media(max-width:600px){.podcast-feature-layout{grid-template-columns:1fr;gap:18px;padding:15px}.podcast-feature-art{min-height:220px;max-height:260px}.podcast-feature-copy h2{font-size:35px}.podcast-list-row{grid-template-columns:56px minmax(0,1fr) 36px;gap:10px;padding:9px}.podcast-list-art{width:56px;height:56px}.podcast-list-info h3{font-size:12px}.podcast-list-info p{font-size:9px}.audio-dock{bottom:72px;min-height:unset}.audio-dock-embed{display:block;height:152px}}
