/* Midnight Signal: quiet charcoal surfaces with restrained phosphor-green accents. */
:root {
  --bg: #090d0b;
  --panel: #000000;
  --line: #2a382e;
  --muted: #99ad9d;
  --text: #dbe8da;
  --cyan: #8ae871;
}
::selection { color: #101b0f; background: #8ae871; }
.signal-mark { align-items: flex-end; }
.signal-mark i:nth-child(1) { height: 12px; }
.signal-mark i:nth-child(2) { height: 25px; }
.signal-mark i:nth-child(3) { height: 18px; }
.signal-mark i:nth-child(4) { height: 30px; }
.signal-mark i:nth-child(5) { height: 15px; }
body {
  background: var(--bg);
  isolation: isolate;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url('../images/terminal-field.svg') center top / 1440px 1040px repeat;
  pointer-events: none;
  z-index: -1;
}
@media(max-width:760px) {
  body::before { content: none; background: none; }
}
.player-panel, .catalogue-panel, .multicard, .reading-card { background: #000; }
.podcast-tagline-line { display: block; }
.intro-line p::before { content: "> "; color: var(--cyan); }
.play-button { color: #10200e; }
.play-button:hover { background: #a7ef94; }
button { background: #19231c; border-color: #3b4b3f; }
.playback-speed-step { background: transparent; }
.episode-actions button[aria-pressed=true] { background: #1b2b1d; }
input[type=range]::-webkit-slider-runnable-track {
  background: linear-gradient(to right,var(--cyan) var(--range-progress),#3b4b3f var(--range-progress));
}
input[type=range]::-moz-range-track { background: #3b4b3f; }
.seek-tooltip { background: #283b2b; }
.episode-list-wrap { scrollbar-color: #3b4b3f transparent; }
.episode-list a { border-bottom-color: #253129; }
.episode-list a:hover { background: #19251d; }
.episode-list a[aria-current] { background: #1c2d20; }
.entry-content hr { border: 0; border-top: 1px solid var(--line); }
.comment-form input:not([type=submit]):not([type=checkbox]), .comment-form textarea, .search-field {
  background: #0c120e; border-color: #3b4b3f;
}
.submit, .search-submit { color: #10200e; }
.notice { background: #1b2b1e; }
.mobile-player:not([hidden]) { background: #142019; }
.logo-caption > span:first-child { flex: 1; min-width: 0; }
.spectrum-bars { display: flex; align-items: flex-end; gap: 3px; height: 40px; flex: 0 0 108px; background: #000; }
.spectrum-bars i { display: block; position: relative; flex: 1; height: 40px; background: repeating-linear-gradient(to top, #162413 0 3px, transparent 3px 4px); }
.spectrum-bars i::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(to top, var(--cyan) 0 3px, transparent 3px 4px); clip-path: inset(90% 0 0); }
.multicard.is-playing .spectrum-bars i::before { animation: spectrum-steps var(--bar-duration, 1.6s) steps(1, end) var(--bar-delay, 0s) infinite; }
.spectrum-bars i:nth-child(3n+1) { --bar-duration: 1.7s; --bar-delay: -.6s; }
.spectrum-bars i:nth-child(3n+2) { --bar-duration: 1.3s; --bar-delay: -.2s; }
.spectrum-bars i:nth-child(4n) { --bar-duration: 1.9s; --bar-delay: -.9s; }
.spectrum-bars i:nth-child(5n) { --bar-duration: 1.5s; --bar-delay: -.45s; }
.spectrum-bars i:nth-child(7n) { --bar-duration: 1.4s; --bar-delay: -1.1s; }
@keyframes spectrum-steps {
  0% { clip-path: inset(70% 0 0); }
  10% { clip-path: inset(30% 0 0); }
  20% { clip-path: inset(40% 0 0); }
  30% { clip-path: inset(20% 0 0); }
  40% { clip-path: inset(50% 0 0); }
  50% { clip-path: inset(60% 0 0); }
  60% { clip-path: inset(10% 0 0); }
  70% { clip-path: inset(30% 0 0); }
  80% { clip-path: inset(50% 0 0); }
  90% { clip-path: inset(80% 0 0); }
}
@media(prefers-reduced-motion:reduce) {
  .multicard.is-playing .spectrum-bars i::before { animation: none; }
}
@media(prefers-contrast:more) {
  :root { --muted: #b7cbb9; --line: #607865; }
}



