/* Tacksheet sheet kit 1.8.0 - built-in style Broadsheet (broadsheet), on the none kit theme.
   Link it after the kit stylesheet with body data-tk-theme="none" data-tk-style="broadsheet".
   Fonts: /kit/1.8.0/fonts/LICENSES-styles.txt. */
/* Broadsheet: a newspaper front page. Blackletter nameplate, ears, dateline bar, banner headline,
   ruled justified columns, market-data box, stock listings, photos in their own colours (halftone on request), jump line, -30-. */
@font-face{font-family:"UnifrakturMaguntia";src:url(/kit/1.8.0/fonts/unifrakturmaguntia-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Noto Serif Display";src:url(/kit/1.8.0/fonts/noto-serif-display-100-900.woff2) format("woff2");font-style:normal;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}
@font-face{font-family:"Noto Serif Display";src:url(/kit/1.8.0/fonts/noto-serif-display-100-900-italic.woff2) format("woff2");font-style:italic;font-weight:100 900;font-stretch:62.5% 100%;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/kit/1.8.0/fonts/libre-franklin-100-900.woff2) format("woff2");font-weight:100 900;font-display:swap}

body[data-tk-theme]{
  --bs-paper:#efe8d6;--bs-tint:#e4dac2;--bs-ink:#191713;--bs-muted:#4d473d;--bs-red:#9b1c1c;--bs-hair:#8f8678;
  --bs-nameplate:"The Tacksheet Tribune";
  --bs-ear-left:"\201C All the News That Fits on One Sheet\201D";
  --bs-ear-right:"Late Edition";
  --bs-vol:"Vol. CXLII \00B7  No. 48,912";
  --bs-price:"$2.00";
  --bs-weather:"Weather: fair skies, fresh ink.";--bs-cols:3;
  --bs-serif:"Newsreader",Georgia,"Times New Roman",serif;
  --bs-head:"Noto Serif Display","Newsreader",Georgia,serif;
  --bs-sans:"Libre Franklin","Franklin Gothic Medium","Archivo",Arial,sans-serif;
  --bs-dots:radial-gradient(circle,rgba(25,23,19,.16) 0 .9px,transparent 1.3px) 0 0/4px 4px;
  --tk-bg:#3a3631;--tk-bg-soft:var(--bs-tint);--tk-fg:var(--bs-ink);--tk-muted:var(--bs-muted);
  --tk-accent:var(--bs-ink);--tk-accent-2:var(--bs-red);--tk-accent-ink:#f6f1e4;
  --tk-card:var(--bs-paper);--tk-border:#a89f8e;--tk-rule:var(--bs-ink);--tk-mark:rgba(25,23,19,.06);
  --tk-field:#f6f1e4;--tk-control:var(--bs-ink);--tk-positive:#1d5a2e;--tk-negative:var(--bs-red);
  --tk-note:var(--bs-ink);--tk-tip:var(--bs-ink);--tk-warning:var(--bs-ink);--tk-decision:var(--bs-ink);--tk-risk:var(--bs-red);
  --tk-font-head:var(--bs-head);--tk-font-body:var(--bs-serif);--tk-font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --tk-font-data:var(--bs-sans);--tk-font-hand:var(--bs-head);
  --tk-head-weight:800;--tk-head-tracking:-.005em;--tk-head-leading:1;
  --tk-size-body:1.04rem;--tk-size-h1:clamp(2.5rem,1.2rem + 5.4vw,6.4rem);--tk-size-h2:clamp(1.6rem,1.2rem + 1.4vw,2.5rem);--tk-size-h3:1.3rem;
  --tk-radius:0px;--tk-chart-radius:0;--tk-grid:rgba(25,23,19,.16);--tk-shadow:none;
  --tk-code-bg:var(--bs-tint);--tk-code-fg:var(--bs-ink);--tk-tok-k:var(--bs-red);--tk-tok-s:#1d5a2e;--tk-tok-c:#5d564a;--tk-tok-n:var(--bs-ink);--tk-tok-f:var(--bs-ink);
  --tk-c1:#191713;--tk-c2:#9b1c1c;--tk-c3:#7d7566;--tk-c4:#4d6b88;--tk-c5:#b8ad97;--tk-c6:#5c3b2e;--tk-c7:#3f4a3a;--tk-c8:#a0743c;
  --tk-ramp:#efe8d6,#cfc5b0,#9b927f,#5c564b,#191713;
  --tk-film:multiply;--tk-paper-obj:var(--bs-paper);--tk-kraft:var(--bs-tint);
  --tk-ink-cobalt:var(--bs-ink);--tk-ink-vermilion:var(--bs-red);--tk-ink-plum:#4a3a3a;--tk-ink-black:var(--bs-ink);
  --tk-stamp-cobalt:var(--bs-red);--tk-stamp-vermilion:var(--bs-red);--tk-stamp-plum:var(--bs-red);
  --tk-mark-sunflower:rgba(255,214,51,.62);--tk-measure:none;
  --tk-page-width:min(max(43rem,80vw),82rem);
  background:#3a3631 url("/kit/1.8.0/textures/fibre.svg") 0 0/256px 256px;background-blend-mode:soft-light;
  line-height:1.5;font-variant-ligatures:common-ligatures;
}
/* The sheet of newsprint on the desk: yellowed edges, fibre, a fold above the fold. */
body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){position:relative;margin:2.2rem auto 3rem;padding:1.6rem clamp(1.4rem,3vw,3rem) 3.5rem;
  background:linear-gradient(180deg,transparent 0 1180px,rgba(60,48,26,.13) 1181px,rgba(255,252,240,.55) 1184px,transparent 1188px),
    radial-gradient(120% 90% at 50% 40%,transparent 62%,rgba(150,112,40,.2) 100%),

    url("/kit/1.8.0/textures/fibre.svg") 0 0/256px 256px,var(--bs-paper);
  background-blend-mode:normal,multiply,multiply,normal;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 0 70px rgba(140,100,30,.22) inset,0 18px 40px -12px rgba(0,0,0,.65),0 2px 4px rgba(0,0,0,.4)}
body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *))::after{content:"\2014\2009 30\2009 \2014";display:block;text-align:center;margin-top:3rem;font:700 .82rem/1 var(--bs-sans);letter-spacing:.3em;color:var(--bs-ink)}
body[data-tk-theme] :where(:not(tk-screen *, tk-note *))::selection{background:rgba(255,214,51,.7);color:var(--bs-ink)}
body[data-tk-theme] :focus-visible:where(:not(tk-screen *, tk-note *)){outline:2px solid var(--bs-red);outline-offset:3px;border-radius:0}
body[data-tk-theme] a:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em;text-decoration-color:var(--bs-hair)}
body[data-tk-theme] a:hover:where(:not(tk-screen *, tk-note *)){color:var(--bs-red);text-decoration-color:currentColor;text-decoration-thickness:2px}
body[data-tk-theme] p:where(:not(tk-screen *, tk-note *)){hyphens:auto;-webkit-hyphens:auto}

