:root { color-scheme: dark; font: 16px/1.5 system-ui, -apple-system, sans-serif; background: #101923; color: #edf3f8; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #a8d9fd; text-decoration: none; }
a:hover { text-decoration: underline; }
header { max-width: 1152px; margin: auto; padding: 24px 28px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
#home { display: flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 650; color: white; }
#home img { border-radius: 10px; }
main { max-width: 1152px; margin: auto; padding: 20px 28px 40px; }
.heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; margin-bottom: 24px; }
.eyebrow { font-size: 12px; letter-spacing: .16em; color: #a3b4c6; margin: 0 0 8px; }
h1 { font-size: clamp(24px, 4vw, 34px); line-height: 1.2; margin: 0; font-weight: 650; }
label { display: block; font-size: 13px; color: #bac9d8; margin-bottom: 6px; }
select { font: inherit; color: #edf3f8; background: #202f40; border: 1px solid #688198; border-radius: 8px; padding: 8px 32px 8px 12px; max-width: 100%; }
select:focus-visible, a:focus-visible { outline: 3px solid #9edaff; outline-offset: 4px; }
#player-container { display: flex; justify-content: center; }
mux-player { width: min(100%, calc(72vh * var(--video-ratio))); aspect-ratio: var(--video-ratio); border-radius: 12px; overflow: hidden; background: var(--media-background-color, #000); --media-object-fit: contain; --media-accent-color: #9edaff; }
.hint { text-align: center; color: #a3b4c6; font-size: 14px; }
[hidden] { display: none !important; }
@media (max-width: 640px) { header { padding: 18px; } main { padding: 16px 18px 28px; } .heading { flex-direction: column; align-items: stretch; gap: 18px; } select { width: 100%; } }
