:root {
  --playback-line: #2c2248;
  --playback-panel: #100c1b;
  --playback-muted: #b1b3bc;
  --playback-accent: #a9b4ff;
  --playback-danger: #ff7e8b;
}
.playback-heading, .playback-day-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.playback-filters, .playback-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) auto; gap:1rem; align-items:end; margin:1rem 0; padding:1rem; border:1px solid var(--playback-line); border-radius:12px; background:var(--playback-panel); }
.playback-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
.playback-form h3, .playback-form .playback-error, .playback-form .playback-actions { grid-column:1/-1; }
.playback-form label, .playback-filters label { display:grid; gap:.35rem; }
.playback-form input, .playback-filters input { width:100%; box-sizing:border-box; background:#0a080f; color:#f6f6f6; border:1px solid #60626f; border-radius:8px; padding:9px 10px; }
.playback-form input:focus-visible, .playback-filters input:focus-visible, .playback-actions a:focus-visible { outline:3px solid #cacad1; outline-offset:2px; }
.playback-privacy, .playback-url { color:var(--playback-muted); }
.playback-day-group { margin:1.25rem 0; }
.playback-day-group > h3 span { font-size:.75rem; color:var(--playback-muted); }
.playback-card { display:flex; justify-content:space-between; gap:1rem; padding:1rem; margin:.65rem 0; border:1px solid var(--playback-line); border-radius:12px; background:var(--playback-panel); }
.playback-card h4 { margin:.2rem 0; }
.playback-card p { margin:.25rem 0; }
.playback-url { max-width:68ch; overflow-wrap:anywhere; }
.playback-actions { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.playback-actions a { display:inline-flex; align-items:center; min-height:38px; padding:0 .9rem; border-radius:8px; background:var(--playback-accent); color:#0a080f; text-decoration:none; font-weight:700; }
.playback-error { color:var(--playback-danger); font-weight:700; }
.playback-day-panel { margin-top:1.25rem; padding:1rem; border:1px solid var(--playback-line); border-radius:12px; background:var(--playback-panel); }
@media(max-width:768px) {
  .playback-filters, .playback-form { grid-template-columns:1fr; }
  .playback-form h3, .playback-form .playback-error, .playback-form .playback-actions { grid-column:auto; }
  .playback-card, .playback-heading, .playback-day-head { flex-direction:column; }
  .playback-actions { align-items:stretch; }
  .playback-actions > * { justify-content:center; }
}

/* Phase 8E: an older or missing Local Companion holds the Simulator links back */
.playback-build-warning{margin:0 0 12px;padding:10px 12px;border:1px solid #f0b429;border-radius:8px;color:#f0b429;background:#1a1405}
.playback-sim-blocked{opacity:.5;cursor:not-allowed}
