/* Tacksheet sheet kit 1.8.0 - built-in style Launch (launch), on the none kit theme.
   Link it after the kit stylesheet with body data-tk-theme="none" data-tk-style="launch".
   Fonts: /kit/1.8.0/fonts/LICENSES-styles.txt. */
/* Launch: a modern product launch page. Near-black stock (or white with data-launch-mode="day"), ruled
   guides with crosshair marks, a hero lit by rendered gradient art, two-tone ledes,
   light-weight numerals, bento chart panels lit from below and a travelling lit edge on the decision.
   Knobs (body; data-launch-art also on one tk-section to light it):
     data-launch-mode  night (default) | day
     data-launch-art   horizon (night default) | chroma | current | arc | eclipse | club | prism | nebula |
                       ribbon (day default) | silk | none
     data-launch-head  sans (default) | serif
     --launch-accent   any colour that passes 4.5:1 on the ground (links, focus, selection) */
@font-face{font-family:"Geist";src:url(/kit/1.8.0/fonts/geist-100-900.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/kit/1.8.0/fonts/geist-mono-400-600.woff2) format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/kit/1.8.0/fonts/instrument-serif-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/kit/1.8.0/fonts/instrument-serif-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
body[data-tk-theme]{
  --lx-bg:#08090a;--lx-fg:#f7f8f8;--lx-text:#d0d6e0;--lx-dim:#8a8f98;--lx-dek:#aeb3bb;--lx-line:rgba(255,255,255,.08);--lx-line-2:rgba(255,255,255,.14);
  --lx-panel:#0f1011;--lx-panel-2:#141516;--lx-lift:inset 0 1px 0 rgba(255,255,255,.06);--lx-shadow:0 30px 60px -30px rgba(0,0,0,.8);
  --lx-serif:"Instrument Serif","Iowan Old Style",Georgia,serif;--lx-head:"Geist","Inter",system-ui,sans-serif;
  --tk-bg:var(--lx-bg);--tk-bg-soft:var(--lx-panel);--tk-fg:var(--lx-fg);--tk-muted:var(--lx-dim);
  --tk-accent:var(--launch-accent,var(--lx-accent));--tk-accent-2:var(--launch-accent,var(--lx-accent));--tk-accent-ink:#08090a;--tk-accent-2-text:var(--launch-accent,var(--lx-accent));
  --tk-card:var(--lx-panel);--tk-border:var(--lx-line);--tk-rule:var(--lx-line-2);--tk-mark:rgba(255,255,255,.05);
  --tk-field:#0c0d0e;--tk-control:rgba(255,255,255,.16);--tk-positive:#4cd68d;--tk-negative:#ff7a85;
  --tk-note:#8a8f98;--tk-tip:#4cd68d;--tk-warning:#f2c14e;--tk-decision:var(--launch-accent,var(--lx-accent));--tk-risk:#ff7a85;
  --tk-font-head:var(--lx-head);--tk-font-body:"Geist","Inter",system-ui,sans-serif;
  --tk-font-mono:"Geist Mono","JetBrains Mono",ui-monospace,monospace;--tk-font-data:"Geist",system-ui,sans-serif;--tk-font-hand:"Geist",system-ui,sans-serif;
  --tk-head-weight:560;--tk-head-tracking:-.03em;--tk-head-leading:1.05;
  --tk-size-body:1rem;--tk-size-h1:clamp(2.7rem,1.5rem + 4.4vw,5.6rem);--tk-size-h2:clamp(1.9rem,1.4rem + 1.5vw,2.8rem);--tk-size-h3:1.05rem;
  --tk-radius:12px;--tk-chart-radius:3;--tk-grid:rgba(255,255,255,.06);--tk-shadow:none;--tk-lift:none;
  --tk-code-bg:#0b0c0d;--tk-code-fg:#d0d6e0;--tk-tok-k:#ff9cbc;--tk-tok-s:#6fe3c1;--tk-tok-c:#7d828a;--tk-tok-n:#f2c14e;--tk-tok-f:#9aa8ff;
  --tk-c3:#8a8f98;--tk-c4:#f2c14e;--tk-c5:#ff9cbc;--tk-c6:#7cc4ff;--tk-c7:#4cd68d;--tk-c8:#c9a4ff;
  --tk-ramp:#16181d,#26304f,#3e55a8,#7c93ff,#c9d2ff;
  --tk-film:screen;--tk-paper-obj:var(--lx-panel);--tk-kraft:var(--lx-panel);
  --tk-ink-cobalt:#9aa8ff;--tk-ink-vermilion:#ff9cbc;--tk-ink-plum:#c9a4ff;--tk-ink-sunflower:#f2c14e;--tk-ink-cornflower:#7cc4ff;
  --tk-3d-sky:#08090a;--tk-3d-horizon:#141516;--tk-3d-ground:#0f1011;--tk-3d-grid:rgba(255,255,255,.12);--tk-3d-terrain:#1b1e2a,#30406e,#6a80e8,#c9d2ff;--tk-3d-key:#ffffff;
  --tk-page-width:min(70rem,100%);--tk-measure:40rem;
  --pad:clamp(1.25rem,4vw,3.5rem);
  --lx-art:url(/kit/1.8.0/styles/launch/horizon.webp);--lx-pos:50% 100%;--lx-accent:#9aa8ff;--lx-glow:#4e6cff;--tk-c1:#9aa8ff;--tk-c2:#5ee0c8;
  background:var(--lx-bg);color:var(--lx-text);font-feature-settings:"ss01","cv11";letter-spacing:-.006em;color-scheme:dark;overflow-x:clip}
body[data-tk-theme][data-launch-mode="day"]{
  --lx-bg:#ffffff;--lx-fg:#0a2540;--lx-text:#33475b;--lx-dim:#5b6b7f;--lx-dek:#425466;--lx-line:rgba(10,37,64,.1);--lx-line-2:rgba(10,37,64,.18);
  --lx-panel:#ffffff;--lx-panel-2:#f6f9fc;--lx-lift:inset 0 0 0 1px rgba(10,37,64,.06);--lx-shadow:0 30px 60px -12px rgba(50,50,93,.18),0 18px 36px -18px rgba(0,0,0,.2);
  --tk-accent-ink:#ffffff;--tk-field:#ffffff;--tk-control:rgba(10,37,64,.2);--tk-positive:#0e7a43;--tk-negative:#c4253a;--tk-tip:#0e7a43;--tk-warning:#9a5b00;--tk-risk:#c4253a;--tk-note:#5b6b7f;
  --tk-grid:rgba(10,37,64,.08);--tk-code-bg:#0a2540;--tk-code-fg:#e3e8ee;--tk-mark:rgba(10,37,64,.04);
  --tk-ink-cobalt:#3b5bdb;--tk-3d-sky:#f6f9fc;--tk-3d-horizon:#ffffff;--tk-3d-ground:#f6f9fc;--tk-3d-grid:rgba(10,37,64,.1);
  --lx-art:url(/kit/1.8.0/styles/launch/ribbon.webp);--lx-pos:100% 40%;--lx-accent:#3b5bdb;--lx-glow:#ff8fb8;--tk-c1:#3b5bdb;--tk-c2:#0aa5c9;--tk-c3:#97a3b3;
  color-scheme:light}
body[data-tk-theme][data-launch-art="horizon"],body[data-tk-theme] [data-launch-art="horizon"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/horizon.webp);--lx-pos:50% 100%;--lx-accent:#9aa8ff;--lx-glow:#4e6cff;--tk-c1:#9aa8ff;--tk-c2:#5ee0c8}
body[data-tk-theme][data-launch-art="chroma"],body[data-tk-theme] [data-launch-art="chroma"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/chroma.webp);--lx-pos:50% 50%;--lx-accent:#6fe3c1;--lx-glow:#2fb894;--tk-c1:#6fe3c1;--tk-c2:#9aa8ff}
body[data-tk-theme][data-launch-art="current"],body[data-tk-theme] [data-launch-art="current"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/current.webp);--lx-pos:100% 100%;--lx-accent:#62e8c4;--lx-glow:#1f9c8c;--tk-c1:#62e8c4;--tk-c2:#7cc4ff}
body[data-tk-theme][data-launch-art="arc"],body[data-tk-theme] [data-launch-art="arc"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/arc.webp);--lx-pos:60% 100%;--lx-accent:#6fe8c0;--lx-glow:#2fb894;--tk-c1:#6fe8c0;--tk-c2:#9aa8ff}
body[data-tk-theme][data-launch-art="eclipse"],body[data-tk-theme] [data-launch-art="eclipse"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/eclipse.webp);--lx-pos:100% 100%;--lx-accent:#ff9cbc;--lx-glow:#d0508a;--tk-c1:#ff9cbc;--tk-c2:#a99cff}
body[data-tk-theme][data-launch-art="club"],body[data-tk-theme] [data-launch-art="club"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/club.webp);--lx-pos:100% 70%;--lx-accent:#f58cff;--lx-glow:#c639d6;--tk-c1:#f58cff;--tk-c2:#7fe0a0}
body[data-tk-theme][data-launch-art="prism"],body[data-tk-theme] [data-launch-art="prism"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/prism.webp);--lx-pos:100% 50%;--lx-accent:#ffb48f;--lx-glow:#d0566e;--tk-c1:#ffb48f;--tk-c2:#7fd3d6}
body[data-tk-theme][data-launch-art="nebula"],body[data-tk-theme] [data-launch-art="nebula"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/nebula.webp);--lx-pos:100% 85%;--lx-accent:#b9a6ff;--lx-glow:#6d4cf0;--tk-c1:#b9a6ff;--tk-c2:#ff9cbc}
body[data-tk-theme][data-launch-art="ribbon"],body[data-tk-theme] [data-launch-art="ribbon"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/ribbon.webp);--lx-pos:100% 40%;--lx-accent:#3b5bdb;--lx-glow:#ff8fb8;--tk-c1:#3b5bdb;--tk-c2:#0aa5c9}
body[data-tk-theme][data-launch-art="silk"],body[data-tk-theme] [data-launch-art="silk"]:where(:not(tk-screen *, tk-note *)){--lx-art:url(/kit/1.8.0/styles/launch/silk.webp);--lx-pos:80% 0%;--lx-accent:#4c3fd1;--lx-glow:#ff9a52;--tk-c1:#4c3fd1;--tk-c2:#e2445f}
body[data-tk-theme][data-launch-art="none"]{--lx-art:none}
body[data-tk-theme] :where(:not(tk-screen *, tk-note *))::selection{background:color-mix(in srgb,var(--tk-accent) 35%,transparent);color:var(--lx-fg)}
body[data-tk-theme] :focus-visible:where(:not(tk-screen *, tk-note *)){outline:2px solid var(--tk-accent);outline-offset:3px;border-radius:6px}
body[data-tk-theme] a:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--tk-accent) 60%,transparent);text-decoration-thickness:1px;text-underline-offset:.25em;transition:text-decoration-color .2s,color .2s}
body[data-tk-theme] a:hover:where(:not(tk-screen *, tk-note *)){color:var(--tk-accent);text-decoration-color:currentColor}
body[data-tk-theme] strong:where(:not(tk-screen *, tk-note *)){font-weight:560;color:var(--lx-fg)}
body[data-tk-theme] h3:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg);font-family:var(--tk-font-body);font-weight:560;letter-spacing:-.015em}
/* ===== The frame: ruled guides down both sides of the page, crosshairs where the rules meet ===== */
body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){position:relative;padding:0 var(--pad);border-inline:1px solid var(--lx-line)}
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(--tk-accent);box-shadow:0 0 12px var(--tk-accent)}
/* ===== Hero: left-aligned, the art bleeding in from the right, the copy on the calm side ===== */
body[data-tk-theme] :is(tk-hero,tk-section,tk-torn):where(:not(tk-screen *, tk-note *)){max-width:none}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){position:relative;isolation:isolate;display:grid;grid-template-columns:auto 1fr;align-items:center;justify-items:start;gap:.9rem 1.1rem;border:0;margin:0 calc(var(--pad) * -1);
  padding:clamp(5rem,11vw,9rem) var(--pad) clamp(9rem,20vw,17rem);text-align:left}
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;z-index:-2;inset:0 calc(50% - 50vw);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .11 -.03'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/180px 180px,var(--lx-art) var(--lx-pos)/cover no-repeat;
  -webkit-mask:linear-gradient(180deg,#000 82%,transparent 100%);mask:linear-gradient(180deg,#000 82%,transparent 100%)}
/* the calm side: a scrim under the copy so body text always clears 4.5:1 */
body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::after{content:"";position:absolute;z-index:-1;inset:0 calc(50% - 50vw);border:0;height:auto;pointer-events:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--lx-bg) 92%,transparent) 0,color-mix(in srgb,var(--lx-bg) 84%,transparent) 42%,color-mix(in srgb,var(--lx-bg) 40%,transparent) 58%,transparent 74%),
    linear-gradient(0deg,var(--lx-bg),transparent 14%)}