/* ============ MASTHEAD ============ */
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){display:grid;grid-template-columns:minmax(9rem,11.5rem) minmax(0,1fr) minmax(9rem,11.5rem);column-gap:1.4rem;align-items:center;
  grid-template-areas:"earl np earr" "date date date" "head head head" "dek dek dek";
  padding:.4rem 0 1.4rem;margin-bottom:2rem;text-align:center;border-bottom:1px solid var(--bs-ink)}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{content:var(--bs-nameplate);grid-area:np;font:400 calc(min(4.7vw,5.6rem) * var(--bs-nameplate-size,1))/1.08 "UnifrakturMaguntia",serif;letter-spacing:-.005em;
  color:var(--bs-ink);padding:.12em 0 .06em;white-space:nowrap;text-shadow:0 0 1px rgba(25,23,19,.35)}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::after{content:"";position:absolute;left:0;right:0;bottom:-7px;border-bottom:3px solid var(--bs-ink)}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *)){display:contents}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::after{grid-row:1;align-self:center;border:1px solid var(--bs-ink);padding:.55rem .6rem;
  font:italic 500 .86rem/1.3 var(--bs-head);font-stretch:87.5%;color:var(--bs-ink);text-wrap:balance;box-shadow:inset 0 0 0 3px var(--bs-paper),inset 0 0 0 4px var(--bs-ink)}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::before{content:var(--bs-ear-left);grid-area:earl}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::after{content:var(--bs-weather);grid-area:earr;font-style:normal;font-family:var(--bs-sans);font-size:.8rem;font-weight:500}
body[data-tk-theme] tk-hero:has(>tk-stamp) tk-tape-title:where(:not(tk-screen *, tk-note *))::after{content:none}
/* Dateline bar: the byline set between rules, volume left, price right. */
/* Block layout, not flex: the byline's own children (time, code) stay in its running text. */
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *)){grid-area:date;display:block;position:relative;text-align:center;margin:.35rem 0 0;padding:.42rem 13rem .36rem;
  border-top:3px solid var(--bs-ink);border-bottom:1px solid var(--bs-ink);box-shadow:0 -6px 0 -5px var(--bs-ink);
  font:600 .78rem/1.45 var(--bs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bs-ink);max-width:none}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::before{content:var(--bs-vol);position:absolute;left:0;top:.42rem;width:auto;height:auto;background:none}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::after{content:var(--bs-price);position:absolute;right:0;top:.42rem}
/* The banner headline across all columns. */
body[data-tk-theme] tk-hero h1:where(:not(tk-screen *, tk-note *)){grid-area:head;max-width:none!important;margin:1.4rem auto .35rem!important;padding:0!important;display:block!important;
  font-family:var(--bs-head)!important;font-weight:800;font-stretch:62.5%;font-size:var(--tk-size-h1)!important;line-height:.94;letter-spacing:-.012em;
  color:var(--bs-ink)!important;text-wrap:balance}
body[data-tk-theme] tk-hero h1:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-hero h1 .tk-tape-line:where(:not(tk-screen *, tk-note *))::before{content:none!important}
body[data-tk-theme] tk-hero h1 .tk-tape-line:where(:not(tk-screen *, tk-note *)){display:block;margin:0 auto!important;padding:0!important;max-width:none}
body[data-tk-theme] tk-hero h1 .tk-tape-ink:where(:not(tk-screen *, tk-note *)){transform:none!important}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *)){grid-area:dek;max-width:44rem;margin:.6rem auto 0;font:italic 400 clamp(1.15rem,1rem + .6vw,1.55rem)/1.35 var(--bs-head);font-stretch:87.5%;color:var(--bs-ink);text-wrap:balance}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *))::after{content:"";display:block;width:4rem;margin:1rem auto 0;border-top:1px solid var(--bs-ink)}
/* The stamp is the right ear: a Late Edition box in red. */
body[data-tk-theme] tk-hero>tk-stamp:where(:not(tk-screen *, tk-note *)){grid-area:earr;margin:0;justify-self:stretch;align-self:center}
body[data-tk-theme] tk-stamp:where(:not(tk-screen *, tk-note *)){--stamp:var(--bs-red);vertical-align:middle}
body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){display:flex;flex-direction:column;gap:.18rem;align-items:center;transform:none;mix-blend-mode:multiply;opacity:1;-webkit-mask:none;mask:none;
  border:2px solid var(--bs-red);border-radius:0;box-shadow:inset 0 0 0 2px var(--bs-paper),inset 0 0 0 3px var(--bs-red);padding:.55rem .6rem .5rem;
  font:900 1.25rem/1 var(--bs-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--bs-red);animation:bs-press .5s ease-out .15s both}
body[data-tk-theme] tk-hero>tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{content:var(--bs-ear-right);font:italic 700 .95rem/1 var(--bs-head);font-stretch:75%;letter-spacing:0;text-transform:none;
  border-bottom:1px solid currentColor;padding-bottom:.25rem;margin-bottom:.1rem;align-self:stretch}
body[data-tk-theme] tk-stamp .tk-stamp-date:where(:not(tk-screen *, tk-note *)){font:600 .78rem/1.2 var(--bs-sans);letter-spacing:.12em}
@keyframes bs-press{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:none}}

