.bts-media { margin-top: 2rem; padding: 0; border: 1px solid var(--line); border-radius: 10px; background: #1b1510; color: var(--cream); scroll-margin-top: 100px; }
.bts-media .bts-header { margin: 0; font-size: inherit; }
#bts-toggle { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; padding: clamp(1rem, 2vw, 1.5rem); border: 0; border-radius: 10px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.bts-header-copy { min-width: 0; }
.bts-header-title { display: block; color: var(--cream); font-size: clamp(1.7rem, 3vw, 2.3rem); line-height: 1.15; }
.bts-intro { display: block; max-width: 75ch; margin-top: .4rem; font: 400 .95rem/1.55 Inter, ui-sans-serif, system-ui, sans-serif; text-transform: none; letter-spacing: normal; }
.bts-media .cast-spoiler-icon { flex: none; transition: none; }
#bts-content { padding: .5rem clamp(1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.5rem); }
#bts-content[hidden] { display: none !important; }
.bts-media h4 { margin: 0 0 .65rem; font: 800 1.05rem/1.4 Inter, ui-sans-serif, system-ui, sans-serif; }
.bts-audio-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.bts-player { display: grid; grid-template-columns: minmax(85px, .65fr) auto minmax(160px, 2fr) minmax(110px, .8fr); align-items: center; gap: .5rem 1rem; min-width: 0; padding: .75rem; border: 1px solid var(--line); border-radius: 8px; background: #110f0d; }
.bts-player #bts-track-title { margin: 0; font: 800 1rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif; }
.bts-transport { display: flex; align-items: center; justify-content: center; gap: 4px; }
.bts-transport button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #211b16; color: var(--cream); font-size: 1rem; cursor: pointer; }
.bts-transport #bts-play { width: 48px; height: 48px; background: var(--yellow); color: #110f0d; border-color: var(--yellow); font-size: 1.3rem; }
.bts-transport button:disabled { opacity: .4; cursor: default; }
.bts-progress { min-width: 0; }
.bts-media input[type="range"] { display: block; min-width: 0; width: 100%; height: 44px; margin: 0; accent-color: var(--yellow); cursor: pointer; touch-action: auto; }
.bts-times { display: flex; justify-content: space-between; font-size: .75rem; line-height: 1; font-variant-numeric: tabular-nums; }
.bts-volume { display: flex; align-items: center; gap: .5rem; margin: 0; font-size: .8rem; }
.bts-volume input { flex: 1; }
.bts-volume[hidden] { display: none; }
.bts-status { margin: .5rem 0 0; font-size: .85rem; color: #eee5d7; }
.bts-player > .bts-status { grid-column: 1 / -1; margin: 0; }
.bts-status:empty { display: none; }
.bts-playlist-panel { min-width: 0; }
.bts-playlist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; list-style: none; margin: 0; padding: 0; }
.bts-playlist li { min-width: 0; border-bottom: 1px solid var(--line); }
.bts-playlist button { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 44px; padding: .35rem .65rem; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--cream); font: 750 .9rem/1.4 Inter, ui-sans-serif, system-ui, sans-serif; text-align: left; cursor: pointer; }
.bts-playlist button[aria-current="true"] { background: var(--yellow); color: #110f0d; border-color: var(--yellow); }
.bts-track-duration { font-size: .8rem; font-weight: 500; font-variant-numeric: tabular-nums; }
.bts-videos { margin-top: 1.25rem; }
.bts-video-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.bts-video-card { display: flex; min-width: 0; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: #110f0d; }
.bts-video-open { display: flex; flex-direction: column; width: 100%; padding: 0; border: 0; background: transparent; color: var(--cream); text-align: left; cursor: pointer; }
.bts-video-preview { position: relative; display: grid; place-items: center; width: 100%; flex: 1; background: #080706; }
.bts-video-preview img { width: 100%; height: auto; object-fit: contain; }
.bts-video-play { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: #110f0d; background: var(--yellow); font-size: 1rem; }
.bts-video-label { display: flex; justify-content: space-between; align-items: center; gap: .4rem; width: 100%; padding: .55rem; font: 800 .9rem/1.4 Inter, ui-sans-serif, system-ui, sans-serif; }
.bts-video-label > span { color: var(--yellow); font-size: .7rem; }
.bts-media button:focus-visible, .bts-media input:focus-visible, #bts-video-dialog button:focus-visible, #bts-video:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.bts-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1199px) { .bts-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .bts-player { grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .75rem; }
  .bts-progress { grid-column: 1 / -1; }
  .bts-volume { grid-column: 1 / -1; width: min(260px, 100%); justify-self: end; }
}
@media (max-width: 680px) {
  .bts-playlist { grid-template-columns: minmax(0, 1fr); }
  .bts-video-grid { grid-template-columns: minmax(0, 1fr); }
  #bts-toggle { align-items: flex-start; }
}
#bts-video-dialog { width: min(1200px, 96vw); max-width: 96vw; max-height: 96dvh; margin: auto; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #110f0d; color: var(--cream); }
#bts-video-dialog::backdrop { background: rgb(0 0 0 / .9); }
.bts-modal-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.bts-modal-toolbar h2 { margin: 0; font: 800 1.3rem/1.4 Inter, ui-sans-serif, system-ui, sans-serif; }
#bts-video-close { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: #211b16; color: var(--cream); font-size: 2rem; cursor: pointer; }
#bts-video { display: block; width: 100%; max-height: calc(96dvh - 135px); height: auto; background: #000; object-fit: contain; }
@media (max-width: 680px) {
  .bts-video-grid { grid-template-columns: minmax(0, 1fr); }
  #bts-video-dialog { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border: 0; border-radius: 0; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); }
  #bts-video-dialog[open] { display: flex; flex-direction: column; }
  #bts-video { flex: 1; min-height: 0; max-height: calc(100dvh - 135px); }
  .bts-video-label { padding: .9rem; }
}
