/* Tacksheet sheet kit 1.8.0 - built-in style Glossy (glossy), on the none kit theme.
   Link it after the kit stylesheet with body data-tk-theme="none" data-tk-style="glossy".
   Fonts: /kit/1.8.0/fonts/LICENSES-styles.txt. */
/* Glossy: a high-fashion editorial magazine. A Didone masthead, cover lines, numbered features,
   folios and running heads, a by-the-numbers spread, a full-bleed photograph, one lipstick red. */
@font-face{font-family:"Bodoni Moda";src:url(/kit/1.8.0/fonts/bodoni-moda-400-900.woff2) format("woff2");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/kit/1.8.0/fonts/bodoni-moda-400-900-italic.woff2) format("woff2");font-style:italic;font-weight:400 900;font-display:swap}
@font-face{font-family:"Jost";src:url(/kit/1.8.0/fonts/jost-300-700.woff2) format("woff2");font-style:normal;font-weight:300 700;font-display:swap}

body[data-tk-theme]{
  --gl-paper:#fdfcfa;--gl-ink:#111010;--gl-muted:#5c5752;--gl-red:var(--glossy-accent,#c0112d);--gl-champagne:#c8b17d;--gl-champagne-text:#7d6638;--gl-hair:#d9d3c9;--gl-blush:#f4ece6;
  --gl-masthead:"Tacksheet";--gl-card:#ffffff;--gl-night:#111010;--gl-night-ink:#fdfcfa;
  --gl-issue:"";
  --gl-didone:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;
  --gl-sans:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --tk-bg:var(--gl-paper);--tk-bg-soft:var(--gl-blush);--tk-fg:var(--gl-ink);--tk-muted:var(--gl-muted);
  --tk-accent:var(--gl-red);--tk-accent-2:var(--gl-red);--tk-accent-ink:#ffffff;
  --tk-card:var(--gl-paper);--tk-border:var(--gl-hair);--tk-rule:var(--gl-ink);--tk-mark:rgba(192,17,45,.05);
  --tk-field:#ffffff;--tk-control:var(--gl-ink);--tk-positive:#1f5e3b;--tk-negative:var(--gl-red);
  --tk-note:var(--gl-ink);--tk-tip:var(--gl-ink);--tk-warning:var(--gl-champagne-text);--tk-decision:var(--gl-red);--tk-risk:var(--gl-red);
  --tk-font-head:var(--gl-didone);--tk-font-body:var(--gl-didone);--tk-font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --tk-font-data:var(--gl-sans);--tk-font-hand:var(--gl-didone);
  --tk-head-weight:400;--tk-head-tracking:-.02em;--tk-head-leading:.96;
  --tk-size-body:1.1rem;--tk-size-h1:clamp(3rem,1.2rem + 6.6vw,8.4rem);--tk-size-h2:clamp(2.3rem,1.3rem + 3vw,4.4rem);--tk-size-h3:1.55rem;
  --tk-radius:0px;--tk-chart-radius:0;--tk-grid:rgba(17,16,16,.08);--tk-shadow:none;
  --tk-code-bg:#111010;--tk-code-fg:#f3eee6;--tk-tok-k:#ff8a9b;--tk-tok-s:#e3cf9c;--tk-tok-c:#a39d94;--tk-tok-n:#ffd2a8;--tk-tok-f:#ffffff;
  --tk-c1:#111010;--tk-c2:#c0112d;--tk-c3:#b89a58;--tk-c4:#8c8278;--tk-c5:#e3a3a9;--tk-c6:#4a4440;--tk-c7:#d8c9a6;--tk-c8:#7a1b2a;
  --tk-ramp:#f6efe7,#e5cfc6,#d08c92,#a3243b,#4a0d18;
  --tk-film:multiply;--tk-paper-obj:#ffffff;--tk-kraft:var(--gl-blush);
  --tk-ink-cobalt:var(--gl-ink);--tk-ink-vermilion:var(--gl-red);--tk-ink-plum:#5a2a35;--tk-ink-black:var(--gl-ink);
  --tk-stamp-cobalt:var(--gl-red);--tk-stamp-vermilion:var(--gl-red);--tk-stamp-plum:var(--gl-red);
  --tk-mark-sunflower:rgba(228,180,180,.45);--tk-measure:36rem;
  --tk-page-width:min(max(43rem,82vw),84rem);
  background:var(--gl-paper);font-optical-sizing:auto;line-height:1.72;overflow-x:clip;
  font-variant-numeric:lining-nums;
}
body[data-tk-theme] :where(:not(tk-screen *, tk-note *))::selection{background:var(--gl-red);color:#fff}
body[data-tk-theme] :focus-visible:where(:not(tk-screen *, tk-note *)){outline:1.5px solid var(--gl-red);outline-offset:4px;border-radius:0}
body[data-tk-theme] a:where(:not(tk-screen *, tk-note *)){color:var(--gl-ink);text-decoration:underline;text-decoration-color:var(--gl-red);text-decoration-thickness:1px;text-underline-offset:.22em}
body[data-tk-theme] a:hover:where(:not(tk-screen *, tk-note *)){color:var(--gl-red)}
body[data-tk-theme] strong:where(:not(tk-screen *, tk-note *)){font-weight:600}
body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){counter-reset:tk-sec gl-folio 36;padding-top:0}

/* Running head: the magazine's name, the issue and the folio, set in tiny caps between hairlines. */
body[data-tk-theme] tk-progress:where(:not(tk-screen *, tk-note *)){height:2px;background:transparent}
body[data-tk-theme] tk-progress i:where(:not(tk-screen *, tk-note *)){background:var(--gl-red)}

