:root {
  --bg: #f4f2ee; --fg: #1d1c1a; --muted: #5b5852; --accent: #c4302b;
  --rim-light: rgba(255,255,255,.55); --rim-dark: rgba(0,0,0,.28);
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #151514; --fg: #ecebe8; --muted: #a9a6a0;
    --rim-light: rgba(255,255,255,.28); --rim-dark: rgba(0,0,0,.6); }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg);
  font: 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
main { max-width: 960px; margin: 0 auto; padding: 16px; }
h1 { font-size: 1.25rem; margin: 0 0 4px; }
.range { color: var(--muted); margin: 0 0 12px; font-variant-numeric: tabular-nums; }
.frame { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 8px; overflow: hidden; }
.frame iframe, .frame #player { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.controls { display: flex; gap: 12px; align-items: center; margin-top: 12px; flex-wrap: wrap; }
button { font: inherit; font-weight: 600; color: #fff; background: var(--accent);
  border: 2px solid; border-color: var(--rim-light) var(--rim-dark) var(--rim-dark) var(--rim-light);
  border-radius: 8px; padding: 10px 18px; box-shadow: 0 2px 3px rgba(0,0,0,.35); cursor: pointer; }
button:active { border-color: var(--rim-dark) var(--rim-light) var(--rim-light) var(--rim-dark); box-shadow: none; }
.source { color: var(--fg); }
.status { color: var(--muted); min-height: 1.45em; }
