/* zaiphr.ai — editorial bundle, generated by lib/css-bundles.js. Edit the sources in css/. */
/* editorial.css */
@layer pages {
.ed {
  --ed-rule: rgba(255, 255, 255, .1);   
  --ed-body: var(--site-fg-body);                   
}
.ed [data-theme="light"] {
  --ed-rule: #ddd6c8;                   
  --ed-body: var(--z-fg);
  --ed-body: color-mix(in srgb, var(--z-fg) 86%, var(--z-paper));   
}
@media (max-width: 700px) { .ed > section { padding-top: 88px; padding-bottom: 88px; } }
.ed-meta { margin: 22px 0 0; font-size: 14px; letter-spacing: .02em; color: var(--z-fg-subtle); }
.sp-entry .bs-kick { margin-bottom: 18px; }
.ed-entry-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 72px; align-items: end; margin-top: 8px; }
.ed-entry-row .sp-lede { max-width: 54ch; }
.ed-facts { margin: 0; border-top: 1px solid var(--ed-rule); }
.ed-facts > div { display: grid; grid-template-columns: 110px 1fr; gap: 16px;
  padding: 13px 0; border-bottom: 1px solid var(--ed-rule); align-items: baseline; }
.ed-facts dt { font-family: var(--z-font-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-fg-subtle); }
.ed-facts dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--site-fg-strong); }
.ed-short { padding-bottom: 72px; }   
.ed-sub { margin: -14px 0 44px; max-width: 56ch; font-size: 17px; line-height: 1.6; color: var(--ed-body); }
.ed-steps { max-width: 820px; }
.ed-after { margin: 40px 0 0; }
.ed-flush { padding-top: 0; }   
.ed-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ed-rule); }
.ed-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ed-grid > * { padding: 28px 32px 32px 0; border-bottom: 1px solid var(--ed-rule); }
.ed-grid > * + * { padding-left: 32px; border-left: 1px solid var(--ed-rule); }
.ed-grid:not(.four) > :nth-child(3n + 1) { padding-left: 0; border-left: none; }
.ed-grid .no { display: block; margin: 0 0 14px; font-family: var(--z-font-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--z-fg-subtle); }
.ed-grid h3 { font: 600 22px/1.2 'Fraunces', serif; letter-spacing: -0.01em;
  margin: 0 0 10px; color: var(--site-display); }
.ed-grid h3 em { font-style: italic; font-weight: 400; }
.ed-grid p { margin: 0; font-size: 15px; line-height: 1.62; color: var(--ed-body); }
.ed-founder .bs-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 80px; align-items: start; }
.ed-portrait { margin: 0; position: sticky; top: 104px; }
.ed-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover;
  object-position: center top; border-radius: 6px; box-shadow: 0 30px 70px rgba(18, 24, 38, .22); }
.ed-portrait figcaption { display: flex; justify-content: space-between; gap: 12px;
  margin-top: 14px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--z-fg-subtle); }
.ed-portrait figcaption b { font-weight: 500; color: var(--z-fg); margin-right: 8px; }
.ed-founder h2 { font: 600 clamp(40px, 4.4vw, 64px)/1.05 'Fraunces', serif;
  letter-spacing: -0.018em; margin: 0; color: var(--z-ink); }
.ed-role { margin: 10px 0 32px; font-size: 16px; color: var(--z-fg-muted); }
.ed-founder .ed-prose p:first-child { font-size: 20px; line-height: 1.55; color: var(--z-fg); }
.ed-creds { margin: 40px 0 0; padding: 0; list-style: none; display: grid;
  grid-template-columns: 1fr 1fr; column-gap: 32px; border-top: 2px solid var(--z-ink); }