/* ============ STORIES: ruled, justified columns ============ */
/* Columns only for running prose: three paragraphs or more and nothing but prose, slips and pull quotes.
   Anything else (lists, tables, charts, callouts, figures, subheads, forms) would cut the text into
   two-line column fragments, so those sections run as one column at a reading measure. */
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){margin:2.4rem 0;orphans:3;widows:3}
body[data-tk-theme] tk-section:has(>p:nth-of-type(3)):not(:has(>:not(h2,p,blockquote,tk-slip,.tk-note))):where(:not(tk-screen *, tk-note *)){columns:var(--bs-cols) 17rem;column-gap:2.2rem;column-rule:1px solid var(--bs-hair);column-fill:balance}
body[data-tk-theme] tk-section>*:where(:not(tk-screen *, tk-note *)){column-span:all}
body[data-tk-theme] tk-section>:is(p,ul,ol,blockquote,tk-slip,.tk-note):where(:not(tk-screen *, tk-note *)){column-span:none}
body[data-tk-theme] tk-section>p:where(:not(tk-screen *, tk-note *)){text-align:justify;text-justify:inter-word;margin:0 0 .7em;text-indent:1.2em;max-width:none}
body[data-tk-theme] tk-section:not(:has(>p:nth-of-type(3))) > :is(p,ul,ol):where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section:has(>:not(h2,p,blockquote,tk-slip,.tk-note))>:is(p,ul,ol):where(:not(tk-screen *, tk-note *)){max-width:42rem}
/* Code chips cannot stretch: justified lines around them open rivers, so those paragraphs set ragged. */
body[data-tk-theme] tk-section>p:has(code,kbd,samp):where(:not(tk-screen *, tk-note *)){text-align:left}
body[data-tk-theme] tk-section li:where(:not(tk-screen *, tk-note *)){break-inside:avoid}
body[data-tk-theme] tk-section>h2+p:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section>h2+tk-slip+p:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section>tk-slip+p:where(:not(tk-screen *, tk-note *)){text-indent:0}
body[data-tk-theme] tk-section:first-of-type>h2+p:where(:not(tk-screen *, tk-note *))::first-letter{initial-letter:3;-webkit-initial-letter:3;font-family:var(--bs-head);font-weight:800;font-stretch:75%;color:var(--bs-ink);margin-right:.08em}
/* Section heads: a kicker in small caps over a condensed headline, page numbers A1, A2... */
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *)){position:relative;margin:0 0 1rem;padding:.55rem 0 0;border-top:3px solid var(--bs-ink);box-shadow:0 -6px 0 -5px var(--bs-ink);
  font-family:var(--bs-head);font-weight:800;font-stretch:62.5%;font-size:var(--tk-size-h2);line-height:1;color:var(--bs-ink)}
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *)){padding-right:6rem}
body[data-tk-theme] tk-section:not([unnumbered])>h2:where(:not(tk-screen *, tk-note *))::before{content:"Page A" counter(tk-sec);position:absolute;right:0;top:.75rem;display:block;width:max-content;margin:0;padding:0;vertical-align:baseline;
  font:700 .78rem/1.2 var(--bs-sans);font-stretch:100%;letter-spacing:.18em;text-transform:uppercase;color:var(--bs-red)}
body[data-tk-theme] tk-section:first-of-type:not([unnumbered])>h2:where(:not(tk-screen *, tk-note *))::before{top:.2rem}
body[data-tk-theme] tk-section>h2 .tk-anchor:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-size:.4em;color:var(--bs-muted)}
body[data-tk-theme] tk-section h3:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-head);font-weight:800;font-stretch:75%;font-size:var(--tk-size-h3);line-height:1.05;letter-spacing:0;margin:1.2rem 0 .5rem}
body[data-tk-theme] tk-section:first-of-type>h2:where(:not(tk-screen *, tk-note *)){border-top:0;box-shadow:none;padding-top:0}

/* The slip: a letter to the editor boxed in the column. */
body[data-tk-theme] tk-slip:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-slip[float]:where(:not(tk-screen *, tk-note *)){float:none;width:auto;max-width:none;margin:0 0 1.1rem;padding:0;break-inside:avoid}
body[data-tk-theme] tk-slip:where(:not(tk-screen *, tk-note *))::before{content:none!important}
body[data-tk-theme] tk-slip>.tk-slip-shadow:where(:not(tk-screen *, tk-note *)){filter:none}
body[data-tk-theme] tk-slip .tk-paper:where(:not(tk-screen *, tk-note *)){transform:none;-webkit-mask:none;mask:none;background:var(--bs-dots),var(--bs-tint);border:1px solid var(--bs-ink);border-top:4px solid var(--bs-ink);
  padding:.7rem .9rem .7rem;color:var(--bs-ink);font:italic 400 1.02rem/1.4 var(--bs-head);font-stretch:87.5%}
body[data-tk-theme] tk-slip .tk-paper :is(p,li):where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-slip .tk-paper a:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink)}
body[data-tk-theme] tk-slip .tk-from:where(:not(tk-screen *, tk-note *)){font:700 .78rem/1.2 var(--bs-sans);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--bs-ink);margin-top:.45rem}

/* tk-mark: a reader's highlighter and red pencil on newsprint. */
body[data-tk-theme] tk-mark:is(:not([kind]),[kind="highlight"]):where(:not(tk-screen *, tk-note *)){background:linear-gradient(100deg,transparent .05em,var(--tk-mark-sunflower) .15em calc(100% - .15em),transparent calc(100% - .05em)) 0 60%/100% 72% no-repeat;mix-blend-mode:multiply}
body[data-tk-theme] tk-mark[kind="underline"]:where(:not(tk-screen *, tk-note *)){text-decoration:underline 2px var(--bs-red);text-decoration-style:solid;text-underline-offset:.18em}

/* ============ MARKET DATA BOX (stats) ============ */
body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){position:relative;display:flex;flex-wrap:wrap;gap:0;margin:1.6rem 0 .6rem;padding:.6rem .9rem .6rem;
  background:var(--bs-dots),var(--bs-tint);border:1px solid var(--bs-ink);border-top:5px solid var(--bs-ink)}
body[data-tk-theme] tk-stat:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){flex:1 1 11rem;min-width:0;padding:.55rem .8rem .5rem;border:0;border-left:1px dotted var(--bs-ink);display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-areas:"label" "value" "delta";align-content:start;column-gap:.6rem}
body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){border-left:0;padding-left:0}
body[data-tk-theme] tk-stat .tk-label:where(:not(tk-screen *, tk-note *)){grid-area:label;font:800 .78rem/1.25 var(--bs-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--bs-ink);margin-bottom:.15rem}
body[data-tk-theme] tk-stat .tk-value:where(:not(tk-screen *, tk-note *)){grid-area:value;font:800 2.1rem/1 var(--bs-sans);white-space:nowrap;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;color:var(--bs-ink)}
body[data-tk-theme] tk-stat .tk-delta:where(:not(tk-screen *, tk-note *)){grid-area:delta;font:700 .82rem/1.25 var(--bs-sans);font-variant-numeric:tabular-nums;margin:.3rem 0 0}
body[data-tk-theme] tk-stat .tk-delta:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stat[data-trend] .tk-delta:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink)}
body[data-tk-theme] tk-stat[data-trend] .tk-delta:where(:not(tk-screen *, tk-note *))::before{font-size:.8em;color:#1d5a2e}
body[data-tk-theme] tk-stat[data-trend="down"]:not([good="down"]) .tk-delta:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-stat[data-trend="up"][good="down"] .tk-delta:where(:not(tk-screen *, tk-note *))::before{color:var(--bs-red)}

/* ============ GRAPHICS ============ */
body[data-tk-theme] tk-grid:where(:not(tk-screen *, tk-note *)){column-gap:2.6rem;row-gap:1.6rem;margin:1.2rem 0}
body[data-tk-theme] tk-grid>*:where(:not(tk-screen *, tk-note *)){position:relative}
@media(min-width:641px){body[data-tk-theme] tk-grid>*+*:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;left:-1.3rem;top:0;bottom:0;border-left:1px solid var(--bs-hair)}}
body[data-tk-theme] tk-card:where(:not(tk-screen *, tk-note *)){background:none;border:0;border-top:3px solid var(--bs-ink);box-shadow:0 -6px 0 -5px var(--bs-ink);padding:.6rem 0 0;margin:0}
body[data-tk-theme] tk-card>h3:first-child:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-weight:800;font-stretch:100%;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .1rem}
body[data-tk-theme] tk-chart .tk-title:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-weight:800;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase}
body[data-tk-theme] tk-chart .tk-sub:where(:not(tk-screen *, tk-note *)){font:italic 400 .98rem/1.3 var(--bs-head);font-stretch:87.5%;color:var(--bs-muted);margin:0 0 .3rem}
body[data-tk-theme] tk-chart .tk-canvas:where(:not(tk-screen *, tk-note *)){position:relative}
/* Newsprint screen: a coarse dot grid over the plot so solid ink reads as printed halftone. */
body[data-tk-theme] tk-chart .tk-canvas:where(:not(tk-screen *, tk-note *))::after{content:"";position:absolute;inset:1.6rem .6rem 1.72rem 2.6rem;pointer-events:none;mix-blend-mode:lighten;opacity:.55;
  background:radial-gradient(circle,transparent 0 1.25px,var(--bs-paper) 1.75px) 0 0/4px 4px}
