/* Listener light theme. Keep photograph overlays and the dark theme independent. */
html[data-theme=light] {
  color-scheme: light;
  --bg: #f6f5f3;
  --text: #242331;
  --muted: #666574;
  --line: #dedde5;
  --surface: #fff;
  --blue: #325bc5;
  --green: #137353;
  --light-accent: #69b52e;
  --light-tint: #f1faea;
}
html[data-theme=light] body { background: var(--bg); }
html[data-theme=light] .app { background: var(--bg); }
html[data-theme=light] ::selection { background: #d4efbe; color: #293321; }
html[data-theme=light] :focus-visible { outline-color: var(--light-accent); }

/* The supplied white-and-pink mark becomes ink-and-pink on pale surfaces. */
html[data-theme=light] .site-header .vibe-logo { filter: url(#vibe-light-brand); }
html[data-theme=light] .hero-image { filter: blur(2px) saturate(.95); }
html[data-theme=light] .hero-image.active { opacity: .43; }
html[data-theme=light] .hero-atmosphere:after {
  background: linear-gradient(0deg, var(--bg) 0%, #f6f5f330 65%, #f6f5f375 100%), linear-gradient(90deg, #f6f5f3bd, #f6f5f310 70%);
}
html[data-theme=light] .desktop-nav a { color: #474453; }
html[data-theme=light] :is(.theme-toggle,.language-picker,.header-live-group) { background: #ffffffd9; border-color: #d8d4df; color: #443d4b; }
html[data-theme=light] .header-listen { background: #292432; border-color: #292432; color: #fff; }
html[data-theme=light] .header-listen.is-playing { background: var(--light-tint); border-color: #c4dcb1; color: #589627; }
html[data-theme=light] .hero-meta h2 { color: #575160; }
html[data-theme=light] .hero-meta .live-badge { color: #579724; border-color: #91bd6e2e; background: #fff9; }
html[data-theme=light] .hero-meta .live-badge .live-dot { background: #79cf35; }
html[data-theme=light] .dedication-bubble { background: #ffffffed; border-color: #fff; box-shadow: 0 4px 18px #2b362310, inset 0 1px #fff; color: #31382b; }
html[data-theme=light] .dedication-bubble time { color: #716773; }
html[data-theme=light] .live-overview { background: #fffffff0; border-color: #dbd8e2; box-shadow: 0 5px 24px #2c362507; }
html[data-theme=light] .live-overview :is(.home-onair,.recent-tracks) { background: none; }

/* White cards create hierarchy against the warm page, without bleaching artwork. */
html[data-theme=light] :is(.duel-section,.ranking-section,.replay-section,.artists-section,.videos-section,.events-section) { background: #ffffffa6; border-color: var(--line); }
html[data-theme=light] :is(.replay-card,.hs-card,.history-library,.chart-library,.music-side,.request-card,.chart-vote-note,.history-request-card,.library-video,.md-past-card,.contact-form) { background: #fff; border-color: var(--line); box-shadow: 0 4px 18px #2e392504; }
html[data-theme=light] .video-card:not(.video-featured) { background: #fff; border-color: var(--line); }
html[data-theme=light] :is(.history-spotlight,.request-discovery,.md-results) { background: linear-gradient(120deg,#fff,#f4faf0); border-color: #dde6d6; }
html[data-theme=light] .section-more { color: #62566b; }
html[data-theme=light] :is(.music-search,.history-library .music-search,.chart-library .music-search,.request-discovery .music-search) { background: #f8f7fa; border-color: #d7d3de; }
html[data-theme=light] :is(.episode-row,.music-row,.schedule-row) { border-color: var(--line); }
html[data-theme=light] :is(.music-tabs a[aria-current=page],.music-page.music-page>.music-tabs a[aria-current=page]) { color: var(--light-accent); }
html[data-theme=light] :is(.mag-filters button,.hs-days button) { background: #fff; color: #615b6a; border-color: #dce2d8; }
html[data-theme=light] :is(.mag-filters button[aria-pressed=true],.hs-days button[aria-pressed=true]) { background: #64aa2d; color: #fff; border-color: #64aa2d; box-shadow: 0 3px 12px #62a52e15; }
html[data-theme=light] .hs-time { color: #62576c; }
html[data-theme=light] .mag-briefs .mag-card { background: #fff; border-color: var(--line); }
html[data-theme=light] .mag-mosaic .mag-category { color: #fff; background: #2c3326d9; border-color: #ffffff45; }
html[data-theme=light] .mag-mosaic .mag-open { color: #fff; background: #272d2280; border-color: #ffffff40; }
html[data-theme=light] .mag-mosaic .mag-card-copy h3 { color: #fff; }
html[data-theme=light] .mag-mosaic .mag-meta { color: #e2e6df; }
html[data-theme=light] .gift-card.gift-poster .gift-type { color: #e8ffd6; }
html[data-theme=light] .gift-card.gift-poster :is(.gift-facts,.gift-desc) { color: #ebefe7; }

/* Floating player, menus and conversations share the same crisp glass surface. */
html[data-theme=light] .player {
  background: #fffffff2;
  border-color: #d5d0de;
  box-shadow: 0 8px 35px #2f3e2316, inset 0 1px #fff;
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
}
html[data-theme=light] .player-controls .play-btn { background: #65ad2d; color: #fff; box-shadow: 0 4px 14px #64aa2d26; }
html[data-theme=light] .player :is(.icon-btn,.player-radios) { color: #524859; }
html[data-theme=light] .player-meta span { color: #655d6d; }
html[data-theme=light] .volume-slider { accent-color: #65ad2d; }
html[data-theme=light] .mobile-nav { background: #fffffff5; border-color: #dce3d6; box-shadow: 0 -3px 18px #303e2506; }
html[data-theme=light] :is(.nav-more-panel,.compact-more-menu,.live-options-menu,.player-radio-menu,.dialog,.chat-window,.webtv-window,.toast) { background: #fff; color: var(--text); border-color: #dbe3d5; box-shadow: 0 12px 45px #303e2520; }
html[data-theme=light] .live-options-menu button:first-child .icon { color: var(--light-accent); }
html[data-theme=light] .dialog::backdrop { background: #24203155; backdrop-filter: blur(5px); }
html[data-theme=light] :is(.dialog input,.dialog textarea,.dialog select,.chat-join input,.chat-compose textarea) { background: #f8f7fa; color: var(--text); border-color: #d7dfd1; }
html[data-theme=light] :is(.chat-join,.chat-compose) { background: #fff; }
html[data-theme=light] .chat-messages { background: #faf9fc; }
html[data-theme=light] .chat-message-text { background: #fff; border-color: #e5ebe1; }
html[data-theme=light] .chat-message.mine .chat-message-text { background: #edf8e4; border-color: #d1e8bf; }
html[data-theme=light] :is(.chat-join button,.chat-compose-row button) { background: #65ad2d; color: #fff; }
html[data-theme=light] .webtv-window .webtv-waiting p { color: #655b70; }
html[data-theme=light] .partner-logo { opacity: .72; }
html[data-theme=light] .site-footer { border-color: var(--line); }

html[data-theme=light] .app:has(#homeScreen[hidden]) .hero-image.active { opacity: .24; }
html[data-theme=light] .desktop-nav a[aria-current=page] { color: #4f8b20; background: #fff; border-color: #cedbc4; }
html[data-theme=light] :is(.day-tabs button.active,.pod-tabs button.active) { background: #64aa2d; border-color: #64aa2d; color: #fff; }
html[data-theme=light] .mobile-nav :is(a,button)[aria-current=page] { color: #62a72b; }
html[data-theme=light] .mobile-nav :is(a,button)[aria-current=page]:before { background: #62a72b; }