.ed-creds-h { margin: 44px 0 12px; font-size: 12px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-fg-subtle); }
.ed-creds-h + .ed-creds { margin-top: 0; }
.ed-creds li { padding: 14px 0 16px; border-bottom: 1px solid var(--ed-rule); }
.ed-creds .k { display: block; font-family: var(--z-font-mono); font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--z-fg-subtle); margin-bottom: 4px; }
.ed-creds .v { font-size: 15.5px; font-weight: 500; line-height: 1.4; color: var(--z-fg); }
.ed-quote figure { margin: 0 auto; max-width: 980px; position: relative; padding-left: 72px; }
.ed-quote blockquote { margin: 0; }
.ed-quote blockquote p { margin: 0; font: 600 clamp(30px, 3.6vw, 50px)/1.18 'Fraunces', serif;
  letter-spacing: -0.015em; color: var(--z-ink); max-width: 24ch; }
.ed-quote em { font-style: italic; font-weight: 400; }
.ed-quote .mark { position: absolute; left: 0; top: -.12em; font: 600 120px/1 'Fraunces', serif;
  color: var(--z-accent-text); }
.ed-quote figcaption { margin-top: 28px; font-size: 12px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-fg-subtle); }
.ed-close { background: var(--z-night); color: var(--site-display); overflow-x: clip; }
.ed-close h2 { font: 600 clamp(38px, 4.4vw, 64px)/1.06 'Fraunces', serif;
  letter-spacing: -0.015em; margin: 0 0 18px; max-width: 18ch; }
.ed-close h2 em { font-style: italic; font-weight: 400; color: var(--z-accent); }
.ed-close .ed-sub { margin: 0 0 36px; }
.ed-close-meta { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 44px 0 0;
  padding-top: 22px; border-top: 1px solid var(--ed-rule); font-size: 14px; color: var(--z-fg-subtle); }
.ed-close-meta a { color: var(--site-fg-strong); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: .22em; text-decoration-color: rgba(231, 234, 242, .4); }
.ed-close-meta a:hover { text-decoration-color: currentColor; }
.ed-prose { max-width: 68ch; color: var(--ed-body); font-size: 17px; line-height: 1.72; }
.ed-prose p { margin: 0 0 1.15em; }
.ed-prose h2 { font: 600 clamp(26px, 2.6vw, 32px)/1.18 'Fraunces', serif; letter-spacing: -0.012em;
  color: var(--z-fg); margin: 2.4em 0 .6em; }
.ed-prose h2:first-child { margin-top: 0; }
.ed-prose h2 em { font-style: italic; font-weight: 400; }
.ed-prose h3 { font: 600 18px/1.35 var(--z-font-editorial); color: var(--z-fg); margin: 1.8em 0 .5em; }
.ed-prose strong, .ed-prose b { font-weight: 600; color: var(--z-fg); }
.ed-prose ul, .ed-prose ol { margin: 0 0 1.15em; padding-left: 1.25em; }
.ed-prose li { margin: 0 0 .5em; padding-left: .25em; }
.ed-prose li::marker { color: var(--z-fg-subtle); }
.ed-prose a { color: var(--z-accent-text); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ed-prose a:hover { text-decoration-thickness: 2px; }
.ed-note { margin: 0 0 2.2em; padding: 4px 0 4px 24px; border-left: 3px solid var(--z-accent);
  font-size: 16px; line-height: 1.65; color: var(--ed-body); }
.ed-note > :last-child { margin-bottom: 0; }
.ed-note strong { font-weight: 600; color: var(--z-fg); }
.ed-note a { color: var(--z-accent-text); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ed-note .k { display: block; font-size: 12px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--z-accent-text); margin: 0 0 6px; }
.ed-note .t { font: 600 22px/1.25 'Fraunces', serif; color: var(--z-fg); margin: 0 0 12px; }
.ed-legal { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 68ch);
  gap: 72px; align-items: start; }