body[data-tk-theme] tk-hero>*:where(:not(tk-screen *, tk-note *)){grid-column:1/-1}
body[data-tk-theme] tk-hero>.tk-byline:where(:not(tk-screen *, tk-note *)){grid-column:1}
body[data-tk-theme] tk-hero>tk-stamp:where(:not(tk-screen *, tk-note *)){grid-column:2}
body[data-tk-theme] tk-hero tk-tape-title:where(:not(tk-screen *, tk-note *)){--tilt:0deg;margin:0;max-width:100%}
body[data-tk-theme] :is(tk-tape-title>:is(h1,h2,h3),tk-tape-title .tk-tape-line):where(:not(tk-screen *, tk-note *))::before{content:none!important}
body[data-tk-theme] tk-tape-title>:is(h1,h2,h3):where(:not(tk-screen *, tk-note *)){display:block;padding:0;margin:0;color:var(--lx-fg)!important}
body[data-tk-theme] tk-tape-title .tk-tape-line:where(:not(tk-screen *, tk-note *)){display:inline;position:static;padding:0;margin:0;max-width:none}
body[data-tk-theme] tk-tape-title .tk-tape-ink:where(:not(tk-screen *, tk-note *)){display:inline;position:static;transform:none}
body[data-tk-theme] tk-hero tk-tape-title>h1:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-hero>h1:where(:not(tk-screen *, tk-note *)){font-family:var(--lx-head);font-size:var(--tk-size-h1);font-weight:560;letter-spacing:-.04em;line-height:1;max-width:13ch;text-wrap:balance}
body[data-tk-theme] tk-hero p.tk-dek:where(:not(tk-screen *, tk-note *)){margin:.6rem 0 1rem;max-width:34rem;font-size:clamp(1.05rem,.98rem + .35vw,1.25rem);line-height:1.5;color:var(--lx-dek);letter-spacing:-.01em}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *)){display:block;margin:0;font-family:var(--tk-font-body);font-size:.9rem;line-height:1.5;color:var(--lx-dim);letter-spacing:0}
body[data-tk-theme] tk-hero .tk-byline:where(:not(tk-screen *, tk-note *))::before{content:none}
/* The stamp sits beside the byline: a status chip with a live dot, never above the title. */
body[data-tk-theme] tk-stamp:where(:not(tk-screen *, tk-note *)){margin:0;line-height:1.2}
body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *)){flex-direction:row;align-items:center;gap:.5rem;transform:none;-webkit-mask:none;mask:none;mix-blend-mode:normal;opacity:1;border:1px solid var(--lx-line-2);
  border-radius:999px;padding:.32rem .8rem .32rem .65rem;background:color-mix(in srgb,var(--lx-panel) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  font:500 .84rem/1.2 var(--tk-font-body);letter-spacing:-.005em;text-transform:none;color:var(--lx-fg);animation:none}
body[data-tk-theme] tk-stamp .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:#4cd68d;box-shadow:0 0 0 3px color-mix(in srgb,#4cd68d 22%,transparent)}
body[data-tk-theme] tk-stamp[data-kind="draft"] .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{background:#f2c14e;box-shadow:0 0 0 3px rgba(242,193,78,.22)}
body[data-tk-theme] tk-stamp[data-kind="rejected"] .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{background:#ff7a85;box-shadow:0 0 0 3px rgba(255,122,133,.22)}
body[data-tk-theme] tk-stamp[data-kind="shared"] .tk-stamp-face:where(:not(tk-screen *, tk-note *))::before{background:var(--tk-accent)}
body[data-tk-theme] tk-stamp .tk-stamp-date:where(:not(tk-screen *, tk-note *)){font:400 .84rem/1.2 var(--tk-font-body);letter-spacing:0;color:var(--lx-dim)}
body[data-tk-theme] tk-stamp .tk-stamp-date:where(:not(tk-screen *, tk-note *))::before{content:"\00B7";margin-right:.5rem}
/* ===== Sections: a full-width rule with crosshairs; heading left, reading column right ===== */
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){position:relative;margin:0 calc(var(--pad) * -1);padding:clamp(4rem,8vw,6.5rem) var(--pad);border-top:1px solid var(--lx-line)}
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::after{content:"+";position:absolute;top:-.62em;left:-.32em;font:300 1.25rem/1 var(--tk-font-mono);color:var(--lx-dim);pointer-events:none}
body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::after{left:auto;right:-.32em}
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *)){border:0;padding:0;margin:0 0 1.6rem;font-family:var(--lx-head);font-size:var(--tk-size-h2);font-weight:560;letter-spacing:-.035em;line-height:1.05;color:var(--lx-fg);text-wrap:balance}
body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] tk-section>h2 .tk-anchor:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim)}
body[data-tk-theme] :is(tk-section,tk-split>div)>p:where(:not(tk-screen *, tk-note *)){color:var(--lx-text);line-height:1.65}
/* The two-tone lede: the paragraph straight after the heading in grey, its key phrases in full ink. */
body[data-tk-theme] tk-section>:is(h2+p,h2+tk-slip+p,h2+tk-stamp+p):where(:not(tk-screen *, tk-note *)){font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.5;letter-spacing:-.015em;color:var(--lx-dek);font-weight:450}
body[data-tk-theme] tk-section>:is(h2+p,h2+tk-slip+p,h2+tk-stamp+p) :is(tk-mark,strong,a):where(:not(tk-screen *, tk-note *)){color:var(--lx-fg)}
@media(min-width:900px){
  body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *)){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);column-gap:clamp(2rem,5vw,4.5rem);align-items:start}
  body[data-tk-theme] tk-section>*:where(:not(tk-screen *, tk-note *)){grid-column:1/-1;min-width:0}
  body[data-tk-theme] tk-section>h2:where(:not(tk-screen *, tk-note *)){grid-column:1;grid-row:1;margin:0;padding-top:.15rem}
  body[data-tk-theme] tk-section>:is(h2+p,h2+tk-slip+p,h2+tk-stamp+p):where(:not(tk-screen *, tk-note *)){grid-row:1 / span 2}
  body[data-tk-theme] tk-section>h2+tk-stamp:where(:not(tk-screen *, tk-note *)){grid-column:1;grid-row:2;align-self:start;margin:1.2rem 0 0}
  /* reading matter keeps to the reading column: a subhead with its text, callouts and details at a readable measure */
  body[data-tk-theme] tk-section>:is(p,blockquote,ul,ol,tk-callout,tk-details,tk-state,script):where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section>:is(h3,h4):has(+:is(p,ul,ol)):where(:not(tk-screen *, tk-note *)){grid-column:2}
  body[data-tk-theme] tk-section>p:where(:not(tk-screen *, tk-note *)){margin:0 0 1.1rem}
  body[data-tk-theme] tk-section>tk-slip:where(:not(tk-screen *, tk-note *)){grid-column:1;align-self:start;margin:1.6rem 0 0;width:auto;max-width:22rem;float:none}
  body[data-tk-theme] tk-section>:is(tk-stats,tk-grid,tk-table,tk-split,tk-code,.tk-controls,.tk-feedback,tk-callout,tk-tabs,tk-timeline,tk-accordion,tk-details):where(:not(tk-screen *, tk-note *)){margin-top:2.4rem}
  body[data-tk-theme] tk-section>tk-details+tk-details:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-section>tk-callout+tk-callout:where(:not(tk-screen *, tk-note *)){margin-top:.8rem}
}
body[data-tk-theme] hr:where(:not(tk-screen *, tk-note *)){border-top:1px solid var(--lx-line)}
/* Marks: ink, a hairline underline in the accent, a ring. */
body[data-tk-theme] tk-mark:is(:not([kind]),[kind="highlight"]):where(:not(tk-screen *, tk-note *)){background:none;padding:0;margin:0;color:var(--lx-fg)}
body[data-tk-theme] tk-mark[kind="underline"]:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg);text-decoration:underline;text-decoration-color:var(--tk-accent);text-decoration-thickness:2px;text-underline-offset:.28em}
body[data-tk-theme] tk-mark[kind="circle"]:where(:not(tk-screen *, tk-note *))::after{border:1px solid var(--tk-accent);border-radius:999px;-webkit-mask:none;mask:none;transform:none}
body[data-tk-theme] code:not(pre code):where(:not(tk-screen *, tk-note *)){font:450 .86em/1 var(--tk-font-mono);color:var(--lx-fg);background:var(--lx-panel-2);border:1px solid var(--lx-line);border-radius:5px;padding:.15em .35em}
body[data-tk-theme] tk-kbd:where(:not(tk-screen *, tk-note *)){display:inline-block;min-width:1.6em;text-align:center;font:500 .78em/1.55 var(--tk-font-mono);color:var(--lx-fg);background:linear-gradient(var(--lx-panel-2),var(--lx-panel));
  border:1px solid var(--lx-line-2);border-bottom-width:2px;border-radius:5px;padding:0 .4em;vertical-align:.1em}
