:root {
  --color-canvas-obsidian: #0B0C0A;
  --color-surface-card: #F7F4EC;
  --color-surface-ticket-stub: #ECE7DA;
  --color-ink-primary: #111210;
  --color-ink-muted: #5C5A54;
  --color-accent-volt: #C8FF00;
  --color-accent-stamp-apply: #00C853;
  --color-accent-stamp-pass: #FF3B1D;
  --color-accent-stamp-apply-on-paper: #007330;
  --color-accent-stamp-pass-on-paper: #C41A00;
  --color-line-hairline: #E5E0D5;
  --color-shadow-ambient: #080807;
  --font-display: "Cabinet Grotesk", system-ui, sans-serif;
  --font-ui: "Satoshi", system-ui, sans-serif;
  --font-mono: "Geist Mono", ui-monospace, monospace;
  --weight-ui-regular: 500;
  --weight-ui-bold: 700;
  --weight-display: 800;
  --weight-mono: 500;
  --type-pay-hero-size: 2.75rem;
  --type-pay-hero-line: 1.05;
  --type-pay-hero-tracking: -0.04em;
  --type-display-size: 2rem;
  --type-display-line: 1.05;
  --type-display-tracking: -0.035em;
  --type-headline-size: 1.625rem;
  --type-headline-line: 1.05;
  --type-headline-tracking: -0.03em;
  --type-title-size: 1.25rem;
  --type-title-line: 1.2;
  --type-title-tracking: -0.01em;
  --type-body-size: 1rem;
  --type-body-line: 1.4;
  --type-body-tracking: 0em;
  --type-label-size: 0.875rem;
  --type-label-line: 1.3;
  --type-label-tracking: 0em;
  --type-data-size: 0.8125rem;
  --type-data-line: 1.3;
  --type-data-tracking: 0em;
  --type-micro-size: 0.6875rem;
  --type-micro-line: 1.3;
  --type-micro-tracking: 0.02em;
  --radius-card: 30px;
  --radius-sheet: 32px;
  --radius-pill: 999px;
  --radius-tag: 6px;
  --space-xxs: 0.125rem;
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 0.75rem;
  --space-lg: 1rem;
  --space-xl: 1.5rem;
  --space-xxl: 2rem;
  --space-xxxl: 3rem;
  --shadow-card: 0px 12px 24px rgb(8 8 7 / 0.28);
  --shadow-sheet: 0px -8px 32px rgb(8 8 7 / 0.22);
  --press-scale: 0.96;
  --ticket-max-width: 26.25rem;
  --ticket-max-height: 38.75rem;
  --ticket-aspect: 7 / 9;
  --ticket-notch: 0.8125rem;
  --ticket-band: 2.75rem;
  --ticket-band-rule: 1px;
  --ticket-tear: 1px;
  --ticket-stub: 4.5rem;
  --ticket-stub-rule: 1px;
  --ticket-edge: 0 2px 0 var(--color-surface-ticket-stub), 0 4px 0 var(--color-line-hairline);
  --ticket-stack-y: 0.5625rem;
  --ticket-stack-scale: 0.04;
  --ticket-turn-2: -3.5deg;
  --ticket-turn-3: 2.5deg;
  --ticket-lift: 0 30px 48px rgb(8 8 7 / 0.42);
  --ticket-lift-scale: 1.02;
  --ticket-stamp-turn: 8deg;
  --ticket-stamp-size: 1.875rem;
  --ticket-stamp-border: 3px;
  --ticket-stamp-inset: 1.25rem;
}
@font-face {
  font-family: "Cabinet Grotesk";
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/CabinetGrotesk-Extrabold.466230933dfc.otf") format("opentype");
}
@font-face {
  font-family: "Satoshi";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/Satoshi-Medium.93330866d109.otf") format("opentype");
}
@font-face {
  font-family: "Satoshi";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/Satoshi-Bold.50e4f9b7c186.otf") format("opentype");
}
@font-face {
  font-family: "Geist Mono";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  src: url("/assets/fonts/GeistMono-Medium.56e828d4a504.woff2") format("woff2");
}
.torn-top { clip-path: polygon(0% 6px, 1.786% 0px, 3.571% 6px, 5.357% 0px, 7.143% 6px, 8.929% 0px, 10.714% 6px, 12.5% 0px, 14.286% 6px, 16.071% 0px, 17.857% 6px, 19.643% 0px, 21.429% 6px, 23.214% 0px, 25% 6px, 26.786% 0px, 28.571% 6px, 30.357% 0px, 32.143% 6px, 33.929% 0px, 35.714% 6px, 37.5% 0px, 39.286% 6px, 41.071% 0px, 42.857% 6px, 44.643% 0px, 46.429% 6px, 48.214% 0px, 50% 6px, 51.786% 0px, 53.571% 6px, 55.357% 0px, 57.143% 6px, 58.929% 0px, 60.714% 6px, 62.5% 0px, 64.286% 6px, 66.071% 0px, 67.857% 6px, 69.643% 0px, 71.429% 6px, 73.214% 0px, 75% 6px, 76.786% 0px, 78.571% 6px, 80.357% 0px, 82.143% 6px, 83.929% 0px, 85.714% 6px, 87.5% 0px, 89.286% 6px, 91.071% 0px, 92.857% 6px, 94.643% 0px, 96.429% 6px, 98.214% 0px, 100% 6px, 100% 100%, 0% 100%); padding-top: 12px; }
.torn-bottom { clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 6px), 98.214% 100%, 96.429% calc(100% - 6px), 94.643% 100%, 92.857% calc(100% - 6px), 91.071% 100%, 89.286% calc(100% - 6px), 87.5% 100%, 85.714% calc(100% - 6px), 83.929% 100%, 82.143% calc(100% - 6px), 80.357% 100%, 78.571% calc(100% - 6px), 76.786% 100%, 75% calc(100% - 6px), 73.214% 100%, 71.429% calc(100% - 6px), 69.643% 100%, 67.857% calc(100% - 6px), 66.071% 100%, 64.286% calc(100% - 6px), 62.5% 100%, 60.714% calc(100% - 6px), 58.929% 100%, 57.143% calc(100% - 6px), 55.357% 100%, 53.571% calc(100% - 6px), 51.786% 100%, 50% calc(100% - 6px), 48.214% 100%, 46.429% calc(100% - 6px), 44.643% 100%, 42.857% calc(100% - 6px), 41.071% 100%, 39.286% calc(100% - 6px), 37.5% 100%, 35.714% calc(100% - 6px), 33.929% 100%, 32.143% calc(100% - 6px), 30.357% 100%, 28.571% calc(100% - 6px), 26.786% 100%, 25% calc(100% - 6px), 23.214% 100%, 21.429% calc(100% - 6px), 19.643% 100%, 17.857% calc(100% - 6px), 16.071% 100%, 14.286% calc(100% - 6px), 12.5% 100%, 10.714% calc(100% - 6px), 8.929% 100%, 7.143% calc(100% - 6px), 5.357% 100%, 3.571% calc(100% - 6px), 1.786% 100%, 0% calc(100% - 6px)); padding-bottom: 12px; }
.torn-both { clip-path: polygon(0% 6px, 1.786% 0px, 3.571% 6px, 5.357% 0px, 7.143% 6px, 8.929% 0px, 10.714% 6px, 12.5% 0px, 14.286% 6px, 16.071% 0px, 17.857% 6px, 19.643% 0px, 21.429% 6px, 23.214% 0px, 25% 6px, 26.786% 0px, 28.571% 6px, 30.357% 0px, 32.143% 6px, 33.929% 0px, 35.714% 6px, 37.5% 0px, 39.286% 6px, 41.071% 0px, 42.857% 6px, 44.643% 0px, 46.429% 6px, 48.214% 0px, 50% 6px, 51.786% 0px, 53.571% 6px, 55.357% 0px, 57.143% 6px, 58.929% 0px, 60.714% 6px, 62.5% 0px, 64.286% 6px, 66.071% 0px, 67.857% 6px, 69.643% 0px, 71.429% 6px, 73.214% 0px, 75% 6px, 76.786% 0px, 78.571% 6px, 80.357% 0px, 82.143% 6px, 83.929% 0px, 85.714% 6px, 87.5% 0px, 89.286% 6px, 91.071% 0px, 92.857% 6px, 94.643% 0px, 96.429% 6px, 98.214% 0px, 100% 6px, 100% calc(100% - 6px), 98.214% 100%, 96.429% calc(100% - 6px), 94.643% 100%, 92.857% calc(100% - 6px), 91.071% 100%, 89.286% calc(100% - 6px), 87.5% 100%, 85.714% calc(100% - 6px), 83.929% 100%, 82.143% calc(100% - 6px), 80.357% 100%, 78.571% calc(100% - 6px), 76.786% 100%, 75% calc(100% - 6px), 73.214% 100%, 71.429% calc(100% - 6px), 69.643% 100%, 67.857% calc(100% - 6px), 66.071% 100%, 64.286% calc(100% - 6px), 62.5% 100%, 60.714% calc(100% - 6px), 58.929% 100%, 57.143% calc(100% - 6px), 55.357% 100%, 53.571% calc(100% - 6px), 51.786% 100%, 50% calc(100% - 6px), 48.214% 100%, 46.429% calc(100% - 6px), 44.643% 100%, 42.857% calc(100% - 6px), 41.071% 100%, 39.286% calc(100% - 6px), 37.5% 100%, 35.714% calc(100% - 6px), 33.929% 100%, 32.143% calc(100% - 6px), 30.357% 100%, 28.571% calc(100% - 6px), 26.786% 100%, 25% calc(100% - 6px), 23.214% 100%, 21.429% calc(100% - 6px), 19.643% 100%, 17.857% calc(100% - 6px), 16.071% 100%, 14.286% calc(100% - 6px), 12.5% 100%, 10.714% calc(100% - 6px), 8.929% 100%, 7.143% calc(100% - 6px), 5.357% 100%, 3.571% calc(100% - 6px), 1.786% 100%, 0% calc(100% - 6px)); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100svh;
  background: var(--color-canvas-obsidian);
  color: var(--color-surface-card);
  font-family: var(--font-ui);
  font-weight: var(--weight-ui-regular);
  font-size: var(--type-body-size);
  line-height: var(--type-body-line);
  overflow-x: clip;
  display: flex; flex-direction: column;
}
main { flex: 1 0 auto; }
a { color: inherit; text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
h1, h2, h3, p, ol, ul, dl, dd, figure { margin: 0; }
ol, ul { padding: 0; list-style: none; }
h1, h2, .brand, .pay-hero, .stamp, .stamp-void {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  line-height: var(--type-display-line);
}
h1 { font-size: var(--type-display-size); letter-spacing: var(--type-display-tracking); }
h2 { font-size: var(--type-headline-size); letter-spacing: var(--type-headline-tracking); }
h3 { font-size: var(--type-title-size); line-height: var(--type-title-line); letter-spacing: var(--type-title-tracking); font-weight: var(--weight-ui-bold); }
:focus-visible { outline: 2px solid var(--color-accent-volt); outline-offset: 3px; }
.paper :focus-visible, [data-ticket] :focus-visible, .ticket:focus-visible, .receipt-foot :focus-visible, .sheet :focus-visible { outline-color: var(--color-ink-primary); }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.skip {
  position: absolute; left: var(--space-md); top: -6rem; z-index: 10;
  padding: var(--space-sm) var(--space-md); border-radius: var(--radius-tag);
  background: var(--color-accent-volt); color: var(--color-ink-primary);
}
.skip:focus { top: var(--space-md); }
.mono, .band-tag, .section-no, .how-no, .rack-no, .rack-roles, .doc-reference-label, .doc-menu summary, .stub-cells, .doc-kicker, .doc-updated, .back-label, .rail-no, .foot-no, .foot-end {
  font-family: var(--font-mono); font-weight: var(--weight-mono); font-variant-numeric: tabular-nums;
}
.site-header, .crumbs { width: 100%; max-width: 80rem; margin: 0 auto; padding: var(--space-lg); }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); }
.brand { font-size: var(--type-headline-size); letter-spacing: var(--type-headline-tracking); text-decoration: none; }
.site-nav { display: flex; align-items: center; gap: var(--space-lg); font-size: var(--type-label-size); font-weight: var(--weight-ui-bold); }
.brand, .site-nav a, .site-footer a, .crumbs a, .links a, .doc-rail a, .text-link { display: inline-flex; align-items: center; min-height: 2.75rem; }
.site-nav a { text-decoration: none; }
.site-nav a:hover { text-decoration: underline; }
.lang-switch { padding: 0 var(--space-md); border-radius: var(--radius-pill); box-shadow: inset 0 0 0 1px var(--color-ink-muted); }
@media (max-width: 23rem) {
  .site-header { gap: var(--space-sm); }
  .site-nav { gap: var(--space-md); }
  .lang-switch { padding: 0 var(--space-sm); }
}
main { display: block; padding: 0 var(--space-lg) var(--space-xxxl); }
.has-sticky { padding-bottom: 5.5rem; }
.crumbs { padding-top: 0; padding-left: 0; padding-right: 0; font-size: var(--type-label-size); color: var(--color-surface-ticket-stub); }
.crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--space-sm); }
.crumbs li { display: inline-flex; align-items: center; min-height: 2.75rem; }
.crumbs li:not(:last-child)::after { content: "/"; margin-left: var(--space-sm); color: var(--color-ink-muted); }
.button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3rem; padding: var(--space-md) var(--space-xl);
  border: 0; border-radius: var(--radius-pill); cursor: pointer;
  background: var(--color-accent-volt); color: var(--color-ink-primary);
  font: inherit; font-weight: var(--weight-ui-bold); text-decoration: none;
  transition: transform 120ms ease-out;
  max-width: 100%; overflow-wrap: anywhere; text-align: center;
}
.button:active { transform: scale(var(--press-scale)); }
.button[disabled] { cursor: progress; }
.button-quiet { background: transparent; color: var(--color-surface-card); box-shadow: inset 0 0 0 2px var(--color-surface-card); }
.paper .button, [data-ticket] .button, .sheet .button { background: var(--color-ink-primary); color: var(--color-surface-card); }
.paper .button-quiet, [data-ticket] .button-quiet, .sheet .button-quiet { background: transparent; color: var(--color-ink-primary); box-shadow: inset 0 0 0 2px var(--color-ink-primary); }
.cta-buttons { display: flex; flex-wrap: wrap; gap: var(--space-md); }
.text-link { font-weight: var(--weight-ui-bold); }
.aside { font-size: var(--type-label-size); color: var(--color-surface-ticket-stub); }
.paper .aside, [data-ticket] .aside { color: var(--color-ink-muted); }
[data-ticket] {
  position: relative; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden;
  width: 100%; max-width: var(--ticket-max-width);
  border-radius: var(--radius-card);
  background: var(--color-surface-card); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card);
}
.ticket-band {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-md);
  min-height: var(--ticket-band); padding: 0 var(--space-xl);
  border-bottom: var(--ticket-band-rule) solid var(--color-line-hairline);
}
.wordmark {
  font-family: var(--font-display); font-weight: var(--weight-display);
  font-size: var(--type-label-size); letter-spacing: 0.04em; text-transform: uppercase;
  overflow-wrap: anywhere;
}
.band-tag { flex: none; font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); text-transform: uppercase; }
.ticket-face { display: flex; flex-direction: column; gap: var(--space-sm); min-height: 0; padding: var(--space-lg) var(--space-xl) var(--space-lg); }
.pay-hero { font-size: var(--type-pay-hero-size); letter-spacing: var(--type-pay-hero-tracking); overflow-wrap: anywhere; }
.tag-cents { font-size: 0.55em; vertical-align: 0.62em; letter-spacing: 0; }
.tag-lead { margin-right: 0.1em; font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: 0.34em; letter-spacing: 0; color: var(--color-ink-muted); }
.tag-unit { margin-left: 0.12em; font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: 0.34em; letter-spacing: 0; color: var(--color-ink-muted); }
.pay-none { font-size: var(--type-headline-size); color: var(--color-ink-muted); }
.ticket-title { font-family: var(--font-ui); font-weight: var(--weight-ui-bold); font-size: var(--type-title-size); line-height: var(--type-title-line); letter-spacing: var(--type-title-tracking); }
.ticket-reasons { display: grid; gap: var(--space-xs); font-size: var(--type-label-size); line-height: var(--type-label-line); }
.ticket-reasons li { position: relative; padding-left: 1.5rem; }
.ticket-reasons li::before {
  content: ""; position: absolute; left: 0.2rem; top: 0.22em; width: 0.45rem; height: 0.8rem;
  border: solid var(--color-accent-stamp-apply-on-paper); border-width: 0 2px 2px 0; rotate: 40deg;
}
.ticket-stub {
  position: relative; display: flex; align-items: center;
  min-height: var(--ticket-stub); padding: var(--space-sm) var(--space-xl);
  border-top: var(--ticket-tear) solid var(--color-line-hairline);
  background: var(--color-surface-ticket-stub);
  box-shadow: inset 0 var(--ticket-tear) 0 var(--color-surface-card);
}
.notch {
  position: absolute; top: calc(var(--ticket-notch) * -1); z-index: 2;
  width: calc(var(--ticket-notch) * 2); height: calc(var(--ticket-notch) * 2);
  border-radius: var(--radius-pill); background: var(--color-canvas-obsidian);
}
.notch-left { left: calc(var(--ticket-notch) * -1); }
.notch-right { right: calc(var(--ticket-notch) * -1); }
.stub-cells { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); width: 100%; }
.stub-cell { display: grid; gap: var(--space-xxs); align-content: start; min-width: 0; padding: 0 var(--space-md); }
.stub-cell:first-child { padding-left: 0; }
.stub-cell + .stub-cell { border-left: var(--ticket-stub-rule) solid var(--color-line-hairline); box-shadow: inset 1px 0 0 var(--color-surface-card); }
.stub-cell dt { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); }
.stub-cell dd { font-size: var(--type-data-size); line-height: var(--type-data-line); overflow-wrap: break-word; }
.stamp {
  position: absolute; top: var(--ticket-stamp-inset); z-index: 3;
  padding: var(--space-xs) var(--space-md);
  border: var(--ticket-stamp-border) solid currentColor; border-radius: var(--radius-tag);
  font-size: var(--ticket-stamp-size); line-height: var(--type-display-line); letter-spacing: var(--type-micro-tracking);
  background: transparent;
  pointer-events: none; mix-blend-mode: multiply; opacity: 0;
}
.stamp-apply { left: var(--ticket-stamp-inset); color: var(--color-accent-stamp-apply-on-paper); rotate: calc(var(--ticket-stamp-turn) * -1); opacity: var(--apply); scale: calc(1.25 - var(--apply) * 0.25); }
.stamp-pass { right: var(--ticket-stamp-inset); color: var(--color-accent-stamp-pass-on-paper); rotate: var(--ticket-stamp-turn); opacity: var(--pass); scale: calc(1.25 - var(--pass) * 0.25); }
@keyframes punch {
  0% { scale: 1.35; opacity: 0.3; }
  55% { scale: 0.94; opacity: 1; }
  100% { scale: 1; opacity: 1; }
}
.hero { max-width: 80rem; margin: 0 auto; display: grid; gap: var(--space-xl); padding: var(--space-sm) 0 var(--space-xxxl); }
.pitch { display: contents; }
.pitch h1 { order: 1; font-size: clamp(2.75rem, 11.5vw, 7.25rem); line-height: 0.92; letter-spacing: -0.045em; }
.pitch > :not(h1) { order: 3; }
.deck { order: 2; }
.lede { font-size: var(--type-title-size); line-height: var(--type-title-line); max-width: 32rem; }
.pitch .aside { max-width: 32rem; }
.cta { display: none; gap: var(--space-lg); }
.cta .button { background: var(--color-surface-card); color: var(--color-ink-primary); }
.qr { display: none; gap: var(--space-sm); width: 11rem; padding: var(--space-md); border-radius: var(--radius-tag); background: var(--color-surface-card); color: var(--color-ink-primary); font-size: var(--type-label-size); box-shadow: var(--ticket-edge), var(--shadow-card); rotate: -2deg; }
.qr svg { display: block; width: 100%; height: auto; fill: var(--color-ink-primary); }
.sticker-label { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); }
@media (min-width: 48rem) {
  .cta, .qr { display: grid; }
  .cta { grid-template-columns: auto auto; align-items: center; justify-content: start; }
}
@media (min-width: 64rem) {
  
  .hero { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: center; column-gap: var(--space-xxxl); min-height: calc(100svh - 2.75rem - var(--space-lg) * 2); padding-top: 0; padding-bottom: var(--space-xl); }
  .pitch { display: grid; gap: var(--space-lg); align-content: center; justify-items: start; }
  .pitch h1 { font-size: clamp(4.5rem, 7.4vw, 7.5rem); }
  .lede { font-size: 1.5rem; line-height: 1.3; }
}
.deck {
  display: grid; grid-template-areas: "note" "stack" "actions" "links" "hint"; gap: var(--space-md); justify-items: center;
  width: 100%; max-width: var(--ticket-max-width); margin: 0 auto;
}
.examples-note { grid-area: note; justify-self: start; font-size: var(--type-label-size); color: var(--color-surface-ticket-stub); }
.cards { grid-area: stack; position: relative; width: min(100%, var(--ticket-max-width), calc(60svh * 7 / 9)); aspect-ratio: var(--ticket-aspect); margin-bottom: calc(var(--ticket-stack-y) * 2); }
.cards > .ticket {
  position: absolute; inset: 0; max-width: none;
  touch-action: pan-y; user-select: none; -webkit-user-select: none;
  transform-origin: 50% 80%;
  transition: transform 300ms cubic-bezier(0.2, 0.8, 0.2, 1), opacity 260ms ease-out, background-color 300ms ease-out, box-shadow 200ms ease-out, scale 200ms ease-out, translate 400ms ease-out;
  --apply: 0; --pass: 0;
}
.cards > .ticket[data-stack="0"] { z-index: 3; }
.cards > .ticket[data-stack="1"] { z-index: 2; transform: translateY(var(--ticket-stack-y)) scale(calc(1 - var(--ticket-stack-scale))) rotate(var(--ticket-turn-2)); }
.cards > .ticket[data-stack="2"] { z-index: 1; transform: translateY(calc(var(--ticket-stack-y) * 2)) scale(calc(1 - var(--ticket-stack-scale) * 2)) rotate(var(--ticket-turn-3)); }
.cards > .ticket:not([data-stack="0"]) { background: var(--color-surface-ticket-stub); pointer-events: none; }
.cards > .ticket:not([data-stack="0"]) > * { opacity: 0.55; }
.cards > .ticket[data-state="top"] { cursor: grab; }
.cards > .ticket[data-state="dragging"] { cursor: grabbing; transition: scale 160ms ease-out, box-shadow 160ms ease-out; box-shadow: var(--ticket-edge), var(--ticket-lift); scale: var(--ticket-lift-scale); }
.cards > .ticket[data-state="stamped"] { box-shadow: var(--ticket-edge), var(--ticket-lift); }
.cards > .ticket[data-state="stamped"][data-way="apply"] .stamp-apply,
.cards > .ticket[data-state="stamped"][data-way="pass"] .stamp-pass { animation: punch 170ms ease-out both; }
.cards > .ticket[data-state="applied"] { z-index: 4; transform: translate(135%, -6%) rotate(16deg); opacity: 0; }
.cards > .ticket[data-state="passed"] { z-index: 4; transform: translate(-135%, -6%) rotate(-16deg); opacity: 0; }
.cards > .ticket[data-state="gone"] { visibility: hidden; }
.cards > .ticket .ticket-face { padding-top: var(--space-xl); gap: var(--space-md); justify-content: center; }
.cards > .ticket .ticket-reasons { margin-top: var(--space-xs); font-size: var(--type-body-size); line-height: var(--type-label-line); }
.cards > .ticket .pay-hero { font-size: clamp(3.5rem, 17vw, 4.75rem); }
.cards > .ticket .pay-none { font-size: clamp(2rem, 9vw, 2.5rem); }
.cards > .ticket .ticket-title { font-size: var(--type-headline-size); line-height: 1.1; letter-spacing: -0.015em; }
.cards { container-type: inline-size; }
.cards > .ticket .ticket-band, .cards > .ticket .ticket-face, .cards > .ticket .ticket-stub { padding-left: min(var(--space-xl), 6cqi); padding-right: min(var(--space-xl), 6cqi); }
.cards > .ticket .stub-cells { grid-auto-columns: minmax(max-content, 1fr); }
.cards > .ticket .stub-cell { padding-right: 1.5cqi; }
.cards > .ticket .stub-cell + .stub-cell { padding-left: 1.5cqi; }
.cards > .ticket .stub-cell:last-child { padding-right: 0; }
.cards > .ticket .stub-cell dt { font-size: min(var(--type-micro-size), 3.2cqi); }
.cards > .ticket .stub-cell dd { font-size: min(var(--type-data-size), 3.5cqi); }
@container (max-width: 21.5rem) {
  .cards > .ticket .ticket-face { padding: 5cqi 6cqi 4cqi; gap: 2.5cqi; }
  .cards > .ticket .pay-hero { font-size: 15cqi; }
  .cards > .ticket .pay-none { font-size: 9cqi; }
  .cards > .ticket .ticket-title { font-size: 6.5cqi; }
  .cards > .ticket .ticket-reasons { margin-top: 0; font-size: 4.2cqi; line-height: var(--type-label-line); }
}
.deck-actions, .deck-links { display: flex; gap: var(--space-md); width: 100%; }
.deck-actions { grid-area: actions; }
.deck-links { grid-area: links; }
.deck-actions .button, .deck-links .button { flex: 1; }
.deck-links { display: none; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.deck-hint { grid-area: hint; font-size: var(--type-label-size); color: var(--color-surface-ticket-stub); }
.deck-done {
  grid-area: stack; align-self: stretch; justify-self: stretch;
  display: grid; gap: var(--space-md); align-content: center; justify-items: start;
  margin-bottom: calc(var(--ticket-stack-y) * 2); padding: var(--space-xl);
  border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-ink-muted);
}
.deck-done h2 { font-size: clamp(2rem, 7vw, 2.75rem); line-height: 1; letter-spacing: -0.035em; }
.deck-done p { color: var(--color-surface-ticket-stub); }
.deck-done[hidden] { display: none; }
.deck[data-finished] .cards, .deck[data-finished] .deck-actions, .deck[data-finished] .deck-hint, .deck[data-finished] .examples-note { visibility: hidden; }
@media (scripting: none) {
  .cards > .ticket:not(:first-child) { display: none; }
  .cards { margin-bottom: 0; }
  .deck-actions, .deck-hint { display: none; }
  .deck-links { display: flex; }
}
.how, .kinds, .takehome, .closing { max-width: 80rem; margin: 0 auto; padding: var(--space-xxxl) 0; }
.section-head { display: grid; gap: var(--space-sm); margin-bottom: var(--space-xl); max-width: 44rem; }
.section-head h2 { font-size: clamp(2.25rem, 7vw, 4.25rem); line-height: 0.95; letter-spacing: -0.04em; }
.section-no { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-surface-ticket-stub); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-ink-muted); }
.section-lede { font-size: var(--type-title-size); line-height: var(--type-title-line); color: var(--color-surface-ticket-stub); max-width: 36rem; }
.how-steps { display: grid; gap: var(--space-xl); counter-reset: none; }
.how-step { display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr); gap: var(--space-lg); align-items: center; }
.how-object { position: relative; display: grid; place-items: center; min-height: 11rem; }
.how-words { display: grid; gap: var(--space-xs); align-content: start; }
.how-no { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-surface-ticket-stub); }
.how-words p:last-child { color: var(--color-surface-ticket-stub); font-size: var(--type-label-size); line-height: var(--type-label-line); }
.how-step:nth-child(odd) .how-object > * { rotate: -2deg; }
.how-step:nth-child(even) .how-object > * { rotate: 1.5deg; }
.mini-ticket { width: 100%; max-width: 13rem; border-radius: var(--radius-tag); }
.mini-ticket .ticket-band { min-height: 2rem; padding: 0 var(--space-md); }
.mini-ticket .wordmark { font-size: 0.625rem; }
.mini-ticket .ticket-face { padding: var(--space-sm) var(--space-md); gap: var(--space-xxs); }
.mini-ticket .pay-hero { font-size: 1.75rem; }
.mini-ticket .ticket-title { font-size: var(--type-label-size); }
.mini-ticket .ticket-stub { min-height: 2.75rem; padding: var(--space-xs) var(--space-md); }
.mini-ticket .notch { width: 1rem; height: 1rem; top: -0.5rem; }
.mini-ticket .notch-left { left: -0.5rem; }
.mini-ticket .notch-right { right: -0.5rem; }
.mini-stamped .ticket-face { padding-bottom: 2.75rem; }
.mini-ticket .stamp { top: auto; bottom: calc(2.75rem + var(--space-sm)); left: var(--space-md); right: auto; font-size: 1rem; padding: var(--space-xxs) var(--space-sm); border-width: 2px; }
.mini-form {
  display: grid; gap: var(--space-sm); width: 100%; max-width: 13rem; padding: var(--space-md);
  border-radius: var(--radius-tag); background: var(--color-canvas-obsidian);
  box-shadow: inset 0 0 0 1px var(--color-ink-muted), var(--shadow-card);
}
@media (max-width: 63.99rem) { .mini-form { padding-left: var(--space-sm); padding-right: var(--space-sm); } }
.mini-form-title { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-surface-ticket-stub); }
.mini-field { display: grid; gap: var(--space-xxs); }
.mini-label { font-size: var(--type-micro-size); color: var(--color-surface-ticket-stub); }
.mini-value {
  display: block; overflow: hidden; white-space: nowrap; padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-tag); box-shadow: inset 0 0 0 1px var(--color-ink-muted);
  font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-data-size);
}
.mini-submit { position: relative; display: grid; justify-items: start; align-items: center; width: 100%; max-width: 11rem; padding: var(--space-xl) 0; }
.mini-key {
  display: inline-flex; align-items: center; justify-content: center; min-width: 9rem; min-height: 3rem;
  border-radius: var(--radius-pill); background: var(--color-accent-volt); color: var(--color-ink-primary);
  font-weight: var(--weight-ui-bold); box-shadow: 0 6px 0 var(--color-ink-muted), var(--shadow-card);
  transition: transform 160ms ease-out, box-shadow 160ms ease-out;
}
.mini-thumb {
  position: absolute; left: 7.25rem; bottom: -0.75rem; width: 2.75rem; height: 4.25rem;
  border-radius: var(--radius-pill); background: var(--color-surface-ticket-stub);
  box-shadow: inset 0 -0.5rem 0 var(--color-line-hairline), var(--ticket-lift); rotate: -28deg;
  transition: translate 420ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.mini-stub {
  position: relative; display: grid; gap: var(--space-sm); width: 100%; max-width: 13rem; padding: var(--space-lg) var(--space-md) var(--space-md);
  border-radius: var(--radius-tag); background: var(--color-surface-ticket-stub); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card);
}
.mini-stub .notch { top: -0.5rem; width: 1rem; height: 1rem; }
.mini-stub .notch-left { left: -0.5rem; }
.mini-stub .notch-right { right: -0.5rem; }
.mini-punch {
  justify-self: start; padding: var(--space-xxs) var(--space-sm); border: 2px solid currentColor; border-radius: var(--radius-tag);
  color: var(--color-accent-stamp-apply-on-paper); font-family: var(--font-display); font-weight: var(--weight-display); font-size: 1.25rem; line-height: 1;
  rotate: -6deg; mix-blend-mode: multiply;
}
.mini-stub .stub-cell { padding: 0; }
.js .how-step:not(.is-seen) .stamp-landing { opacity: 0; scale: 1.4; }
.js .how-step .stamp-landing { opacity: 1; transition: opacity 200ms ease-out 250ms, scale 240ms cubic-bezier(0.3, 1.4, 0.5, 1) 250ms; }
.js .how-step:not(.is-seen) .mini-value { max-width: 0; padding-left: 0; padding-right: 0; }
.js .how-step .mini-value { max-width: 13rem; transition: max-width 500ms steps(14, end), padding 0ms; }
.js .how-step .mini-field[data-field="2"] .mini-value { transition-delay: 450ms; }
.js .how-step .mini-field[data-field="3"] .mini-value { transition-delay: 900ms; }
.js .how-step:not(.is-seen) .mini-thumb { translate: 1.5rem 2rem; }
.js .how-step.is-seen .mini-key { transform: translateY(4px) scale(var(--press-scale)); box-shadow: 0 2px 0 var(--color-ink-muted), var(--shadow-card); transition-delay: 380ms; }
.js .how-step:not(.is-seen) .mini-punch { opacity: 0; scale: 1.5; }
.js .how-step .mini-punch { transition: opacity 180ms ease-out 200ms, scale 220ms cubic-bezier(0.3, 1.4, 0.5, 1) 200ms; }
.js [data-reveal] { transition: opacity 500ms ease-out, translate 600ms cubic-bezier(0.2, 0.8, 0.2, 1); }
.js [data-reveal]:not(.is-seen) { opacity: 0; translate: 0 1.5rem; }
@media (min-width: 64rem) {
  .how-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-lg); position: relative; }
  
  .how-steps::before { content: ""; position: absolute; left: 0; right: 0; top: calc(15rem + var(--space-lg) / 2); border-top: 1px solid var(--color-ink-muted); }
  .how-step { grid-template-columns: 1fr; align-items: start; }
  .how-object { min-height: 15rem; }
  .js .how-step[data-step="2"] { transition-delay: 80ms; }
  .js .how-step[data-step="3"] { transition-delay: 160ms; }
  .js .how-step[data-step="4"] { transition-delay: 240ms; }
  .js .how-step[data-step="5"] { transition-delay: 320ms; }
}
.rack { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-lg) var(--space-md); padding-top: var(--space-lg); border-top: 1px solid var(--color-ink-muted); }
.rack > li { flex: 0 0 calc((100% - var(--space-md)) / 2); min-width: 0; }
.kind-rack { justify-content: flex-start; }
.rack-stub, .rack-stub > a {
  position: relative; display: grid; align-content: start; gap: var(--space-xxs);
  padding: var(--space-xl) var(--space-md) var(--space-md);
  border-radius: var(--radius-tag); background: var(--color-surface-ticket-stub); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card); text-decoration: none;
}
.rack-stub > a { margin: calc(var(--space-xl) * -1) calc(var(--space-md) * -1) calc(var(--space-md) * -1); box-shadow: none; }
.rack-stub:nth-child(odd) { rotate: var(--ticket-turn-2); }
.rack-stub:nth-child(even) { rotate: var(--ticket-turn-3); }
.rack-hole { position: absolute; top: var(--space-sm); left: 50%; width: 0.75rem; height: 0.75rem; margin-left: -0.375rem; border-radius: var(--radius-pill); background: var(--color-canvas-obsidian); }
.rack-no { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); }
.rack-name { font-weight: var(--weight-ui-bold); font-size: var(--type-label-size); line-height: var(--type-label-line); }
.rack-roles { font-size: var(--type-micro-size); line-height: var(--type-micro-line); letter-spacing: 0; color: var(--color-ink-muted); }
@media (min-width: 48rem) { .rack > li { flex-basis: calc((100% - var(--space-md) * 3) / 4); } }
@media (min-width: 72rem) { .rack > li { flex-basis: calc((100% - var(--space-md) * 5) / 6); } }
.takehome { display: grid; gap: var(--space-xl); filter: drop-shadow(var(--shadow-card)); }
.receipt {
  display: grid; gap: var(--space-md); width: 100%; max-width: 24rem;
  padding: var(--space-xxl) var(--space-xl); background: var(--color-surface-card); color: var(--color-ink-primary);
}
.receipt-title { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); padding-bottom: var(--space-sm); border-bottom: 2px solid var(--color-ink-primary); }
.receipt-note { font-size: var(--type-micro-size); line-height: var(--type-micro-line); color: var(--color-ink-muted); }
@media (min-width: 64rem) {
  .takehome { grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); align-items: center; column-gap: var(--space-xxxl); }
  .takehome .receipt { rotate: 1.5deg; }
}
.ledger {
  width: 100%; border-collapse: collapse;
  font-family: var(--font-mono); font-weight: var(--weight-mono);
  font-size: var(--type-data-size); line-height: var(--type-data-line); font-variant-numeric: tabular-nums;
}
.ledger caption { padding-bottom: var(--space-xs); text-align: left; font-family: var(--font-ui); font-weight: var(--weight-ui-bold); font-size: var(--type-label-size); }
.ledger th { padding: var(--space-xs) var(--space-md) var(--space-xs) 0; text-align: left; font-weight: inherit; }
.ledger td { padding: var(--space-xs) 0; text-align: right; white-space: nowrap; }
.ledger tr + tr { border-top: 1px solid var(--color-line-hairline); }
.ledger tr.ledger-total { border-top: 2px solid var(--color-ink-primary); font-weight: var(--weight-mono); }
.ledger tr.ledger-total td { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--type-headline-size); }
.closing { display: grid; gap: var(--space-lg); justify-items: start; padding-bottom: var(--space-xxl); }
.closing h2 { font-size: clamp(2.5rem, 9vw, 6rem); line-height: 0.95; letter-spacing: -0.045em; max-width: 14ch; }
.closing-next { padding-top: var(--space-sm); }
.site-footer { width: 100%; max-width: 80rem; margin: 0 auto; padding: 0 var(--space-lg) var(--space-lg); }
.receipt-foot {
  display: grid; gap: var(--space-lg); padding: var(--space-xxl) var(--space-xl) var(--space-xl);
  background: var(--color-surface-card); color: var(--color-ink-primary);
  border-bottom-left-radius: var(--radius-tag); border-bottom-right-radius: var(--radius-tag);
}
.foot-brand { font-family: var(--font-display); font-weight: var(--weight-display); font-size: clamp(2rem, 6vw, 4rem); line-height: 0.85; letter-spacing: -0.05em; }
.foot-lines { display: grid; border-top: 2px solid var(--color-ink-primary); }
.foot-lines li { border-bottom: 1px solid var(--color-line-hairline); }
.foot-lines a { display: flex; gap: var(--space-md); width: 100%; text-decoration: none; font-weight: var(--weight-ui-bold); font-size: var(--type-label-size); }
.foot-lines a:hover span:last-child { text-decoration: underline; }
.foot-no { min-width: 1.75rem; color: var(--color-ink-muted); font-size: var(--type-micro-size); }
.foot-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); }
.foot-end a { color: var(--color-ink-primary); font-family: var(--font-ui); font-weight: var(--weight-ui-bold); font-size: var(--type-label-size); letter-spacing: 0; }
@media (min-width: 48rem) {
  .receipt-foot { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: end; padding: var(--space-xxxl) var(--space-xxl) var(--space-xl); }
  .foot-lines { grid-template-columns: 1fr 1fr; column-gap: var(--space-xl); }
  .foot-end { grid-column: 1 / -1; }
}
.rack-page, .page-head { max-width: 80rem; margin: 0 auto; }
.page-head { display: grid; gap: var(--space-sm); margin-bottom: var(--space-xl); }
.page-head h1, .rack-page > .page-head h1 { font-size: clamp(2.5rem, 8vw, 5.5rem); line-height: 0.95; letter-spacing: -0.045em; max-width: 18ch; }
.rack-tickets { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--space-xl) var(--space-lg); }
.rack-ticket {
  position: relative; display: grid; grid-template-rows: auto 1fr auto; height: 100%; overflow: hidden;
  border-radius: var(--radius-card); background: var(--color-surface-card); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card); text-decoration: none;
  transition: translate 200ms ease-out, box-shadow 200ms ease-out, rotate 200ms ease-out;
}
.rack-tickets > li:nth-child(3n + 2) .rack-ticket { rotate: 0.6deg; }
.rack-tickets > li:nth-child(3n) .rack-ticket { rotate: -0.5deg; }
.rack-ticket:hover { translate: 0 -0.25rem; rotate: 0deg; box-shadow: var(--ticket-edge), var(--ticket-lift); }
.rack-ticket:hover .row-title { text-decoration: underline; }
.rack-ticket .ticket-band { padding: 0 var(--space-lg); }
.rack-face { display: grid; gap: var(--space-xs); align-content: start; padding: var(--space-lg); }
.rack-pay { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--type-display-size); line-height: var(--type-display-line); letter-spacing: var(--type-display-tracking); }
.rack-pay.pay-none { font-size: var(--type-title-size); }
.row-title { font-weight: var(--weight-ui-bold); font-size: var(--type-title-size); line-height: var(--type-title-line); }
.rack-foot {
  position: relative; display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); align-items: center;
  min-height: 3.25rem; padding: var(--space-sm) var(--space-lg);
  border-top: var(--ticket-tear) solid var(--color-line-hairline); background: var(--color-surface-ticket-stub);
  font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-data-size);
}
.place-name { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--type-display-size); line-height: var(--type-display-line); letter-spacing: var(--type-display-tracking); }
.cell-label { color: var(--color-ink-muted); font-size: var(--type-micro-size); }
.rack-heading { margin: var(--space-xxxl) 0 var(--space-md); }
.kind-rack { margin-top: var(--space-md); }
.rack-page > .links { margin-top: var(--space-xl); }
.links { display: grid; gap: var(--space-xs); }
.links a { font-weight: var(--weight-ui-bold); }
.empty-rack { display: grid; gap: var(--space-xl); }
.ghost-ticket { display: grid; grid-template-rows: var(--ticket-band) 1fr 3.25rem; height: 13rem; overflow: hidden; border-radius: var(--radius-card); box-shadow: inset 0 0 0 1px var(--color-ink-muted); }
.ghost-band { border-bottom: 1px solid var(--color-ink-muted); }
.ghost-stub { grid-row: 3; position: relative; border-top: 1px solid var(--color-ink-muted); }
.ghost-stub .notch { box-shadow: inset 0 0 0 1px var(--color-ink-muted); }
.ghost-ticket:nth-child(2) { rotate: 0.6deg; }
.ghost-ticket:nth-child(3) { rotate: -0.5deg; }
.empty-words { display: grid; gap: var(--space-sm); justify-items: start; max-width: 32rem; }
.empty-title { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--type-headline-size); line-height: var(--type-headline-line); }
.empty-words p:nth-child(2) { color: var(--color-surface-ticket-stub); }
@media (min-width: 64rem) {
  .empty-rack { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; }
}
.job { display: grid; gap: var(--space-xl); max-width: 72rem; margin: 0 auto; }
.job-ticket { margin: 0 auto; }
.job-ticket .ticket-face { gap: var(--space-md); padding-top: var(--space-xl); padding-bottom: var(--space-xl); container-type: inline-size; }
.job-ticket .pay-hero { font-size: min(4.25rem, 19cqi); white-space: nowrap; overflow-wrap: normal; }
.job-ticket .pay-hero.pay-wide { font-size: min(3.5rem, 13.5cqi); }
.job-ticket .pay-hero.pay-widest { font-size: min(3rem, 10cqi); }
.job-ticket .pay-none { font-size: var(--type-headline-size); }
.job-ticket h1 { font-family: var(--font-ui); font-weight: var(--weight-ui-bold); font-size: var(--type-headline-size); line-height: 1.15; letter-spacing: -0.015em; }
.job-ticket .weekly { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-data-size); color: var(--color-ink-muted); }
.job-ticket .aside { color: var(--color-ink-muted); }
.job-ticket .stub-cells { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-sm); padding: var(--space-xs) 0; }
.job-ticket .stub-cell:nth-child(odd) { padding-left: 0; border-left: 0; box-shadow: none; }
.sheet {
  position: relative; width: 100%; max-width: 44rem; margin: 0 auto;
  border-radius: var(--radius-tag); background: var(--color-surface-card); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card);
}
.back-label { padding: var(--space-md) var(--space-xl); border-bottom: 2px solid var(--color-ink-primary); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); }
.sheet-body { display: grid; gap: var(--space-lg); padding: var(--space-xl); }
.sheet section { display: grid; gap: var(--space-md); padding-top: var(--space-lg); border-top: 1px solid var(--color-line-hairline); }
.sheet-body > section:first-child { padding-top: 0; border-top: 0; }
.sheet h2 { font-size: var(--type-title-size); line-height: var(--type-title-line); letter-spacing: var(--type-title-tracking); }
.sheet .aside { color: var(--color-ink-muted); }
.description div { display: grid; gap: var(--space-md); }
.description ul, .requirements ul { display: grid; gap: var(--space-sm); padding-left: var(--space-xl); list-style: disc; }
.take-home { display: grid; gap: var(--space-md); }
.take-home-figure { font-family: var(--font-display); font-weight: var(--weight-display); font-size: var(--type-headline-size); line-height: var(--type-headline-line); letter-spacing: var(--type-headline-tracking); }
.take-home-note { font-size: var(--type-label-size); color: var(--color-ink-muted); }
.ledger-sum summary { display: flex; align-items: center; min-height: 2.75rem; cursor: pointer; font-weight: var(--weight-ui-bold); }
.ledgers { display: grid; gap: var(--space-lg); padding-top: var(--space-sm); }
@media (min-width: 40rem) { .ledgers { grid-template-columns: 1fr 1fr; } }
@media (max-width: 47.99rem) { .apply .button { width: 100%; } }
@media (min-width: 64rem) {
  .job { grid-template-columns: minmax(0, var(--ticket-max-width)) minmax(0, 1fr); align-items: start; column-gap: var(--space-xxxl); }
  .job-ticket { position: sticky; top: var(--space-xl); margin: 0; }
  .job .sheet { max-width: none; }
}
.doc { display: grid; gap: var(--space-xl); max-width: 72rem; margin: 0 auto; }
.paper {
  border-radius: var(--radius-tag); background: var(--color-surface-card); color: var(--color-ink-primary);
  box-shadow: var(--ticket-edge), var(--shadow-card);
}
.doc-paper { padding: var(--space-xl) var(--space-lg) var(--space-xxl); min-width: 0; }
.doc-head { display: grid; gap: var(--space-md); padding-bottom: var(--space-xl); margin-bottom: var(--space-xl); border-bottom: 2px solid var(--color-ink-primary); }
.doc-kicker, .doc-updated { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); }
.doc-head h1 { font-size: clamp(2.25rem, 8vw, 4rem); line-height: 0.95; letter-spacing: -0.04em; }
.doc-reference { display: grid; gap: var(--space-xxs); padding: var(--space-sm) 0; border-top: 1px solid var(--color-ink-muted); border-bottom: 1px solid var(--color-ink-muted); font-size: var(--type-label-size); }
.doc-reference-label { font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-ink-muted); }
.prose { display: grid; gap: var(--space-md); max-width: 38rem; line-height: 1.6; }
.prose h2 { padding-top: var(--space-xl); margin-top: var(--space-sm); border-top: 1px solid var(--color-line-hairline); font-size: var(--type-headline-size); scroll-margin-top: var(--space-xl); }
.prose ul, .prose ol { display: grid; gap: var(--space-sm); padding-left: var(--space-xl); }
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose pre {
  margin: 0; padding: var(--space-md); overflow-x: auto; border-radius: var(--radius-tag);
  background: var(--color-surface-ticket-stub);
  font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-data-size);
}
.prose .receipt-inline { justify-self: start; background: var(--color-surface-ticket-stub); }
.doc-rail { display: grid; gap: var(--space-sm); align-content: start; font-size: var(--type-label-size); }
.rail-title { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); color: var(--color-surface-ticket-stub); padding-bottom: var(--space-sm); border-bottom: 1px solid var(--color-ink-muted); }
.doc-rail ol { display: grid; }
.doc-rail li { border-bottom: 1px solid var(--color-ink-muted); }
.doc-rail a { display: flex; gap: var(--space-md); width: 100%; text-decoration: none; }
.doc-rail a:hover span:last-child { text-decoration: underline; }
.rail-no { min-width: 1.5rem; color: var(--color-surface-ticket-stub); font-size: var(--type-micro-size); }
.kept { display: grid; gap: var(--space-md); }
.kept h2 { padding-top: var(--space-xl); margin-top: var(--space-sm); border-top: 1px solid var(--color-line-hairline); }
.kept ul { display: grid; gap: var(--space-sm); padding-left: var(--space-xl); list-style: disc; }
.doc-menu { margin-bottom: var(--space-xl); border-top: 1px solid var(--color-ink-muted); border-bottom: 1px solid var(--color-ink-muted); }
.doc-menu summary { display: flex; align-items: center; min-height: 2.75rem; cursor: pointer; font-size: var(--type-micro-size); letter-spacing: var(--type-micro-tracking); text-transform: uppercase; }
.doc-menu ol { display: grid; padding-bottom: var(--space-sm); }
.doc-menu li + li { border-top: 1px solid var(--color-line-hairline); }
.doc-menu a { display: flex; align-items: center; gap: var(--space-md); min-height: 2.75rem; text-decoration: none; font-size: var(--type-label-size); }
.doc-menu a:hover span:last-child { text-decoration: underline; }
.doc-menu .rail-no { color: var(--color-ink-muted); }
@media (max-width: 63.99rem) { .doc-rail { display: none; } }
@media (min-width: 64rem) { .doc-menu { display: none; } }
@media (min-width: 48rem) { .doc-paper { padding: var(--space-xxl) var(--space-xxxl) var(--space-xxxl); } }
@media (min-width: 64rem) {
  .doc { grid-template-columns: 15rem minmax(0, 1fr); align-items: start; column-gap: var(--space-xxl); }
  .doc-plain { grid-template-columns: minmax(0, 52rem); justify-content: center; }
  .doc-rail { position: sticky; top: var(--space-xl); }
}
.request { display: grid; gap: var(--space-sm); max-width: 26rem; }
.request label { font-weight: var(--weight-ui-bold); }
.request input {
  min-height: 3rem; padding: var(--space-sm) var(--space-md);
  border: 2px solid var(--color-ink-primary); border-radius: var(--radius-tag);
  background: var(--color-surface-card); color: var(--color-ink-primary); font: inherit;
}
.request[aria-busy="true"] .button { opacity: 0.7; }
.support, .get, .void { display: grid; justify-items: center; gap: var(--space-xl); padding: var(--space-xl) 0 var(--space-xxl); }
.support-ticket h1, .get-ticket h1, .void-ticket h1 { font-size: clamp(2.25rem, 9vw, 3.5rem); line-height: 0.95; letter-spacing: -0.04em; }
.support-ticket .ticket-face, .get-ticket .ticket-face, .void-ticket .ticket-face { gap: var(--space-md); padding-top: var(--space-xxl); padding-bottom: var(--space-xxl); }
.support-lede { font-size: var(--type-title-size); line-height: var(--type-title-line); }
.stub-links { display: flex; flex-wrap: wrap; gap: 0 var(--space-lg); font-size: var(--type-label-size); }
.get-ticket .ticket-stub { flex-wrap: wrap; justify-content: space-between; gap: var(--space-lg); padding: var(--space-lg) var(--space-xl); }
.get-ticket .ticket-stub .cta-buttons { flex-direction: column; align-items: stretch; }
.get-ticket .qr { box-shadow: none; rotate: none; background: var(--color-surface-card); }
.void-line { font-family: var(--font-mono); font-weight: var(--weight-mono); font-size: var(--type-data-size); }
.void-body { color: var(--color-ink-muted); }
.stamp-void {
  align-self: flex-end; margin: calc(0.5em + var(--space-sm)) 0 calc(0.5em - var(--space-sm));
  padding: var(--space-xs) var(--space-lg); border: 4px solid currentColor; border-radius: var(--radius-tag);
  color: var(--color-accent-stamp-pass-on-paper); background: transparent;
  font-size: clamp(2rem, 10vw, 3.25rem); letter-spacing: 0.04em; line-height: 1;
  rotate: -12deg; mix-blend-mode: multiply; opacity: 0.92; white-space: nowrap;
}
.sticky-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 5; display: flex; justify-content: center;
  padding: var(--space-md) var(--space-lg); background: var(--color-canvas-obsidian); border-top: 1px solid var(--color-ink-muted);
}
.sticky-bar .button { width: 100%; max-width: var(--ticket-max-width); }
@media (min-width: 48rem) { .sticky-bar { display: none; } .has-sticky { padding-bottom: 0; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cards > .ticket, .button, .rack-ticket { transition: opacity 150ms linear, background-color 150ms linear; }
  .cards > .ticket[data-stack="1"] { transform: translateY(var(--ticket-stack-y)) scale(calc(1 - var(--ticket-stack-scale))); }
  .cards > .ticket[data-stack="2"] { transform: translateY(calc(var(--ticket-stack-y) * 2)) scale(calc(1 - var(--ticket-stack-scale) * 2)); }
  .cards > .ticket[data-state="applied"], .cards > .ticket[data-state="passed"] { transform: none; }
  .cards > .ticket[data-state="dragging"] { scale: none; }
  .cards > .ticket[data-state="stamped"] .stamp { animation: none; }
  .stamp-apply, .stamp-pass { scale: none; }
  .rack-ticket:hover { translate: none; }
  .js [data-reveal], .js [data-reveal]:not(.is-seen) { opacity: 1; translate: none; transition: none; }
  .js .how-step .stamp-landing, .js .how-step:not(.is-seen) .stamp-landing { opacity: 1; scale: none; transition: none; }
  .js .how-step .mini-value, .js .how-step:not(.is-seen) .mini-value { max-width: 13rem; padding: var(--space-xs) var(--space-sm); transition: none; }
  .js .how-step .mini-thumb, .js .how-step:not(.is-seen) .mini-thumb { translate: none; transition: none; }
  .js .how-step .mini-key { transition: none; }
  .js .how-step .mini-punch, .js .how-step:not(.is-seen) .mini-punch { opacity: 1; scale: none; transition: none; }
}