/* ============ THE COVER ============ */
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){container-type:inline-size;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.2rem 0 1rem;margin:0 0 1.2rem;border:0}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::after{content:"";position:static;display:block;order:9;width:1px;height:2.2rem;margin-top:2rem;border:0;background:var(--gl-ink)}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{content:var(--gl-masthead);order:-2;display:block;width:100%;font:400 16.4cqi/.8 var(--gl-didone);font-variation-settings:"opsz" 96;
  letter-spacing:-.035em;text-transform:uppercase;color:var(--gl-ink);margin:1.2rem 0 2.6rem;padding-bottom:.9rem;border-bottom:1px solid var(--gl-ink);white-space:nowrap}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *)){order:5;display:flex;justify-content:center;gap:.6rem 1.6rem;flex-wrap:wrap;margin:2rem 0 0;padding:0;width:auto;
  border:0;font:500 .8rem/1.5 var(--gl-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gl-ink)}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *)){margin:0;width:100%}
body[data-tk-theme] tk-hero h1:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-hero tk-tape-title>h1:where(:not(tk-screen *, tk-note *)){display:block!important;max-width:15ch!important;margin:0 auto!important;padding:0!important;color:var(--gl-ink)!important;
  font-family:var(--gl-didone)!important;font-weight:400;font-size:var(--tk-size-h1)!important;line-height:.9;letter-spacing:-.035em;font-variation-settings:"opsz" 96;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 0 .04em!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 h1 .tk-tape-line:nth-child(even):where(:not(tk-screen *, tk-note *)){font-style:italic;letter-spacing:-.03em}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *)){max-width:34rem;margin:2.4rem auto 0;font:italic 400 clamp(1.2rem,1rem + .7vw,1.6rem)/1.45 var(--gl-didone);color:var(--gl-ink);text-wrap:balance}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *))::before{content:"";display:block;width:2.6rem;height:2px;background:var(--gl-red);margin:0 auto 1.6rem}
/* The stamp: a round seal in red, set like a cover flash. */
body[data-tk-theme] tk-hero>tk-stamp:where(:not(tk-screen *, tk-note *)){position:absolute;right:0;top:clamp(10rem,24vw,22rem);margin:0}
body[data-tk-theme] tk-stamp:where(:not(tk-screen *, tk-note *)){--stamp:var(--gl-red)}
body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;width:8.6rem;aspect-ratio:1;padding:1rem;border-radius:50%;
  border:1px solid var(--gl-red);outline:1px solid var(--gl-red);outline-offset:-6px;background:rgba(253,252,250,.9);color:var(--gl-red);transform:rotate(var(--tilt,-6deg));
  -webkit-mask:none;mask:none;mix-blend-mode:normal;opacity:1;font:italic 400 1.45rem/1 var(--gl-didone);letter-spacing:0;text-transform:none;animation:gl-reveal 1.2s cubic-bezier(.2,.7,.2,1) .4s both}
body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] tk-stamp .tk-stamp-date:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.1 var(--gl-sans);letter-spacing:.12em;text-transform:uppercase}
@keyframes gl-reveal{from{opacity:0;transform:rotate(var(--tilt,-6deg)) scale(.92)}to{opacity:1;transform:rotate(var(--tilt,-6deg)) scale(1)}}
body[data-tk-theme] tk-hero>*:not(tk-stamp):where(:not(tk-screen *, tk-note *)){animation:gl-rise 1.1s cubic-bezier(.2,.7,.2,1) both}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *)){animation-delay:.25s}
@keyframes gl-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ============ FEATURES ============ */
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){margin:calc(3.2rem * var(--gl-air,1)) 0 calc(2.6rem * var(--gl-air,1));counter-increment:gl-folio 2}
body[data-tk-theme] tk-section>*:where(:not(tk-screen *, tk-note *)){margin-left:auto;margin-right:auto}
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *)){text-align:center;border:0;padding:0;margin:0 auto calc(1.7rem * var(--gl-air,1));max-width:16ch;font-weight:400;font-variation-settings:"opsz" 96;line-height:.95;letter-spacing:-.03em}
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *))::after{content:"";display:block;width:2.6rem;height:2px;background:var(--gl-red);margin:calc(1.1rem * var(--gl-air,1)) auto 0}
body[data-tk-theme] tk-section>h2 .tk-anchor:where(:not(tk-screen *, tk-note *)){display:none}
body[data-tk-theme] tk-section h3:where(:not(tk-screen *, tk-note *)){font-family:var(--gl-didone);font-weight:400;font-style:italic;font-size:var(--tk-size-h3);letter-spacing:-.01em;line-height:1.1}
body[data-tk-theme] tk-section>h3:where(:not(tk-screen *, tk-note *)){max-width:var(--tk-measure)}
body[data-tk-theme] tk-section>p:where(:not(tk-screen *, tk-note *)){max-width:var(--tk-measure);font-size:1.1rem}
/* Lists read at the body size, and an item never breaks across a column. */
body[data-tk-theme] tk-section>:is(ul,ol):where(:not(tk-screen *, tk-note *)){font-size:1.1rem}
body[data-tk-theme] li:where(:not(tk-screen *, tk-note *)){break-inside:avoid}
/* The lede: a red Didone initial and the first line in letter-spaced caps. */
body[data-tk-theme] tk-section>h2+p:where(:not(tk-screen *, tk-note *))::first-letter,body[data-tk-theme] tk-section>h2+tk-slip+p:where(:not(tk-screen *, tk-note *))::first-letter{initial-letter:3;-webkit-initial-letter:3;font-family:var(--gl-didone);font-weight:400;color:var(--gl-red);margin-right:.12em;font-variation-settings:"opsz" 96}
/* The capitalised first line skips ledes holding code: ::first-line would uppercase case-sensitive paths. */
body[data-tk-theme] tk-section>:is(h2+p,h2+tk-slip+p):not(:has(code,kbd,samp)):where(:not(tk-screen *, tk-note *))::first-line{letter-spacing:.12em;text-transform:uppercase}
/* Folios: the magazine's name (and the issue, only when the author names one) at the foot of every feature,
   left on even pages, right on odd. No invented page numbers. */
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::after{content:var(--gl-masthead) "\2003" var(--gl-issue);display:block;margin:calc(1.7rem * var(--gl-air,1)) 0 0;padding-top:.7rem;border-top:1px solid var(--gl-hair);column-span:all;
  font:500 .78rem/1.2 var(--gl-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gl-muted);text-align:left}