body[data-tk-theme] tk-chart details.tk-fallback summary:where(:not(tk-screen *, tk-note *)){font:700 .78rem/1 var(--bs-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bs-ink)}
body[data-tk-theme] tk-chart table:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-size:.82rem}

/* ============ EDITOR'S NOTE (callouts) ============ */
body[data-tk-theme] tk-callout:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-callout[data-kind]:where(:not(tk-screen *, tk-note *)){max-width:44rem;margin:1.6rem auto;padding:1rem 1.2rem .9rem;background:var(--bs-paper);border:1px solid var(--bs-ink);border-radius:0;
  box-shadow:inset 0 0 0 3px var(--bs-paper),inset 0 0 0 4px var(--bs-ink);font-size:1.02rem}
body[data-tk-theme] tk-callout strong.tk-label:where(:not(tk-screen *, tk-note *)){float:none;display:block;width:max-content;margin:-1.65rem auto .55rem;padding:.1rem .7rem;background:var(--bs-paper);
  transform:none;opacity:1;border:0;font:800 .78rem/1.4 var(--bs-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bs-ink)}
body[data-tk-theme] tk-callout[data-kind="warning"] strong.tk-label:where(:not(tk-screen *, tk-note *))::before{content:"Advisory \00B7  "}
body[data-tk-theme] tk-callout[data-kind="risk"] strong.tk-label:where(:not(tk-screen *, tk-note *)){color:var(--bs-red)}
body[data-tk-theme] tk-callout[data-kind="risk"] strong.tk-label:where(:not(tk-screen *, tk-note *))::before{content:"Bulletin \00B7  "}
body[data-tk-theme] tk-callout p:first-of-type strong:first-child:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink);font-family:var(--bs-sans);font-weight:800;font-size:.85em;letter-spacing:.06em;text-transform:uppercase}
body[data-tk-theme] tk-callout>p:where(:not(tk-screen *, tk-note *)){text-align:left;text-indent:0}

/* ============ STOCK LISTINGS (table) ============ */
body[data-tk-theme] tk-table:where(:not(tk-screen *, tk-note *)){margin:1.8rem 0;border-top:5px solid var(--bs-ink);padding-top:.35rem}
body[data-tk-theme] tk-table table:where(:not(tk-screen *, tk-note *)){font:500 .84rem/1.2 var(--bs-sans);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.005em}
body[data-tk-theme] tk-table thead th:where(:not(tk-screen *, tk-note *)){position:sticky;top:3px;background:var(--bs-paper);font:800 .78rem/1.2 var(--bs-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--bs-ink);
  border-bottom:2px solid var(--bs-ink);padding:.3rem .5rem}
body[data-tk-theme] tk-table th button:where(:not(tk-screen *, tk-note *)){min-height:36px}
body[data-tk-theme] tk-table th button:where(:not(tk-screen *, tk-note *))::after{opacity:.6}
body[data-tk-theme] tk-table :is(th,td):where(:not(tk-screen *, tk-note *)){padding:.28rem .5rem;border-bottom:1px dotted var(--bs-hair)}
body[data-tk-theme] tk-table td+td:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-table th+th:where(:not(tk-screen *, tk-note *)){border-left:1px solid rgba(25,23,19,.16)}
body[data-tk-theme] tk-table tbody td:first-child:where(:not(tk-screen *, tk-note *)){font-weight:800}
body[data-tk-theme] tk-table tbody tr:nth-child(3n):where(:not(tk-screen *, tk-note *)){background:var(--bs-dots),rgba(25,23,19,.04)}
body[data-tk-theme] tk-table tbody tr:hover:where(:not(tk-screen *, tk-note *)){background:rgba(255,214,51,.35)}
body[data-tk-theme] tk-table td.tk-num:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-size:1em}