.ed-legal > .ed-note { position: sticky; top: 104px; margin: 0; }
.ed-legal .ed-note ul { padding-left: 1.1em; margin: 0; }
.ed-legal .ed-note li { margin-bottom: .7em; font-size: 15px; line-height: 1.55; }
.ed-legal article { padding: 36px 0 8px; border-top: 1px solid var(--ed-rule); }
.ed-legal article:first-of-type { padding-top: 0; border-top: none; }
.ed-legal article h2 { font: 600 22px/1.3 var(--z-font-editorial); letter-spacing: 0; margin: 0 0 .7em; }
.ed-return { margin: 48px 0 0; }
.ed-article .usecase { margin: 3em 0; padding-top: 26px; border-top: 2px solid var(--z-ink); }
.ed-article .usecase .k { display: block; font-size: 12px; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--z-accent-text); margin: 0 0 10px; }
.ed-article .usecase h2 { margin: 0 0 .5em; font-size: clamp(24px, 2.4vw, 28px); }
.usecase__facts { margin-top: 1.4em; border-top: 1px solid var(--ed-rule); }
.usecase__facts .row { display: grid; grid-template-columns: 128px 1fr; gap: 16px;
  padding: 12px 0; border-bottom: 1px solid var(--ed-rule); font-size: 15.5px; line-height: 1.6; }
.usecase__facts .fk { font-family: var(--z-font-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-fg-subtle); padding-top: 3px; }
.usecase__facts .fv { color: var(--ed-body); }
.ed-guides { margin: 0; padding: 0; list-style: none; border-top: 2px solid rgba(255, 255, 255, .3); }
.ed-guide { position: relative; display: grid; grid-template-columns: 240px minmax(0, 1fr);
  grid-template-rows: auto 1fr; column-gap: 48px; padding: 40px 0 44px;
  border-bottom: 1px solid var(--ed-rule); }
.ed-guide > div { grid-column: 2; grid-row: 1 / 3; }
.ed-guide .no { grid-column: 1; font-family: var(--z-font-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-accent); margin: 10px 0 0; }
.ed-guide .meta { grid-column: 1; grid-row: 2; display: flex; flex-wrap: wrap; gap: 4px 16px;
  margin: 10px 0 0; font-size: 13px; color: var(--z-fg-subtle); }
.ed-guide h2 { font: 600 clamp(26px, 2.8vw, 36px)/1.15 'Fraunces', serif; letter-spacing: -0.015em;
  margin: 0 0 14px; color: var(--site-display); max-width: 22ch; }
.ed-guide h2 em { font-style: italic; font-weight: 400; }
.ed-guide div p { margin: 0; font-size: 16px; line-height: 1.62; color: var(--ed-body); max-width: 60ch; }
.ed-guide .go { display: inline-block; margin-top: 22px; white-space: nowrap; font-weight: 500;
  font-size: 15px; color: var(--site-display); border-bottom: 1px solid var(--z-accent); padding-bottom: 2px; }
.ed-guide .go::after { content: " \2192"; color: var(--z-accent); }
.ed-guide .go::before { content: ""; position: absolute; inset: 0; }
.ed-guide:hover h2 { color: #fff; }
.ed-guide:hover .go { border-bottom-width: 2px; }
.tl-h2 { max-width: 20ch; margin-bottom: 40px; }
.tl-list { margin: 0; padding: 0; list-style: none;
  border-top: 2px solid color-mix(in srgb, var(--z-fg) 30%, transparent); }
.tl-item { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px;
  align-items: center; padding: 56px 0 60px; border-bottom: 1px solid var(--ed-rule); }
.tl-item .no { margin: 0; font-family: var(--z-font-mono); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--z-accent); }
.tl-item h3 { font: 600 clamp(28px, 3vw, 40px)/1.12 'Fraunces', serif; letter-spacing: -0.015em;
  margin: 14px 0 16px; color: var(--site-display); }
.tl-text > p:not([class]) { margin: 0; font-size: 16px; line-height: 1.62; color: var(--ed-body); max-width: 48ch; }
.tl-go { display: inline-block; margin-top: 24px; white-space: nowrap; font-weight: 500; font-size: 15px;
  color: var(--site-display); border-bottom: 1px solid var(--z-accent); padding-bottom: 2px; }