body[data-tk-theme] tk-section:nth-of-type(even):where(:not(tk-screen *, tk-note *))::after{text-align:right}

/* The slip: a card from the editor, in her italic. */
body[data-tk-theme] tk-slip:where(:not(tk-screen *, tk-note *)){max-width:20rem;--tilt:0deg;padding:0}
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(--gl-blush);padding:1.6rem 1.5rem 1.3rem;border-top:3px solid var(--gl-champagne);
  color:var(--gl-ink);font:italic 400 1.18rem/1.45 var(--gl-didone)}
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(--gl-ink)}
body[data-tk-theme] tk-slip .tk-from:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.3 var(--gl-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gl-muted);margin-top:1rem;text-align:left}
@media(min-width:900px){body[data-tk-theme] tk-slip[float="right"]:where(:not(tk-screen *, tk-note *)){margin:.2rem 0 2rem 3rem}}
body[data-tk-theme] tk-mark:is(:not([kind]),[kind="highlight"]):where(:not(tk-screen *, tk-note *)){background:none;padding:0;margin:0;border-radius:0;font-style:italic;color:var(--gl-red)}
body[data-tk-theme] tk-mark[kind="underline"]:where(:not(tk-screen *, tk-note *)){text-decoration:underline 1px var(--gl-red);text-underline-offset:.3em}

/* ============ BY THE NUMBERS ============ */
body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));margin:calc(2.4rem * var(--gl-air,1)) auto .6rem;padding:calc(2.2rem * var(--gl-air,1)) 0 0;border:0;border-top:1px solid var(--gl-ink);max-width:none}
body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *))::before{content:"By the Numbers";position:absolute;top:-.85rem;left:50%;transform:translateX(-50%);background:var(--gl-paper);padding:0 1.4rem;
  font:italic 400 1.5rem/1.1 var(--gl-didone);color:var(--gl-ink);white-space:nowrap}
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 *)){padding:0 1.6rem 1rem;border:0;text-align:center;border-left:1px solid var(--gl-hair);container-type:inline-size;min-width:0}
body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *)){border-left:0}
/* The figure is sized to its own column so long values never run into the next one. */
body[data-tk-theme] tk-stat .tk-value:where(:not(tk-screen *, tk-note *)){font:400 clamp(2.2rem,19cqi,6.4rem)/.95 var(--gl-didone);font-variation-settings:"opsz" 96;letter-spacing:-.04em;margin:0 0 1rem;white-space:normal;text-wrap:balance;overflow-wrap:anywhere;color:var(--gl-ink)}
body[data-tk-theme] tk-stats>tk-stat:nth-child(even) .tk-value:where(:not(tk-screen *, tk-note *)){font-style:italic;color:var(--gl-red)}
body[data-tk-theme] tk-stat .tk-label:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.45 var(--gl-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gl-ink)}
body[data-tk-theme] tk-stat .tk-delta:where(:not(tk-screen *, tk-note *)){font:italic 400 .98rem/1.3 var(--gl-didone);color:var(--gl-muted)!important;margin-top:.4rem}
body[data-tk-theme] tk-stat[data-trend] .tk-delta:where(:not(tk-screen *, tk-note *))::before{content:none}

/* ============ CHARTS, CARDS ============ */
body[data-tk-theme] tk-grid:where(:not(tk-screen *, tk-note *)){gap:3rem;margin:calc(2rem * var(--gl-air,1)) 0;max-width:none}
body[data-tk-theme] tk-card:where(:not(tk-screen *, tk-note *)){border:0;background:none;box-shadow:none;padding:1.4rem 0 0;border-top:1px solid var(--gl-ink);margin:0}
body[data-tk-theme] tk-card>h3:first-child:where(:not(tk-screen *, tk-note *)){font:400 1.7rem/1.1 var(--gl-didone);font-style:italic;letter-spacing:-.015em;margin:0 0 .3rem}
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){counter-reset:gl-fig}
body[data-tk-theme] tk-chart .tk-title:where(:not(tk-screen *, tk-note *)){font:italic 400 1.4rem/1.15 var(--gl-didone)}
body[data-tk-theme] tk-chart .tk-sub:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.5 var(--gl-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gl-muted);margin:0 0 .6rem}
body[data-tk-theme] tk-chart details.tk-fallback summary:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.2 var(--gl-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gl-ink)}
body[data-tk-theme] tk-chart table:where(:not(tk-screen *, tk-note *)){font-family:var(--gl-sans);font-size:.85rem}

/* ============ CALLOUTS: the standfirst between hairlines ============ */
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:40rem;margin:calc(1.7rem * var(--gl-air,1)) auto;padding:1.15rem 1rem 1.2rem;border-top-width:2px!important;background:none;border:0;border-top:1px solid var(--gl-ink);border-bottom:1px solid var(--gl-ink);
  border-radius:0;box-shadow:none;text-align:left;font:italic 400 1.3rem/1.5 var(--gl-didone);text-wrap:pretty}
/* A short, plain callout is the centred standfirst; one with code, a list or several paragraphs reads from the left. */
body[data-tk-theme] tk-callout:not(:has(code,ul,ol,pre,p+p)):where(:not(tk-screen *, tk-note *)){text-align:center;font-size:1.42rem;line-height:1.42;text-wrap:balance}
body[data-tk-theme] tk-callout strong.tk-label:where(:not(tk-screen *, tk-note *)){position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0}
body[data-tk-theme] tk-callout[data-kind]:where(:not(tk-screen *, tk-note *)){border-top-color:var(--k,var(--gl-red))}
body[data-tk-theme] tk-callout[data-kind="warning"]:where(:not(tk-screen *, tk-note *)){--k:var(--gl-champagne);border-bottom-color:var(--gl-champagne)}
body[data-tk-theme] tk-callout p:first-of-type strong:first-child:where(:not(tk-screen *, tk-note *)){font-weight:400;font-style:normal;color:var(--gl-ink)}