/* ============ FIELD NOTES: the photo (true colour; data-photo="halftone" screens it), pull quote, wire copy ============ */
body[data-tk-theme] tk-split:where(:not(tk-screen *, tk-note *)){column-gap:2.4rem;position:relative}
@media(min-width:641px){body[data-tk-theme] tk-split>*+*:where(:not(tk-screen *, tk-note *)){border-left:1px solid var(--bs-hair);padding-left:2.4rem;margin-left:-1.2rem}}
body[data-tk-theme] tk-split>div>p:where(:not(tk-screen *, tk-note *)){text-align:justify;hyphens:auto;max-width:none}
body[data-tk-theme] :is(tk-split>div,tk-details details)>p:has(code,kbd,samp):where(:not(tk-screen *, tk-note *)){text-align:left}
body[data-tk-theme] tk-split>div>h3:first-child:where(:not(tk-screen *, tk-note *)){font-size:clamp(1.5rem,1.2rem + 1vw,2.1rem);font-stretch:62.5%;margin-top:0}
body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-taped[at]:where(:not(tk-screen *, tk-note *)){width:auto;max-width:100%;margin:0;padding:0}
body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *))::after{content:none!important}
body[data-tk-theme] tk-taped>.tk-print:where(:not(tk-screen *, tk-note *)){transform:none;background:none;padding:0;box-shadow:none}
body[data-tk-theme] tk-taped>.tk-print:where(:not(tk-screen *, tk-note *))::after{content:none}
body[data-tk-theme] tk-taped img:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-image img:where(:not(tk-screen *, tk-note *)){display:block;width:100%;outline:1px solid var(--bs-ink);outline-offset:0}
body[data-tk-theme][data-photo="halftone"] :is(tk-taped,tk-image):not([data-photo]) img:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] :is(tk-taped,tk-image)[data-photo="halftone"] img:where(:not(tk-screen *, tk-note *)){filter:grayscale(1) contrast(1.35) brightness(1.05);mix-blend-mode:multiply;-webkit-mask:radial-gradient(circle,#000 0 1.5px,rgba(0,0,0,.5) 2.1px,transparent 2.6px) 0 0/4.6px 4.6px,radial-gradient(circle,#000 0 1.5px,rgba(0,0,0,.5) 2.1px,transparent 2.6px) 2.3px 2.3px/4.6px 4.6px;mask:radial-gradient(circle,#000 0 1.5px,rgba(0,0,0,.5) 2.1px,transparent 2.6px) 0 0/4.6px 4.6px,radial-gradient(circle,#000 0 1.5px,rgba(0,0,0,.5) 2.1px,transparent 2.6px) 2.3px 2.3px/4.6px 4.6px}
body[data-tk-theme] :is(tk-taped,tk-image) figcaption:where(:not(tk-screen *, tk-note *)){max-width:none;padding:.2rem 0 .5rem;font:400 .86rem/1.4 var(--bs-sans);color:var(--bs-ink);border-bottom:1px solid var(--bs-ink)}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *)){margin:1.4rem 0;padding:.9rem 0 .7rem;border:0;border-top:3px solid var(--bs-ink);border-bottom:1px solid var(--bs-ink);text-align:center;
  font:italic 700 1.5rem/1.15 var(--bs-head);font-stretch:75%;letter-spacing:-.01em;color:var(--bs-ink)}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *))::before{content:"\201C";display:block;font:900 3.6rem/.5 var(--bs-head);color:var(--bs-red);margin:.4rem 0 .1rem}
body[data-tk-theme] .tk-note:where(:not(tk-screen *, tk-note *)){font:italic 400 .9rem/1.35 var(--bs-head);color:var(--bs-muted)}
body[data-tk-theme] code:not(pre code):where(:not(tk-screen *, tk-note *)){font-size:.84em;background:var(--bs-tint);border-radius:0;padding:.04em .3em;border:1px solid rgba(25,23,19,.18)}
body[data-tk-theme] tk-code pre:where(:not(tk-screen *, tk-note *)){border:1px solid var(--bs-ink);border-top:4px solid var(--bs-ink);background:var(--bs-dots),var(--bs-tint);padding:2.3rem 1.1rem 1rem;font-size:.82rem}
body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *))::before{content:"Wire copy \2014  " attr(language);top:.65rem;left:1.1rem;opacity:1;font:800 .78rem/1 var(--bs-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bs-ink)}
body[data-tk-theme] tk-code .tk-copy:where(:not(tk-screen *, tk-note *)){font:700 .78rem/1 var(--bs-sans);letter-spacing:.14em;text-transform:uppercase;opacity:1}
body[data-tk-theme] tk-details:where(:not(tk-screen *, tk-note *)){border-top:1px solid var(--bs-ink);border-bottom:1px solid var(--bs-ink);margin:0}
body[data-tk-theme] tk-details+tk-details:where(:not(tk-screen *, tk-note *)){border-top:0}
body[data-tk-theme] tk-details:first-of-type:where(:not(tk-screen *, tk-note *)){margin-top:1.6rem}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *)){font:800 .82rem/1.3 var(--bs-sans);letter-spacing:.12em;text-transform:uppercase}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *))::before{content:"\25B8";margin-right:-.4rem;font-size:1.1rem;color:var(--bs-red);transition:transform .2s}
body[data-tk-theme] tk-details details[open]>summary:where(:not(tk-screen *, tk-note *))::before{transform:rotate(90deg)}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *))::after{content:"See inside";font:italic 400 .85rem/1 var(--bs-head);letter-spacing:0;text-transform:none;color:var(--bs-muted);width:auto}
body[data-tk-theme] tk-details details[open]>summary:where(:not(tk-screen *, tk-note *))::after{content:"Fold away"}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *)){justify-content:flex-start}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *))::after{margin-left:auto}
body[data-tk-theme] tk-details details>p:where(:not(tk-screen *, tk-note *)){text-align:justify;max-width:42rem}

/* ============ SECTION FRONT (tk-torn) ============ */
body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *)){transform:none;-webkit-mask:none;mask:none;margin:3rem 0 1.5rem;padding:.5rem 0 .35rem;background:none;color:var(--bs-ink);
  border-top:3px solid var(--bs-ink);border-bottom:1px solid var(--bs-ink);box-shadow:0 -6px 0 -5px var(--bs-ink);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;font:400 clamp(2rem,1.5rem + 2vw,3.2rem)/1.1 "UnifrakturMaguntia",serif;letter-spacing:0}
/* Text in the break sits between two hairlines; an empty break is a fleuron between the rules. */
body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *))::after{content:"";align-self:center;border-top:1px solid var(--bs-hair)}
body[data-tk-theme] tk-torn:empty:where(:not(tk-screen *, tk-note *)){display:block;margin:2.6rem 0 1.4rem;padding:.4rem 0 .3rem;text-align:center}
body[data-tk-theme] tk-torn:empty:where(:not(tk-screen *, tk-note *))::before{content:"\2766";border:0;font:400 1.5rem/1 var(--bs-head);color:var(--bs-red)}
body[data-tk-theme] tk-torn:empty:where(:not(tk-screen *, tk-note *))::after{content:none}

/* ============ READERS' FORUM: coupons, classified controls ============ */
body[data-tk-theme] .tk-controls:where(:not(tk-screen *, tk-note *)){position:relative;column-span:all;gap:1.2rem 2rem;padding:.8rem 1.2rem 1.2rem;margin:1.4rem 0;border:2px dashed var(--bs-ink);background:var(--bs-paper)}
body[data-tk-theme] .tk-controls:where(:not(tk-screen *, tk-note *))::before{content:"\2702  Clip and keep";flex:1 0 100%;
  font:800 .78rem/1.2 var(--bs-sans);letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--bs-ink);padding-bottom:.3rem}
