/* Chemical Dietary Compliance
   The page is built from the materials of its subject: the nutrition panel's
   heavy rules, the grading sheet's ruled rows, the produce sticker. One accent,
   sticker red, marks what changed. Evidence status is carried by shape, not hue. */

@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(4c18bbf2664bf241.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(fa83970370997056.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(f24c3215230ad7ff.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(a6a2a4bf8d11b666.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Newsreader;font-style:italic;font-weight:300 700;font-display:swap;src:url(72c495d39d4d6a3d.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Newsreader;font-style:italic;font-weight:300 700;font-display:swap;src:url(34eec9781a61c664.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(e2661bcc0d77ef31.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(0bc96cd0d5b0ad98.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(1b581b1518938772.woff2) format("woff2")}

:root{
  color-scheme:light;
  --paper:#f2f3ef;      /* label stock, cool rather than cream */
  --sheet:#ffffff;      /* the panel itself */
  --ink:#121212;
  --ink-2:#3b3b38;
  --rule:#121212;
  --hair:#c9cbc3;
  --muted:#5d5f58;
  --red:#c8201a;        /* produce-sticker red: what changed */
  --red-ink:#9e1712;
  --red-wash:#fbe4e1;
  --kraft:#d8c3a0;      /* the crate */
  --display:Archivo,"Arial Narrow",Arial,sans-serif;
  --serif:Newsreader,Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --measure:40rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.1875rem/1.62 var(--serif);font-optical-sizing:auto}
img,svg{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--red-ink)}
:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100;font:600 1rem var(--display)}
.skip:focus{left:.5rem;top:.5rem}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- top bar: chapter navigation + share ---------- */
.topbar{position:sticky;top:0;z-index:30;background:var(--ink);color:#fff;border-bottom:4px solid var(--red)}
.topbar-in{max-width:76rem;margin:auto;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem}
.mark{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:#fff;flex:none}
.mark svg{width:30px;height:30px}
.mark b{font:900 .95rem/1 var(--display);font-stretch:75%;letter-spacing:.02em;text-transform:uppercase}
.topbar nav{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
.topbar nav::-webkit-scrollbar{display:none}
.topbar ol{list-style:none;margin:0;padding:0 1rem 0 .25rem;display:flex;gap:.15rem;white-space:nowrap}
.topbar nav a{display:block;color:#d9dad4;text-decoration:none;font:500 .78rem/1 var(--mono);padding:.62rem .5rem;border-radius:3px}
.topbar nav a:hover,.topbar nav a[aria-current=true]{color:#fff;background:#ffffff1c}
.topbar nav a[aria-current=true]{box-shadow:inset 0 -3px 0 var(--red)}
.tb-btn{flex:none;font:600 .8rem/1 var(--mono);color:#fff;background:transparent;border:1px solid #ffffff66;border-radius:3px;padding:.6rem .7rem;cursor:pointer;text-decoration:none}
.tb-btn:hover{border-color:#fff;color:#fff}
@media (max-width:720px){.mark b{display:none}}

/* ---------- opening: the panel ---------- */
.open{padding:clamp(1rem,4vw,3rem) .75rem 2.5rem}
.open-in{max-width:76rem;margin:auto;display:grid;gap:clamp(1rem,3vw,2.5rem);grid-template-columns:minmax(0,1fr)}
@media (max-width:979px){.hero-copy{order:-1}}
@media (min-width:980px){.open-in{grid-template-columns:minmax(0,25rem) minmax(0,1fr);align-items:start}}
.panel{background:var(--sheet);border:2px solid var(--rule);padding:.7rem .9rem 1rem;box-shadow:6px 6px 0 var(--ink)}
.panel-title{font:900 clamp(2.1rem,7.4vw,3.15rem)/.9 var(--display);font-stretch:72%;letter-spacing:-.005em;text-transform:uppercase;margin:0 0 .35rem}
.panel .bar{height:12px;background:var(--rule);margin:.35rem 0}
.panel .bar.thin{height:5px}
.panel dl{margin:0;font:500 .98rem/1.25 var(--display)}
.panel dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule);padding:.32rem 0}
.panel dt{font-weight:800}
.panel dd{margin:0;text-align:right}
.panel dd.chg{color:var(--red-ink);font-weight:800}
.panel .pnote{font:400 .78rem/1.35 var(--display);margin:.5rem 0 0;color:var(--ink-2)}
.hero-copy h1{font:900 clamp(2.4rem,7.6vw,5.1rem)/.95 var(--display);font-stretch:78%;letter-spacing:-.01em;margin:0 0 .9rem;text-wrap:balance}
.hero-copy h1 em{font-style:normal;color:var(--red)}
.hero-copy .dek{font:400 clamp(1.15rem,2.4vw,1.4rem)/1.45 var(--serif);max-width:36rem;margin:0 0 1.3rem;color:var(--ink-2)}
.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 1.2rem}
.btn{display:inline-flex;align-items:center;gap:.55rem;font:800 1rem/1 var(--display);font-stretch:90%;letter-spacing:.01em;text-decoration:none;padding:.95rem 1.15rem;border:2px solid var(--ink);background:var(--ink);color:#fff;border-radius:2px;cursor:pointer;min-height:48px}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.listen{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;align-items:center;background:var(--sheet);border:2px solid var(--ink);padding:.8rem .9rem;max-width:36rem;margin:0 0 1.4rem}
.listen .btn{background:var(--red);border-color:var(--red)}
.listen .btn:hover{background:var(--ink);border-color:var(--ink)}
.listen .btn[hidden]{display:none}
.listen b{grid-column:2;font:800 1rem/1.2 var(--display)}
.listen span{grid-column:2;font:400 .9rem/1.35 var(--serif);color:var(--ink-2)}
.listen .btn{grid-column:1;grid-row:1 / span 2}
.hero-art{margin:0;background:var(--sheet);border:2px solid var(--ink)}
.hero-art svg{display:block;width:100%;height:auto}

/* ---------- chapters ---------- */
main>section{padding:2.6rem .75rem 3rem;border-top:2px solid var(--ink)}
main>section:nth-of-type(even){background:#e9eae4}
.wrap{max-width:var(--measure);margin:auto}
.wide{max-width:60rem;margin-left:auto;margin-right:auto}
.ch-head{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:end;margin:0 auto 1.6rem;max-width:var(--measure)}
.plu{grid-row:span 2;display:grid;place-items:center;width:5.2rem;height:3.6rem;border-radius:50%;background:var(--red);color:#fff;border:3px solid #fff;box-shadow:0 0 0 2px var(--red);transform:rotate(-8deg);font:800 .62rem/1 var(--mono);text-align:center;letter-spacing:.06em}
.plu b{display:block;font:900 1.55rem/1 var(--display);font-stretch:80%;letter-spacing:0}
.ch-head .k{font:600 .78rem/1 var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.ch-head h2{margin:0;font:900 clamp(1.9rem,5.6vw,3rem)/.98 var(--display);font-stretch:78%;text-wrap:balance}
.lede{font-size:1.32rem;line-height:1.5}
.wrap p{margin:0 0 1.05rem}
.wrap h3{font:800 1.3rem/1.2 var(--display);font-stretch:88%;margin:2rem 0 .6rem}
.pull{font:800 clamp(1.4rem,3.6vw,1.9rem)/1.15 var(--display);font-stretch:85%;border-top:12px solid var(--ink);border-bottom:2px solid var(--ink);padding:.7rem 0;margin:1.8rem 0}
.hyp{border-left:6px dashed var(--ink);padding:.2rem 0 .2rem 1rem}

/* ---------- evidence card: a specification sheet ---------- */
.ev{background:var(--sheet);border:2px solid var(--ink);margin:1.8rem auto;max-width:44rem;position:relative}
.ev-top{display:flex;justify-content:space-between;align-items:center;gap:.75rem;background:var(--ink);color:#fff;padding:.45rem .75rem}
.ev-id{font:600 .78rem/1 var(--mono);letter-spacing:.06em}
.ev h4{margin:0;padding:.85rem .9rem .2rem;font:800 1.18rem/1.22 var(--display);font-stretch:90%}
.ev .find{margin:0;padding:.3rem .9rem .8rem;font:400 1.08rem/1.5 var(--serif)}
.ev table{width:100%;border-collapse:collapse;font:400 .86rem/1.4 var(--serif)}
.ev th,.ev td{text-align:left;vertical-align:top;border-top:1px solid var(--hair);padding:.5rem .9rem}
.ev th{width:8.2rem;font:600 .7rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ev tr.scale th{color:var(--red-ink)}
.ev tr.scale td{font-weight:500}
.ev details{border-top:2px solid var(--ink)}
.ev summary{cursor:pointer;padding:.7rem .9rem;font:600 .8rem/1.2 var(--mono);list-style:none;min-height:44px;display:flex;align-items:center}
.ev summary::-webkit-details-marker{display:none}
.ev summary::before{content:"+";display:inline-block;width:1.2rem;font-weight:700}
.ev details[open] summary::before{content:"\2212"}
.ev .notes{padding:0 .9rem .9rem;font-size:.95rem}
.ev .notes p{margin:0 0 .6rem}
.ev .cite{border-top:1px solid var(--hair);padding:.55rem .9rem .7rem;font:400 .8rem/1.45 var(--mono);color:var(--ink-2);word-break:break-word}
@media (max-width:520px){.ev th,.ev td{display:block;width:auto;border:0;padding:.15rem .9rem}.ev tr{display:block;border-top:1px solid var(--hair);padding:.35rem 0}.ev tr.not{background:var(--red-wash)}.ev tr.not td{background:none}}

/* status tags: shape-coded so they survive colour blindness and print */
.tag{display:inline-flex;align-items:center;gap:.4rem;font:600 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.32rem .5rem;border:1.5px solid currentColor;border-radius:2px;white-space:nowrap}
.tag::before{content:"";width:.62rem;height:.62rem;flex:none}
.tag.measured::before{background:currentColor}
.tag.documented::before{background:currentColor;border-radius:50%}
.tag.concluded::before{border:1.5px solid currentColor;border-radius:50%}
.ev-top .tag{color:#fff}
.legend{display:flex;flex-wrap:wrap;gap:.45rem .6rem;margin:.6rem 0 1.4rem}
.legend .tag{color:var(--ink);background:var(--sheet)}

/* ---------- charts ---------- */
.chart{background:var(--sheet);border:2px solid var(--ink);margin:1.8rem auto;max-width:44rem;padding:.9rem .9rem .5rem}
.chart h4{margin:0 0 .2rem;font:800 1.12rem/1.2 var(--display);font-stretch:90%}
.chart .sub{margin:0 0 .6rem;font:400 .9rem/1.4 var(--serif);color:var(--ink-2)}
.chart svg{display:block;width:100%;height:auto;font-family:var(--display)}
.chart figcaption{border-top:1px solid var(--hair);margin-top:.5rem;padding-top:.5rem;font:400 .78rem/1.45 var(--mono);color:var(--ink-2)}
.scroller{overflow-x:auto}

/* ---------- flow diagram (conceptual) ---------- */
.chain{list-style:none;margin:1.6rem auto;padding:0;max-width:44rem;counter-reset:c}
.chain li{position:relative;background:var(--sheet);border:2px solid var(--ink);padding:.7rem .9rem .75rem 3.2rem;margin:0 0 1.4rem}
.chain li::before{counter-increment:c;content:counter(c,decimal-leading-zero);position:absolute;left:.7rem;top:.75rem;font:800 1rem/1 var(--mono);color:var(--red)}
.chain li:not(:last-child)::after{content:"";position:absolute;left:1.35rem;bottom:-1.45rem;width:2px;height:1.4rem;background:var(--ink)}
.chain b{font:800 1.05rem/1.2 var(--display);display:block}
.chain li>span:not(.src){display:block;font:400 .98rem/1.45 var(--serif);color:var(--ink-2)}
.chain .src{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.55rem;font:500 .74rem/1.4 var(--mono);color:var(--muted)}
.label-note{font:600 .72rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center;margin:-.6rem 0 1rem}

/* ---------- timeline ---------- */
.tl{list-style:none;margin:1.4rem auto 0;padding:0;max-width:46rem;border-left:4px solid var(--ink)}
.tl li{position:relative;padding:0 0 1.3rem 1.4rem}
.tl li::before{content:"";position:absolute;left:-.62rem;top:.35rem;width:.9rem;height:.9rem;background:var(--paper);border:3px solid var(--ink);border-radius:50%}
.tl li.k-measured::before{background:var(--ink)}
.tl li.k-documented::before{background:var(--red);border-color:var(--red)}
.tl time{display:block;font:600 .85rem/1.2 var(--mono);color:var(--red-ink);letter-spacing:.04em}
.tl b{display:block;font:800 1.05rem/1.25 var(--display);margin:.15rem 0}
.tl p{margin:0;font-size:1rem;line-height:1.5;color:var(--ink-2)}
.tl .src{font:500 .74rem/1.4 var(--mono);color:var(--muted)}

/* ---------- claims ledger ---------- */
.ledger{max-width:56rem;margin:auto}
.ledger h3{display:flex;align-items:center;gap:.7rem;font:900 1.45rem/1.1 var(--display);font-stretch:80%;margin:2.2rem 0 .3rem;border-bottom:5px solid var(--ink);padding-bottom:.4rem}
.ledger .gloss{margin:.2rem 0 .9rem;font-size:1rem;color:var(--ink-2)}
.claim{background:var(--sheet);border:1.5px solid var(--ink);border-left-width:6px;margin:0 0 .8rem;padding:.75rem .9rem}
.claim p{margin:0 0 .45rem;font-size:1.04rem;line-height:1.48}
.claim .lim{font-size:.93rem;color:var(--ink-2)}
.claim .lim b{font:600 .7rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red-ink)}
.claim .meta{font:500 .74rem/1.5 var(--mono);color:var(--muted)}
.claim .meta a{color:var(--ink)}

/* ---------- source library ---------- */
.lib{max-width:60rem;margin:auto;padding:0 .75rem 3rem}
.lib h1{font:900 clamp(2.2rem,7vw,3.6rem)/.95 var(--display);font-stretch:75%;margin:2rem 0 .6rem}
.lib .intro{max-width:var(--measure);font-size:1.12rem}
.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.5rem}
.filters button{font:600 .78rem/1 var(--mono);padding:.6rem .7rem;border:1.5px solid var(--ink);background:var(--sheet);cursor:pointer;border-radius:2px;min-height:40px}
.filters button[aria-pressed=true]{background:var(--ink);color:#fff}
.src-card{background:var(--sheet);border:2px solid var(--ink);margin:0 0 1.2rem;scroll-margin-top:5rem}
.src-card:target{box-shadow:0 0 0 4px var(--red)}
.src-card header{background:var(--ink);color:#fff;padding:.5rem .8rem;display:flex;gap:.6rem;justify-content:space-between;align-items:center;font:600 .78rem/1.2 var(--mono)}
.src-card h2{margin:0;padding:.8rem .9rem .3rem;font:800 1.15rem/1.25 var(--display);font-stretch:92%}
.src-card .by{margin:0;padding:0 .9rem .6rem;font:400 .95rem/1.4 var(--serif);color:var(--ink-2)}
.src-card table{width:100%;border-collapse:collapse;font:400 .92rem/1.45 var(--serif)}
.src-card th,.src-card td{text-align:left;vertical-align:top;border-top:1px solid var(--hair);padding:.5rem .9rem}
.src-card th{width:9.5rem;font:600 .68rem/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.src-card tr.not th{color:var(--red-ink)}
.src-card tr.not td{background:var(--red-wash)}
.src-card td a{word-break:break-all}
@media (max-width:560px){.src-card th,.src-card td{display:block;width:auto;border:0;padding:.15rem .9rem}.src-card tr{display:block;border-top:1px solid var(--hair);padding:.35rem 0}}

/* ---------- transcript ---------- */
.tx-line{margin:0 0 .7rem}
.tx-line b{font:700 .74rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--red-ink);display:block;margin-bottom:.15rem}
.tx-ch{font:900 1.5rem/1.1 var(--display);font-stretch:80%;border-bottom:4px solid var(--ink);padding-bottom:.3rem;margin:2rem 0 1rem}

/* ---------- spoken-passage highlight (auto-scrawl) ---------- */
[data-cue]{transition:background-color .35s ease,box-shadow .35s ease}
.is-spoken{background:var(--red-wash);box-shadow:-.6rem 0 0 var(--red-wash),.6rem 0 0 var(--red-wash),-.85rem 0 0 var(--red)}
.ev.is-spoken,.chart.is-spoken,.chain li.is-spoken,.claim.is-spoken{box-shadow:0 0 0 4px var(--red)}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#d9dad4;padding:2rem .75rem 7rem;font:400 .95rem/1.55 var(--serif)}
.foot-in{max-width:60rem;margin:auto;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.foot h2{font:800 1rem/1.2 var(--display);color:#fff;margin:0 0 .4rem}
.foot a{color:#fff}
.foot p{margin:0 0 .5rem}
#install-app{font:600 .8rem/1 var(--mono);background:transparent;color:#fff;border:1px solid #ffffff88;padding:.6rem .8rem;cursor:pointer}
#install-app[hidden]{display:none}

/* ---------- share sheet ---------- */
.share-sheet{border:2px solid var(--ink);padding:0;max-width:24rem;width:calc(100% - 2rem);background:var(--sheet);color:var(--ink)}
.share-sheet::backdrop{background:#121212aa}
.share-sheet header{background:var(--ink);color:#fff;padding:.6rem .9rem;display:flex;justify-content:space-between;align-items:center;font:800 1rem var(--display)}
.share-sheet header button{background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer;min-width:44px;min-height:44px}
.share-sheet .opts{display:grid;gap:.4rem;padding:.9rem}
.share-sheet .opts a,.share-sheet .opts button{display:block;text-align:left;font:600 .9rem/1 var(--mono);padding:.85rem .8rem;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer}
.share-sheet .opts a:hover,.share-sheet .opts button:hover{background:var(--ink);color:#fff}
.share-sheet .ok{padding:0 .9rem .9rem;font:500 .8rem var(--mono);color:var(--red-ink);min-height:1.2rem;margin:0}

/* ---------- canonical narration player: only the look is ours ---------- */
.narr{position:fixed;left:0;right:0;bottom:0;z-index:40}
.narr[hidden]{display:none}
.narr-pill{position:fixed;right:.8rem;bottom:calc(.8rem + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.55rem;background:var(--red);color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px var(--red),0 8px 24px #0005;border-radius:999px;padding:.7rem 1.05rem;font:800 .95rem/1 var(--display);cursor:pointer;min-height:48px}
.narr-pill .meta{font:500 .72rem/1 var(--mono);opacity:.9}
.narr-pill .ico{display:flex}
.narr[data-state=open] .narr-pill{display:none}
.narr-bar{display:none;background:var(--ink);color:#fff;border-top:4px solid var(--red);box-shadow:0 -10px 30px #0004;padding-bottom:env(safe-area-inset-bottom)}
.narr[data-state=open] .narr-bar{display:block}
.narr-track{position:relative;height:8px;background:#3a3a37;cursor:pointer}
.narr-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--red);transition:width .2s linear}
.narr-mark{position:absolute;top:50%;transform:translate(-50%,-78%);width:40px;height:40px;background:transparent;border:0;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center}
.narr-mark::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--ink);border:2px solid #9a9b95;margin-bottom:8px}
.narr-mark.done::before{background:var(--red);border-color:var(--red)}
.narr-mark.here::before{background:#fff;border-color:#fff;width:14px;height:14px}
.narr-controls{max-width:76rem;margin:auto;display:flex;align-items:center;gap:.45rem;padding:.5rem .7rem}
.narr-play{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--red);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.narr-meta{flex:1;min-width:0}
.narr-label{margin:0;font:800 .98rem/1.2 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.narr-sub{margin:.15rem 0 0;font:400 .7rem/1.3 var(--mono);color:#c9cac4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.narr-btn{flex:none;min-height:42px;min-width:42px;padding:.5rem .6rem;background:transparent;border:1px solid #ffffff55;color:#e6e6e1;font:600 .7rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border-radius:3px}
.narr-btn:hover{border-color:#fff;color:#fff}
.narr-btn[hidden]{display:none}
.narr-follow[data-on="1"]{background:#ffffff1f;border-color:#fff;color:#fff}
.narr-follow[data-on="0"]{border-style:dashed}
.narr-close{font-size:1.05rem}
html[data-narr=open] .foot{padding-bottom:9rem}
@media (max-width:600px){.narr-rate,.narr-top{display:none}.narr-controls{gap:.3rem;padding:.45rem .5rem}.narr-btn{padding:.45rem .45rem;font-size:.64rem}}

/* chapter list + transcript drawer */
.drawer{position:fixed;inset:auto 0 0 0;z-index:45;max-height:72vh;overflow:auto;background:var(--sheet);border-top:4px solid var(--red);box-shadow:0 -12px 30px #0005;padding:0 0 calc(1rem + env(safe-area-inset-bottom))}
.drawer[hidden]{display:none}
.drawer header{position:sticky;top:0;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:.4rem .8rem;font:800 1rem var(--display)}
.drawer header button{background:none;border:0;color:#fff;font-size:1.4rem;min-width:44px;min-height:44px;cursor:pointer}
.drawer .in{max-width:44rem;margin:auto;padding:.6rem .9rem}
.drawer ol{list-style:none;margin:0;padding:0}
.drawer ol button{display:flex;width:100%;gap:.7rem;align-items:baseline;text-align:left;background:none;border:0;border-bottom:1px solid var(--hair);padding:.8rem .2rem;cursor:pointer;font:700 1rem/1.25 var(--display);color:var(--ink)}
.drawer ol button span{font:500 .75rem var(--mono);color:var(--muted);flex:none;width:2.4rem}
.drawer ol button[aria-current=true]{color:var(--red-ink)}
.drawer .tx-line.now{background:var(--red-wash);box-shadow:-.5rem 0 0 var(--red-wash),.5rem 0 0 var(--red-wash)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.topbar,.narr,.drawer,.actions,.listen{display:none!important}main>section{break-inside:auto}.ev,.chart{break-inside:avoid}}
.sref{font:600 .68em/1 var(--mono);vertical-align:.2em;text-decoration:none;border:1px solid currentColor;padding:.1em .3em;border-radius:2px;white-space:nowrap;color:var(--red-ink)}
.sref:hover{background:var(--red-ink);color:#fff}
.ev.is-spoken,.chart.is-spoken,.chain li.is-spoken,.claim.is-spoken{background:var(--sheet)}
@media (max-width:600px){.narr-meta{min-width:0}.narr-label{font-size:.88rem}.narr-sub{display:none}.narr-play{width:42px;height:42px}}
.ftable{width:100%;border-collapse:collapse;font:400 .95rem/1.35 var(--serif)}
.ftable th{font:600 .7rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:3px solid var(--ink);padding:.4rem .5rem}
.ftable td{border-bottom:1px solid var(--hair);padding:.5rem;vertical-align:top}
.ftable td b{font:800 1rem var(--display)}
.ftable td.none{font:800 1rem var(--display);color:var(--red)}
.defs dt{font-weight:800}.defs dt i{font-weight:500;font-style:italic;color:var(--muted)}
.defs div{display:block!important}.defs dd{text-align:left!important;font:400 1.05rem/1.35 var(--serif);margin-top:.15rem}
.panel .pnote{font:400 1rem/1.45 var(--serif);color:var(--ink);margin:.6rem 0}
.findings{list-style:none;counter-reset:f;margin:1.2rem 0 2rem;padding:0}
.findings li{counter-increment:f;position:relative;background:var(--sheet);border:2px solid var(--ink);border-top-width:10px;padding:.8rem .9rem .9rem 3.3rem;margin:0 0 .9rem;font-size:1.05rem;line-height:1.5}
.findings li::before{content:counter(f);position:absolute;left:.8rem;top:.65rem;font:900 1.9rem/1 var(--display);color:var(--red)}
.findings b{display:block;font:800 1.15rem/1.25 var(--display);margin-bottom:.25rem}
.fu-kick{margin:0 0 .6rem;font:600 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.fu-kick a{color:var(--red-ink);text-decoration:none;border-bottom:2px solid var(--red)}
.fu-pitch{max-width:36rem;margin:0 0 1.2rem;font:400 1rem/1.5 var(--serif);color:var(--ink-2)}
.fu-pitch a{color:var(--ink);font-weight:600}
.network{background:var(--ink);color:#fff;margin:2.2rem 0 0;padding:1.2rem 1rem 1.3rem;border-top:8px solid var(--red)}
.net-k{margin:0;font:600 .74rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ff8a80}
.net-h{margin:.4rem 0 1rem!important;font:900 1.6rem/1.05 var(--display)!important;font-stretch:80%;color:#fff}
.net-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.net-list a{display:block;text-decoration:none;color:#fff;border:1.5px solid #ffffff55;padding:.75rem .85rem;min-height:44px}
.net-list a:hover{border-color:#fff;background:#ffffff14;color:#fff}
.net-list b{display:block;font:800 1.08rem/1.2 var(--display)}
.net-list span{display:block;margin-top:.2rem;font:400 .95rem/1.45 var(--serif);color:#d9dad4}
.net-pitch{margin:1rem 0 0;font:400 1rem/1.5 var(--serif);color:#e6e6e1}
.net-pitch a{color:#fff;font-weight:600}
@media (min-width:720px){.net-list{grid-template-columns:1fr 1fr}}
.strip{margin:1.6rem auto;max-width:60rem;background:#fff;border:2px solid var(--ink)}
.strip img{display:block;width:100%;height:auto}
.strip-stack{display:none}
@media (max-width:719px){.strip .strip-full{display:none}.strip-stack{display:block}.strip-stack img+img{border-top:2px solid var(--ink)}}
.hero-lead{max-width:76rem;margin:0 auto 1.4rem;border:2px solid var(--ink);background:#fdfcf2}
.hero-lead img{display:block;width:100%;height:auto}
.ico-art{display:block;width:100%;height:auto;border-radius:6px}
.ch-head{grid-template-columns:auto 1fr auto}
.ch-head .ch-ico{grid-row:1 / span 2;grid-column:3;width:clamp(4.5rem,18vw,7.5rem)}
.ch-head .plu{grid-row:1 / span 2}
h3.h-ico{display:flex;align-items:center;gap:.7rem}
h3.h-ico .ico-art{width:3.6rem;flex:none}
.findings li{padding-right:5.2rem}
.findings li>.ico-art{position:absolute;right:.6rem;top:.6rem;width:4rem}
@media (max-width:719px){
  .ch-head{grid-template-columns:auto 1fr}
  .ch-head .ch-ico{grid-column:1 / -1;grid-row:1;width:7.5rem;margin-bottom:.4rem}
  .ch-head .plu{grid-row:2 / span 2}
}
