/* Radio Redux Dev-only layout adapter for opt-in Redux DS 2.0.
   The app retains its validated v1.2 player runtime, station data and handlers. */
html[data-rdx-v2][data-density] {
  --rdx-header-height: 64px;
  --rdx-player-height: 88px;
  --app-player-height: 88px;
  --app-navigation-height: 64px;
  --rdx-max-content-width: 1040px;
  --rdx-gutter: clamp(16px, 3vw, 28px);
  --rdx-grid-gap: 8px;
  --rdx-grid-tile-height: 68px;
  --rdx-grid-tile-radius: 8px;
  --rdx-row-height: 64px;
  --rdx-player-art-size: 48px;
}
html[data-rdx-v2] body { background: var(--rdx-color-bg-base); }
html[data-rdx-v2] .app-content {
  padding-top: calc(var(--app-player-height) + var(--app-player-gap) + var(--app-navigation-height) + 12px);
  padding-bottom: calc(var(--rdx-safe-bottom) + 24px);
}
html[data-rdx-v2] .library-navigation {
  top: calc(var(--app-player-height) + var(--app-player-gap));
  background: var(--rdx-color-bg-base);
  border-bottom: 1px solid var(--rdx-color-border-subtle);
  padding-block: 8px;
}
html[data-rdx-v2] .view-switch { gap: 12px; }
html[data-rdx-v2] .view-switch-button {
  min-height: 44px;
  font-size: .9375rem;
  font-weight: 650;
  border-radius: 8px;
  transition: background-color 130ms ease, border-color 130ms ease;
}
html[data-rdx-v2] .view-switch-button[aria-pressed="true"] {
  border-color: var(--rdx-color-accent-primary);
  background: var(--rdx-color-accent-primary);
  color: #fff;
}
html[data-rdx-v2] rdx-player[placement="pinned"] {
  top: 0 !important;
  bottom: auto !important;
  padding-top: var(--rdx-safe-top);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  border-bottom: 1px solid var(--rdx-color-border-strong);
}
html[data-rdx-v2] rdx-player[placement="pinned"] .rdx-player-surface {
  background: var(--rdx-color-bg-surface-1) !important;
  border-radius: 0;
  min-height: var(--rdx-player-height);
  padding-block: 10px;
  padding-bottom: 10px;
  border-color: var(--rdx-color-border-subtle);
}
html[data-rdx-v2] #player-bar .rdx-player-title {
  font-size: 1.0625rem;
  font-weight: 650;
}
html[data-rdx-v2] #player-bar .rdx-player-desc,
html[data-rdx-v2] #player-bar .rdx-player-status { font-size: .875rem; }
html[data-rdx-v2] .rdx-quick-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--rdx-grid-gap);
}
html[data-rdx-v2] .rdx-tile {
  height: auto;
  min-height: var(--rdx-grid-tile-height);
  border-radius: var(--rdx-grid-tile-radius);
  padding-inline: 12px;
}
html[data-rdx-v2] .rdx-tile[selected] {
  border-color: var(--rdx-color-accent-primary);
  background: var(--rdx-color-accent-subtle);
}
html[data-rdx-v2] .rdx-tile-heading { font-size: .9375rem; line-height: 1.3; }
html[data-rdx-v2] .station-favourite[aria-pressed="true"] {
  color: var(--rdx-color-accent-primary);
  background: var(--rdx-color-accent-subtle);
}
html[data-rdx-v2] .rdx-row-main { min-height: 64px; }
html[data-rdx-v2] .rdx-settings-card { border-radius: 14px; }
html[data-rdx-v2] .rdx-settings-item { min-height: 52px; }
html[data-rdx-v2] .station-count { font-size: .875rem; margin-block: 8px 12px; }
html[data-rdx-v2] .app-footer { font-size: .875rem; }
@media (max-width: 359px) {
  html[data-rdx-v2][data-density] { --rdx-gutter: 12px; --rdx-player-art-size: 42px; }
  html[data-rdx-v2] .rdx-player-surface { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-rdx-v2] .view-switch-button { transition: none; }
}