body[data-tk-theme] .tk-field label:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-radio-group legend:where(:not(tk-screen *, tk-note *)){font:800 .8rem/1.2 var(--bs-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--bs-ink)}
body[data-tk-theme] .tk-field output:where(:not(tk-screen *, tk-note *)){font:800 1rem/1 var(--bs-sans);color:var(--bs-red)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-runnable-track{height:3px;border-radius:0;background:linear-gradient(90deg,var(--bs-ink) var(--tk-fill),rgba(25,23,19,.25) var(--tk-fill))}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-thumb{width:14px;height:22px;margin-top:-10px;border-radius:0;background:var(--bs-ink);border:2px solid var(--bs-paper);box-shadow:0 0 0 1px var(--bs-ink)}
body[data-tk-theme] input[type="range"]:focus-visible:where(:not(tk-screen *, tk-note *))::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--bs-ink),0 0 0 4px var(--bs-red)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-moz-range-thumb{width:12px;height:20px;border-radius:0;background:var(--bs-ink)}
body[data-tk-theme] :is(tk-select select,tk-search input,tk-number input,tk-date input,.tk-feedback :is(textarea,input[type="text"],input[type="number"],select)):where(:not(tk-screen *, tk-note *)){
  border:1px solid var(--bs-ink);border-radius:0;background-color:#f6f1e4;font-family:var(--bs-sans);font-weight:600;box-shadow:2px 2px 0 var(--bs-ink)}
body[data-tk-theme] :is(tk-select select,tk-search input,.tk-feedback :is(textarea,input,select)):focus:where(:not(tk-screen *, tk-note *)){border-color:var(--bs-ink);box-shadow:2px 2px 0 var(--bs-ink),0 0 0 3px var(--bs-red)}
body[data-tk-theme] tk-select select:where(:not(tk-screen *, tk-note *)){background-image:linear-gradient(45deg,transparent 50%,var(--bs-ink) 50%),linear-gradient(135deg,var(--bs-ink) 50%,transparent 50%)}
body[data-tk-theme] tk-toggle button:where(:not(tk-screen *, tk-note *)){font:700 .8rem/1.2 var(--bs-sans);letter-spacing:.1em;text-transform:uppercase}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *)){border-radius:0;background:#f6f1e4;border:1.5px solid var(--bs-ink);height:1.4rem}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *))::after{border-radius:0;top:.14rem;left:.15rem;width:.9rem;height:.9rem;background:var(--bs-ink);box-shadow:none}
body[data-tk-theme] tk-toggle [aria-checked="true"] .tk-track:where(:not(tk-screen *, tk-note *)){background:var(--bs-ink)}
body[data-tk-theme] tk-toggle [aria-checked="true"] .tk-track:where(:not(tk-screen *, tk-note *))::after{background:#f6f1e4;transform:translateX(1.12rem)}
body[data-tk-theme] tk-toggle button:focus-visible:where(:not(tk-screen *, tk-note *)){outline:2px solid var(--bs-red);outline-offset:4px}
body[data-tk-theme] tk-radio-group label:where(:not(tk-screen *, tk-note *)){border:1px solid var(--bs-ink);border-radius:0!important;background:#f6f1e4;font:700 .8rem/1.2 var(--bs-sans);letter-spacing:.08em;text-transform:uppercase}
body[data-tk-theme] tk-radio-group label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:var(--bs-ink);border-color:var(--bs-ink);color:#f6f1e4}
body[data-tk-theme] tk-radio-group label:hover:where(:not(tk-screen *, tk-note *)){background:var(--bs-tint)}
body[data-tk-theme] tk-radio-group label:has(input:checked):hover:where(:not(tk-screen *, tk-note *)){background:var(--bs-ink)}
body[data-tk-theme] tk-radio-group label:has(input:focus-visible):where(:not(tk-screen *, tk-note *)){outline:2px solid var(--bs-red);outline-offset:2px}
body[data-tk-theme] tk-text:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-sans);font-weight:800;font-variant-numeric:tabular-nums}
body[data-tk-theme] tk-section#reply>p:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section:has(.tk-controls)>p:where(:not(tk-screen *, tk-note *)){column-span:all;text-align:left;text-indent:0;font-size:1.08rem}
/* The reply form: a clip-out reader poll coupon. */
body[data-tk-theme] .tk-feedback:where(:not(tk-screen *, tk-note *)){position:relative;max-width:40rem;border:2px dashed var(--bs-ink);border-radius:0;background:var(--bs-paper);box-shadow:none;padding:1.4rem 1.4rem 1.1rem;margin:2.2rem 0 1rem}
body[data-tk-theme] .tk-feedback:where(:not(tk-screen *, tk-note *))::before{content:"\2702";position:absolute;top:-.95rem;left:1.2rem;font-size:1.3rem;line-height:1;background:var(--bs-paper);padding:0 .3rem;color:var(--bs-ink)}
body[data-tk-theme] .tk-feedback h3:where(:not(tk-screen *, tk-note *)){font-family:var(--bs-head);font-weight:800;font-stretch:62.5%;font-size:1.7rem;line-height:1;margin:0 0 .9rem}
/* Questions read as small headlines, more prominent than the answers under them. */
body[data-tk-theme] .tk-feedback :is(legend,label:not(fieldset label)):where(:not(tk-screen *, tk-note *)){font:800 1.12rem/1.2 var(--bs-head);font-stretch:75%;letter-spacing:0;color:var(--bs-ink)}
body[data-tk-theme] .tk-feedback fieldset label:where(:not(tk-screen *, tk-note *)){border:1px solid var(--bs-ink);border-top-width:0;background:#f6f1e4;font-family:var(--bs-sans);font-weight:600;border-radius:0!important}
body[data-tk-theme] .tk-feedback fieldset legend+label:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] .tk-feedback fieldset>label:first-child:where(:not(tk-screen *, tk-note *)){border-top-width:1px}
body[data-tk-theme] .tk-feedback fieldset label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:var(--bs-tint)}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *)){border:1.5px solid var(--bs-ink);border-radius:50%}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *))::before{border-radius:50%;background:var(--bs-ink)}
body[data-tk-theme] .tk-feedback input[type="radio"]:checked:where(:not(tk-screen *, tk-note *)){border-color:var(--bs-ink)}
body[data-tk-theme] .tk-feedback button.tk-submit:where(:not(tk-screen *, tk-note *)){background:var(--bs-ink);color:#f6f1e4;border:0;border-radius:0;font:800 .78rem/1 var(--bs-sans);letter-spacing:.16em;text-transform:uppercase;padding:.9rem 1.3rem}
body[data-tk-theme] .tk-feedback button.tk-submit:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){background:var(--bs-red);filter:none}
body[data-tk-theme] .tk-feedback>.tk-note:where(:not(tk-screen *, tk-note *)){font:500 .8rem/1.4 var(--bs-sans);border-top:1px dotted var(--bs-ink);color:var(--bs-muted)}
body[data-tk-theme] tk-progress:where(:not(tk-screen *, tk-note *)){height:4px;background:var(--bs-ink)}
body[data-tk-theme] tk-progress i:where(:not(tk-screen *, tk-note *)){background:var(--bs-red)}