/* ============ TABLE ============ */
body[data-tk-theme] tk-table:where(:not(tk-screen *, tk-note *)){max-width:62rem;margin:calc(2.4rem * var(--gl-air,1)) auto}
body[data-tk-theme] tk-table table:where(:not(tk-screen *, tk-note *)){font:400 .95rem/1.3 var(--gl-sans);font-variant-numeric:tabular-nums lining-nums}
body[data-tk-theme] tk-table thead th:where(:not(tk-screen *, tk-note *)){background:var(--gl-paper);font:500 .78rem/1.3 var(--gl-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gl-ink);border-bottom:1px solid var(--gl-ink);padding:.9rem .8rem}
body[data-tk-theme] tk-table :is(th,td):where(:not(tk-screen *, tk-note *)){padding:.6rem .8rem;border-bottom:1px solid var(--gl-hair)}
body[data-tk-theme] tk-table tbody td:first-child:where(:not(tk-screen *, tk-note *)){font:italic 400 1.15rem/1.2 var(--gl-didone);overflow-wrap:anywhere}
body[data-tk-theme] tk-table tbody tr:hover:where(:not(tk-screen *, tk-note *)){background:var(--gl-blush)}
body[data-tk-theme] tk-table th[aria-sort] button:where(:not(tk-screen *, tk-note *))::after{color:var(--gl-red)}

/* ============ THE SPREAD: a full-bleed photograph ============ */
body[data-tk-theme] tk-section:has(tk-split tk-taped):where(:not(tk-screen *, tk-note *)){overflow:visible}
body[data-tk-theme] tk-split:has(tk-taped):where(:not(tk-screen *, tk-note *)){width:auto;max-width:none;margin:calc(2.4rem * var(--gl-air,1)) calc(50% - 50vw) calc(2.2rem * var(--gl-air,1));grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);column-gap:clamp(2rem,4.5vw,5rem);
  padding-right:max(1.35rem,calc(50vw - 50%));align-items:center}
body[data-tk-theme] tk-split>div>p:where(:not(tk-screen *, tk-note *)){font-size:1.08rem}
body[data-tk-theme] tk-split>div>h3:first-child:where(:not(tk-screen *, tk-note *)){font-size:clamp(2rem,1.4rem + 1.6vw,3.2rem);font-style:normal;letter-spacing:-.03em;line-height:.98;margin:0 0 1.4rem;font-variation-settings:"opsz" 96}
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:100%;max-width:none;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;margin:0}
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%;filter:contrast(1.06) saturate(.86) sepia(.06);aspect-ratio:4/3;object-fit:cover}
body[data-tk-theme] :is(tk-taped,tk-image) figcaption:where(:not(tk-screen *, tk-note *)){display:flex;justify-content:space-between;gap:1rem;max-width:none;padding:.8rem 1.35rem 0;
  font:500 .78rem/1.5 var(--gl-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gl-ink)}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *)){max-width:30rem;margin:1.8rem 0;padding:0;border:0;font:italic 400 clamp(1.9rem,1.2rem + 1.6vw,2.9rem)/1.08 var(--gl-didone);letter-spacing:-.025em;color:var(--gl-ink);text-indent:-.4em}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *))::before{content:"\201C";color:var(--gl-red);font-style:normal}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *))::after{content:"\201D";color:var(--gl-red);font-style:normal}
/* Notes and help text are sentences: the italic, not tiny capitals. */
body[data-tk-theme] .tk-note:where(:not(tk-screen *, tk-note *)){font:italic 400 .98rem/1.45 var(--gl-didone);letter-spacing:0;text-transform:none;color:var(--gl-muted)}
body[data-tk-theme] code:not(pre code):where(:not(tk-screen *, tk-note *)){font-size:.8em;background:var(--gl-blush);border-radius:0;padding:.1em .35em}
body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *)){max-width:52rem}
body[data-tk-theme] tk-code pre:where(:not(tk-screen *, tk-note *)){padding:3rem 2rem 2rem;font-size:.84rem;line-height:1.8}
body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *))::before{content:attr(language);top:1.2rem;left:2rem;opacity:1;font:500 .78rem/1 var(--gl-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gl-champagne)}
body[data-tk-theme] tk-code .tk-copy:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1 var(--gl-sans);letter-spacing:.2em;text-transform:uppercase;color:#f3eee6;padding:0 1.4rem}
body[data-tk-theme] tk-details:where(:not(tk-screen *, tk-note *)){max-width:var(--tk-measure);border:0;border-bottom:1px solid var(--gl-hair);margin:0 auto}
body[data-tk-theme] tk-details:first-of-type:where(:not(tk-screen *, tk-note *)){margin-top:2rem;border-top:1px solid var(--gl-ink)}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *)){font:italic 400 1.3rem/1.3 var(--gl-didone);padding:1.1rem 0}
body[data-tk-theme] tk-details summary:where(:not(tk-screen *, tk-note *))::after{font:300 1.5rem/1 var(--gl-sans);color:var(--gl-red)}

/* ============ SECTION OPENER (tk-torn): a black page ============ */
body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *)){max-width:none;transform:none;-webkit-mask:none;mask:none;margin:calc(3.6rem * var(--gl-air,1)) calc(50% - 50vw);padding:calc(3.4rem * var(--gl-air,1)) 1.5rem;background:var(--gl-night);color:var(--gl-night-ink);text-align:center;
  font:italic 400 clamp(3.4rem,2rem + 6vw,9rem)/.9 var(--gl-didone);letter-spacing:-.04em;font-variation-settings:"opsz" 96}
