/* The broadcast room: one dark screen, the list beside it, the list below it on a phone. */
.shell-wide{max-width:1100px}
.tv{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,1fr);gap:18px;margin-top:20px}
.screen{position:relative;border-radius:18px;overflow:hidden;background:#000;
  border:1px solid var(--hair);aspect-ratio:16/9;align-self:start}
.screen video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.unmute{position:absolute;top:14px;inset-inline-end:14px;z-index:3;border:0;border-radius:100px;
  padding:10px 18px;background:rgba(16,23,37,.82);color:var(--ink);font:inherit;font-size:.82rem;
  font-weight:800;cursor:pointer;backdrop-filter:blur(6px)}
.unmute:hover{background:rgba(16,23,37,.95)}
.now{position:absolute;inset-inline:0;bottom:0;z-index:2;display:flex;align-items:center;gap:12px;
  padding:14px 16px;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.onair{display:inline-flex;align-items:center;gap:7px;font-size:.64rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:#ff9a8a}
.onair::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff5a45;
  animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.now b{font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.now a{color:var(--gold-lit);font-size:.82rem;text-decoration:none;flex:0 0 auto}
.playlist{border:1px solid var(--hair);border-radius:18px;background:var(--card);padding:16px;
  max-height:70vh;overflow:auto}
.playlist h2{margin:0 0 10px;font-size:.72rem;font-weight:800;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold-lit)}
.playlist ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.playlist li{padding:11px 12px;border-radius:11px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.playlist li:hover{background:rgba(242,239,237,.06)}
.playlist li.on{background:rgba(201,160,90,.14)}
.playlist li b{font-size:.9rem;line-height:1.3}
.playlist li span{font-size:.76rem;color:var(--faint)}
.pl-empty{color:var(--faint);font-size:.9rem}
@media(max-width:860px){.tv{grid-template-columns:1fr}.playlist{max-height:none}}
@media(prefers-reduced-motion:reduce){.onair::before{animation:none}}
.playlist li{position:relative}
.playlist li time{position:absolute;inset-inline-end:12px;top:12px;font-size:.72rem;
  color:var(--gold-lit);font-variant-numeric:tabular-nums;font-weight:800}


/* On air, on a phone (04/09): the guide's rows and the unmute button take a thumb. */
@media(pointer:coarse){ #pl li,#unmute,.mybtn{min-height:44px} }
@media(max-width:560px){ #pl li{padding:12px 14px} #pl li time{font-size:.78rem} }


/* ---------- the type floor (04/09) ----------
   A phone is held at arm's length and often in the sun. Eyebrows, badges and field labels sat
   at nine and ten pixels across these rooms — decoration, not writing. Nothing that carries
   meaning goes below twelve on a small screen; the letter-spacing comes down with it so the
   words stay one shape. */
@media(max-width:560px){
  .eyebrow,.lbl,.k,.pb,.w-badge,.onair,.playlist h2,.playlist li time,
  .mark span span,.panel h2,.block > h2,.owner label,.roles legend,.session .lbl,
  .earn .k,.top nav button,.tiers .you,label > span:first-child{
    font-size:.78rem;letter-spacing:.1em}
}