/* ============ PHONE: the paper's app front ============ */
@media(max-width:900px){
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){grid-template-columns:minmax(0,1fr);grid-template-areas:"np" "date" "head" "dek" "flag"}
  body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *))::after{display:none}
  body[data-tk-theme] tk-hero>tk-stamp:where(:not(tk-screen *, tk-note *)){grid-area:flag;justify-self:center;margin-top:1rem}
  body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.2rem .6rem;font-size:1rem;padding:.4rem .7rem}
  body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{border:0;padding:0;margin:0;align-self:auto}
}
@media(max-width:640px){
  body[data-tk-theme]{background:var(--bs-paper)}
  body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){margin:0;box-shadow:none;padding:.6rem 1rem 3rem;background-image:radial-gradient(120% 90% at 50% 40%,transparent 62%,rgba(150,112,40,.16) 100%),url("/kit/1.8.0/textures/fibre.svg")}
  body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){background-size:auto,256px 256px;background-blend-mode:multiply,multiply}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{font-size:clamp(1.7rem,9vw,2.6rem);padding-top:.25em}
  body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *)){font-size:.78rem;letter-spacing:.08em;padding:.42rem 0 .36rem}
  body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::after{position:static;display:block}
  body[data-tk-theme] tk-hero h1:where(:not(tk-screen *, tk-note *)){font-size:clamp(2.3rem,11vw,3.2rem)!important;line-height:.95;margin-top:1rem!important}
  body[data-tk-theme] tk-section>p:where(:not(tk-screen *, tk-note *)){text-align:left;hyphens:auto}
  body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){padding-left:.7rem;padding-right:.7rem}
  body[data-tk-theme] tk-stat:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "value delta";align-items:baseline;padding:.5rem 0;border-left:0;border-top:1px dotted var(--bs-ink)}
  body[data-tk-theme] tk-stat .tk-delta:where(:not(tk-screen *, tk-note *)){text-align:right;max-width:8rem}
  body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){border-top:0}
  body[data-tk-theme] tk-stats>tk-stat:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){flex-basis:100%}
  body[data-tk-theme] tk-stat .tk-value:where(:not(tk-screen *, tk-note *)){font-size:1.6rem}
  body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *)){grid-template-columns:1fr;text-align:center;gap:.2rem}
  body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *))::after{text-align:center}
  body[data-tk-theme] tk-split>div>p:where(:not(tk-screen *, tk-note *)){text-align:left}
  body[data-tk-theme] .tk-controls:where(:not(tk-screen *, tk-note *)){padding:.8rem .9rem 1rem}
  body[data-tk-theme] tk-table table:where(:not(tk-screen *, tk-note *)){font-size:.82rem}
  /* Stacked cards: plain paper, no column rules or banding inside a card. */
  body[data-tk-theme] tk-table[stack] tbody tr:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-table[stack] tbody tr:nth-child(3n):where(:not(tk-screen *, tk-note *)){background:var(--bs-paper)}
  body[data-tk-theme] tk-table[stack] td+td:where(:not(tk-screen *, tk-note *)){border-left:0}
  body[data-tk-theme] tk-table[stack] td:where(:not(tk-screen *, tk-note *))::before{font-family:var(--bs-sans);font-weight:600;font-size:.8rem;letter-spacing:.02em;color:var(--bs-muted)}
}
@media(prefers-reduced-motion:reduce){body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){animation:none}}
@media print{body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){box-shadow:none;margin:0}}

/* ============ KNOBS ============
   Text on body: --bs-nameplate, --bs-ear-left (motto), --bs-ear-right (edition, shown with a stamp), --bs-weather (right ear without a stamp),
   --bs-vol, --bs-price; --bs-nameplate-size (default 1) shrinks a long nameplate. data-columns="1|2|3|4" on body or a tk-section. data-nameplate="blackletter|modern". data-paper="newsprint|white|salmon". */