/* An empty opener is a short red rule between features, not a blank black page. */
body[data-tk-theme] tk-torn:empty:where(:not(tk-screen *, tk-note *)){width:5rem;max-width:5rem;min-height:0;height:2px;padding:0;margin:calc(3.4rem * var(--gl-air,1)) auto;background:var(--gl-red)}

/* ============ CONTROLS: refined, hairline, letter-spaced ============ */
body[data-tk-theme] .tk-controls:where(:not(tk-screen *, tk-note *)){max-width:56rem;gap:1.6rem 3rem;margin:calc(2rem * var(--gl-air,1)) auto;padding:1.5rem 0;border-top:1px solid var(--gl-ink);border-bottom:1px solid var(--gl-ink)}
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:500 .78rem/1.4 var(--gl-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gl-ink);margin-bottom:.7rem}
body[data-tk-theme] .tk-field output:where(:not(tk-screen *, tk-note *)){font:italic 400 1.4rem/1 var(--gl-didone);color:var(--gl-red);top:-.6rem}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-runnable-track{height:1px;border-radius:0;background:linear-gradient(90deg,var(--gl-ink) var(--tk-fill),var(--gl-hair) var(--tk-fill))}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-thumb{width:15px;height:15px;margin-top:-7px;border-radius:50%;background:var(--gl-paper);border:1px solid var(--gl-ink);box-shadow:0 0 0 4px var(--gl-paper)}
body[data-tk-theme] input[type="range"]:focus-visible:where(:not(tk-screen *, tk-note *))::-webkit-slider-thumb{background:var(--gl-red);border-color:var(--gl-red);box-shadow:0 0 0 4px var(--gl-paper),0 0 0 5px var(--gl-red)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-moz-range-thumb{background:var(--gl-paper);border:1px solid var(--gl-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:0;border-bottom:1px solid var(--gl-ink);border-radius:0;background-color:transparent;padding-left:0;font:italic 400 1.2rem/1.2 var(--gl-didone)}
body[data-tk-theme] :is(tk-select select,tk-search input,.tk-feedback :is(textarea,input,select)):focus:where(:not(tk-screen *, tk-note *)){box-shadow:0 1px 0 var(--gl-red);border-color:var(--gl-red)}
/* :not([type]) lifts this over the hairline-field rule above, so the reply box keeps its frame. */
body[data-tk-theme] .tk-feedback textarea:not([type]):where(:not(tk-screen *, tk-note *)){border:1px solid var(--gl-ink);padding:.7rem}
body[data-tk-theme] tk-select select:where(:not(tk-screen *, tk-note *)){background-image:linear-gradient(45deg,transparent 50%,var(--gl-ink) 50%),linear-gradient(135deg,var(--gl-ink) 50%,transparent 50%);background-size:.3rem .3rem}
body[data-tk-theme] tk-toggle button:where(:not(tk-screen *, tk-note *)){font:500 .78rem/1.4 var(--gl-sans);letter-spacing:.2em;text-transform:uppercase}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *)){width:2.8rem;height:1.25rem;background:transparent;border:1px solid var(--gl-ink)}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *))::after{top:.17rem;left:.2rem;width:.8rem;height:.8rem;background:var(--gl-ink);box-shadow:none}
body[data-tk-theme] tk-toggle [aria-checked="true"] .tk-track:where(:not(tk-screen *, tk-note *)){background:var(--gl-red);border-color:var(--gl-red)}
body[data-tk-theme] tk-toggle [aria-checked="true"] .tk-track:where(:not(tk-screen *, tk-note *))::after{background:#fff;transform:translateX(1.5rem)}
body[data-tk-theme] tk-radio-group fieldset:where(:not(tk-screen *, tk-note *)){gap:0 1.6rem}
body[data-tk-theme] tk-radio-group label:where(:not(tk-screen *, tk-note *)){flex:0 0 auto;border:0;background:none;padding:.3rem 0;border-radius:0!important;margin:0;font:italic 400 1.2rem/1 var(--gl-didone);color:var(--gl-muted);border-bottom:1px solid transparent}
body[data-tk-theme] tk-radio-group label:hover:where(:not(tk-screen *, tk-note *)){color:var(--gl-ink)}
body[data-tk-theme] tk-radio-group label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:none;color:var(--gl-red);border-bottom:1px solid var(--gl-red)}
body[data-tk-theme] tk-radio-group label:has(input:focus-visible):where(:not(tk-screen *, tk-note *)){outline:1.5px solid var(--gl-red);outline-offset:4px}
body[data-tk-theme] tk-section>p:has(tk-text):where(:not(tk-screen *, tk-note *)){text-align:center;font:italic 400 1.35rem/1.45 var(--gl-didone);max-width:34rem}
body[data-tk-theme] tk-text:where(:not(tk-screen *, tk-note *)){font-style:normal;color:var(--gl-red);font-variant-numeric:lining-nums}
/* The reply: an RSVP card. */
body[data-tk-theme] .tk-feedback:where(:not(tk-screen *, tk-note *)){max-width:36rem;margin:calc(2.6rem * var(--gl-air,1)) auto 1rem;padding:2.2rem 2.4rem 1.8rem;background:var(--gl-card);border:1px solid var(--gl-hair);border-radius:0;
  box-shadow:0 30px 60px -30px rgba(60,40,20,.28),0 0 0 6px var(--gl-card),0 0 0 7px var(--gl-champagne);text-align:center}
