/* Compact Graphite player. Transport and room synchronization stay in music/main. */
.music-mini { flex:0 0 auto; min-width:0; padding:12px; border-top:1px solid var(--line,#303940); background:var(--panel,#191e23); color:var(--text,#edf2f3); font-size:12px; }
.music-mini[hidden] { display:none; }
.music-mini button { display:grid; place-items:center; flex-shrink:0; min-width:28px; min-height:28px; padding:4px; border:0; border-radius:7px; background:transparent; color:inherit; cursor:pointer; }
.music-mini button svg { display:block; pointer-events:none; }
.music-mini button:focus-visible,.music-mini input:focus-visible { outline:2px solid var(--accent,#79e2bd); outline-offset:2px; }
.music-mini button:disabled { opacity:.4; cursor:not-allowed; }
.music-mini-header { display:flex; align-items:center; gap:4px; min-width:0; }
.music-mini .music-mini-track { display:flex; align-items:center; gap:10px; padding:0; flex:1; min-width:0; text-align:left; border-radius:8px; }
.music-mini-cover { display:grid; place-items:center; position:relative; width:42px; height:42px; flex:0 0 42px; border:1px solid var(--line,#303940); border-radius:8px; overflow:hidden; color:var(--accent,#79e2bd); background:var(--panel-soft,#252d33); }
.music-mini-cover img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.music-mini-cover img[hidden] { display:none; }
.music-mini-meta { min-width:0; flex:1; }
.music-mini-track strong,.music-mini-track small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.5; }
.music-mini-track strong { font-weight:600; font-size:12px; }
.music-mini-track small { color:var(--muted,#9da9b3); font-size:11px; margin-top:2px; }
.music-mini-header>button { color:var(--muted,#9da9b3); }
.music-mini-header>button svg { width:16px; height:16px; }
.music-mini-progress { margin-top:10px; }
.music-mini input[type=range] { display:block; height:12px; margin:0; padding:0; min-width:0; accent-color:var(--accent,#79e2bd); cursor:pointer; }
.music-mini-seek { width:100%; }
.music-mini-times { display:flex; justify-content:space-between; color:var(--muted,#9da9b3); font-size:9px; line-height:1.4; margin-top:1px; font-variant-numeric:tabular-nums; }
.music-mini-bottom { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:6px 0 8px; }
.music-mini-controls { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.music-mini-controls button { width:28px; height:30px; }
.music-mini-controls [data-action=play] { width:34px; height:34px; border-radius:50%; background:var(--panel-soft,#252d33); color:var(--text,#edf2f3); }
.music-mini-volume { display:flex; align-items:center; justify-content:flex-end; gap:4px; min-width:0; flex:1; }
.music-mini-volume button { min-width:22px; min-height:28px; padding:2px; color:var(--muted,#9da9b3); }
.music-mini-volume button svg { width:18px; height:18px; }
.music-mini-volume input { flex:1; width:52px; max-width:72px; }
.music-mini-volume output { width:27px; flex-shrink:0; font-size:9px; color:var(--muted,#9da9b3); text-align:right; font-variant-numeric:tabular-nums; }
.music-mini .music-mini-sync { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:28px; padding:5px 8px; font-size:11px; border:1px solid var(--line,#303940); border-radius:8px; color:var(--muted,#9da9b3); }
.music-mini-sync svg { width:15px; height:15px; }
.music-mini .music-mini-sync[aria-pressed=true] { color:var(--accent,#79e2bd); background:color-mix(in srgb,var(--accent,#79e2bd) 9%,transparent); border-color:color-mix(in srgb,var(--accent,#79e2bd) 30%,var(--line,#303940)); }
.music-mini-status { display:block; color:var(--muted,#9da9b3); font-size:10px; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:6px; }
.music-mini-status:empty { display:none; }
.music-mini-status.music-mini-error { white-space:normal; color:#ec9faa; }
.camera-chat-rail:has(.music-mini:not([hidden])) .chat-panel { min-height:120px; }
.camera-chat-rail:has(.music-mini:not([hidden])) .camera-panel { max-height:35%; }
body.workspace-design.graphite-interface .music-mini { margin:8px; padding:10px; border:1px solid var(--line); border-radius:12px; background:var(--panel); color:var(--text); }
body.workspace-design.graphite-interface .music-mini button { color:var(--muted); background:transparent; border-color:var(--line); }
body.workspace-design.graphite-interface .music-mini button:hover:not(:disabled) { color:var(--text); background:var(--panel-soft); }
body.workspace-design.graphite-interface .music-mini .music-mini-track { color:var(--text); }
body.workspace-design.graphite-interface .music-mini .music-mini-track:hover { background:transparent; }
body.workspace-design.graphite-interface .music-mini-controls [data-action=play] { background:var(--panel-soft); color:var(--text); }
body.workspace-design.graphite-interface .music-mini .music-mini-sync[aria-pressed=true] { color:var(--accent); background:color-mix(in srgb,var(--accent) 9%,transparent); }
body.workspace-design.graphite-interface .music-mini-volume [aria-pressed=true] { color:var(--accent); }
@media(max-width:1150px) {
    .music-mini-expand { display:none!important; }
    .music-mini-volume output { width:24px; font-size:8px; }
    .music-mini-bottom { gap:5px; }
}
@media(prefers-reduced-motion:reduce) { .music-mini :is(button,input) { transition:none; } }
