/* AFTERGLOW | TODAY panel + TV mode. Wears the room's own skin. */
.today{grid-template-columns:auto 1fr}
.today .tbody{min-width:0}
.tstamp{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0 0 10px}
.tstamp .tsep{color:var(--faint)}
.tstamp .twx{color:var(--dim);letter-spacing:.14em}
.tlive{margin:10px 0 0;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);min-height:1em}
.tlive.pre{color:var(--amber)}
.tlive.on{color:#6be3a4}
.tlive.on::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#6be3a4;box-shadow:0 0 10px #6be3a4;margin-right:8px;vertical-align:1px;animation:tpulse 1.6s infinite}
@keyframes tpulse{50%{opacity:.35}}
.tbars{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 0}
@media (max-width:600px){.tbars{grid-template-columns:1fr}}
.tbar{border:1px solid var(--line);border-left:2px solid var(--orange);border-radius:0 4px 4px 0;padding:10px 12px;background:rgba(0,0,0,.18);font-size:15px;line-height:1.4}
.tbar+.tbar{border-left-color:var(--magenta)}
.tbar b{display:block;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);margin:0 0 4px}
.tweek{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 0}
.tday{font:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--faint);cursor:pointer}
.tday i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.tday b{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.1;color:var(--dim)}
.tday em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.12em}
.tday.cls{border-color:var(--gold)}
.tday.cls b,.tday.cls em{color:var(--amber)}
.tday.real{box-shadow:inset 0 -2px 0 var(--magenta)}
.tday.on{background:rgba(226,189,122,.10);border-color:var(--amber)}
.ttip{margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--dim)}
.ttip b{font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--magenta);margin-right:10px}
.tctl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}
.tctl .tsp{flex:1}
.tctl .tourbtn{margin-top:0}
.tarrow{font:inherit;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;min-width:38px;padding:8px 12px;border-radius:99px;border:0;background:transparent;color:var(--dim);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.tarrow:hover{color:var(--amber);box-shadow:inset 0 0 0 1px var(--gold)}
.tvbtn{background:transparent!important;color:var(--amber)!important;box-shadow:inset 0 0 0 1px var(--gold)}
.today.off .bigdate{opacity:.55}

/* ---------- TV ---------- */
#tv{position:fixed;inset:0;z-index:200;display:none;background:radial-gradient(ellipse at 50% 0%,#241028,#0b0710 60%)}
#tv.on{display:block}
html.tvon body{overflow:hidden}
#tvcanvas{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform:translate(-50%,-50%) scale(var(--tvs,1));transform-origin:50% 50%;display:flex;flex-direction:column;padding:44px 60px 36px}
.tvtop{display:flex;align-items:center;justify-content:space-between;margin:0 0 26px}
.tvsign{font-family:"Tilt Neon","DM Sans",sans-serif;font-size:58px;letter-spacing:.02em;line-height:1}
.tvsign .a{color:#eaf6ff;text-shadow:0 0 6px #fff,0 0 14px #5ee6ff,0 0 30px #6b5bff}
.tvsign .g{color:#fff3df;text-shadow:0 0 6px #fff,0 0 16px var(--orange),0 0 34px var(--magenta)}
.tvclock{font-family:var(--serif);font-size:54px;color:var(--ink);font-variant-numeric:tabular-nums}
#tvslot{flex:1;min-height:0}
#tvslot .today{height:100%;padding:34px 40px;gap:40px;border-radius:8px;overflow:hidden;align-items:start}
#tvslot .bigdate{font-size:150px;min-width:230px;padding:0}
#tvslot .bigdate small{font-size:20px;margin-top:16px}
#tvslot .tbody{display:grid;grid-template-columns:1.15fr 1fr;column-gap:44px;align-content:start}
#tvslot .tstamp{grid-column:1;grid-row:1;font-size:17px;margin-bottom:14px}
#tvslot h2{grid-column:1;grid-row:2;font-size:62px;line-height:1.02;margin:0 0 12px}
#tvslot .what{grid-column:1;grid-row:3;font-size:34px;line-height:1.25;margin:0 0 10px}
#tvslot .meta{grid-column:1;grid-row:4;font-size:24px}
#tvslot .tlive{grid-column:1;grid-row:5;font-size:24px;margin-top:16px}
#tvslot .tbars{grid-column:2;grid-row:1 / span 3;grid-template-columns:1fr;gap:14px;margin:0;align-self:start}
#tvslot .tbar{font-size:24px;padding:14px 18px}
#tvslot .tbar b{font-size:14px}
#tvslot .tweek{grid-column:2;grid-row:4 / span 1;gap:10px;margin:16px 0 0}
#tvslot .tday{padding:10px 4px}
#tvslot .tday i,#tvslot .tday em{font-size:13px}
#tvslot .tday b{font-size:28px}
#tvslot .ttip{grid-column:1 / span 2;grid-row:6;font-size:23px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
#tvslot .ttip b{font-size:14px}
#tvslot .tctl{display:none}
.tvfoot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:22px}
.tvhint{font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.tvcount{font-family:var(--serif);font-size:128px;line-height:.9;color:var(--faint);font-variant-numeric:tabular-nums;min-width:300px;text-align:right}
.tvcount.run{color:var(--amber);text-shadow:0 0 24px rgba(226,189,122,.35)}
.tvcount.low{color:#ff6b6b;text-shadow:0 0 24px rgba(255,107,107,.45)}
.tvcount.done{color:#ff6b6b;animation:tpulse .8s infinite}