body[data-tk-theme] .tk-feedback h3:where(:not(tk-screen *, tk-note *)){font:italic 400 2rem/1.1 var(--gl-didone);letter-spacing:-.02em;margin:0 0 1.6rem}
body[data-tk-theme] .tk-feedback fieldset:where(:not(tk-screen *, tk-note *)){text-align:left}
/* The questions in the italic, larger than their answers. */
body[data-tk-theme] .tk-feedback :is(fieldset legend,label:not(fieldset label)):where(:not(tk-screen *, tk-note *)){font:italic 400 1.3rem/1.25 var(--gl-didone);letter-spacing:-.01em;color:var(--gl-ink)}
body[data-tk-theme] .tk-feedback fieldset legend:where(:not(tk-screen *, tk-note *)){margin:0 0 .6rem}
body[data-tk-theme] .tk-feedback fieldset label:where(:not(tk-screen *, tk-note *)){border:0;border-bottom:1px solid var(--gl-hair);background:none;border-radius:0!important;font:400 1.15rem/1.3 var(--gl-didone);padding:.7rem .2rem}
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:1px solid var(--gl-hair)}
body[data-tk-theme] .tk-feedback fieldset label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:var(--gl-blush)}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *)){border:1px solid var(--gl-ink)}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *))::before{background:var(--gl-red)}
body[data-tk-theme] .tk-feedback button.tk-submit:where(:not(tk-screen *, tk-note *)){background:var(--gl-ink);color:#fff;border:0;border-radius:0;font:500 .82rem/1 var(--gl-sans);letter-spacing:.28em;text-transform:uppercase;padding:1.1rem 2.2rem}
body[data-tk-theme] .tk-feedback button.tk-submit:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){background:var(--gl-red);filter:none}
body[data-tk-theme] .tk-feedback .tk-actions:where(:not(tk-screen *, tk-note *)){justify-content:center}
body[data-tk-theme] .tk-feedback>.tk-note:where(:not(tk-screen *, tk-note *)){justify-content:center;font:italic 400 .95rem/1.45 var(--gl-didone);letter-spacing:0;text-transform:none;border-top:1px solid var(--gl-hair)}

/* ============ PHONE ============ */
@media(max-width:900px){
  body[data-tk-theme] tk-hero>tk-stamp:where(:not(tk-screen *, tk-note *)){position:static;order:8;margin-top:2.6rem}
  body[data-tk-theme] tk-split:has(tk-taped):where(:not(tk-screen *, tk-note *)){padding-right:0;grid-template-columns:minmax(0,1fr)}
  body[data-tk-theme] tk-split:has(tk-taped)>div+div:where(:not(tk-screen *, tk-note *)){padding:0 1.35rem}
}
@media(max-width:640px){
  body[data-tk-theme]{--tk-size-body:1.05rem}
  body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *))::before{letter-spacing:.28em;font-size:.56rem}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){padding-bottom:3rem;margin-bottom:3rem}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{margin-top:.2rem}
  body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *)){letter-spacing:.22em;gap:.3rem 1rem;margin-bottom:2.4rem}
  body[data-tk-theme] tk-hero h1:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-hero tk-tape-title>h1:where(:not(tk-screen *, tk-note *)){font-size:clamp(2.7rem,13vw,3.6rem)!important}
  body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){margin:3.6rem 0 3.6rem}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::after{height:2.2rem;margin-top:2rem}
  body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){grid-template-columns:repeat(2,minmax(0,1fr));padding-top:2.8rem}
  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 *)){padding:0 .4rem 1.8rem;border:0}
  body[data-tk-theme] tk-stat .tk-value:where(:not(tk-screen *, tk-note *)){font-size:clamp(1.9rem,17cqi,3.2rem)}
  body[data-tk-theme] tk-stat .tk-label:where(:not(tk-screen *, tk-note *)){letter-spacing:.1em}
  body[data-tk-theme] tk-split:has(tk-taped)>div+div:where(:not(tk-screen *, tk-note *)){padding:0 1.05rem}
  body[data-tk-theme] :is(tk-taped,tk-image) figcaption:where(:not(tk-screen *, tk-note *)){padding:.7rem 1.05rem 0;flex-direction:column;gap:.2rem}
  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 *)){font-size:1.15rem;text-align:left;text-wrap:pretty}
  body[data-tk-theme] tk-table tbody td:first-child:where(:not(tk-screen *, tk-note *)){font-size:1.05rem}
  body[data-tk-theme] tk-table :is(th,td):where(:not(tk-screen *, tk-note *)){padding:.8rem .5rem}
  body[data-tk-theme] tk-code pre:where(:not(tk-screen *, tk-note *)){padding:2.8rem 1.1rem 1.4rem}
  body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *))::before{left:1.1rem}
  body[data-tk-theme] .tk-feedback:where(:not(tk-screen *, tk-note *)){padding:2rem 1.2rem 1.6rem}
}
@media(prefers-reduced-motion:reduce){body[data-tk-theme] tk-hero>*:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){animation:none!important}}

/* ============ KNOBS ============
   data-columns="1|2|3" (body or tk-section): text runs in magazine columns on wide screens; figures, stats,
   tables and the reply span the page. data-density="airy|balanced|compact": the vertical rhythm.
   data-palette="ivory|blush|noir"; --glossy-accent recolours the red; --gl-masthead / --gl-issue rename the cover. */
