/* NTV — the pages that are read rather than watched. Generated; see
   ntv-tools/prerender.mjs.

   THE PALETTE IS NO LONGER "LIFTED FROM THE PLAYER" — IT IS THE PLAYER'S. That sentence
   used to be here and it was already false: this file said --ink:#0a0010 against the
   player's #08000f, --ink2:#14001f against #11001d, and --line at .09 against .085.
   Three colours, drifted, in a file whose own comment claimed the two halves of the site
   were visibly one building. That is what a copy does, and it is why ntv-ui.css is
   generated rather than typed — see ntv-tools/tokens.mjs.

   @import RATHER THAN A SECOND <link>, deliberately: the link tag is in the head of 1,630
   prerendered pages, and adding one there means rebuilding all of them to change a
   stylesheet. This way the pages are untouched and only this file moves. It costs one
   serialised request on a page that is cached for a week and is read, not watched. */
@import url("/ntv-ui.css");
/* What is left is only what these pages have and the player does not: --k1/--k2 are the
   channel-in-context pair the wordmark ramps between. */
:root{--k1:#ff2d95;--k2:#ffe14d}
*{box-sizing:border-box}
/* iOS INFLATES SMALL TEXT IN NARROW BLOCKS unless it is told not to, by a factor it
   derives per block — so one declared size can arrive on a phone as several rendered
   ones. It bit the player's platter first (see index.html) and these pages are read on
   phones more than anything else on the site. 100%, never none: both stop the boost,
   and none also disables the reader's own text-size setting.
   NO BACKTICKS IN HERE — this whole stylesheet is a JS template literal. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:radial-gradient(120% 70% at 50% -10%,rgba(255,45,149,.13),transparent 62%),var(--ink);
  color:var(--text);font:16px/1.65 Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:0;background:var(--sun);color:#000;padding:10px 16px;z-index:99;border-radius:0 0 8px 0}
.skip:focus{left:0}
.wrap{max-width:920px;margin:0 auto;padding:0 20px 72px}
header.bar{border-bottom:1px solid var(--line);margin-bottom:32px;position:sticky;top:0;
  background:rgba(10,0,16,.86);backdrop-filter:blur(12px);z-index:10}
header.bar .in{max-width:920px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wm{display:inline-block;width:max-content;font-weight:900;font-style:italic;letter-spacing:-.04em;font-size:22px;
  background:linear-gradient(115deg,#ffd23f,#ff2d95 55%,#b14bff);-webkit-background-clip:text;background-clip:text;color:transparent}
header.bar nav{margin-left:auto;display:flex;gap:16px;font-size:14px;font-weight:600}
header.bar nav a{color:var(--dim);text-decoration:none}
header.bar nav a:hover{color:var(--text)}
.crumbs{font-size:13px;color:var(--faint);margin:0 0 14px}
.crumbs a{color:var(--faint);text-decoration:none}.crumbs a:hover{color:var(--dim)}
h1{font-size:clamp(30px,6vw,48px);line-height:1.05;margin:0 0 10px;font-weight:800;letter-spacing:-.03em}
h2{font-size:20px;margin:40px 0 14px;font-weight:700;letter-spacing:-.01em}
.tag{font-size:18px;color:var(--sun);margin:0 0 18px;font-weight:600}
.lede{font-size:17px;color:var(--dim);max-width:64ch}
.num{display:inline-block;font:600 12px/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;
  color:var(--faint);border:1px solid var(--line);border-radius:99px;padding:6px 10px;margin-bottom:16px}
.cta{display:inline-flex;align-items:center;gap:10px;margin:24px 0 8px;padding:14px 22px;border-radius:99px;
  background:linear-gradient(115deg,var(--k1),var(--k2));color:#0a0010;font-weight:800;text-decoration:none;font-size:16px}
.cta:hover{filter:brightness(1.08)}
ul.list{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
ul.list li{background:var(--ink2);padding:12px 16px;font-size:15px}
ul.list li a{text-decoration:none;font-weight:600}
ul.list li a:hover{color:var(--sun)}
ul.list li .meta{color:var(--faint);font-size:13.5px}
ul.list li .note{display:block;color:var(--dim);font-size:14px;margin-top:4px;font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:0;margin:0;list-style:none}
.grid li a{display:block;padding:16px;border-radius:12px;border:1px solid var(--line);background:var(--glass);
  text-decoration:none;height:100%}
.grid li a:hover{border-color:rgba(255,255,255,.24)}
.grid .n{display:block;font-weight:800;letter-spacing:-.01em;margin-bottom:4px}
.grid .t{display:block;color:var(--faint);font-size:13.5px}
.chips{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}
.chips li a{display:inline-block;padding:7px 13px;border-radius:99px;border:1px solid var(--line);
  background:var(--glass);text-decoration:none;font-size:14px;font-weight:600}
.chips li a:hover{border-color:rgba(255,255,255,.28);color:var(--sun)}
table.week{width:100%;border-collapse:collapse;font-size:14.5px}
table.week th{text-align:left;color:var(--faint);font-weight:600;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;padding:0 12px 8px 0;white-space:nowrap}
table.week td{padding:9px 12px 9px 0;border-top:1px solid var(--line);vertical-align:top}
table.week td.t{color:var(--faint);white-space:nowrap;font:500 13.5px/1.6 ui-monospace,Menlo,Consolas,monospace}
.src{color:var(--faint);font-size:13px;margin-top:14px}
.src a{color:var(--dim)}
footer{border-top:1px solid var(--line);margin-top:56px;padding-top:22px;color:var(--faint);font-size:13.5px}
footer a{color:var(--dim)}
@media (prefers-reduced-motion:no-preference){a{transition:color .15s ease,border-color .15s ease}}