/* ===== Stats: a ruled strip of light-weight figures; cells share their rules ===== */
body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){clear:both;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0;border:0;border-block:1px solid var(--lx-line);margin:2.4rem 0 0}
body[data-tk-theme] :is(tk-stat,tk-stats>tk-stat:first-child,tk-stats>tk-stat:nth-child(odd)):where(:not(tk-screen *, tk-note *)){position:relative;border:0;border-left:1px solid var(--lx-line);padding:1.6rem 1.4rem 1.5rem;background:none;text-align:left;display:flex;flex-direction:column}
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-value:where(:not(tk-screen *, tk-note *)){font-family:var(--lx-head);font-weight:300;font-size:clamp(1.8rem,1rem + 2.2vw,3rem);letter-spacing:-.045em;line-height:1;color:var(--lx-fg);margin:0 0 .7rem;font-variant-numeric:tabular-nums}
body[data-tk-theme] tk-stat .tk-label:where(:not(tk-screen *, tk-note *)){font-size:.92rem;color:var(--lx-text);line-height:1.35}
body[data-tk-theme] tk-stat .tk-delta:where(:not(tk-screen *, tk-note *)){margin-top:.3rem;font:450 .8rem/1.4 var(--tk-font-mono);color:var(--lx-dim)}
body[data-tk-theme] tk-stat[data-trend="up"] .tk-delta:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stat[data-trend="down"][good="down"] .tk-delta:where(:not(tk-screen *, tk-note *)){color:var(--tk-positive)}
body[data-tk-theme] tk-stat[data-trend="down"] .tk-delta:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-stat[data-trend="up"][good="down"] .tk-delta:where(:not(tk-screen *, tk-note *)){color:var(--tk-negative)}
body[data-tk-theme] tk-stat[data-trend="down"][good="down"] .tk-delta:where(:not(tk-screen *, tk-note *)){color:var(--tk-positive)}
body[data-tk-theme] tk-stat[data-trend] .tk-delta:where(:not(tk-screen *, tk-note *))::before{content:"\2191  "}
body[data-tk-theme] tk-stat[data-trend="down"] .tk-delta:where(:not(tk-screen *, tk-note *))::before{content:"\2193  "}
/* the lead figure carries the accent as a short lit bar */
body[data-tk-theme] tk-stats>tk-stat:first-child:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;left:0;top:-1px;width:3.5rem;height:1px;background:var(--tk-accent);box-shadow:0 0 12px var(--tk-accent)}
/* ===== Bento: panels lit from below by the art colour, a bright top edge; each panel its own hue ===== */
body[data-tk-theme] tk-grid:where(:not(tk-screen *, tk-note *)){gap:1rem}
body[data-tk-theme] tk-card:where(:not(tk-screen *, tk-note *)){position:relative;isolation:isolate;overflow:hidden;background:var(--lx-panel);border:1px solid var(--lx-line);border-radius:14px;padding:1.4rem 1.5rem 1.2rem;box-shadow:var(--lx-lift),var(--lx-shadow)}
body[data-tk-theme] tk-card:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;z-index:-1;inset:auto -20% -55% -20%;height:85%;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--lx-glow) 30%,transparent),transparent 70%)}
body[data-tk-theme] tk-grid>tk-card:nth-child(2n):where(:not(tk-screen *, tk-note *))::before{background:radial-gradient(50% 50% at 50% 50%,color-mix(in srgb,var(--tk-c2) 22%,transparent),transparent 70%)}
body[data-tk-theme] tk-card:where(:not(tk-screen *, tk-note *))::after{content:"";position:absolute;top:-1px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--lx-fg) 35%,transparent),transparent)}
body[data-tk-theme] tk-card>h3:first-child:where(:not(tk-screen *, tk-note *)){font-size:1.02rem;margin:0 0 .2rem}
body[data-tk-theme] tk-chart .tk-title:where(:not(tk-screen *, tk-note *)){font-weight:560;letter-spacing:-.015em;color:var(--lx-fg)}
body[data-tk-theme] tk-chart .tk-sub:where(:not(tk-screen *, tk-note *)){font-size:.88rem;color:var(--lx-dim)}
body[data-tk-theme] tk-chart details.tk-fallback summary:where(:not(tk-screen *, tk-note *)){font-size:.8rem;color:var(--lx-dim)}
/* ===== Callouts: no labels. A symbol for the kind; the decision gets a lit edge that travels round it ===== */
@property --lx-turn{syntax:"<angle>";inherits:false;initial-value:0deg}
body[data-tk-theme] tk-callout:where(:not(tk-screen *, tk-note *)){position:relative;border:1px solid var(--lx-line);border-radius:12px;padding:1rem 1.2rem 1rem 3.2rem;background:var(--lx-panel);color:var(--lx-text);box-shadow:var(--lx-lift);max-width:none}
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;float:none;margin:0;padding:0;border:0}
body[data-tk-theme] tk-callout:where(:not(tk-screen *, tk-note *))::before{content:"i";position:absolute;left:1.05rem;top:1.12rem;display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:50%;border:1px solid currentColor;color:var(--k);font:600 .72rem/1 var(--tk-font-mono)}
body[data-tk-theme] tk-callout[data-kind="warning"]:where(:not(tk-screen *, tk-note *)){background:color-mix(in srgb,var(--tk-warning) 7%,var(--lx-panel));border-color:color-mix(in srgb,var(--tk-warning) 30%,transparent)}
body[data-tk-theme] tk-callout[data-kind="warning"]:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-callout[data-kind="risk"]:where(:not(tk-screen *, tk-note *))::before{content:"!"}
body[data-tk-theme] tk-callout[data-kind="risk"]:where(:not(tk-screen *, tk-note *)){background:color-mix(in srgb,var(--tk-risk) 7%,var(--lx-panel));border-color:color-mix(in srgb,var(--tk-risk) 30%,transparent)}
body[data-tk-theme] tk-callout[data-kind="tip"]:where(:not(tk-screen *, tk-note *))::before{content:"\2192"}
body[data-tk-theme] tk-callout p:first-of-type strong:first-child:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg)}
body[data-tk-theme] tk-callout[data-kind="decision"]:where(:not(tk-screen *, tk-note *)){border:1px solid transparent;border-radius:16px;padding:1.6rem 1.8rem 1.6rem 4rem;font-size:clamp(1.08rem,1rem + .35vw,1.3rem);line-height:1.5;letter-spacing:-.012em;
  background:linear-gradient(var(--lx-panel),var(--lx-panel)) padding-box,
    conic-gradient(from var(--lx-turn),transparent 0 70%,color-mix(in srgb,var(--tk-accent) 90%,transparent) 82%,transparent 92%) border-box,linear-gradient(var(--lx-line-2),var(--lx-line-2)) border-box;
  box-shadow:0 0 60px -30px var(--lx-glow)}