body[data-tk-theme][data-density="airy"]{--gl-air:1.55}
body[data-tk-theme][data-density="compact"]{--gl-air:.7}
@media(min-width:1000px){
  /* Magazine columns only for features of plain running prose: a section holding a list, table, chart, form,
     callout or figure stays in one column, so nothing is split or stranded across the rule. */
  body[data-tk-theme] tk-section:not([data-columns="1"]):not(:has(>:not(h2,h3,p,blockquote,tk-slip,hr,tk-stamp))):where(:not(tk-screen *, tk-note *)){columns:2;column-gap:3.4rem;column-rule:1px solid var(--gl-hair)}
  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>*:where(:not(tk-screen *, tk-note *)){column-span:all}
  body[data-tk-theme] tk-section:not([data-columns="1"]):not(:has(>:not(h2,h3,p,blockquote,tk-slip,hr,tk-stamp)))>:is(p:not(:has(tk-text)),blockquote,tk-slip,h3):where(:not(tk-screen *, tk-note *)){column-span:none;max-width:none}
  body[data-tk-theme] tk-section>p:where(:not(tk-screen *, tk-note *)){margin-top:0;margin-bottom:1em;orphans:3;widows:3}
  body[data-tk-theme] tk-section:not([data-columns="1"]):not(:has(>:not(h2,h3,p,blockquote,tk-slip,hr,tk-stamp)))>tk-slip:where(:not(tk-screen *, tk-note *)){float:none!important;display:block;width:auto;margin:0 0 1.4rem;max-width:none;break-inside:avoid}
  body[data-tk-theme] tk-section>tk-details:where(:not(tk-screen *, tk-note *)){break-inside:avoid;margin-top:0;margin-bottom:.4rem;border-top:1px solid var(--gl-ink)}
  body[data-tk-theme] tk-section>tk-details:first-of-type:where(:not(tk-screen *, tk-note *)){margin-top:0}
  body[data-tk-theme] tk-section>h3:where(:not(tk-screen *, tk-note *)){margin-top:0;break-after:avoid}
}
@media(min-width:1280px){
  body[data-tk-theme][data-columns="3"] tk-section:not([data-columns]):not(:has(>:not(h2,h3,p,blockquote,tk-slip,hr,tk-stamp))):where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section[data-columns="3"]:not(:has(>:not(h2,h3,p,blockquote,tk-slip,hr,tk-stamp))):where(:not(tk-screen *, tk-note *)){columns:3;column-gap:2.6rem}
}
/* Side-by-side features: two callouts in a row sit as a pair. */
@media(min-width:1000px){
  body[data-tk-theme] tk-callout+tk-callout:where(:not(tk-screen *, tk-note *)){margin-top:calc(-1 * 1.2rem)}
}
/* Palettes */
body[data-tk-theme][data-palette="blush"]{--gl-paper:#f7ebe6;--gl-blush:#efd9d1;--gl-hair:#dcc2b8;--gl-card:#fdf6f3;--gl-muted:#5e4d48;--gl-champagne-text:#6e5530}
body[data-tk-theme][data-palette="noir"]{--gl-paper:#0f0e0e;--gl-ink:#f4efe8;--gl-muted:#b3aca3;--gl-hair:#3a3634;--gl-blush:#1d1a19;--gl-card:#181616;--gl-champagne:#cdb582;--gl-champagne-text:#d9c391;
  --gl-red:var(--glossy-accent,#ff4d6a);--gl-night:#f4efe8;--gl-night-ink:#0f0e0e;--tk-fg:#f4efe8;--tk-field:#181616;--tk-grid:rgba(244,239,232,.12);--tk-c1:#f4efe8;--tk-c2:#ff4d6a;--tk-c4:#9c938a;
  --tk-code-bg:#1d1a19;color-scheme:dark}
body[data-tk-theme][data-palette="noir"] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){background:rgba(15,14,14,.88)}
body[data-tk-theme][data-palette="noir"] .tk-feedback button.tk-submit:where(:not(tk-screen *, tk-note *)){background:var(--gl-ink);color:var(--gl-paper)}
body[data-tk-theme][data-palette="noir"] .tk-feedback:where(:not(tk-screen *, tk-note *)){box-shadow:0 0 0 6px var(--gl-card),0 0 0 7px var(--gl-champagne)}
body[data-tk-theme][data-palette="noir"] :is(tk-taped,tk-image) img:where(:not(tk-screen *, tk-note *)){filter:grayscale(.3) contrast(1.1)}
/* The section number sits beside the heading, in the italic. */
body[data-tk-theme] tk-section:not([unnumbered])>h2:where(:not(tk-screen *, tk-note *))::before{font:italic 400 .36em/1 var(--gl-didone);letter-spacing:0;color:var(--gl-red);vertical-align:1.1em;margin-right:.55em}
/* Side-by-side: a section with controls and a question sets them as a two-page spread. */
@media(min-width:1000px){
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question):where(:not(tk-screen *, tk-note *)){display:grid;columns:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:4rem;align-items:start}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>*:where(:not(tk-screen *, tk-note *)){grid-column:1;margin-left:0;margin-right:0}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>:is(h2,tk-torn):where(:not(tk-screen *, tk-note *)){grid-column:1/-1;margin-left:auto;margin-right:auto}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question):where(:not(tk-screen *, tk-note *))::after{grid-column:1/-1}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>tk-question:where(:not(tk-screen *, tk-note *)){grid-column:2;grid-row:2/span 6}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>tk-question .tk-feedback:where(:not(tk-screen *, tk-note *)){margin:0}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>.tk-controls:where(:not(tk-screen *, tk-note *)){margin-top:0;display:grid;grid-template-columns:1fr 1fr}
  body[data-tk-theme] tk-section:has(>.tk-controls):has(>tk-question)>p:has(tk-text):where(:not(tk-screen *, tk-note *)){text-align:left;margin:0}
  body[data-tk-theme] tk-split:has(tk-taped) :is(tk-taped,tk-image) img:where(:not(tk-screen *, tk-note *)){aspect-ratio:3/2}
}
body[data-tk-theme]{--gl-air:.85}
body[data-tk-theme][data-density="airy"]{--gl-air:1.4}
body[data-tk-theme][data-density="compact"]{--gl-air:.62}
/* 1.7.0: answers that join a form: smaller cards on the champagne frame, which turns lipstick red when one is missing. */
/* A joined question is a smaller centred card; its state is a centred caption in spaced Jost capitals with Go to Send
   beside it; missing redraws the champagne frame in the red. The form counts in Bodoni on a hairline red bar; its open
   answers are italic cover lines on hairline frames. */
