:root {
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #090b10;
  color: #f4f7fb;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top, #202a44, #090b10 52%); }
.shell { width: min(1100px, calc(100% - 32px)); margin: 0 auto; padding: 56px 0; }
header { margin-bottom: 24px; }
.eyebrow { letter-spacing: .18em; font-size: .75rem; color: #8fb7ff; font-weight: 700; }
h1 { margin: 6px 0 8px; font-size: clamp(2.2rem, 6vw, 4.6rem); line-height: .95; }
header > p:last-child { color: #b9c2d2; max-width: 620px; }
.player-card { background: rgba(15, 18, 26, .88); border: 1px solid rgba(255,255,255,.1); border-radius: 20px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.45); }
video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.status-row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 18px; color: #aeb7c7; font-size: .92rem; }
.status::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #ef6f6c; }
.status.online::before { background: #52d273; }
.notice { color: #818b9d; font-size: .86rem; line-height: 1.5; margin-top: 18px; }
@media (max-width: 640px) { .shell { padding-top: 28px; } .status-row { align-items: flex-start; flex-direction: column; } }

.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px 0;
}

.toolbar button,
.subtitle-control select {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 9px;
  background: #171c27;
  color: #f4f7fb;
  font: inherit;
}

.toolbar button {
  padding: 9px 13px;
  cursor: pointer;
}

.toolbar button[hidden] {
  display: none;
}

.subtitle-control {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #aeb7c7;
  font-size: .9rem;
}

.subtitle-control select {
  min-width: 130px;
  padding: 8px 32px 8px 10px;
}

.subtitle-control select:disabled {
  opacity: .55;
}

@media (max-width: 640px) {
  .toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .subtitle-control {
    justify-content: space-between;
  }
}