body[data-tk-theme] tk-callout[data-kind="decision"]:where(:not(tk-screen *, tk-note *))::before{content:"\2713";left:1.5rem;top:1.75rem;width:1.5rem;height:1.5rem;border:0;background:var(--tk-accent);color:var(--lx-bg);font-size:.8rem}
/* ===== Table: an issue list. Hairlines, the first column in ink, mono figures (no status glyphs: a row's
   position says nothing about its status) ===== */
body[data-tk-theme] tk-table .tk-wrap:where(:not(tk-screen *, tk-note *)){border:0;border-radius:0;background:none}
body[data-tk-theme] tk-table :is(th,td):where(:not(tk-screen *, tk-note *)){border-bottom:1px solid var(--lx-line);padding:.85rem .9rem}
body[data-tk-theme] tk-table thead th:where(:not(tk-screen *, tk-note *)){background:none;font:450 .82rem/1.3 var(--tk-font-body);color:var(--lx-dim);letter-spacing:0;text-transform:none;border-bottom:1px solid var(--lx-line-2)}
body[data-tk-theme] tk-table td:where(:not(tk-screen *, tk-note *)){color:var(--lx-text)}
body[data-tk-theme] tk-table td:first-child:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg);font-weight:500}
body[data-tk-theme] tk-table td.tk-num:where(:not(tk-screen *, tk-note *)){font-family:var(--tk-font-mono);font-size:.9em;font-weight:450;color:var(--lx-text)}
body[data-tk-theme] tk-table tbody tr:hover:where(:not(tk-screen *, tk-note *)){background:var(--tk-mark)}
body[data-tk-theme] tk-table th button:where(:not(tk-screen *, tk-note *))::after{opacity:.5}
body[data-tk-theme] tk-table th[aria-sort] button:where(:not(tk-screen *, tk-note *))::after{color:var(--tk-accent);opacity:1}
body[data-tk-theme] tk-table .tk-filter:where(:not(tk-screen *, tk-note *)){background:var(--tk-field);border:1px solid var(--lx-line-2);border-radius:8px}
/* ===== Code: an editor panel with a file tab ===== */
body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *)){border:1px solid var(--lx-line);border-radius:12px;overflow:hidden;box-shadow:var(--lx-lift),var(--lx-shadow)}
body[data-tk-theme] tk-code pre:where(:not(tk-screen *, tk-note *)){border-radius:0;padding:3.6rem 1.4rem 1.4rem;font:450 .86rem/1.75 var(--tk-font-mono);background:linear-gradient(var(--lx-line),var(--lx-line)) 0 2.7rem/100% 1px no-repeat,#0b0c0d;color:#d0d6e0}
body[data-tk-theme] tk-code:where(:not(tk-screen *, tk-note *))::before{top:.55rem;left:.6rem;height:1.6rem;display:flex;align-items:center;gap:.45rem;padding:0 .75rem;border-radius:7px;opacity:1;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);color:#f7f8f8;font:500 .8rem/1 var(--tk-font-body);letter-spacing:0;text-transform:capitalize}
body[data-tk-theme] tk-code .tk-copy:where(:not(tk-screen *, tk-note *)){top:.5rem;right:.6rem;min-height:28px;padding:0 .7rem;opacity:1;color:#8a8f98;font:500 .8rem/1 var(--tk-font-body);border:1px solid rgba(255,255,255,.1);border-radius:7px;background:transparent}
body[data-tk-theme] tk-code .tk-copy:hover:where(:not(tk-screen *, tk-note *)){color:#f7f8f8;text-decoration:none}
/* ===== Details and accordion: feature rows with a turning plus ===== */
body[data-tk-theme] tk-details:where(:not(tk-screen *, tk-note *)){border:0;border-bottom:1px solid var(--lx-line);margin:0;padding:0}
body[data-tk-theme] :not(tk-details)+tk-details:where(:not(tk-screen *, tk-note *)){border-top:1px solid var(--lx-line)}
body[data-tk-theme] :is(tk-details summary,tk-accordion button.tk-head):where(:not(tk-screen *, tk-note *)){font-weight:500;font-size:1.02rem;color:var(--lx-fg);min-height:56px}
body[data-tk-theme] :is(tk-details summary,tk-accordion button.tk-head):where(:not(tk-screen *, tk-note *))::after{content:"+";font:300 1.3rem/1 var(--tk-font-mono);color:var(--lx-dim);transition:transform .3s}
body[data-tk-theme] :is(tk-details details[open]>summary,tk-accordion button.tk-head[aria-expanded="true"]):where(:not(tk-screen *, tk-note *))::after{content:"+";transform:rotate(45deg);color:var(--tk-accent)}
body[data-tk-theme] :is(tk-details details>:not(summary),tk-accordion .tk-panel):where(:not(tk-screen *, tk-note *)){color:var(--lx-dim)}
body[data-tk-theme] tk-accordion:where(:not(tk-screen *, tk-note *)),body[data-tk-theme] tk-accordion>section:where(:not(tk-screen *, tk-note *)){border-color:var(--lx-line)}
/* ===== Quote: a serif turn (Resend), set large in ink ===== */
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *)){border:0;padding:0;margin:1.8rem 0 .6rem;font:italic 400 clamp(1.7rem,1.3rem + 1.2vw,2.4rem)/1.15 var(--lx-serif);letter-spacing:-.01em;color:var(--lx-fg)}
body[data-tk-theme] blockquote:where(:not(tk-screen *, tk-note *))::before{content:"\201C";color:var(--tk-accent);margin-right:.05em}
body[data-tk-theme] .tk-note:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim);font-size:.86rem}
/* ===== The image: a product shot framed in a bezel, light spilling from beneath; colours untouched ===== */
body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *)){padding:0;margin:0 0 1.5rem;max-width:100%;position:relative;isolation:isolate}
body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;z-index:-1;inset:30% -10% -18%;background:radial-gradient(50% 50% at 50% 60%,color-mix(in srgb,var(--lx-glow) 45%,transparent),transparent 70%);filter:blur(10px);pointer-events:none}
body[data-tk-theme] tk-taped:where(:not(tk-screen *, tk-note *))::after{content:none}
body[data-tk-theme] tk-taped>.tk-print:where(:not(tk-screen *, tk-note *)){--print-tilt:0deg;transform:none;background:linear-gradient(var(--lx-panel-2),var(--lx-panel));padding:6px;border-radius:14px;border:1px solid var(--lx-line-2);
  box-shadow:var(--lx-lift),0 40px 80px -40px rgba(0,0,0,.9)}
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 *)){border-radius:9px}
body[data-tk-theme] tk-taped figcaption:where(:not(tk-screen *, tk-note *)){font:400 .82rem/1.4 var(--tk-font-body);color:var(--lx-dim);padding:.6rem .4rem .2rem;text-align:left}
/* ===== The slip: a thread message with an avatar ===== */
body[data-tk-theme] tk-slip:where(:not(tk-screen *, tk-note *)){padding-top:0}
body[data-tk-theme] tk-slip:where(:not(tk-screen *, tk-note *))::before{content:none}
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;display:flex;flex-direction:column-reverse;gap:.25rem;padding:1rem 1.1rem 1.05rem 3.4rem;font:400 .95rem/1.5 var(--tk-font-body);color:var(--lx-text);
  background:var(--lx-panel);border:1px solid var(--lx-line);border-radius:12px;box-shadow:var(--lx-lift),var(--lx-shadow)}
