:root {
  color-scheme: dark;
  --paper: #f7f3eb;
  --ink: #080808;
  --muted: rgba(247, 243, 235, 0.68);
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; overscroll-behavior: none; background: #070707; color: var(--paper); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; }
button, a { font: inherit; }
button { color: inherit; }
[hidden] { display: none !important; }
.phone-shell, .feed { width: 100%; height: 100%; height: 100dvh; }
.phone-shell { position: relative; overflow: hidden; background: #111; }
.feed { position: relative; overflow-x: hidden; overflow-y: auto; overflow-anchor: none; overscroll-behavior: contain; scroll-snap-type: y mandatory; scrollbar-width: none; touch-action: pan-y; user-select: none; -webkit-user-select: none; -webkit-overflow-scrolling: touch; }
.feed::-webkit-scrollbar { display: none; }
.feed.is-locked { overflow-y: hidden; touch-action: none; }
.card-stage { display: grid; width: 100%; height: 100%; min-height: 100%; grid-auto-rows: 100%; }

.artist-card, .end-card { -webkit-touch-callout: none; position: relative; width: 100%; height: 100%; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; background: #181818; touch-action: pan-y; }
.artist-card.is-far > * { visibility: hidden; }
.artist-card > img, .image-fallback, .shade, .card-copy { position: absolute; inset: 0; }
.artist-card > img { z-index: 1; width: 100%; height: 100%; object-fit: cover; transform: scale(1.025); transition: opacity 180ms ease; pointer-events: none; }
.artist-card > img.is-missing { opacity: 0; }
.image-fallback { display: grid; place-items: center; background: radial-gradient(circle at 28% 24%, rgba(255,106,58,.8), transparent 36%), radial-gradient(circle at 72% 68%, rgba(91,64,255,.72), transparent 42%), #151515; color: rgba(255,255,255,.28); font-size: clamp(80px,28vw,132px); font-weight: 900; letter-spacing: -.08em; }
.shade { z-index: 2; background: linear-gradient(180deg,rgba(0,0,0,.67) 0%,rgba(0,0,0,.06) 30%,transparent 48%), linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.42) 37%,transparent 68%); pointer-events: none; }
.card-copy { z-index: 3; display: flex; align-items: flex-end; padding: calc(var(--safe-top) + 110px) 20px calc(var(--safe-bottom) + 38px); pointer-events: none; }
.topbar, .intro-top { display: flex; align-items: center; justify-content: space-between; }
.feed-topbar { position: absolute; z-index: 6; top: 0; right: 0; left: 0; padding: calc(var(--safe-top) + 16px) 20px 12px; pointer-events: none; }
.brand { font-size: 31px; font-weight: 850; letter-spacing: -.04em; }
.city-button { background: rgba(0,0,0,.35); cursor: pointer; pointer-events: auto; backdrop-filter: blur(9px); }
.city-button:active { background: rgba(255,255,255,.16); }
.city { padding: 6px 10px 5px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .15em; }
.feed-topbar { flex-direction: column; align-items: stretch; gap: 14px; }
.feed-topbar .topbar-row:first-child { margin-bottom: 8px; }
.brand-row { display: flex; align-items: center; gap: 10px; }
.profile-button { position: relative; display: grid; width: 26px; height: 26px; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(0,0,0,.35); color: var(--paper); cursor: pointer; pointer-events: auto; backdrop-filter: blur(9px); }
.profile-button:active { background: rgba(255,255,255,.16); }
.profile-count { position: absolute; top: -6px; right: -7px; min-width: 15px; height: 15px; padding: 0 3px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: #161616; color: rgba(247,243,235,.85); font-size: 9px; font-weight: 850; line-height: 13px; text-align: center; }
/* Orange only until the person has opened their saved list once; after that they know. */
.profile-count.is-new { border-color: transparent; background: #ff6a3a; color: #0a0a0a; line-height: 15px; }
.saved-chips { display: flex; flex-wrap: wrap; gap: 7px; padding: 4px 18px 6px; }
.saved-chips:empty { display: none; }
.saved-chip { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 6px 6px 6px 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; background: rgba(255,255,255,.05); font-size: 12px; font-weight: 780; }
.saved-chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saved-chip button { display: grid; width: 20px; height: 20px; place-items: center; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.14); color: var(--paper); font-size: 11px; line-height: 1; cursor: pointer; }
.saved-chip button:active { background: #ff6a3a; color: #0a0a0a; }
.profile-form { display: grid; gap: 9px; margin: 6px 18px 4px; padding: 14px 0 6px; border-top: 1px solid rgba(255,255,255,.08); }
.profile-form-copy { margin: 0 0 4px; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.4; }
.profile-form input { padding: 11px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.05); color: var(--paper); font: inherit; font-size: 14px; }
.profile-form ::placeholder { color: rgba(247,243,235,.4); }
.profile-save { justify-content: center; min-width: 0; }
.profile-save:disabled { opacity: .55; }
.sheet-row.is-wrap .row-meta { white-space: normal; }
.sheet-row.is-wrap:disabled { cursor: default; }
.sheet-note { color: rgba(255,255,255,.42); font-size: 11px; font-weight: 680; }
.whats-new-ok { justify-content: center; width: 100%; min-width: 0; }
.row-when { flex: none; min-width: 52px; color: #ffb08f; font-size: 11px; font-weight: 820; letter-spacing: .06em; line-height: 1.2; text-align: left; text-transform: uppercase; }
.brand-home { padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; pointer-events: auto; }
.brand-home:active { opacity: .7; }
.topbar-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.day-chip-label { max-width: 108px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.day-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px 6px; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; background: rgba(0,0,0,.55); font-size: 12px; font-weight: 780; cursor: pointer; pointer-events: auto; backdrop-filter: blur(9px); }
.day-chip:active { background: rgba(255,255,255,.16); }
.day-chip.is-filtered { border-color: rgba(255,138,92,.85); color: #ffb08f; }
.eyebrow { font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; color: rgba(255,255,255,.7); }

.track-chrome { position: absolute; z-index: 7; top: calc(var(--safe-top) + 112px); left: 50%; display: grid; width: min(76%,300px); min-width: 0; justify-items: center; gap: 7px; transform: translateX(-50%); pointer-events: none; }
.track-indicator { height: 24px; padding: 3px 10px; color: var(--paper); }
.track-dots { display: block; height: 18px; overflow: visible; }
.track-dot { fill: currentColor; opacity: .42; }
.track-blob, .track-echo { fill: currentColor; }
.goo-supported .track-goo-layer { filter: url(#trackGoo); }
.track-now { display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-width: 0; min-height: 16px; }
/* Live "sound is on" state beside the playing track's title. */
.play-state { display: inline-flex; flex: none; align-items: center; height: 15px; color: rgba(247,243,235,.9); text-shadow: 0 1px 10px rgba(0,0,0,.8); }
.play-state .eq { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.play-state .eq i { width: 2.5px; height: 5px; border-radius: 1px; background: currentColor; animation: eq-bounce 940ms ease-in-out infinite; }
.play-state .eq i:nth-child(2) { animation-delay: 220ms; }
.play-state .eq i:nth-child(3) { animation-delay: 480ms; }
.play-state .play-glyph { display: none; font-size: 9px; line-height: 1; }
.play-state.is-paused .eq { display: none; }
.play-state.is-paused .play-glyph { display: inline; }
@keyframes eq-bounce { 0%,100% { height: 5px } 50% { height: 12px } }
.track-title { flex: 0 1 auto; min-width: 0; min-height: 16px; overflow: hidden; color: rgba(247,243,235,.72); font-size: 11px; font-weight: 680; line-height: 16px; text-align: center; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 1px 10px rgba(0,0,0,.8); }

.artist-copy { width: 100%; }
.artist-name { max-width: 94%; margin: 0; font-size: clamp(40px,12vw,58px); font-weight: 880; letter-spacing: -.055em; line-height: .9; overflow-wrap: anywhere; text-shadow: 0 3px 24px rgba(0,0,0,.58); }
.show-line { display: flex; align-items: baseline; gap: 7px; margin-top: 14px; color: rgba(255,255,255,.94); font-size: 18px; font-weight: 760; line-height: 1.2; }
.show-dot { color: rgba(255,255,255,.52); }
/* The venue is a door: tap it to see what else is on in that room. */
.venue-name { min-width: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: underline dotted rgba(255,255,255,.5); text-underline-offset: 4px; cursor: pointer; pointer-events: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.venue-name:active { color: rgba(255,255,255,.7); }
.show-title { max-width: 94%; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 13px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.lineup-line { display: inline-flex; align-items: center; gap: 6px; max-width: 94%; margin-top: 7px; padding: 0; border: 0; background: none; color: rgba(255,255,255,.62); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; text-align: left; cursor: pointer; pointer-events: auto; }
.lineup-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lineup-more { flex: none; font-size: 13px; line-height: 1; opacity: .7; }
.lineup-line:active { color: rgba(255,255,255,.9); }
.outbound-links { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; margin-top: 18px; }
.soundcloud-link { flex: none; white-space: nowrap; color: rgba(255,255,255,.84); font-size: 12px; font-weight: 760; text-decoration: underline; text-decoration-color: rgba(255,255,255,.38); text-underline-offset: 3px; pointer-events: auto; }
.ra-link { display: inline-flex; flex: 0 1 auto; min-width: 0; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; color: var(--paper); font-size: 13px; font-weight: 760; text-decoration: none; pointer-events: auto; backdrop-filter: blur(9px); background: rgba(0,0,0,.25); }
/* Share lives with the card, in the thumb zone: send this Artist to the friend you'd go with. */
.share-pill { display: grid; flex: none; width: 40px; height: 40px; margin-left: auto; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: rgba(0,0,0,.25); color: var(--paper); cursor: pointer; pointer-events: auto; backdrop-filter: blur(9px); }
.share-pill:active { background: rgba(255,255,255,.16); }
.gesture-hint { margin-top: 15px; overflow: hidden; color: rgba(255,255,255,.43); font-size: 8px; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.gesture-hint span { margin: 0 4px; }

.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.playback-toggle:focus-visible { z-index: 30; right: 16px; bottom: calc(var(--safe-bottom) + 16px); width: auto !important; height: auto !important; margin: 0 !important; padding: 10px 14px !important; clip: auto !important; overflow: visible !important; border: 1px solid rgba(255,255,255,.65) !important; border-radius: 999px; background: rgba(0,0,0,.82); color: var(--paper); }
.resume-sound { position: absolute; z-index: 22; top: 50%; left: 50%; padding: 13px 18px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; background: rgba(0,0,0,.76); color: var(--paper); font-size: 13px; font-weight: 800; transform: translate(-50%,-50%); backdrop-filter: blur(10px); }
.playback-flash { position: absolute; z-index: 8; top: 50%; left: 50%; display: grid; width: 82px; height: 82px; place-items: center; border-radius: 50%; background: rgba(0,0,0,.48); opacity: 0; transform: translate(-50%,-50%) scale(.78); pointer-events: none; backdrop-filter: blur(8px); }
.playback-flash.is-flashing { animation: playback-flash 620ms ease-out; }
.pause-symbol { width: 28px; height: 34px; border-right: 9px solid var(--paper); border-left: 9px solid var(--paper); }
.like-symbol { color: #ff6a3a; font-size: 46px; line-height: 1; }
.like-symbol.is-off { color: rgba(247,243,235,.85); }
.play-symbol { width: 0; height: 0; margin-left: 6px; border-top: 18px solid transparent; border-bottom: 18px solid transparent; border-left: 28px solid var(--paper); }
@keyframes playback-flash { 0% { opacity:0; transform:translate(-50%,-50%) scale(.78) } 24%,45% { opacity:.92; transform:translate(-50%,-50%) scale(1) } 100% { opacity:0; transform:translate(-50%,-50%) scale(1.08) } }

.intro, .empty-state { position: absolute; inset: 0; z-index: 10; }
.intro { display: flex; flex-direction: column; justify-content: space-between; padding: calc(var(--safe-top) + 18px) 22px calc(var(--safe-bottom) + 31px); background: linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.82)),rgba(0,0,0,.34); backdrop-filter: blur(10px); }
.intro-copy h1, .terminal-state h1 { margin: 10px 0 16px; font-size: clamp(48px,14vw,66px); font-weight: 880; letter-spacing: -.065em; line-height: .88; }
.intro-copy p, .terminal-state p { max-width: 22em; margin: 0 0 24px; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.45; }
.start-button, .state-button { display: inline-flex; align-items: center; justify-content: space-between; min-width: 174px; padding: 14px 17px; border: 0; border-radius: 999px; background: var(--paper); color: var(--ink); font-size: 14px; font-weight: 820; cursor: pointer; }
.start-button span { margin-left: 20px; font-size: 15px; }
.terminal-state { width: 100%; height: 100%; flex-direction: column; justify-content: flex-end; align-items: flex-end; padding: calc(var(--safe-top) + 24px) 22px calc(var(--safe-bottom) + 34px); background: radial-gradient(circle at 80% 20%,rgba(255,97,55,.28),transparent 38%),linear-gradient(145deg,#181818,#050505 72%); }
.terminal-state:not([hidden]) { display: flex; }
.terminal-state > div { width: 100%; }
.terminal-state h1 { font-size: clamp(42px,12vw,58px); }
.empty-state { justify-content: space-between; }
.terminal-topbar { width: 100%; }
.day-picker, .sheet { position: absolute; inset: 0; z-index: 24; display: flex; flex-direction: column; justify-content: flex-end; padding: calc(var(--safe-top) + 24px) 16px calc(var(--safe-bottom) + 20px); background: linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.9)); backdrop-filter: blur(10px); }
.day-picker-panel, .sheet-panel { display: flex; flex-direction: column; max-height: 84%; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: linear-gradient(150deg,#1b1b1b,#070707 74%); }
.sheet-panel { animation: sheet-rise 260ms cubic-bezier(.2,.8,.2,1); }
@keyframes sheet-rise { from { opacity: 0; transform: translateY(26px) } to { opacity: 1; transform: none } }
.sheet-sub { margin-top: 5px; color: rgba(255,255,255,.5); font-size: 11px; font-weight: 680; line-height: 1.35; }
.sheet-list { display: flex; flex-direction: column; padding: 4px 8px 10px; }
.sheet-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 10px; border: 0; border-top: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: none; color: var(--paper); text-align: left; text-decoration: none; cursor: pointer; }
.sheet-row:first-child { border-top-color: transparent; }
.sheet-row:active { background: rgba(255,255,255,.07); }
.sheet-row.is-dim { cursor: default; }
.sheet-row.is-dim .row-title { color: rgba(255,255,255,.42); }
.sheet-row[aria-current] .row-title { color: #ff8a5c; }
.row-main { min-width: 0; flex: 1 1 auto; }
.row-title { overflow: hidden; font-size: 15px; font-weight: 820; letter-spacing: -.02em; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.row-meta { margin-top: 3px; overflow: hidden; color: rgba(255,255,255,.5); font-size: 11px; font-weight: 680; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.row-tag { flex: none; padding: 5px 9px 4px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: rgba(255,255,255,.78); font-size: 9px; font-weight: 820; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.sheet-row.is-dim .row-tag { border-color: rgba(255,255,255,.12); color: rgba(255,255,255,.4); }
.sheet-row[aria-current] .row-tag { border-color: transparent; background: #ff6a3a; color: #0a0a0a; }
.sheet-empty { padding: 18px 18px 22px; color: rgba(255,255,255,.5); font-size: 13px; }
.sheet-foot { display: flex; align-items: center; gap: 14px; padding: 6px 18px 18px; }
.sheet-foot:empty { display: none; }
.day-picker-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 17px 14px 11px 18px; }
.day-picker-head h2 { margin: 3px 0 0; font-size: 22px; font-weight: 860; letter-spacing: -.05em; }
.day-picker-nav { display: flex; align-items: center; gap: 7px; }
.month-step, .day-picker-close { display: grid; width: 34px; height: 34px; place-items: center; border: 0; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 16px; font-weight: 820; line-height: 1; cursor: pointer; }
.month-step:disabled { opacity: .26; cursor: default; }
.day-picker-close { font-size: 13px; }
.day-weekdays, .day-grid { display: grid; grid-template-columns: repeat(7,1fr); }
.day-weekdays { padding: 2px 12px 6px; color: rgba(255,255,255,.42); font-size: 10px; font-weight: 820; letter-spacing: .08em; text-align: center; }
.day-grid { gap: 4px; padding: 0 12px 18px; }
.day-cell { display: grid; height: 46px; align-content: center; justify-items: center; gap: 3px; border: 1px solid transparent; border-radius: 13px; background: transparent; color: var(--paper); font-size: 15px; font-weight: 780; cursor: pointer; }
.day-cell:disabled { color: rgba(255,255,255,.2); cursor: default; }
.day-cell.is-today { border-color: rgba(255,255,255,.55); }
.day-cell[aria-current="date"] { border-color: transparent; background: #ff6a3a; color: #0a0a0a; }
.day-dot { width: 4px; height: 4px; border-radius: 50%; background: #ff8a5c; }
.day-cell[aria-current="date"] .day-dot { background: rgba(10,10,10,.62); }
.day-blank { height: 46px; }
.text-link { padding: 0; border: 0; background: none; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 760; text-decoration: underline; text-decoration-color: rgba(255,255,255,.34); text-underline-offset: 3px; cursor: pointer; }
.foot-links { display: flex; align-items: center; gap: 10px; margin-top: 20px; color: rgba(255,255,255,.4); }
/* Top-anchored so the phone keyboard never covers the message box. */
.contact-modal { position: absolute; inset: 0; z-index: 26; display: flex; flex-direction: column; justify-content: flex-start; padding: calc(var(--safe-top) + 24px) 16px calc(var(--safe-bottom) + 20px); background: linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.55)); backdrop-filter: blur(10px); }
.contact-panel { display: flex; flex-direction: column; margin: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: linear-gradient(150deg,#1b1b1b,#070707 74%); }
.contact-fields { display: grid; gap: 10px; padding: 0 18px 18px; }
.contact-fields textarea, .contact-fields input { padding: 12px 13px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.05); color: var(--paper); font: inherit; font-size: 14px; resize: none; }
.contact-fields ::placeholder { color: rgba(247,243,235,.4); }
.contact-website { position: absolute !important; left: -9999px !important; }
.contact-send { justify-content: center; min-width: 0; }
.contact-send:disabled { opacity: .55; cursor: default; }
.toast { position: absolute; z-index: 20; top: calc(var(--safe-top) + 112px); left: 50%; max-width: calc(100% - 40px); padding: 9px 13px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(0,0,0,.78); color: rgba(255,255,255,.88); font-size: 11px; font-weight: 680; text-align: center; transform: translateX(-50%); backdrop-filter: blur(9px); }
.soundcloud-host { position: absolute; top: 0; left: -10000px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.soundcloud-host audio { width: 1px; height: 1px; }

@media (min-width: 720px) {
  body { display: grid; place-items: center; background: #161616; }
  .phone-shell, .feed { width: 390px; height: min(844px,calc(100dvh - 32px)); }
  .phone-shell { border: 1px solid rgba(255,255,255,.08); border-radius: 30px; box-shadow: 0 28px 90px rgba(0,0,0,.62); }
}
@media (max-height: 680px) { .card-copy { padding-bottom: calc(var(--safe-bottom) + 22px); } .artist-name { font-size: 39px; } .ra-link { padding: 9px 12px; } /* Share lives with the card, in the thumb zone: send this Artist to the friend you'd go with. */
.share-pill { display: grid; flex: none; width: 40px; height: 40px; margin-left: auto; place-items: center; padding: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: rgba(0,0,0,.25); color: var(--paper); cursor: pointer; pointer-events: auto; backdrop-filter: blur(9px); }
.share-pill:active { background: rgba(255,255,255,.16); }
.gesture-hint { margin-top: 10px; } }
@media (prefers-reduced-motion: reduce) { .track-goo-layer { filter: none !important; } .playback-flash.is-flashing { animation: playback-flash-reduced 520ms ease-out; } .play-state .eq i { animation: none; height: 9px; } .sheet-panel { animation: none; } }

/* Temporary ?fx= diagnostic modes for bisecting on-device scroll jank; inert without the flag. */
.fx-nofilter .ra-link, .fx-nofilter .share-pill, .fx-nofilter .profile-button, .fx-nofilter .resume-sound, .fx-nofilter .toast, .fx-nofilter .playback-flash, .fx-nofilter .intro, .fx-nofilter .day-chip, .fx-nofilter .day-picker { backdrop-filter: none !important; }
.fx-nofilter .track-goo-layer { filter: none !important; }
.fx-noshade .shade, .fx-noshade .image-fallback { background: #161616 !important; }
.fx-noshade .artist-name, .fx-noshade .track-title { text-shadow: none !important; }
.fx-hud-panel { position: fixed; z-index: 99; top: calc(var(--safe-top) + 6px); left: 6px; padding: 6px 8px; border-radius: 8px; background: rgba(0,0,0,.74); color: #8cff9e; font: 10px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre; pointer-events: none; }
@keyframes playback-flash-reduced { 0%,100% { opacity:0; transform:translate(-50%,-50%) scale(1) } 20%,60% { opacity:.92; transform:translate(-50%,-50%) scale(1) } }
