/* GRANITE_VERSION: 2026-10-30.7 */
/* LIVE NOW'S OWN RULES (/live, src/pages/live.js). Only .lv* classes, drawn in
   the site's tokens (app.css), so both themes work and nothing here reaches
   another page. The player and its stub are the site's own (.player, .pstub);
   today's cards are the Calendar's (.calmeet), styled where they always are. */
.lvpage{max-width:var(--measure);margin:0 auto;padding:var(--sp-6) var(--sp-5)}
.lvpage h1{font-size:var(--t-h2);margin:0 0 var(--sp-4)}
.lvpage h2{font-size:var(--t-h3);margin:var(--sp-7,32px) 0 var(--sp-4)}
.lv-status{font-size:var(--t-ui);color:var(--ink-2);margin:0 0 var(--sp-5)}
.lv-streams{display:grid;gap:var(--sp-5)}
.lv-card{background:var(--surface);border:1px solid var(--rule-2);border-left:4px solid var(--brick);
border-radius:var(--r-out);padding:var(--sp-5) var(--sp-6);box-shadow:0 3px 10px var(--shadow)}
/* A card's name is an h2 (no skipped level under the h1), drawn as a card's
   name rather than as .clist's section heading. */
.lv-card h2,.lv-card p.lv-name,.lv-session h2{font-size:var(--t-card);font-weight:600;letter-spacing:normal;text-transform:none;
color:var(--ink);margin:0;padding:0;border:0}
.lv-card .lv-since{font-size:var(--t-sm);color:var(--ink-2);margin:var(--sp-1) 0 0}
.lv-card .lv-since::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;
background:var(--brick);margin-right:.45em;vertical-align:.05em}
.lv-foot{margin-top:var(--sp-4);font-size:var(--t-ui)}
.lv-agenda{margin-top:var(--sp-4)}
.lv-list,.lv-today{list-style:none;margin:0;padding:0}
.lv-list li{padding:var(--sp-3,8px) 0;border-bottom:1px solid var(--rule);font-size:var(--t-ui)}
.lv-today .lv-meet{margin:0}
.lv-channels{font-size:var(--t-sm);color:var(--ink-2);margin-top:var(--sp-6)}
.lv-sessions{display:grid;gap:var(--sp-5);margin-top:var(--sp-6)}
.lv-session{background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--r-out);padding:var(--sp-5) var(--sp-6)}
.lv-session h2{margin-bottom:var(--sp-3,8px)}
.lv-votes{list-style:none;margin:0;padding:0}
.lv-rc{padding:var(--sp-3,8px) 0;border-bottom:1px solid var(--rule);font-size:var(--t-ui);overflow-wrap:anywhere}
.lv-rc>span{margin-right:.35em}
.lv-when,.lv-tally{font-variant-numeric:tabular-nums}
.lv-when,.lv-outcome,.lv-names,.lv-prov,.lv-note{color:var(--ink-2)}
.lv-prov,.lv-note{display:block;font-size:var(--t-sm)}
.lv-rc .votewrap{margin-top:var(--sp-3,8px)}
.lv-provisional,.lv-more{font-size:var(--t-sm);color:var(--ink-2);margin:var(--sp-3,8px) 0 0}
/* A committee page's live stream, above the page app.js draws (section 1.6).
   Never sticky: it scrolls away as the page's head does. */
/* In #results's own column (the hook is its sibling), left-aligned with the
   page's head; the card no wider than a player wants. */
.lv-committee{margin:var(--sp-5) 0;display:grid;gap:var(--sp-4)}
/* A display set here beats the browser's own [hidden] (app.css says so of
   its own rules): the empty hook must take no room and be no landmark. */
.lv-committee[hidden],.lv-strip[hidden]{display:none}
.lv-committee .lv-card{margin:0;max-width:46rem}
/* The Videos tab's bar (PATCHES.md 4's hook): one line in its sticky strip. */
.lv-strip{display:flex;align-items:center;gap:var(--sp-3,8px);font-size:var(--t-sm);padding:var(--sp-2,4px) 0}
.lv-strip-t::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;
background:var(--brick);margin-right:.45em;vertical-align:.05em}
.lv-strip-go{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--rule-2);
border-radius:var(--r-out);padding:2px var(--sp-3,8px);cursor:pointer}
@media (max-width:600px){.lvpage{padding:var(--sp-5) var(--sp-4)}.lv-card,.lv-session{padding:var(--sp-4) var(--sp-5)}}