body[data-tk-theme] tk-slip .tk-paper:where(:not(tk-screen *, tk-note *))::before{content:"";position:absolute;left:1rem;top:1rem;width:1.6rem;height:1.6rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--lx-accent),var(--lx-glow) 60%,var(--lx-bg));box-shadow:0 0 0 1px var(--lx-line-2)}
body[data-tk-theme] tk-slip .tk-paper :is(p,li):where(:not(tk-screen *, tk-note *)){color:var(--lx-text)}
body[data-tk-theme] tk-slip .tk-from:where(:not(tk-screen *, tk-note *)){text-align:left;font:560 .9rem/1.3 var(--tk-font-body);color:var(--lx-fg);margin:0}
/* ===== Divider: a band cut from the hero art, the label set in it ===== */
body[data-tk-theme] tk-torn:where(:not(tk-screen *, tk-note *)){position:relative;isolation:isolate;display:flex;align-items:center;margin:0 calc(var(--pad) * -1);padding:0 var(--pad);height:clamp(7rem,14vw,11rem);
  background:linear-gradient(90deg,color-mix(in srgb,var(--lx-bg) 75%,transparent) 0,color-mix(in srgb,var(--lx-bg) 45%,transparent) 30%,transparent 55%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .11 -.03'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/180px 180px,var(--lx-art) var(--lx-pos)/cover no-repeat;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  transform:none;border-top:1px solid var(--lx-line);font:560 clamp(1.6rem,1.2rem + 1.6vw,2.6rem)/1 var(--lx-head);letter-spacing:-.035em;color:var(--lx-fg);text-shadow:0 2px 24px color-mix(in srgb,var(--lx-bg) 70%,transparent)}
body[data-tk-theme] tk-torn:empty:where(:not(tk-screen *, tk-note *)){height:4rem}
/* ===== Controls: a command panel; segmented control, lit switch, thin slider ===== */
body[data-tk-theme] .tk-controls:where(:not(tk-screen *, tk-note *)){border:1px solid var(--lx-line);border-radius:14px;background:var(--lx-panel);box-shadow:var(--lx-lift),var(--lx-shadow);padding:1.3rem 1.4rem;gap:1.3rem 2rem}
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 .9rem/1.3 var(--tk-font-body);color:var(--lx-fg);margin-bottom:.5rem}
body[data-tk-theme] .tk-field output:where(:not(tk-screen *, tk-note *)){font:500 .8rem/1 var(--tk-font-mono);color:var(--lx-fg)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--tk-accent) var(--tk-fill),var(--lx-line-2) var(--tk-fill))}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-webkit-slider-thumb{width:16px;height:16px;margin-top:-6.5px;background:#fff;border:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--tk-accent) 25%,transparent),0 1px 3px rgba(0,0,0,.5)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-moz-range-progress{background:var(--tk-accent)}
body[data-tk-theme] input[type="range"]:where(:not(tk-screen *, tk-note *))::-moz-range-thumb{background:#fff;border:0}
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 *)){
  background-color:var(--tk-field);border:1px solid var(--lx-line-2);border-radius:8px;color:var(--lx-fg);box-shadow:none}