body[data-tk-theme][data-columns="1"],body[data-tk-theme] tk-section[data-columns="1"]:where(:not(tk-screen *, tk-note *)){--bs-cols:1}
body[data-tk-theme][data-columns="2"],body[data-tk-theme] tk-section[data-columns="2"]:where(:not(tk-screen *, tk-note *)){--bs-cols:2}
body[data-tk-theme][data-columns="3"],body[data-tk-theme] tk-section[data-columns="3"]:where(:not(tk-screen *, tk-note *)){--bs-cols:3}
body[data-tk-theme][data-columns="4"],body[data-tk-theme] tk-section[data-columns="4"]:where(:not(tk-screen *, tk-note *)){--bs-cols:4}
/* An explicit data-columns on a section asks for columns whatever it holds. */
body[data-tk-theme] tk-section[data-columns]:not([data-columns="1"]):where(:not(tk-screen *, tk-note *)){columns:var(--bs-cols) 17rem;column-gap:2.2rem;column-rule:1px solid var(--bs-hair);column-fill:balance}
body[data-tk-theme] tk-section[data-columns="1"]:where(:not(tk-screen *, tk-note *)),body[data-tk-theme][data-columns="1"] tk-section:not([data-columns]):where(:not(tk-screen *, tk-note *)){columns:auto}
body[data-tk-theme] tk-section[data-columns="1"]>p:where(:not(tk-screen *, tk-note *)),body[data-tk-theme][data-columns="1"] tk-section:not([data-columns])>p:where(:not(tk-screen *, tk-note *)){max-width:var(--tk-measure,40rem)}
body[data-tk-theme][data-nameplate="modern"] tk-hero:where(:not(tk-screen *, tk-note *))::before{font:800 calc(min(4.3vw,5rem) * var(--bs-nameplate-size,1))/1.05 var(--bs-head);font-stretch:62.5%;letter-spacing:.03em;text-transform:uppercase;text-shadow:none}
body[data-tk-theme][data-nameplate="modern"] tk-torn:where(:not(tk-screen *, tk-note *)){font:800 clamp(1.8rem,1.3rem + 1.8vw,2.8rem)/1.1 var(--bs-head);font-stretch:62.5%;letter-spacing:.06em;text-transform:uppercase}
body[data-tk-theme][data-paper="white"]{--bs-paper:#f7f5ef;--bs-tint:#ebe7dc;--tk-bg:#2e2c29}
body[data-tk-theme][data-paper="salmon"]{--bs-paper:#f8e2cf;--bs-tint:#efcfb6;--bs-hair:#a98d78;--tk-bg:#3b2f28}
@media(max-width:640px){body[data-tk-theme][data-nameplate="modern"] tk-hero:where(:not(tk-screen *, tk-note *))::before{font-size:calc(8.4vw * var(--bs-nameplate-size,1))}}
/* 1.7.0: answers that join a form: ruled poll boxes in the column; only the form that sends them is a clip-out coupon. */
/* A joined question is a reader-poll box (a heavy rule over, a hairline under, no scissors); its state reads as a sans
   kicker with a square bullet, its jump to Send as an italic jump line; the coupon counts on a square ink bar. */
body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *)){border:0;border-top:3px solid var(--bs-ink);border-bottom:1px solid var(--bs-ink);padding:.9rem 0 .2rem;margin:1.9rem 0 1.2rem}
body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] .tk-feedback.tk-joined h3:where(:not(tk-screen *, tk-note *)){font-size:1.45rem;margin-bottom:.75rem}
body[data-tk-theme] .tk-feedback h3>.tk-required:where(:not(tk-screen *, tk-note *)){color:var(--bs-muted);font:italic 400 .62em/1 var(--bs-serif);font-stretch:100%}
body[data-tk-theme] .tk-feedback.tk-joined[data-tk-answer="missing"]:where(:not(tk-screen *, tk-note *)){outline:0;border-top-color:var(--bs-red);border-bottom-color:var(--bs-red);box-shadow:inset 4px 0 0 var(--bs-red);padding-left:1rem}
body[data-tk-theme] .tk-feedback.tk-joined.tk-answer-flash:where(:not(tk-screen *, tk-note *)){box-shadow:0 0 0 4px var(--bs-paper),0 0 0 6px var(--bs-ink)}
body[data-tk-theme] .tk-feedback.tk-joined[data-tk-answer="missing"].tk-answer-flash:where(:not(tk-screen *, tk-note *)){box-shadow:inset 4px 0 0 var(--bs-red),0 0 0 4px var(--bs-paper),0 0 0 6px var(--bs-red)}
/* the state: a small-caps kicker with a square bullet */
body[data-tk-theme] .tk-feedback>.tk-answer-state:where(:not(tk-screen *, tk-note *)){max-width:none;margin-top:.6rem;color:var(--bs-muted);font:700 .74rem/1.3 var(--bs-sans);letter-spacing:.12em;text-transform:uppercase}
body[data-tk-theme] .tk-feedback .tk-answer-dot:where(:not(tk-screen *, tk-note *)){width:.62rem;height:.62rem;border:1.5px solid currentColor;border-radius:0}
body[data-tk-theme] .tk-feedback:is([data-tk-answer="answered"],[data-tk-answer="sent"])>.tk-answer-state:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink)}
body[data-tk-theme] .tk-feedback:is([data-tk-answer="answered"],[data-tk-answer="sent"]) .tk-answer-dot:where(:not(tk-screen *, tk-note *)){border-color:var(--bs-ink);background:var(--bs-ink)}
body[data-tk-theme] .tk-feedback[data-tk-answer="sent"] .tk-answer-dot:where(:not(tk-screen *, tk-note *)){background:transparent;box-shadow:inset 0 0 0 2px var(--bs-paper),inset 0 0 0 4px var(--bs-ink)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"]>.tk-answer-state:where(:not(tk-screen *, tk-note *)){color:var(--bs-red)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"] .tk-answer-dot:where(:not(tk-screen *, tk-note *)){border-color:var(--bs-red);background:var(--bs-red)}
/* "Go to Send" is a jump line: italic serif, the way a story continues on another page */
body[data-tk-theme] .tk-feedback .tk-answer-go:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink);font:italic 600 .98rem/1.2 var(--bs-serif);letter-spacing:0;text-transform:none;text-decoration-thickness:1px;text-underline-offset:3px}
body[data-tk-theme] .tk-feedback .tk-answer-go:hover:where(:not(tk-screen *, tk-note *)){color:var(--bs-red)}
/* the coupon's count, bar and open answers */
body[data-tk-theme] .tk-answers-count:where(:not(tk-screen *, tk-note *)){color:var(--bs-ink);font:500 1rem/1.4 var(--bs-serif)}
body[data-tk-theme] .tk-answers-count strong:where(:not(tk-screen *, tk-note *)){font:800 1.15em/1 var(--bs-sans);font-variant-numeric:tabular-nums lining-nums}
body[data-tk-theme] .tk-answers-bar:where(:not(tk-screen *, tk-note *)){height:.7rem;border:1px solid var(--bs-ink);border-radius:0;background:#f6f1e4}
body[data-tk-theme] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){background:var(--bs-ink)}
body[data-tk-theme] .tk-answers[data-tk-answers="all"] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){background:var(--tk-positive)}
body[data-tk-theme] .tk-answers-open:where(:not(tk-screen *, tk-note *)){color:var(--bs-muted);font:700 .7rem/1.3 var(--bs-sans);letter-spacing:.14em;text-transform:uppercase}
body[data-tk-theme] .tk-answers-jump:where(:not(tk-screen *, tk-note *)){border:1px solid var(--bs-ink);border-radius:0;background:#f6f1e4;color:var(--bs-ink);font:600 .95rem/1.25 var(--bs-serif);letter-spacing:0;text-transform:none;box-shadow:2px 2px 0 var(--bs-ink)}
body[data-tk-theme] .tk-answers-jump:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){background:var(--bs-tint);color:var(--bs-red)}
body[data-tk-theme] .tk-answers-jump.tk-answers-must:where(:not(tk-screen *, tk-note *)){border-width:2px;padding:calc(.4rem - 1px) calc(.85rem - 1px)}
body[data-tk-theme] .tk-answers-req:where(:not(tk-screen *, tk-note *)){color:var(--bs-muted);font-style:italic;font-weight:400}
body[data-tk-theme] .tk-feedback .tk-scale button[aria-pressed="true"]:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){background:var(--tk-accent);color:var(--tk-accent-ink)}
/* forced colours: open dots stay hollow, answered and missing fill, the bar and buttons keep their edges */
@media(forced-colors:active){body[data-tk-theme] .tk-feedback .tk-answer-dot:where(:not(tk-screen *, tk-note *)){forced-color-adjust:none;border-color:CanvasText;background:Canvas;box-shadow:none;clip-path:none;border-radius:50%}
  body[data-tk-theme] .tk-feedback:is([data-tk-answer="answered"],[data-tk-answer="sent"],[data-tk-answer="missing"]) .tk-answer-dot:where(:not(tk-screen *, tk-note *)){background:CanvasText}
  body[data-tk-theme] .tk-feedback.tk-joined[data-tk-answer="missing"]:where(:not(tk-screen *, tk-note *)){outline:2px solid Mark;outline-offset:3px}
  body[data-tk-theme] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){forced-color-adjust:none;background:CanvasText}
  body[data-tk-theme] :is(.tk-feedback .tk-answer-go,.tk-answers-jump):where(:not(tk-screen *, tk-note *)){border:1px solid ButtonText}}
