/* BMD Player Studio 1.0.0. Scoped visual layer; viewport and native media remain owned by v50. */
@font-face{font-family:'BMD Sans';src:url('/assets/fonts/bmd-premium-v1/dm-sans.woff2') format('woff2');font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:'BMD Display';src:url('/assets/fonts/bmd-premium-v1/manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
:root {
    --bmd-player-accent: #f7bc98;
    --bmd-player-bg: #111719;
    --bmd-player-panel: #111719;
    --bmd-player-raised: #202a2d;
    --bmd-player-line: #ffffff1f;
    --bmd-player-text: #f5f4ef;
    --bmd-player-muted: #bbc2c1;
}
.bmd-player,.bmd-now-playing,.bmd-drawer,.bmd-device-popover,.bmd-player-toast {
    font-family: 'BMD Sans',system-ui,sans-serif;
    color: var(--bmd-player-text);
    -webkit-font-smoothing: antialiased;
    color-scheme: dark;
}
#bmdPlayer.bmd-player { background: linear-gradient(120deg,#1d2729,#111719 52%,#171f21)!important; border-top: 1px solid #ffffff24; box-shadow: 0 -12px 50px #0005; }
.bmd-player__cover { border-radius: 9px; }
.bmd-player__title,.bmd-now-playing__copy #bmdSheetTitle { font-family:'BMD Display','BMD Sans',system-ui,sans-serif; font-weight:750; letter-spacing:-.035em; }
.bmd-player__title { font-size:14px; }
.bmd-player__artist { color:var(--bmd-player-muted); }
.bmd-play-button { background:var(--bmd-player-accent); color:#192023; box-shadow:0 3px 18px #f7bc9819; transition:transform 160ms ease,box-shadow 180ms ease; }
.bmd-play-button:hover { background:#ffd4b9; box-shadow:0 3px 24px #f7bc9833; }
.bmd-play-button:active { transform:scale(.94); }
.bmd-player .bmd-icon-button,.bmd-now-playing .bmd-icon-button { transition:background-color 160ms ease,color 160ms ease,transform 160ms ease; border-radius:12px; }
.bmd-player .bmd-icon-button:hover,.bmd-now-playing .bmd-icon-button:hover { background:#ffffff0d; color:var(--bmd-player-text); }
.bmd-player :is(button,input,a):focus-visible,.bmd-now-playing :is(button,input,a):focus-visible,.bmd-drawer :is(button,input,a,select):focus-visible,.bmd-device-popover :is(button,a):focus-visible { outline:2px solid var(--bmd-player-accent); outline-offset:4px; }
.bmd-dj-button { border-radius:12px; color:var(--bmd-player-text); border:1px solid var(--bmd-player-line); background:#ffffff06; }
.bmd-dj-button[aria-pressed=true],.bmd-player .is-connected,.bmd-now-playing .is-connected { color:var(--bmd-player-accent); }
.bmd-now-playing { background:#101719; }
.bmd-now-playing__backdrop::after { background:linear-gradient(150deg,#172b2bb8,#101719ee 65%); }
.bmd-now-playing__header span { color:var(--bmd-player-muted); letter-spacing:.17em; font-size:10px; font-weight:650; }
.bmd-now-playing__art { border-radius:18px; box-shadow:0 24px 80px #0007; }
.bmd-now-playing__art-wrap { position:relative; }
.bmd-now-playing__copy #bmdSheetTitle { line-height:1.18; }
.bmd-now-playing__copy #bmdSheetArtist { color:var(--bmd-player-muted); }
.bmd-now-playing__times,.bmd-player__time { font-variant-numeric:tabular-nums; color:var(--bmd-player-muted); }
.bmd-now-playing__bottom { border-top:1px solid var(--bmd-player-line); padding-top:14px; }
.bmd-now-playing__bottom>div { gap:4px; }
.bmd-now-playing__bottom .bmd-connect-sheet { display:inline-flex; gap:7px; width:auto; max-width:min(48vw,260px); padding:0 12px; border:1px solid var(--bmd-player-line); border-radius:20px; }
.bmd-connect-sheet span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px; }
.bmd-connect-sheet svg { flex:0 0 18px; }
.bmd-drawer { background:var(--bmd-player-panel); border:1px solid var(--bmd-player-line); border-radius:22px 0 0 0; gap:14px; }
.bmd-drawer__header h2 { color:var(--bmd-player-text); font-family:'BMD Display',system-ui,sans-serif; letter-spacing:-.04em; }
.bmd-drawer__header p { color:var(--bmd-player-muted); }
.bmd-dj-card { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px 12px; border:1px solid #f7bc9833; background:linear-gradient(125deg,#f7bc9812,#ffffff03); border-radius:16px; padding:16px; }
.bmd-dj-card__icon { border-radius:12px; color:var(--bmd-player-accent); background:#f7bc9814; width:38px; height:38px; }
.bmd-dj-card>div:nth-child(2)>strong { font-family:'BMD Display',system-ui,sans-serif; font-size:17px; letter-spacing:-.04em; }
.bmd-dj-card #bmdDjStatus { color:#c7cdca; font-size:12px; line-height:1.5; }
.bmd-dj-card__actions { grid-column:1/-1; display:flex; gap:8px; justify-content:stretch; }
.bmd-dj-card__actions button { min-height:40px; padding:8px 14px; border-radius:20px; border:1px solid #ffffff2e; color:var(--bmd-player-text); background:#ffffff05; font:600 12px 'BMD Sans',system-ui,sans-serif; cursor:pointer; }
.bmd-dj-card__actions #bmdDjToggle { background:var(--bmd-player-accent); color:#192023; border-color:transparent; flex:1; }
.bmd-dj-card__actions #bmdDjVoiceToggle[aria-pressed=true] { color:var(--bmd-player-accent); border-color:#f7bc9877; background:#f7bc980c; }
.bmd-dj-voice { grid-column:1/-1; border-top:1px solid var(--bmd-player-line); padding-top:10px; min-width:0; }
.bmd-dj-voice summary { color:var(--bmd-player-muted); font-size:11px; font-weight:600; cursor:pointer; min-height:28px; padding:5px 0; }
.bmd-dj-voice[open] summary { margin-bottom:10px; }
.bmd-dj-voice label { display:block; margin-bottom:8px; }
.bmd-dj-voice #bmdDjVoiceNote { display:block; margin:8px 0; }
.bmd-drawer:has(.bmd-dj-voice[open]) { overflow-y:auto; }
.bmd-drawer:has(.bmd-dj-voice[open]) .bmd-drawer__list { min-height:150px; }
.bmd-dj-voice label { color:var(--bmd-player-text); font-size:11px; font-weight:600; }
.bmd-dj-voice__controls { display:flex; gap:8px; min-width:0; }
.bmd-dj-voice select { width:100%; min-width:0; flex:1; min-height:40px; padding:8px; border:1px solid #ffffff2b; border-radius:9px; background:#172023; color:var(--bmd-player-text); font:12px 'BMD Sans',system-ui,sans-serif; }
.bmd-dj-voice__controls button { flex-shrink:0; border:0; border-bottom:1px solid var(--bmd-player-accent); background:none; color:var(--bmd-player-accent); font:600 11px 'BMD Sans',system-ui,sans-serif; cursor:pointer; }
.bmd-dj-voice #bmdDjVoiceNote { color:var(--bmd-player-muted); font-size:11px; line-height:1.5; }
.bmd-dj-transcript { padding:10px 12px; margin:0; background:#0002; border-left:2px solid #f7bc9877; border-radius:0 8px 8px 0; color:#d9dcda; font-size:12px; line-height:1.65; }
.bmd-dj-card.is-speaking .bmd-dj-card__icon { animation:bmd-voice-glow 1.5s ease-in-out infinite alternate; }
.bmd-queue-item { border-radius:10px; }
.bmd-queue-item.is-active { background:#f7bc9810; }
.bmd-device-popover { width:410px; max-width:calc(100vw - 24px); padding:20px; background:linear-gradient(145deg,#202c2e,#11191b 75%); border:1px solid #ffffff27; border-radius:20px; box-shadow:0 24px 80px #0008; }
.bmd-device-popover header { gap:12px; margin-bottom:14px; align-items:flex-start; }
.bmd-device-popover header>div { display:grid; gap:8px; }
.bmd-connect-eyebrow { color:var(--bmd-player-accent); font-size:9px; font-weight:700; letter-spacing:.19em; }
.bmd-device-popover header strong { color:var(--bmd-player-text); font:700 21px/1.3 'BMD Display',system-ui,sans-serif; letter-spacing:-.04em; }
.bmd-connect-status { margin:0 0 16px; color:var(--bmd-player-muted); font-size:12px; line-height:1.65; }
.bmd-device-row { padding:13px 10px; gap:12px; margin:4px 0; min-height:66px; width:100%; border:1px solid transparent; border-radius:12px; transition:background-color 160ms ease,border-color 160ms ease; }
.bmd-device-row svg { width:22px; height:22px; flex-shrink:0; }
.bmd-device-row strong { color:var(--bmd-player-text); font-size:13px; font-weight:600; }
.bmd-device-row span { color:var(--bmd-player-muted); font-size:11px; }
.bmd-device-row.is-active { color:var(--bmd-player-accent); background:#f7bc980b; border-color:#f7bc9833; }
.bmd-device-row:disabled { cursor:default; opacity:.7; }
.bmd-device-row.is-active:disabled { opacity:1; }
.bmd-connect-foot { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--bmd-player-line); font-size:10px; color:var(--bmd-player-muted); }
.bmd-connect-foot button { border:0; background:none; color:var(--bmd-player-accent); min-height:36px; padding:8px; font:600 11px 'BMD Sans',system-ui,sans-serif; cursor:pointer; }
.bmd-connect-login,.bmd-connect-continue { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 15px; margin-bottom:12px; border:0; border-radius:12px; background:var(--bmd-player-accent); color:#192023; text-decoration:none; font:600 12px 'BMD Sans',system-ui,sans-serif; cursor:pointer; width:100%; }
.bmd-connect-login[hidden],.bmd-connect-continue[hidden],.bmd-dj-transcript[hidden] { display:none!important; }
.bmd-player-toast { background:#263436; color:var(--bmd-player-text); border:1px solid #ffffff2b; border-radius:14px; box-shadow:0 12px 40px #0005; line-height:1.55; }
@keyframes bmd-voice-glow { to { box-shadow:0 0 0 5px #f7bc9814; } }
@media (min-width:761px) { .bmd-player__transport { padding:0 8px; } }
@media (max-width:760px) { .bmd-player { padding-inline:12px; } .bmd-player__title { font-size:13px; } .bmd-drawer { border-radius:20px 20px 0 0; } .bmd-device-popover { padding:18px; } }
@media (orientation:landscape) and (max-height:560px) {
 .bmd-now-playing__bottom { padding-top:6px; }
 .bmd-device-popover { max-height:calc(var(--bmd-visible-height,100dvh) - var(--bmd-player-h) - 24px); overflow:auto; }
 .bmd-drawer { overflow-y:auto; display:flex; flex-direction:column; }
 .bmd-dj-card { flex-shrink:0; padding:12px; }
 .bmd-drawer__list { flex:1 0 100px; }
}
@media (prefers-reduced-motion:reduce) { .bmd-player *,.bmd-now-playing *,.bmd-drawer *,.bmd-device-popover * { animation:none!important; transition:none!important; } }
html[data-bmd-motion='off'] :is(.bmd-player,.bmd-now-playing,.bmd-drawer,.bmd-device-popover) * { animation:none!important; transition:none!important; }

@media (max-height:650px) { .bmd-drawer { display:flex; flex-direction:column; overflow-y:auto; } .bmd-drawer__header,.bmd-dj-card,.bmd-drawer__clear { flex-shrink:0; } .bmd-drawer__list { flex:1 0 100px; } }
/* Leave room for visible keyboard focus rings inside the scrollable desktop sheet. */
@media (min-width:761px) and (min-height:561px) { .bmd-now-playing__content { padding:8px; } }