body[data-tk-theme] :is(tk-select select,.tk-feedback select):where(:not(tk-screen *, tk-note *)){background-image:linear-gradient(45deg,transparent 50%,var(--lx-dim) 50%),linear-gradient(135deg,var(--lx-dim) 50%,transparent 50%)}
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(--tk-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tk-accent) 25%,transparent)}
body[data-tk-theme] tk-toggle button:where(:not(tk-screen *, tk-note *)){font-size:.95rem;color:var(--lx-fg)}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *)){background:var(--lx-line-2)}
body[data-tk-theme] tk-toggle .tk-track:where(:not(tk-screen *, tk-note *))::after{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.5)}
body[data-tk-theme] tk-toggle [aria-checked="true"] .tk-track:where(:not(tk-screen *, tk-note *)){background:var(--tk-accent);box-shadow:0 0 16px -2px var(--tk-accent)}
body[data-tk-theme] tk-radio-group fieldset:where(:not(tk-screen *, tk-note *)){gap:0;padding:3px;border:1px solid var(--lx-line-2);border-radius:9px;background:var(--tk-field);width:fit-content;display:flex;flex-wrap:wrap}
body[data-tk-theme] tk-radio-group legend:where(:not(tk-screen *, tk-note *)){float:left;width:100%}
body[data-tk-theme] tk-radio-group label:where(:not(tk-screen *, tk-note *)){margin:0;border:0;border-radius:6px;background:none;color:var(--lx-dim);font-weight:500;font-size:.88rem;min-height:36px}
body[data-tk-theme] tk-radio-group label:hover:where(:not(tk-screen *, tk-note *)){color:var(--lx-fg)}
body[data-tk-theme] tk-radio-group label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:var(--lx-fg);color:var(--lx-bg)}
/* ===== Reply: a composer. Options as a list, a solid send button ===== */
body[data-tk-theme] .tk-feedback:where(:not(tk-screen *, tk-note *)){border:1px solid var(--lx-line-2);border-radius:14px;background:var(--lx-panel);box-shadow:var(--lx-lift),var(--lx-shadow);padding:1.5rem 1.5rem 1.3rem}
body[data-tk-theme] .tk-feedback h3:where(:not(tk-screen *, tk-note *)){margin-top:0;font-size:1.2rem;letter-spacing:-.02em;color:var(--lx-fg)}
body[data-tk-theme] .tk-feedback fieldset label:where(:not(tk-screen *, tk-note *)){border:1px solid var(--lx-line);border-top-width:0;background:none;color:var(--lx-text)}
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;border-radius:9px 9px 0 0}
body[data-tk-theme] .tk-feedback fieldset label:last-child:where(:not(tk-screen *, tk-note *)){border-radius:0 0 9px 9px}
body[data-tk-theme] .tk-feedback fieldset label:hover:where(:not(tk-screen *, tk-note *)){background:var(--tk-mark);color:var(--lx-fg)}
body[data-tk-theme] .tk-feedback fieldset label:has(input:checked):where(:not(tk-screen *, tk-note *)){background:color-mix(in srgb,var(--tk-accent) 10%,transparent);color:var(--lx-fg)}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *)){border-color:var(--lx-dim);background:var(--tk-field)}
body[data-tk-theme] .tk-feedback input[type="radio"]:where(:not(tk-screen *, tk-note *))::before{background:var(--tk-accent)}
body[data-tk-theme] .tk-feedback button.tk-submit:where(:not(tk-screen *, tk-note *)){background:var(--lx-fg);color:var(--lx-bg);border:0;border-radius:8px;font-weight:560;padding:.6rem 1.1rem;min-height:40px}
body[data-tk-theme] .tk-feedback button.tk-submit:disabled:where(:not(tk-screen *, tk-note *)){background:var(--lx-panel-2);color:var(--lx-dim);border:1px solid var(--lx-line)}
body[data-tk-theme] .tk-feedback>.tk-note:where(:not(tk-screen *, tk-note *)){border-top:1px solid var(--lx-line)}
body[data-tk-theme] .tk-feedback .tk-scale button:where(:not(tk-screen *, tk-note *)){background:var(--tk-field);border-color:var(--lx-line-2);color:var(--lx-text)}
body[data-tk-theme] .tk-feedback .tk-scale button[aria-pressed="true"]:where(:not(tk-screen *, tk-note *)){background:var(--lx-fg);color:var(--lx-bg);border-color:var(--lx-fg)}
/* ===== More of the kit ===== */
/* tabs: a bordered segmented bar */
body[data-tk-theme] tk-tabs [role="tablist"]:where(:not(tk-screen *, tk-note *)){gap:0;border:1px solid var(--lx-line-2);border-radius:9px;padding:3px;width:fit-content;max-width:100%;background:var(--tk-field)}
body[data-tk-theme] tk-tabs [role="tab"]:where(:not(tk-screen *, tk-note *)){border:0;border-radius:6px;min-height:34px;padding:0 1rem;font:500 .88rem/1 var(--tk-font-body);color:var(--lx-dim)}
body[data-tk-theme] tk-tabs [role="tab"][aria-selected="true"]:where(:not(tk-screen *, tk-note *)){background:var(--lx-panel-2);color:var(--lx-fg);box-shadow:inset 0 0 0 1px var(--lx-line-2)}
body[data-tk-theme] tk-tabs [role="tabpanel"]:where(:not(tk-screen *, tk-note *)){color:var(--lx-text)}
/* steps: mono numbers in keycaps on a dashed rail */
body[data-tk-theme] tk-steps li:where(:not(tk-screen *, tk-note *)){padding:.15rem 0 1.2rem 3rem;color:var(--lx-text)}
body[data-tk-theme] tk-steps li:where(:not(tk-screen *, tk-note *))::before{width:1.75rem;height:1.75rem;border-radius:6px;border:1px solid var(--lx-line-2);border-bottom-width:2px;background:var(--lx-panel-2);color:var(--lx-fg);font:500 .78rem/1 var(--tk-font-mono)}
body[data-tk-theme] tk-steps li:not(:last-child):where(:not(tk-screen *, tk-note *))::after{left:.85rem;top:2.1rem;width:0;background:none;border-left:1px dashed var(--lx-line-2)}
/* timeline: a changelog. Dates in a mono column, entries ruled */
body[data-tk-theme] tk-timeline:where(:not(tk-screen *, tk-note *)){padding:0;margin:2.4rem 0}
body[data-tk-theme] tk-timeline:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] tk-timeline li:where(:not(tk-screen *, tk-note *)){display:grid;grid-template-columns:7rem 1fr;gap:1rem;margin:0;padding:.95rem 0;border-top:1px solid var(--lx-line);color:var(--lx-fg)}
body[data-tk-theme] tk-timeline li:last-child:where(:not(tk-screen *, tk-note *)){border-bottom:1px solid var(--lx-line)}
body[data-tk-theme] tk-timeline li:where(:not(tk-screen *, tk-note *))::before{content:none}
body[data-tk-theme] tk-timeline .tk-when:where(:not(tk-screen *, tk-note *)){margin:0;font:450 .84rem/1.6 var(--tk-font-mono);color:var(--lx-dim)}
body[data-tk-theme] tk-timeline li:last-child .tk-when:where(:not(tk-screen *, tk-note *)){color:var(--tk-accent)}
body[data-tk-theme] :is(tk-image img,tk-gallery img,tk-compare,tk-zoom .tk-stage,tk-annotate img,tk-video video):where(:not(tk-screen *, tk-note *)){border-radius:12px;box-shadow:0 0 0 1px var(--lx-line-2),var(--lx-shadow)}
body[data-tk-theme] tk-overprint:where(:not(tk-screen *, tk-note *)){--op-a:var(--lx-fg);--op-b:var(--tk-accent)}
/* ===== A section can borrow the art: a soft wash of it behind its top ===== */
body[data-tk-theme] tk-section[data-launch-art]:where(:not(tk-screen *, tk-note *)){isolation:isolate}
body[data-tk-theme] tk-section[data-launch-art]>h2:where(:not(tk-screen *, tk-note *))::after{content:"";position:absolute;z-index:-1;left:calc(50% - 50vw);right:calc(50% - 50vw);top:0;height:min(36rem,80%);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .11 -.03'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/180px 180px,var(--lx-art) 50% 30%/cover no-repeat;opacity:.55;-webkit-mask:radial-gradient(60% 70% at 70% 0,#000,transparent 75%);mask:radial-gradient(60% 70% at 70% 0,#000,transparent 75%)}
/* ===== Serif headings (Resend) ===== */
body[data-tk-theme][data-launch-head="serif"]{--lx-head:"Instrument Serif","Iowan Old Style",Georgia,serif}
body[data-tk-theme][data-launch-head="serif"] :is(tk-hero tk-tape-title>h1,tk-hero>h1,tk-section>h2):where(:not(tk-screen *, tk-note *)){font-weight:400;letter-spacing:-.02em;line-height:.98}
body[data-tk-theme][data-launch-head="serif"] tk-hero tk-tape-title>h1:where(:not(tk-screen *, tk-note *)){font-size:calc(var(--tk-size-h1) * 1.18)}
body[data-tk-theme][data-launch-head="serif"] tk-section>h2:where(:not(tk-screen *, tk-note *)){font-size:calc(var(--tk-size-h2) * 1.2)}
body[data-tk-theme][data-launch-head="serif"] tk-stat .tk-value:where(:not(tk-screen *, tk-note *)){font-weight:400;letter-spacing:-.02em}
body[data-tk-theme][data-launch-head="serif"] tk-torn:where(:not(tk-screen *, tk-note *)){font-weight:400;letter-spacing:-.01em;font-size:clamp(2rem,1.4rem + 2.2vw,3.4rem)}
/* ===== Day mode: Stripe's white, navy ink, cards on soft shadows ===== */
body[data-tk-theme][data-launch-mode="day"] tk-hero:where(:not(tk-screen *, tk-note *))::after{background:linear-gradient(90deg,rgba(255,255,255,.96) 0,rgba(255,255,255,.72) 40%,transparent 72%),linear-gradient(0deg,#fff,transparent 40%)}
body[data-tk-theme][data-launch-mode="day"] tk-card:where(:not(tk-screen *, tk-note *))::before{opacity:.8}
body[data-tk-theme][data-launch-mode="day"] tk-card:where(:not(tk-screen *, tk-note *))::after{content:none}
body[data-tk-theme][data-launch-mode="day"] tk-code pre:where(:not(tk-screen *, tk-note *)){background:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)) 0 2.7rem/100% 1px no-repeat,#0a2540}
body[data-tk-theme][data-launch-mode="day"] tk-torn:where(:not(tk-screen *, tk-note *)){color:#0a2540;text-shadow:0 1px 18px rgba(255,255,255,.9)}
body[data-tk-theme][data-launch-mode="day"] tk-taped:where(:not(tk-screen *, tk-note *))::before{opacity:.6}
body[data-tk-theme][data-launch-mode="day"] tk-section:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme][data-launch-mode="day"] tk-section:where(:not(tk-screen *, tk-note *))::after{color:#97a3b3}
/* ===== Motion: the art drifts in on load; sections rise as they arrive; the decision edge travels ===== */
@media(prefers-reduced-motion:no-preference){
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{animation:lx-art 2.4s cubic-bezier(.2,.8,.2,1) both}
  @keyframes lx-art{from{opacity:0;background-position:0 0,80% -6rem}}
  body[data-tk-theme] tk-hero>*:where(:not(tk-screen *, tk-note *)){animation:lx-up .9s cubic-bezier(.2,.8,.2,1) both}
  body[data-tk-theme] tk-hero>.tk-dek:where(:not(tk-screen *, tk-note *)){animation-delay:.12s}
  body[data-tk-theme] tk-hero>:is(.tk-byline,tk-stamp):where(:not(tk-screen *, tk-note *)){animation-delay:.22s}
  @keyframes lx-up{from{opacity:0;translate:0 18px;filter:blur(6px)}}
  body[data-tk-theme] tk-callout[data-kind="decision"]:where(:not(tk-screen *, tk-note *)){animation:lx-turn 6s linear infinite}
  @keyframes lx-turn{to{--lx-turn:360deg}}
  @supports (animation-timeline:view()){
    body[data-tk-theme] :is(tk-section>h2,tk-card,tk-stats,tk-table,tk-code,.tk-controls,.tk-feedback,tk-taped,tk-timeline):where(:not(tk-screen *, tk-note *)){animation:lx-up linear both;animation-timeline:view();animation-range:entry 0% cover 22%}
  }
}
@media(max-width:640px){
  body[data-tk-theme] tk-page:where(:not(tk-screen *, tk-note *)){border-inline:0}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){min-height:0;padding-top:7rem}
  body[data-tk-theme] tk-hero>:is(.tk-byline,tk-stamp):where(:not(tk-screen *, tk-note *)){grid-column:1/-1}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *)){padding-bottom:12rem}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::before{background-size:180px 180px,auto 60%;background-position:0 0,var(--lx-pos)}
  body[data-tk-theme] tk-hero:where(:not(tk-screen *, tk-note *))::after{background:linear-gradient(180deg,color-mix(in srgb,var(--lx-bg) 70%,transparent) 0,color-mix(in srgb,var(--lx-bg) 40%,transparent) 55%,transparent 75%)}
  body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::before,body[data-tk-theme] tk-section:where(:not(tk-screen *, tk-note *))::after{content:none}
  body[data-tk-theme] tk-stats:where(:not(tk-screen *, tk-note *)){grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-tk-theme] :is(tk-stat,tk-stats>tk-stat:first-child,tk-stats>tk-stat:nth-child(odd)):where(:not(tk-screen *, tk-note *)){padding:1.2rem 0 1.2rem 1rem}
  body[data-tk-theme] tk-stats>tk-stat:nth-child(odd):where(:not(tk-screen *, tk-note *)){border-left:0;padding-left:0}
  body[data-tk-theme] tk-stats>tk-stat:nth-child(n+3):where(:not(tk-screen *, tk-note *)){border-top:1px solid var(--lx-line)}
  body[data-tk-theme] tk-callout[data-kind="decision"]:where(:not(tk-screen *, tk-note *)){padding:1.3rem 1.2rem 1.3rem 3.4rem}
  body[data-tk-theme] tk-callout[data-kind="decision"]:where(:not(tk-screen *, tk-note *))::before{left:1.1rem;top:1.4rem}
  body[data-tk-theme] tk-timeline li:where(:not(tk-screen *, tk-note *)){grid-template-columns:5rem 1fr}
  body[data-tk-theme][data-launch-mode="day"] tk-hero:where(:not(tk-screen *, tk-note *))::after{background:linear-gradient(180deg,rgba(255,255,255,.85) 0,rgba(255,255,255,.5) 55%,transparent 75%)}
}
/* 1.7.0: answers that join a form: still panels with a glowing status light; a missing answer lights its edge red. */
/* Joined questions are tighter panels that do not rise and blur in as they scroll (the form keeps its entrance); the
   state is a small glowing light; missing lights the panel's edge in the negative colour, the way the decision's edge is
   lit; Go to Send and the open answers are the page's quiet secondary buttons; the count is a light numeral over a
   thin bar that glows in the accent. Every colour comes from the night/day tokens. */
