    :root { color-scheme: dark; }
    body {
      margin: 0; padding: 2rem 1rem;
      font: 16px/1.5 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
      background: #000000; color: #e6e6e6;
      max-width: 40rem; margin-inline: auto;
    }
    h1 { font-size: 1.4rem; }
    .accent { color: #d08bff; }
    hr { border: 0; border-top: 1px solid #2a2a2e; margin: 1.5rem 0; }
    .station { margin: 1.75rem 0; }
    .station h2 { font-size: 1.1rem; margin: 0 0 .25rem; }
    .np {
      display: block; width: 100%; height: 1.6rem;
      border: 0; margin: .1rem 0 .5rem;
      color: #d08bff; background: transparent; overflow: hidden;
    }
    audio { width: 100%; }
    footer { margin-top: 2.5rem; color: #777; font-size: .85rem; }
    a { color: #d08bff; }
    body.np-frame {
      margin: 0; padding: 0; max-width: none; background: transparent;
      display: flex; align-items: center; height: 1.6rem;
      overflow: hidden; white-space: nowrap;
    }
    .np-text { color: #d08bff; font-size: .95rem; }
    .nowplaying { display: flex; align-items: center; gap: .4rem; }
    .np-label { color: #fff; font-size: .95rem; white-space: nowrap; }
    .nowplaying .np { flex: 1; width: auto; margin: 0; }