body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *)){padding:1.7rem 1.9rem 1.4rem;margin:calc(2.2rem * var(--gl-air,1)) auto 1rem}
body[data-tk-theme] .tk-feedback.tk-joined>h3:where(:not(tk-screen *, tk-note *)){font-size:1.7rem;margin-bottom:1.2rem}
body[data-tk-theme] .tk-feedback h3>.tk-required:where(:not(tk-screen *, tk-note *)){color:var(--gl-muted);font:italic 400 .62em/1 var(--gl-didone);letter-spacing:0}
body[data-tk-theme] .tk-feedback.tk-joined[data-tk-answer="missing"]:where(:not(tk-screen *, tk-note *)){outline:0;box-shadow:0 30px 60px -30px rgba(60,40,20,.28),0 0 0 6px var(--gl-card),0 0 0 8px var(--gl-red)}
body[data-tk-theme] .tk-feedback.tk-joined.tk-answer-flash:where(:not(tk-screen *, tk-note *)){box-shadow:0 30px 60px -30px rgba(60,40,20,.28),0 0 0 6px var(--gl-card),0 0 0 8px var(--gl-ink)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"] [aria-invalid="true"]:where(:not(tk-screen *, tk-note *)){outline:1px solid var(--gl-red);outline-offset:4px}
/* the state: a centred caption in spaced capitals */
body[data-tk-theme] .tk-feedback>.tk-answer-state:where(:not(tk-screen *, tk-note *)){max-width:none;justify-content:center;gap:.3rem .7rem;margin-top:1.3rem;color:var(--gl-muted);font:500 .74rem/1.4 var(--gl-sans);letter-spacing:.22em;text-transform:uppercase}
body[data-tk-theme] .tk-feedback .tk-answer-dot:where(:not(tk-screen *, tk-note *)){width:.55rem;height:.55rem;border-width:1px}
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(--gl-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(--gl-ink);background:var(--gl-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 1.5px var(--gl-card),inset 0 0 0 4px var(--gl-ink)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"]>.tk-answer-state:where(:not(tk-screen *, tk-note *)){color:var(--gl-red);font-weight:600}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"] .tk-answer-dot:where(:not(tk-screen *, tk-note *)){border-color:var(--gl-red);background:var(--gl-red)}
body[data-tk-theme] .tk-feedback .tk-answer-go:where(:not(tk-screen *, tk-note *)){margin-left:.4rem;padding:0 .3rem;color:var(--gl-red);font:500 .74rem/1.4 var(--gl-sans);letter-spacing:.22em;text-transform:uppercase;text-decoration-thickness:1px;text-underline-offset:5px}
body[data-tk-theme] .tk-feedback .tk-answer-go:where(:not(tk-screen *, tk-note *))::after{letter-spacing:0}
body[data-tk-theme] .tk-feedback .tk-answer-go:hover:where(:not(tk-screen *, tk-note *)){color:var(--gl-ink)}
/* the count and the bar */
body[data-tk-theme] .tk-answers-count:where(:not(tk-screen *, tk-note *)){color:var(--gl-muted);font:500 .74rem/1.4 var(--gl-sans);letter-spacing:.22em;text-transform:uppercase}
body[data-tk-theme] .tk-answers-count strong:where(:not(tk-screen *, tk-note *)){margin-right:.35em;color:var(--gl-ink);font:italic 400 2.1rem/1 var(--gl-didone);letter-spacing:-.02em;text-transform:none;vertical-align:-.12em}
body[data-tk-theme] .tk-answers-bar:where(:not(tk-screen *, tk-note *)){height:3px;border:0;border-radius:0;background:var(--gl-hair)}
body[data-tk-theme] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){background:var(--gl-red)}
body[data-tk-theme] .tk-answers[data-tk-answers="all"] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){background:var(--gl-ink)}
/* the open answers: cover lines on hairline frames */
body[data-tk-theme] .tk-answers-open:where(:not(tk-screen *, tk-note *)){justify-content:center;gap:.5rem;margin-top:1.1rem;color:var(--gl-muted);font:500 .74rem/1.4 var(--gl-sans);letter-spacing:.22em;text-transform:uppercase}
body[data-tk-theme] .tk-answers-label:where(:not(tk-screen *, tk-note *)){flex-basis:100%;text-align:center}
body[data-tk-theme] .tk-answers-jump:where(:not(tk-screen *, tk-note *)){padding:.45rem 1rem;border:1px solid var(--gl-hair);border-radius:0;background:var(--gl-card);color:var(--gl-ink);font:italic 400 1.08rem/1.3 var(--gl-didone);letter-spacing:0;text-transform:none;text-align:center}
body[data-tk-theme] .tk-answers-jump:where(:not(tk-screen *, tk-note *))::after{color:var(--gl-red)}
body[data-tk-theme] .tk-answers-jump:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){border-color:var(--gl-ink);background:var(--gl-blush)}
body[data-tk-theme] .tk-answers-jump.tk-answers-must:where(:not(tk-screen *, tk-note *)){border-color:var(--gl-ink)}
body[data-tk-theme] .tk-answers-req:where(:not(tk-screen *, tk-note *)){color:var(--gl-red);font:500 .66rem/1 var(--gl-sans);font-style:normal;letter-spacing:.18em;text-transform:uppercase}
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)}
@media(max-width:640px){body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *)){padding:1.5rem 1.1rem 1.2rem}body[data-tk-theme] .tk-feedback.tk-joined>h3:where(:not(tk-screen *, tk-note *)){font-size:1.5rem}}
body[data-tk-theme][data-palette="noir"] .tk-feedback.tk-joined[data-tk-answer="missing"]:where(:not(tk-screen *, tk-note *)){box-shadow:0 0 0 6px var(--gl-card),0 0 0 8px var(--gl-red)}
body[data-tk-theme][data-palette="noir"] .tk-feedback.tk-joined.tk-answer-flash:where(:not(tk-screen *, tk-note *)){box-shadow:0 0 0 6px var(--gl-card),0 0 0 8px var(--gl-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}}