body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *)){padding:1.25rem 1.3rem 1.1rem;animation:none}
body[data-tk-theme] .tk-feedback.tk-joined>h3:where(:not(tk-screen *, tk-note *)){margin-bottom:.75rem}
body[data-tk-theme] .tk-feedback h3>.tk-required:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim);font:500 .72rem/1 var(--tk-font-mono);letter-spacing:.02em;vertical-align:.1em}
body[data-tk-theme] .tk-feedback.tk-joined[data-tk-answer="missing"]:where(:not(tk-screen *, tk-note *)){outline:0;border-color:color-mix(in srgb,var(--tk-negative) 70%,transparent);box-shadow:var(--lx-lift),0 0 0 1px color-mix(in srgb,var(--tk-negative) 35%,transparent),0 0 48px -18px var(--tk-negative)}
body[data-tk-theme] .tk-feedback.tk-joined.tk-answer-flash:where(:not(tk-screen *, tk-note *)){border-color:color-mix(in srgb,var(--tk-accent) 70%,transparent);box-shadow:var(--lx-lift),0 0 0 3px color-mix(in srgb,var(--tk-accent) 25%,transparent),0 0 48px -18px var(--tk-accent)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"] [aria-invalid="true"]:where(:not(tk-screen *, tk-note *)){outline:0;border-radius:9px;box-shadow:0 0 0 1px var(--tk-negative)}
/* the status light */
body[data-tk-theme] .tk-feedback>.tk-answer-state:where(:not(tk-screen *, tk-note *)){max-width:none;margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--lx-line);color:var(--lx-dim);font:500 .85rem/1.4 var(--tk-font-body);letter-spacing:-.005em}
body[data-tk-theme] .tk-feedback .tk-answer-dot:where(:not(tk-screen *, tk-note *)){width:.55rem;height:.55rem;border:1px solid var(--lx-dim)}
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(--lx-text)}
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(--tk-positive);background:var(--tk-positive);box-shadow:0 0 10px color-mix(in srgb,var(--tk-positive) 70%,transparent)}
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(--tk-positive)}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"]>.tk-answer-state:where(:not(tk-screen *, tk-note *)){color:var(--tk-negative);font-weight:560}
body[data-tk-theme] .tk-feedback[data-tk-answer="missing"] .tk-answer-dot:where(:not(tk-screen *, tk-note *)){border-color:var(--tk-negative);background:var(--tk-negative);box-shadow:0 0 10px color-mix(in srgb,var(--tk-negative) 70%,transparent)}
/* secondary buttons */
body[data-tk-theme] :is(.tk-feedback .tk-answer-go,.tk-answers-jump):where(:not(tk-screen *, tk-note *)){border:1px solid var(--lx-line-2);border-radius:8px;background:var(--lx-panel-2);color:var(--lx-fg);font-family:var(--tk-font-body);font-weight:520;text-decoration:none;box-shadow:var(--lx-lift)}
body[data-tk-theme] .tk-feedback .tk-answer-go:where(:not(tk-screen *, tk-note *)){padding:0 .9rem;font-size:.88rem}
body[data-tk-theme] .tk-answers-jump:where(:not(tk-screen *, tk-note *)){padding:.45rem .85rem;font-size:.88rem}
body[data-tk-theme] :is(.tk-feedback .tk-answer-go,.tk-answers-jump):where(:not(tk-screen *, tk-note *))::after{color:var(--lx-dim)}
body[data-tk-theme] :is(.tk-feedback .tk-answer-go,.tk-answers-jump):hover:not(:disabled):where(:not(tk-screen *, tk-note *)){border-color:color-mix(in srgb,var(--tk-accent) 45%,transparent);background:color-mix(in srgb,var(--tk-accent) 8%,var(--lx-panel-2))}
body[data-tk-theme] .tk-answers-jump.tk-answers-must:where(:not(tk-screen *, tk-note *)){border-color:color-mix(in srgb,var(--tk-accent) 55%,transparent)}
body[data-tk-theme] .tk-answers-req:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim);font-weight:450}
/* the count and the bar */
body[data-tk-theme] .tk-answers-count:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim);font:450 .95rem/1.3 var(--tk-font-body)}
body[data-tk-theme] .tk-answers-count strong:where(:not(tk-screen *, tk-note *)){margin-right:.2em;color:var(--lx-fg);font:300 1.9rem/1 var(--lx-head);letter-spacing:-.04em;vertical-align:-.1em}
body[data-tk-theme] .tk-answers-bar:where(:not(tk-screen *, tk-note *)){height:4px;border:0;border-radius:999px;background:var(--lx-line-2);overflow:visible}
body[data-tk-theme] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){border-radius:999px;background:var(--tk-accent);box-shadow:0 0 12px color-mix(in srgb,var(--tk-accent) 60%,transparent)}
body[data-tk-theme] .tk-answers[data-tk-answers="all"] .tk-answers-bar>span:where(:not(tk-screen *, tk-note *)){background:var(--tk-positive);box-shadow:0 0 12px color-mix(in srgb,var(--tk-positive) 60%,transparent)}
body[data-tk-theme] .tk-answers-open:where(:not(tk-screen *, tk-note *)){color:var(--lx-dim);font-size:.85rem}
body[data-tk-theme] .tk-feedback .tk-scale button[aria-pressed="true"]:hover:not(:disabled):where(:not(tk-screen *, tk-note *)){background:var(--lx-fg);color:var(--lx-bg);border-color:var(--lx-fg)}
@media(max-width:640px){body[data-tk-theme] .tk-feedback.tk-joined:where(:not(tk-screen *, tk-note *)){padding:1.1rem 1rem 1rem}}
/* 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}}
