/* MOXI tv — a fictional broadcaster. */
:root{--ink:#f2f3f5;--muted:#9a9ea6;--page:#131318;--card:#1c1d24;--line:#2a2b33;--brand:#c8102e;--gold:#e8b931}
body{background:var(--page);color:var(--ink)}a{color:var(--ink)}
.top{display:flex;align-items:center;gap:20px;padding:12px clamp(14px,3vw,30px);background:#0e0e12;border-bottom:1px solid var(--line)}
.mark{font-weight:800;font-size:20px;letter-spacing:-.02em}.mark i{font-style:normal;color:var(--brand)}
.top nav{display:flex;gap:16px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.top nav span.on{color:var(--ink)}
@media(max-width:760px){.top nav{display:none}}
.top .live{margin-left:auto;background:var(--brand);color:#fff;border:0;border-radius:4px;padding:7px 14px;font-weight:700;font-size:12.5px;letter-spacing:.05em}
.stage{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:0}
@media(max-width:900px){.stage{grid-template-columns:1fr}}
.player{position:relative;aspect-ratio:16/9;background:linear-gradient(140deg,#4a2b58,#1a1020)}
.badge{position:absolute;top:14px;left:14px;display:flex;gap:8px;align-items:center;font-size:12px;font-weight:700}
.badge .on-air{background:var(--brand);padding:3px 8px;border-radius:3px;letter-spacing:.06em}
.badge .clock{background:rgba(0,0,0,.55);padding:3px 8px;border-radius:3px;color:#ddd}
.caption{position:absolute;left:0;right:0;bottom:0;padding:20px clamp(14px,3vw,26px);background:linear-gradient(transparent,rgba(0,0,0,.82))}
.caption h1{font-size:clamp(24px,3.6vw,38px);margin:0 0 5px;letter-spacing:-.02em}
.caption p{margin:0;font-size:13.5px;color:#c4c8ce}
.sched{background:#0e0e12;border-left:1px solid var(--line);padding:16px clamp(12px,2vw,18px)}
.sched h2{margin:0 0 12px;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.slot{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.slot .t{font-size:12.5px;color:var(--muted);width:62px;flex:none;font-variant-numeric:tabular-nums}
.slot .n{font-size:14px;font-weight:600;line-height:1.35}
.slot .d{font-size:12.5px;color:var(--muted);margin-top:2px}
.slot.now .n{color:var(--gold)}
.rows{padding:26px clamp(14px,3vw,30px) 44px}
.row h2{font-size:17px;margin:0 0 11px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.tile{aspect-ratio:16/9;border-radius:4px;position:relative;overflow:hidden}
.tile b{position:absolute;left:9px;bottom:8px;font-size:12.5px;text-shadow:0 1px 3px #000}
.about-body{background:var(--page);color:var(--ink)}
.about-body .about-page a{color:#7aa7ff}