.tl-go::after { content: " \2192"; color: var(--z-accent); }
.tl-go:hover, .tl-item:hover .tl-go { border-bottom-width: 2px; }
.tl-item .tl-go::before { content: ""; position: absolute; inset: 0; }
.tl-rel { margin: 18px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--z-fg-subtle); }
.tl-rel a { position: relative; z-index: 1; color: var(--site-fg-strong); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .22em; }
.tl-rel a:hover { color: var(--site-display); }
.tl-shot { margin: 0; }
.tl-shot picture, .tl-game picture { display: block; overflow: hidden; border-radius: var(--z-radius-lg);
  border: 1px solid var(--z-border-strong); transition: transform var(--z-dur-std) var(--z-ease); }
.tl-shot img, .tl-game img { display: block; width: 100%; height: auto; }
.tl-item:hover .tl-shot picture, .tl-game:hover picture { transform: translateY(-4px); }
.tl-shot figcaption { margin-top: 12px; font-size: 12px; letter-spacing: .02em; color: var(--z-fg-subtle); }
.tl-games { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px;
  margin: 0; padding: 0; list-style: none; }
.tl-game { position: relative; }
.tl-game-name { margin: 20px 0 8px; font: 600 24px/1.2 'Fraunces', serif; letter-spacing: -0.01em; }
.tl-game-name a { color: var(--site-display); text-decoration: none; }
.tl-game-name a::before { content: ""; position: absolute; inset: 0; }
.tl-game-name a::after { content: " \2192"; font-family: var(--z-font-editorial); font-size: 18px; color: var(--z-accent); }
.tl-game:hover .tl-game-name a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.tl-games p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ed-body); }
.tl-games-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 28px; margin: 44px 0 0;
  padding-top: 8px; border-top: 1px solid var(--ed-rule); }
.tl-games-foot .tl-go, .tl-games-foot span { margin-top: 20px; }
.tl-games-foot span { font-size: 13px; color: var(--z-fg-subtle); }
@media (max-width: 1100px) { .tl-item { gap: 44px; } .tl-games { gap: 28px; } }
@media (max-width: 900px) {
  .tl-item { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 44px 0 48px; }
  .tl-games { grid-template-columns: minmax(0, 1fr); gap: 44px; max-width: 560px; }
}
.ed-faq .bs-in { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 72px; align-items: start; }
.ed-toc { position: sticky; top: 104px; counter-reset: toc; border-top: 2px solid var(--z-ink); }
.ed-toc a { display: flex; gap: 12px; align-items: baseline; padding: 11px 0;
  border-bottom: 1px solid var(--ed-rule); font-size: 15px; line-height: 1.35; color: var(--z-fg); }
.ed-toc a::before { counter-increment: toc; content: counter(toc, decimal-leading-zero);
  font-family: var(--z-font-mono); font-size: 11px; letter-spacing: .1em; color: var(--z-fg-subtle); }
.ed-toc a:hover { color: var(--z-accent-text); text-decoration: underline;
  text-decoration-thickness: 1px; text-underline-offset: .22em; }
.ed-faq__body { max-width: 760px; }
.faq-cat { margin-top: 88px; scroll-margin-top: 104px; }
.faq-cat:first-child { margin-top: 0; }
.faq-cat__kicker { font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
  color: var(--z-accent-text); margin: 0 0 12px; }
.faq-cat__title { font: 600 clamp(28px, 2.8vw, 36px)/1.12 'Fraunces', serif; letter-spacing: -0.012em;
  color: var(--z-ink); margin: 0 0 24px; }
.faq-item { border-top: 1px solid var(--ed-rule); scroll-margin-top: 104px; }
.faq-item:last-child { border-bottom: 1px solid var(--ed-rule); }
.faq-q { margin: 0; }
.faq-q button { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  width: 100%; padding: 20px 0; background: none; border: none; cursor: pointer; text-align: left;
  font: 500 18px/1.4 var(--z-font-editorial); color: var(--z-fg); }
