/* Shared reference player: dark card, centered amber play, timeline, OFF/ON. */
.audio-rail { box-sizing: border-box; padding: 30px 27px 17px; border: 1px solid #555656; border-radius: 18px; color: #e8e8ed; background: linear-gradient(130deg, #252727f7, #1c1e1ffa); box-shadow: 0 24px 60px #332d4224, 0 2px 6px #00000012; text-align: center; backdrop-filter: blur(20px); }
.audio-rail .demo-kicker { margin: 0; color: #e5e5ec; font-size: 11px; line-height: 1.5; font-weight: 500; letter-spacing: 2.15px; text-transform: uppercase; }
.audio-rail .rail-play { display: grid; place-items: center; width: 76px; height: 76px; margin: 27px auto 28px; padding: 0; border: 1px solid #ffc853; border-radius: 50%; color: #11140f; background: linear-gradient(130deg, #ffc641, #ffb51f); box-shadow: 0 3px 14px #00000013; cursor: pointer; transition: transform .15s, box-shadow .15s; }
.audio-rail .rail-play:hover { transform: scale(1.045); box-shadow: 0 4px 23px #ffc13b29; }
.audio-rail .rail-play:disabled { cursor: wait; opacity: .65; transform: none; }
.audio-rail .rail-play .icon { width: 29px; height: 29px; }
.audio-rail .rail-center { min-width: 0; }
.audio-rail .demo-waveform { display: none; }
.audio-rail .rail-timeline { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 5px 0; color: #e2e3eb; font-size: 12px; line-height: 1.5; font-variant-numeric: tabular-nums; direction: ltr; }
.audio-rail [data-demo="current"] { text-align: left; }
.audio-rail [data-demo="duration"] { text-align: right; }
.audio-rail [data-demo="seek"] { --seek-progress: 0%; appearance: none; -webkit-appearance: none; grid-column: 1/-1; width: 100%; min-width: 20px; height: 5px; margin: 8px 0 5px; padding: 0; border: 0; border-radius: 8px; background: linear-gradient(to right, #ffc342 var(--seek-progress), #505254 var(--seek-progress)); accent-color: #ffc342; cursor: pointer; }
.audio-rail [data-demo="seek"]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 10px; height: 10px; background: #ffc342; border: 0; border-radius: 50%; }
.audio-rail [data-demo="seek"]::-moz-range-thumb { width: 10px; height: 10px; background: #ffc342; border: 0; border-radius: 50%; }
.audio-rail .rail-mode { display: flex; align-items: stretch; margin-top: 22px; padding: 2px; border: 1px solid #73777c; border-radius: 13px; background: #2a2e31; }
.audio-rail .rail-mode button { flex: 1; min-width: 0; min-height: 45px; padding: 12px 8px; border: 1px solid transparent; border-radius: 10px; background: none; color: #d4d9e3; font: inherit; font-size: 13px; line-height: 1.4; font-weight: 500; cursor: pointer; transition: background .15s, color .15s; }
.audio-rail .rail-mode button[aria-pressed="true"] { color: #11140f; background: linear-gradient(120deg, #ffc641, #ffb51e); border-color: #ffc548; box-shadow: 0 2px 6px #0000001f; font-weight: 650; }
.audio-rail .demo-message { color: #ffd58a; font-size: 12px; line-height: 1.6; margin: 13px 0 0; }
.audio-rail .demo-message:empty { display: none; }
.audio-rail .demo-native { display: none !important; }
.audio-rail .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.audio-rail button:focus-visible, .audio-rail input:focus-visible { outline: 3px solid #b28b37; outline-offset: 4px; }
@media (max-width: 760px) {
  .audio-rail { padding: 27px 24px 17px; border-radius: 17px; }
  .audio-rail .demo-kicker { font-size: 10px; }
  .audio-rail .rail-play { width: 68px; height: 68px; margin-block: 25px; }
  .audio-rail .rail-mode button { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .audio-rail .rail-play, .audio-rail .rail-mode button { transition: none; }
}
