/* freakradio on the feed (feedplayer.js): a card at the top of the feed.
   Black, #90ee90, sharp edges, monospace like /freakradio/. */

.fr-fp { --fpg: #90ee90; --fpdim: #8a8a8a; position: relative; box-sizing: border-box; background: #000; color: #e8e8e8; border: 1px solid var(--fpg); font: 14px/1.35 ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; overflow: hidden; }
.fr-fp[hidden] { display: none !important; }
.fr-fp *, .fr-fp *::before { box-sizing: border-box; }
.fr-fp-sig { display: block; image-rendering: pixelated; background: #000; }
.fr-fp-body { min-width: 0; }
.fr-fp-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--fpdim); }
.fr-fp-tag i { width: 7px; height: 7px; background: var(--fpdim); }
.fr-fp.is-live .fr-fp-tag { color: #000; background: var(--fpg); padding: 1px 6px; }
.fr-fp.is-live .fr-fp-tag i { background: #000; animation: fr-fp-blink 1s steps(2) infinite; }
@keyframes fr-fp-blink { 50% { opacity: 0; } }
.fr-fp-name { font-size: 20px; font-weight: 800; color: #e8e8e8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fr-fp.is-live .fr-fp-name { color: var(--fpg); }
.fr-fp-when { font-size: 12px; color: var(--fpdim); }
.fr-fp-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fr-fp-play { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--fpg); border-radius: 0; background: var(--fpg); color: #000; font: inherit; font-weight: 700; padding: 7px 14px; cursor: pointer; }
.fr-fp-play svg { width: 14px; height: 14px; }
.fr-fp-play[aria-pressed="true"] { background: #000; color: var(--fpg); }
.fr-fp-more { font-size: 12px; text-decoration: underline; text-decoration-style: dotted; }

/* like a post at the top of the feed, the signal as its picture */
.fr-fp { margin: 0 0 14px; }
.fr-fp .fr-fp-sig { width: 100%; height: 120px; border-bottom: 1px solid #1f2a1f; }
.fr-fp .fr-fp-body { padding: 12px 14px 4px; }
.fr-fp .fr-fp-name { font-size: 24px; margin-top: 4px; }
.fr-fp .fr-fp-acts { padding: 8px 14px 14px; }
.fr-fp.is-next .fr-fp-sig { height: 60px; }