.faq-q button:hover { color: var(--z-accent-text); }
.faq-q button:focus-visible { outline-offset: 4px; }
.faq-q .ico { position: relative; flex: 0 0 auto; width: 26px; height: 26px; margin-top: 1px;
  border: 1px solid var(--z-fg-subtle); border-radius: 50%; }
.faq-q .ico::before, .faq-q .ico::after { content: ""; position: absolute; left: 50%; top: 50%;
  width: 10px; height: 1.5px; background: currentColor; transform: translate(-50%, -50%); }
.faq-q .ico::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform var(--z-dur-std) var(--z-ease); }
.faq-q button[aria-expanded="true"] .ico { border-color: var(--z-fg); }
.faq-q button[aria-expanded="true"] .ico::after { transform: translate(-50%, -50%) rotate(0deg); }
.faq-a { padding: 0 50px 26px 0; color: var(--ed-body); font-size: 16.5px; line-height: 1.7; }
.faq-a[hidden] { display: none; }
.faq-a p { margin: 0 0 .9em; max-width: 68ch; }
.faq-a ul { margin: 0 0 .9em; padding-left: 1.25em; }
.faq-a li { margin-bottom: .45em; max-width: 64ch; }
.faq-a li::marker { color: var(--z-fg-subtle); }
.faq-a > :last-child { margin-bottom: 0; }
.faq-a strong { font-weight: 600; color: var(--z-fg); }
.faq-a a { color: var(--z-accent-text); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: .22em; }
.ed-404 { min-height: 72vh; }
.ed-404 .mh-ctas { margin-top: 40px; }
@media (max-width: 1100px) {
  .ed-legal { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .ed-legal > .ed-note { position: static; max-width: 68ch; }
  .ed-faq .bs-in { grid-template-columns: minmax(0, 1fr); gap: 56px; }
  .ed-toc { position: static; display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
  .ed-founder .bs-in { gap: 56px; }
  .ed-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed-grid.four > :nth-child(odd) { padding-left: 0; border-left: none; }
}
@media (max-width: 900px) {
  .ed-entry-row { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .ed-founder .bs-in { grid-template-columns: minmax(0, 1fr); }
  .ed-portrait { position: static; max-width: 420px; }
  .ed-grid, .ed-grid.four { grid-template-columns: minmax(0, 1fr); }
  .ed-grid > *, .ed-grid > * + * { padding: 24px 0 26px; border-left: none; }
  .ed-guide { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .ed-guide > div, .ed-guide .no, .ed-guide .meta { grid-column: 1; grid-row: auto; }
  .ed-guide .no { margin: 0 0 14px; }
  .ed-guide .meta { margin-top: 16px; }
}
@media (max-width: 700px) {
  .ed-creds { grid-template-columns: minmax(0, 1fr); }
  .ed-quote figure { padding-left: 0; padding-top: 56px; }
  .ed-quote .mark { font-size: 96px; top: -.05em; }
  .ed-toc { grid-template-columns: minmax(0, 1fr); }
  .ed-prose { font-size: 16.5px; }
  .faq-q button { font-size: 17px; gap: 16px; }
  .faq-a { padding-right: 0; }
  .usecase__facts .row { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .ed-facts > div { grid-template-columns: 96px 1fr; }
}
}
/* components/ask.css */
@layer pages {
.ask { margin: 40px 0 0; max-width: 760px; }
.ask-label { display: block; margin: 0 0 10px; font: 500 12px/1.4 var(--z-font-editorial);
  letter-spacing: .16em; text-transform: uppercase; color: var(--z-fg-subtle); }
.ask-row { display: flex; gap: 10px; align-items: stretch; }
.ask-row textarea { flex: 1 1 auto; min-height: 56px; resize: vertical; padding: 15px 16px;
  font: 400 16px/1.45 var(--z-font-editorial); color: var(--z-fg);
  background: var(--z-surface-1); border: 1px solid var(--z-border-control); border-radius: var(--z-radius-md); }
.ask-row textarea::placeholder { color: var(--z-fg-subtle); }
.ask-row textarea:focus-visible { outline: 2px solid var(--z-accent); outline-offset: 2px; }
.ask-go { flex: 0 0 auto; padding: 0 26px; border: 0; border-radius: var(--z-radius-md); cursor: pointer;
  font: 500 16px/1 var(--z-font-editorial); background: var(--z-accent); color: var(--z-on-accent);
  transition: background .15s; }
.ask-go:hover:not(:disabled) { background: var(--z-accent-deep); }
.ask-go:focus-visible { outline: 2px solid var(--z-fg); outline-offset: 3px; }
.ask-go:disabled { opacity: .55; cursor: default; }
.ask-turnstile:empty { display: none; }
.ask-turnstile { margin: 10px 0 0; }
.ask-log { display: grid; gap: 12px; margin: 18px 0 0; }
.ask-log:empty { display: none; }
.ask-msg { margin: 0; font-size: 16px; line-height: 1.6; white-space: pre-line; }
.ask-msg--user { justify-self: end; max-width: 85%; padding: 10px 14px; border-radius: var(--z-radius-md);
  background: var(--z-surface-2); color: var(--z-fg); }
.ask-msg--assistant { padding: 14px 18px; border-left: 2px solid var(--z-border-strong);
  color: var(--site-fg-strong); }
.ask-msg--assistant a { color: var(--z-accent-text); text-decoration: underline; text-underline-offset: 3px; }
.ask-msg.is-pending::after { content: "Reading the site\2026"; color: var(--z-fg-subtle); }
.ask-form.is-challenged .ask-msg.is-pending::after { content: "Check the box above to continue."; }
.ask-msg.is-error { border-left-color: var(--z-danger); color: var(--z-fg-muted); }
.ask-msg.is-decline { color: var(--z-fg-muted); }
.ask-note { margin: 14px 0 0; max-width: 68ch; font-size: 13px; line-height: 1.55; color: var(--z-fg-subtle); }
.ask-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) {
  .ask-row { flex-direction: column; }
  .ask-go { padding: 15px 22px; }
  .ask-msg--user { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ask-go { transition: none; } }
.ask-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.ask-chips[hidden] { display: none; }
.ask-chip { padding: 7px 12px; border-radius: var(--z-radius-sm); cursor: pointer;
  font: 400 14px/1.3 var(--z-font-editorial); color: var(--z-fg-muted);
  background: none; border: 1px solid var(--z-border-control); text-align: left; }
.ask-chip:hover { color: var(--z-fg); border-color: var(--z-fg-subtle); }
.ask-chip:focus-visible { outline: 2px solid var(--z-accent); outline-offset: 2px; }
}
/* components/photo.css */
@layer pages {
.zi-cover, .zi-cover img { position:absolute; inset:0; width:100%; height:100%; }
.zi-cover img { display:block; max-width:none; object-fit:cover;
  object-position:var(--zi-pos, 50% 50%); }
.train-v1 .tv1-photo { --zi-pos:50% 30%; }
@media (max-width:700px) { .train-v1 .tv1-photo { --zi-pos:50% 22%; } }
}
/* components/report.css */
@layer pages {
.zd-doc { container:zd / inline-size; background:var(--z-surface-1);
  color:var(--z-fg); text-align:left;
  font:400 15px/1.55 var(--z-font-editorial);
  -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.zd-page { padding:20px 18px 18px; }
.proof-v1 .pv1-page { align-self:stretch; }
.zd-doc :where(h2, h3, h4, p, dl, dd, ol, table, caption) { margin:0; padding:0; }
.zd-doc b { font-weight:600; color:var(--z-fg); }
.zd-sr { position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; }
.zd-run { display:flex; flex-wrap:wrap; justify-content:space-between;
  gap:2px 16px;
  padding-bottom:10px; margin-bottom:18px;
  border-bottom:1px solid var(--z-border); font-size:11px; font-weight:500;
  letter-spacing:var(--z-track-label); text-transform:uppercase;
  color:var(--z-fg-subtle); }
.zd-run span { white-space:nowrap; }
.zd-sec { font:600 20px/1.25 var(--z-font-editorial); letter-spacing:-0.01em;
  color:var(--z-fg); }
.zd-no { margin-right:6px; font-size:12px; font-weight:600;
  letter-spacing:var(--z-track-wide); color:var(--z-accent-text);
  vertical-align:2px; }
.zd-sec--2 { margin-top:30px; }
.zd-lede { margin-top:8px; font-size:14.5px; color:var(--z-fg-muted);
  max-width:62ch; }
.zd-lede b { color:var(--z-fg); }
.zd-pill { display:inline-block; padding:2px 9px; border:1px solid var(--z-border);
  border-radius:var(--z-radius-pill); font-size:10.5px; font-weight:500;
  line-height:1.6; letter-spacing:0.12em; text-transform:uppercase;
  white-space:nowrap; color:var(--z-fg-muted); }
.zd-pill--ok { border-color:var(--z-success); background:var(--z-success-soft);
  color:var(--z-success-text); }
.zd-pill--warn { border-color:var(--z-warning); background:var(--z-warning-soft);
  color:var(--z-warning-text); }
.zd-pill--now { border-color:var(--z-accent); background:var(--z-accent-soft);
  color:var(--z-accent-text); }
.zd-pillars { display:block; width:100%; margin-top:18px; }
.zd-pillars tbody { display:block; }
.zd-pillars tr { display:grid; grid-template-columns:auto 1fr;
  align-items:center; column-gap:10px; padding:11px 0 12px;
  border-top:1px solid var(--z-border); }
.zd-pillars tr:last-child { border-bottom:1px solid var(--z-border); }
.zd-pillars th { grid-column:1; grid-row:1; padding:0; text-align:left;
  font-size:15px; font-weight:600; color:var(--z-fg); }
.zd-pillars .zd-st { grid-column:2; grid-row:1; padding:0; }
.zd-pillars .zd-score { grid-column:1 / -1; grid-row:2; display:flex;
  align-items:center; gap:12px; padding:8px 0 0; }
.zd-pillars .zd-ev { grid-column:1 / -1; grid-row:3; padding:5px 0 0;
  font-size:13px; line-height:1.5; color:var(--z-fg-muted); }
.zd-bar { flex:1 1 auto; height:8px; border-radius:4px;
  background:var(--z-border); overflow:hidden; }
.zd-bar i { display:block; height:100%; width:calc(var(--v) * 1%);
  border-radius:inherit; background:var(--z-accent);
  transform-origin:left center; }
.zd-n { flex:none; min-width:4.6em; text-align:right; font-size:13px;
  color:var(--z-fg-muted); font-variant-numeric:tabular-nums; }
.zd-metrics { display:flex; flex-wrap:wrap; gap:16px 32px; margin-top:22px; }
.zd-metrics div { flex:0 1 auto; max-width:100%; display:flex;
  flex-direction:column-reverse; justify-content:flex-end; }
.zd-metrics dd { font:600 26px/1.08 var(--z-font-editorial); letter-spacing:-0.01em;
  color:var(--z-accent-text); font-variant-numeric:tabular-nums; }
.zd-metrics dt { max-width:15em; margin-top:6px; font-size:10.5px; font-weight:500; line-height:1.45;
  letter-spacing:var(--z-track-label); text-transform:uppercase;
  color:var(--z-fg-subtle); }
.zd-matrix { width:100%; margin-top:22px; border-collapse:collapse;
  font-size:13.5px; line-height:1.45; font-variant-numeric:tabular-nums; }
.zd-matrix th, .zd-matrix td { padding:8px 10px; border:1px solid var(--z-border);
  text-align:left; vertical-align:top; font-weight:400; }
.zd-matrix thead th { background:var(--z-ink); color:var(--z-fg);
  border-color:var(--z-ink); font-size:12.5px; font-weight:500; }
.zd-matrix tbody th { color:var(--z-fg); }
.zd-matrix tfoot th, .zd-matrix tfoot td { font-weight:600; color:var(--z-fg); }
.zd-matrix .zd-lead { box-shadow:inset 2px 0 0 var(--z-accent); }
.zd-matrix .zd-st { padding-top:6px; padding-bottom:6px; }
.zd-matrix .zd-note { font-weight:400; color:var(--z-fg-muted); }
.zd-rec .zd-est, .zd-rec .zd-meas { white-space:nowrap; }
.zd-k { display:none; }
@container zd (max-width: 33.99rem) {
  .zd-rec, .zd-rec tbody, .zd-rec tfoot { display:block; }
  .zd-rec thead { position:absolute; width:1px; height:1px; overflow:hidden;
    clip-path:inset(50%); }
  .zd-rec tr { display:grid; grid-template-columns:auto 1fr auto;
    column-gap:14px; row-gap:4px; padding:10px 0;
    border-top:1px solid var(--z-border); }
  .zd-rec tfoot tr { border-bottom:1px solid var(--z-border); }
  .zd-matrix.zd-rec th, .zd-matrix.zd-rec td { border:0; padding:0; box-shadow:none; }
  .zd-rec th { grid-column:1 / 3; grid-row:1; }
  .zd-rec .zd-st { grid-column:3; grid-row:1; padding:0; }
  .zd-rec .zd-est { grid-column:1; grid-row:2; }
  .zd-rec .zd-meas { grid-column:2 / -1; grid-row:2; }
  .zd-rec .zd-note { grid-column:1 / -1; grid-row:3; }
  .zd-rec .zd-k { display:block; margin-top:2px; font-size:10.5px;
    font-weight:500; letter-spacing:var(--z-track-label);
    text-transform:uppercase; color:var(--z-fg-subtle); }
  .zd-rec .zd-meas .zd-k { color:var(--z-accent-text); }
  .zd-days th, .zd-days td { padding:7px 6px; }
  .zd-days thead th { white-space:nowrap; }
}
.zd-moves { list-style:none; margin-top:24px; padding-left:7px; }
.zd-moves li { position:relative; padding:0 0 16px 20px;
  border-left:2px solid var(--z-accent); }
.zd-moves li:last-child { padding-bottom:2px; }
.zd-moves li::before { content:""; position:absolute; left:-8px; top:1px;
  width:14px; height:14px; box-sizing:border-box; border-radius:50%;
  background:var(--z-surface-1); border:2.5px solid var(--z-accent); }
.zd-kl { font-size:11px; font-weight:500; line-height:1.5;
  letter-spacing:var(--z-track-label); text-transform:uppercase;
  color:var(--z-fg-subtle); }
.zd-moves li p + p { margin-top:3px; font-size:14px; color:var(--z-fg); }
.zd-src { margin-top:20px; padding-top:10px;
  border-top:1px solid var(--z-border); font-size:11.5px; line-height:1.5;
  color:var(--z-fg-subtle); }
@container zd (min-width: 30rem) {
  .zd-page { padding:28px 30px 24px; }
  .zd-sec { font-size:22px; }
  .zd-metrics dd { font-size:30px; white-space:nowrap; }
}
@media (prefers-reduced-motion: no-preference) {
  html.zm .zd-bar i { transform:scaleX(0);
    transition:transform .9s var(--z-ease) .45s; }
  html.zm .iv .zd-bar i { transform:none; }
  html.zm .iv tr:nth-child(2) .zd-bar i { transition-delay:.52s; }
  html.zm .iv tr:nth-child(3) .zd-bar i { transition-delay:.59s; }
  html.zm .iv tr:nth-child(4) .zd-bar i { transition-delay:.66s; }
  html.zm .iv tr:nth-child(5) .zd-bar i { transition-delay:.73s; }
}
@media print {
  .zd-doc { break-inside:avoid; }
  html.zm .zd-bar i { transform:none; }
  .zd-matrix thead th { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
}
