/* Cost to Automate — timetable system
   Archivo (OFL) for headings, figures and labels; Source Serif 4 (OFL) for prose. */
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(/fonts/archivo-latin-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-201F,U+2022-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";src:url(/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations"),url(/fonts/archivo-latin-ext-wdth-normal.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020-2021,U+20A0-20AB,U+20AD-20C0,U+2113,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2-variations"),url(/fonts/source-serif-4-latin-opsz-normal.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}

:root{
  --paper:#ffffff;--paper-2:#f4f4f2;
  --ink:#15171b;--ink-2:#4b5059;--ink-3:#6b7079;
  --rule:#15171b;--hair:#d9dadd;--hair-2:#ebebed;
  --spot:#1f3fbf;--spot-2:#3956d6;--spot-wash:rgba(31,63,191,.1);
  --bar-manual:#9a9ea6;--error:#b3261e;--field-line:#6b7079;--flap:#eef0f3;--flap-hinge:rgba(21,23,27,.16);--float-near:rgba(21,23,27,.06);--float-far:rgba(21,23,27,.16);--tint:rgba(21,23,27,.05);--tint-hit:rgba(21,23,27,.1);
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  /* type scale, 1.25 minor third-ish, rem */
  --t-xs:.8125rem;--t-sm:.8125rem;--t-ui:.9375rem;--t-body:1.0625rem;--t-lg:1.25rem;--t-h2:1.625rem;--t-fig:clamp(1.75rem,1.1rem + 1.7vw,2.5rem);
  --t-title:clamp(2.125rem,1.2rem + 2.8vw,3.5rem);--t-display:clamp(2.25rem,1.2rem + 3.2vw,3.75rem);
  /* 4px spacing scale */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --heavy:3px solid var(--rule);--thin:1px solid var(--rule);--hairline:1px solid var(--hair);
  --frame:1280px;--gutter:clamp(16px,4vw,48px);--measure:66ch;
  color-scheme:light;
}
[data-theme="dark"]{
  --paper:#121417;--paper-2:#1a1d21;
  --ink:#ebecee;--ink-2:#aeb2ba;--ink-3:#8a8f98;
  --rule:#ebecee;--hair:#30343b;--hair-2:#23262b;
  --spot:#93a6ff;--spot-2:#b3c0ff;--spot-wash:rgba(147,166,255,.14);
  --bar-manual:#6d727b;--error:#ff8a80;--field-line:#8a8f98;--flap:#24282e;--flap-hinge:rgba(0,0,0,.55);--float-near:rgba(0,0,0,.4);--float-far:rgba(0,0,0,.7);--tint:rgba(235,236,238,.075);--tint-hit:rgba(235,236,238,.14);
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--ink-3) var(--paper)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.bar>span{transition:none}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-ui);line-height:1.5;font-variant-numeric:lining-nums tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--spot)}
::selection{background:var(--spot-wash);color:var(--ink)}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--ink-3);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-color:var(--ink);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--spot);outline-offset:3px}
h1,h2,h3{margin:0;font-family:var(--sans);font-weight:700;color:var(--ink);text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--s4);top:-48px;z-index:10;background:var(--ink);color:var(--paper);padding:var(--s2) var(--s3);font-weight:600;text-decoration:none}
.skip:focus{top:var(--s3)}
.frame{max-width:var(--frame);margin:0 auto;padding:0 var(--gutter)}
.mk{font-family:var(--sans);font-weight:700;color:var(--ink);font-size:.95em}

/* Masthead: wordmark, quiet nav, theme switch */
.mast{border-bottom:var(--hairline)}
.mast-in{display:flex;align-items:center;gap:var(--s5);min-height:56px}
.wordmark{font-size:var(--t-lg);font-weight:800;font-stretch:75%;letter-spacing:-.01em;text-decoration:none;line-height:1;padding:var(--s2) 0}
.mast-nav{display:flex;gap:var(--s5);margin-left:auto}
.mast-nav a{font-size:var(--t-sm);font-weight:500;text-decoration:none;color:var(--ink-2);padding:var(--s2) 0}
.mast-nav a:hover{color:var(--ink);text-decoration:underline}
.mast-nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}
.nav-toggle{display:none;font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:none;border:0;padding:0 var(--s2);min-height:44px;cursor:pointer;margin-left:auto}
.nav-toggle:hover{color:var(--ink)}
.theme{flex:none;display:inline-grid;place-items:center;width:48px;height:44px;margin-right:calc(var(--s1) * -1);padding:0;background:none;border:0;cursor:pointer;color:var(--ink-2)}
.theme .track{position:relative;display:block;width:40px;height:22px;border:1px solid var(--field-line);border-radius:11px}
.theme .ic{position:absolute;top:4px;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.theme .ic-sun{left:4px}
.theme .ic-moon{right:4px}
.theme .knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--ink);transition:transform .18s ease-out}
.theme[aria-checked="true"] .knob{transform:translateX(18px)}
.theme:hover .track{border-color:var(--ink)}
.theme:focus-visible{outline:0}
.theme:focus-visible .track{outline:2px solid var(--spot);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.theme .knob{transition:none}}
@media (max-width:640px){
  .mast-in{flex-wrap:wrap;gap:0 var(--s2);min-height:52px}
  .js .nav-toggle{display:block}
  .mast-nav{order:3;width:100%;gap:var(--s4);margin:0 0 var(--s2);overflow-x:auto}
  .js .mast-nav{display:none}
  .js .mast.open .mast-nav{display:block;margin:0;padding:var(--s1) 0 var(--s3)}
  .js .mast.open .mast-nav a{display:block;padding:var(--s3) 0;font-size:var(--t-ui);border-top:var(--hairline)}
  .js .mast.open .mast-nav a[aria-current="page"]{box-shadow:none;font-weight:700}
}

/* Shared section rhythm */
.sec{margin-top:var(--s8)}
.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s2) var(--s6);margin-bottom:var(--s4)}
.sec h2,.doc-main h2{font-size:var(--t-h2);font-stretch:85%;letter-spacing:-.01em;line-height:1.15}
.sec-note{color:var(--ink-2);font-size:var(--t-ui);max-width:60ch}
.lede{font-variant-numeric:proportional-nums oldstyle-nums;font-family:var(--serif);font-size:var(--t-lg);line-height:1.5;color:var(--ink-2);max-width:var(--measure);font-optical-sizing:auto}

/* Home: hero, matrix legend, worked example */
.hero{padding:var(--s8) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,29rem);gap:var(--s6) var(--s8);align-items:start}
.display{font-size:var(--t-display);font-weight:760;font-stretch:72%;line-height:1.02;letter-spacing:-.018em;margin-bottom:var(--s5);max-width:20ch}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6);margin-top:var(--s6)}
.btn-primary{display:inline-flex;align-items:center;min-height:48px;padding:0 var(--s5);background:var(--ink);color:var(--paper);font-size:var(--t-ui);font-weight:650;text-decoration:none}
.btn-primary:hover{background:var(--ink-2);color:var(--paper);text-decoration:none}
.btn-quiet{display:inline-flex;align-items:center;gap:.3em;min-height:44px;font-size:var(--t-ui);font-weight:600;color:var(--ink);text-underline-offset:.25em}
.hero .folio{margin-top:var(--s5);font-size:var(--t-xs);color:var(--ink-3)}
.matrix-head{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s4) var(--s7);align-items:start;margin-bottom:var(--s5)}
.matrix-head h2{font-size:var(--t-h2);font-stretch:85%;letter-spacing:-.01em;line-height:1.15}
.key-h{font-size:var(--t-sm);font-weight:700;margin-bottom:var(--s2);color:var(--ink-2)}
.key dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2) var(--s5)}
.key dl div{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--s3);align-items:center}
.key dt{font-weight:700;text-align:right}
.key dd{margin:0;color:var(--ink-2);font-size:var(--t-sm);line-height:1.35}
@media (max-width:1100px){.key dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1023px){.hero{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.hero-board{max-width:34rem}}
@media (max-width:900px){
  .hero{padding:var(--s7) 0}
  .matrix-head{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero{padding:var(--s6) 0 var(--s7);gap:var(--s5)}
  .hero .lede{font-size:var(--t-body)}
  .cta{flex-direction:column;align-items:stretch;gap:var(--s2)}
  .btn-primary{justify-content:center}
  .btn-quiet{justify-content:center}
  .key dl{grid-template-columns:1fr;gap:var(--s1)}
}

/* Split-flap board: the worked example, in the hero */
.board{margin:0;container-type:inline-size}
.board-dl{margin:0;padding:var(--s4) var(--s4) var(--s3);background:var(--paper);border-radius:6px;box-shadow:0 1px 2px var(--float-near),0 18px 48px -16px var(--float-far);--op:1.25rem;--th:1.6;--cw:clamp(9px,calc((100cqw - 2 * var(--s4) - var(--op)) / 21 - 2px),18px)}
.b-row+.b-row{margin-top:var(--s2)}
.b-row dt{margin:0 0 3px var(--op);font-size:var(--t-xs);font-weight:600;font-stretch:85%;letter-spacing:.02em;line-height:1.2;color:var(--ink-2)}
.b-row dd{margin:0;display:flex;align-items:center;min-width:0}
.b-op{flex:0 0 var(--op);font-size:var(--t-ui);font-weight:600;color:var(--ink-3);text-align:left}
.tiles{display:flex;gap:2px}
.fl{position:relative;display:block;width:var(--cw);height:calc(var(--cw) * var(--th,1.6));line-height:calc(var(--cw) * var(--th,1.6));text-align:center;background:var(--flap);color:var(--ink);border-radius:2px;box-shadow:0 1px 0 var(--flap-hinge);font-size:calc(var(--cw) * 1.08);font-weight:650;font-stretch:85%;perspective:200px}
.fl::after{content:"";position:absolute;left:0;right:0;top:calc(50% - .5px);height:1px;background:var(--flap-hinge);z-index:3}
.fl .h{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--flap);backface-visibility:hidden}
.fl .h.t{top:0;transform-origin:50% 100%}
.fl .h.b{bottom:0;transform-origin:50% 0}
.fl .h>span{position:absolute;left:0;right:0;top:0;height:calc(var(--cw) * var(--th,1.6))}
.fl .h.b>span{top:auto;bottom:0}
.fl .h.f{z-index:2;visibility:hidden}
.b-manual .fl{color:var(--ink-2);font-weight:500}
.b-agent .fl{color:var(--spot)}
.b-arrow{margin:0 var(--s2);color:var(--ink-3);font-size:var(--t-ui)}

.board-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s4);margin-top:var(--s2);font-size:var(--t-sm)}
.board-foot a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:var(--ink);text-underline-offset:.25em}
.board-replay{font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink-2);background:none;border:0;padding:0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:.25em}
.board-replay:hover{color:var(--ink)}
@media (max-width:640px){
  .board-dl{padding:var(--s3);--op:.875rem;--th:1.45;--cw:clamp(8px,calc((100cqw - 2 * var(--s3) - var(--op)) / 21 - 2px),13px)}
  .b-row+.b-row{margin-top:var(--s1)}
  .b-row dt{margin-bottom:2px}
  .b-arrow{margin:0 var(--s1)}
}

/* Figures */
.fig-agent{color:var(--spot);font-weight:700}
.fig-manual{color:var(--ink-2);font-weight:400}

/* Dumbbell on a shared scale */
.db{position:relative;display:block;height:14px;margin-top:var(--s2)}
.db::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--hair)}
.db-line{position:absolute;top:calc(50% - 1px);height:2px;background:var(--bar-manual)}
.db-m,.db-a{position:absolute;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%}
.db-m{background:var(--paper);border:2px solid var(--bar-manual)}
.db-a{background:var(--spot)}
.key .db{width:4.5rem;margin:0}

/* Timetable matrix */
.tt-wrap{border-top:var(--heavy)}
table.tt{width:100%;border-collapse:collapse;table-layout:fixed}
.tt thead th{text-align:left;vertical-align:bottom;padding:var(--s3) var(--s4) var(--s2);border-bottom:var(--thin);font-size:var(--t-ui);font-weight:700;font-stretch:85%}
.tt thead th a{text-decoration:none;display:inline-block;padding:var(--s1) 0}
.tt thead th a:hover{text-decoration:underline}
.tt .corner{width:17%;font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}
.corner-key{display:block;margin-top:var(--s2);font-size:var(--t-xs);font-weight:500;color:var(--ink-3)}
.ticks{display:flex;justify-content:space-between;margin-top:var(--s2);font-size:var(--t-xs);font-weight:500;color:var(--ink-3);font-stretch:85%}
.tt tbody th,.tt td{vertical-align:top;padding:var(--s3) var(--s4) var(--s4);border-bottom:var(--hairline)}
.tt td+td,.tt th+td{border-left:var(--hairline)}
.tt thead th+th{border-left:var(--hairline)}
.tt tbody th{text-align:left;font-size:var(--t-body);font-weight:700;font-stretch:85%;line-height:1.25}
.tt tbody th a{text-decoration:none;display:inline-block;padding:var(--s1) 0}
.tt tbody th a:hover{text-decoration:underline}
.tt tbody tr:last-child>*{border-bottom:var(--thin)}
.tt th,.tt td{transition:background-color .25s ease-out}
.tt .x-row,.tt .x-col{background-color:var(--tint)}
.tt .x-hit{background-color:var(--tint-hit)}
.tt.x-on:not(.x-ambient) .x-row,.tt.x-on:not(.x-ambient) .x-col{transition-duration:.1s}
.tt.x-ambient .x-row,.tt.x-ambient .x-col{transition-duration:.6s}
@media (prefers-reduced-motion:reduce){.tt th,.tt td{transition:none}}
.entries{display:grid;gap:var(--s3)}
.entries li+li{padding-top:var(--s3);border-top:1px dotted var(--hair)}
.entry{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--s3);text-decoration:none}
.entry .e-pct{text-align:right;font-weight:750;font-stretch:85%;line-height:1.3}
.entry .e-figs{grid-column:1/-1;display:grid;grid-template-columns:6ch 1.75em 6ch;justify-content:start}
.entry .e-figs>span{text-align:right}
.entry .e-figs>span+span{grid-column:3}
.entry .e-name{font-weight:550;line-height:1.3}
.entry:hover .e-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.entry .e-figs{text-align:right;white-space:nowrap;line-height:1.3}
.entry .e-figs::before{content:"→";grid-column:2;grid-row:1;text-align:center;color:var(--ink-3);font-weight:400}
.entry .e-figs>span:first-child{grid-column:1;grid-row:1}
.entry .db{grid-column:1/-1}
.nil{color:var(--ink-3);font-size:var(--t-lg)}
.tt-foot{margin-top:var(--s3);font-size:var(--t-sm);color:var(--ink-2)}
@media (max-width:820px){
  .tt-wrap{border-top:0}
  table.tt,.tt tbody,.tt tr,.tt tbody th,.tt td{display:block;width:auto}
  .tt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .tt tbody tr{border-top:var(--thin);margin-bottom:var(--s6)}
  .tt tbody tr:first-child{border-top:var(--heavy)}
  .tt tbody th{padding:var(--s2) 0 var(--s3);border-bottom:var(--thin);font-size:var(--t-lg)}
  .tt td,.tt td+td,.tt th+td{border-left:0;padding:var(--s3) 0}
  .tt td::before{content:attr(data-label);display:block;font-size:var(--t-sm);font-weight:700;font-stretch:85%;color:var(--ink-2);margin-bottom:var(--s2)}
  .tt td.nil{display:none}
  .tt tbody tr:last-child>*{border-bottom:var(--hairline)}
}

/* Method */
.method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--s6)}
.method div{padding-top:var(--s3)}
.method h3{font-size:var(--t-body);font-stretch:85%;margin-bottom:var(--s2)}
.method p{font-variant-numeric:proportional-nums;font-family:var(--serif);font-size:var(--t-ui);line-height:1.55;color:var(--ink-2)}
.method .formula{font-family:var(--sans);color:var(--ink);font-size:var(--t-sm);margin-top:var(--s2);font-weight:500}
@media (max-width:820px){.method{grid-template-columns:1fr}.method div+div{margin-top:var(--s4)}}

/* Running head + document title */
.runhead{padding-top:var(--s3);font-size:var(--t-sm)}
.runhead ol{display:flex;flex-wrap:wrap;align-items:baseline}
.runhead li{color:var(--ink-2)}
.runhead .sep{margin:0 var(--s2);color:var(--ink-3)}
.runhead a{text-decoration:none;color:var(--ink-2);display:inline-block;padding:var(--s2) 0}
.runhead a:hover{color:var(--ink);text-decoration:underline}
.runhead [aria-current]{color:var(--ink)}
.doc-head{padding:var(--s4) 0 var(--s6);border-bottom:var(--thin);margin-bottom:var(--s6)}
.title{font-size:var(--t-title);font-weight:760;font-stretch:75%;line-height:1;letter-spacing:-.015em;margin-bottom:var(--s4);max-width:22ch}
.doc-head .lede{margin-top:var(--s2)}
.doc-head.hub-top{border-bottom:0;margin-bottom:var(--s2)}
.marks{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s5);font-size:var(--t-sm);color:var(--ink-2)}
.conf{display:inline-flex;align-items:center;gap:var(--s2);border:var(--thin);padding:3px var(--s3) 3px var(--s2);min-height:32px;color:var(--ink);font-weight:500;text-decoration:none}
.conf:hover{background:var(--paper-2)}
.conf b{font-weight:750}
.conf-scale{display:inline-flex;gap:2px}
.conf-scale i{width:7px;height:12px;border:1.5px solid var(--ink)}
.conf-scale i.on{background:var(--ink)}
.badge{display:inline}
.badge .mk,.est-tag .mk{margin-right:.2em}

/* Document grid */
.doc-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--s7);align-items:start}
.rail{position:sticky;top:var(--s5);font-size:var(--t-sm)}
.rail-h{font-size:var(--t-sm);font-weight:700;padding-bottom:var(--s2);border-bottom:var(--thin);margin-bottom:var(--s1)}
.rail a{display:block;padding:var(--s1) 0;text-decoration:none;color:var(--ink-2);border-bottom:var(--hairline)}
.rail a:hover{color:var(--ink)}
.rail a.active{color:var(--ink);font-weight:700}
.rail .rail-api{margin-top:var(--s5);color:var(--ink-2);line-height:1.4}
.rail .rail-api a{display:inline;border:0;padding:0;text-decoration:underline;word-break:break-all}
.doc-main{min-width:0}
.doc-main>section+section{margin-top:var(--s8)}
.doc-main h2{margin-bottom:var(--s4)}
.note{font-size:var(--t-sm);color:var(--ink-2);margin-top:var(--s3);max-width:var(--measure)}
.prose{font-variant-numeric:proportional-nums;font-family:var(--serif);font-size:var(--t-body);line-height:1.6;max-width:var(--measure)}
@media (max-width:960px){.doc-grid{grid-template-columns:1fr;gap:0}
  .rail{position:static;margin:calc(var(--s4) * -1) calc(var(--gutter) * -1) var(--s6);padding:0 var(--gutter);border-bottom:var(--hairline);overflow-x:auto;scrollbar-width:none}
  .rail::-webkit-scrollbar{display:none}
  .rail-h,.rail-api{display:none}
  .rail ol{display:flex;gap:var(--s5);white-space:nowrap}
  .rail a{border:0;padding:var(--s3) 0}
  .rail a.active{box-shadow:inset 0 -2px 0 var(--ink)}}

/* Statement: the answer, set like an account */
.statement h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s4)}
.est-tag{font-size:var(--t-sm);font-weight:600;font-stretch:100%;color:var(--ink-2);letter-spacing:0}
.st-sub{font-size:var(--t-sm);color:var(--ink-2);margin:calc(var(--s4) * -1 + 4px) 0 var(--s4)}
table.st{width:100%;border-collapse:collapse;border-top:var(--heavy)}
.st th,.st td{padding:var(--s3) 0;border-bottom:var(--hairline);vertical-align:middle}
.st th{text-align:left;font-size:var(--t-lg);font-weight:700;font-stretch:85%;line-height:1.2;width:30%;padding-right:var(--s4)}
.st-note{display:block;font-size:var(--t-sm);font-variant-numeric:proportional-nums;font-weight:400;font-stretch:100%;color:var(--ink-2);margin-top:2px}
.st .fig{text-align:right;font-size:var(--t-fig);font-weight:600;font-stretch:85%;letter-spacing:-.01em;white-space:nowrap;padding-right:var(--s6);line-height:1.1}
.st .bar-cell{width:44%}
.bar{display:block;height:14px;background:var(--hair-2)}
.bar>span{display:block;height:100%;background:var(--bar-manual);transition:width .5s cubic-bezier(.16,1,.3,1)}
.st-agent .fig{color:var(--spot)}
.st-agent .bar>span{background:var(--spot)}
.st-diff th,.st-diff td{border-top:var(--thin);border-bottom:3px double var(--rule)}
.st-diff .fig{font-weight:760}
.st-src{margin-top:var(--s2);font-size:var(--t-xs);color:var(--ink-3)}
.working{margin-top:var(--s5);display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--s4);font-size:var(--t-ui);line-height:1.6;color:var(--ink-2)}
.working-h{font-size:var(--t-sm);font-weight:700;color:var(--ink);padding-top:3px}
.working b{color:var(--ink);font-weight:700}
.working p{max-width:var(--measure)}
.crosscheck{margin-top:var(--s5);padding-top:var(--s3);border-top:var(--hairline);display:grid;grid-template-columns:7rem minmax(0,1fr);gap:var(--s4)}
.crosscheck-h{font-family:var(--sans);font-size:var(--t-sm);font-weight:700;padding-top:3px}
.crosscheck p{font-variant-numeric:proportional-nums;font-family:var(--serif);font-size:var(--t-ui);line-height:1.6;color:var(--ink-2);max-width:var(--measure)}
.crosscheck b{color:var(--ink)}
@media (max-width:720px){
  .st tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;border-bottom:var(--hairline);padding:var(--s3) 0}
  .st th,.st td{border:0;padding:0;width:auto}
  .st .fig{padding-right:0}
  .st .bar-cell{grid-column:1/-1;padding-top:var(--s2);width:auto}
  .st-diff{border-top:var(--thin);border-bottom:3px double var(--rule)!important}
  .st-diff th,.st-diff td{border:0}
  .working,.crosscheck{grid-template-columns:1fr;gap:var(--s1)}
}

/* Notes list */
.dash li{font-variant-numeric:proportional-nums;position:relative;padding:var(--s2) 0 var(--s2) var(--s5);border-bottom:var(--hairline);font-family:var(--serif);font-size:var(--t-body);line-height:1.55;max-width:calc(var(--measure) + 2rem)}
.dash li:first-child{border-top:var(--thin)}
.dash li::before{content:"–";position:absolute;left:0;color:var(--ink-3);font-family:var(--sans)}

/* Reference tables */
.ref-wrap{border-top:var(--heavy);overflow-x:auto}
table.ref{width:100%;border-collapse:collapse;font-size:var(--t-ui)}
.ref th,.ref td{text-align:left;vertical-align:top;padding:var(--s2) var(--s4) var(--s2) 0;border-bottom:var(--hairline)}
.ref thead th{font-size:var(--t-sm);font-weight:700;font-stretch:85%;border-bottom:var(--thin);padding-top:var(--s3);white-space:nowrap}
.ref tbody tr:last-child>*{border-bottom:var(--thin)}
.ref .num{text-align:right;white-space:nowrap}
.ref .id{color:var(--ink-2);white-space:nowrap;width:9rem}
.ref .lvl0{font-weight:700}
.ref .lvl1{padding-left:var(--s5)}
.ref .lvl1::before{content:"└ ";color:var(--ink-3)}
.ref ul{display:grid;gap:var(--s1);font-family:var(--serif);font-size:var(--t-ui);line-height:1.5;color:var(--ink-2)}
.ref ul li{padding-left:var(--s4);position:relative}
.ref ul li::before{content:"–";position:absolute;left:0;color:var(--ink-3)}
.soc{display:block;font-size:var(--t-sm);color:var(--ink-2)}
.occ-title{font-weight:650}
@media (max-width:640px){
  .occ thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .occ tr,.occ td{display:block;padding-right:0}
  .occ td{border:0;padding:var(--s1) 0}
  .occ tr{padding:var(--s3) 0;border-bottom:var(--hairline)}
  .occ td.num{text-align:left}
  .occ td.num::before{content:attr(data-label) " ";color:var(--ink-2);font-size:var(--t-sm)}
}

/* Calculator */
.calc-form{border-top:var(--heavy);padding-top:var(--s4)}
.fields{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s4) var(--s5);margin-bottom:var(--s6)}
.field{grid-column:span 2}
.field.wide{grid-column:span 4}
.field.wide~.field{grid-column:span 1}
label{display:block;font-size:var(--t-sm);font-weight:600;color:var(--ink);margin-bottom:var(--s2)}
input,select{width:100%;min-height:44px;padding:0 var(--s3);font:inherit;font-size:var(--t-lg);font-weight:600;font-stretch:85%;color:var(--ink);background:var(--paper);border:1px solid var(--field-line);border-radius:0;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}
input:hover,select:hover{border-color:var(--ink)}
input:focus,select:focus,input:focus-visible,select:focus-visible{outline:none;border-color:var(--spot);box-shadow:inset 0 0 0 1px var(--spot)}
input[aria-invalid="true"]{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}
select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:var(--s7);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%234b5059' stroke-width='2'/%3E%3C/svg%3E") right var(--s3) center/12px 8px no-repeat;text-overflow:ellipsis}
[data-theme="dark"] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23aeb2ba' stroke-width='2'/%3E%3C/svg%3E")}
.ctl{position:relative;display:block}
.ctl input{padding-right:4.5rem}
.ctl .unit{position:absolute;right:var(--s3);top:50%;transform:translateY(-50%);font-size:var(--t-sm);font-weight:500;color:var(--ink-2);pointer-events:none}
.calc-hint{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:var(--s4)}
select option{background:var(--paper);color:var(--ink)}
@media (max-width:820px){.fields{grid-template-columns:1fr 1fr}.field,.field.wide~.field{grid-column:span 1}.field.wide,.field:nth-child(3){grid-column:1/-1}}

.calc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s4);margin-bottom:var(--s2)}
.calc-label{font-size:var(--t-sm);font-weight:700}
.calc-msg{font-size:var(--t-sm);color:var(--error);flex:1 1 20ch}
.reset{margin-left:auto;font:inherit;font-size:var(--t-sm);font-weight:600;color:var(--ink);background:none;border:var(--thin);min-height:32px;padding:0 var(--s3);cursor:pointer}
.reset:hover{background:var(--ink);color:var(--paper)}

/* FAQ */
.faq{border-top:var(--thin)}
.faq-item{padding:var(--s4) 0;border-bottom:var(--hairline)}
.faq-item h3{font-size:var(--t-body);font-stretch:90%;line-height:1.3;margin-bottom:var(--s2);max-width:var(--measure)}
.faq-item p{font-variant-numeric:proportional-nums;font-family:var(--serif);font-size:var(--t-body);line-height:1.6;color:var(--ink-2);max-width:var(--measure)}

/* Sources */
.sources{counter-reset:src;border-top:var(--thin)}
.sources li{counter-increment:src;position:relative;padding:var(--s2) 0 var(--s2) var(--s6);border-bottom:var(--hairline);font-size:var(--t-ui)}
.sources li::before{content:counter(src);position:absolute;left:0;font-weight:700;color:var(--ink-3)}
.api-link{margin-top:var(--s4);font-size:var(--t-sm);color:var(--ink-2)}
.api-link a{color:var(--ink);word-break:break-all}

/* Hub list: one timetable line per process */
.hub{border-top:var(--heavy)}
.hub-head,.hub li{display:grid;grid-template-columns:minmax(0,1fr) 6rem 6rem 4.5rem minmax(0,30%);column-gap:var(--s4);align-items:baseline}
.hub-head{padding:var(--s2) 0;border-bottom:var(--thin);font-size:var(--t-sm);font-weight:700;font-stretch:85%}
.hub-head .num{text-align:right}
.hub-head .ticks{margin:0;align-self:end}
.hub li{padding:var(--s3) 0;border-bottom:var(--hairline)}
.hub li a{font-size:var(--t-body);font-weight:650;font-stretch:90%;line-height:1.3}
.hub .pc-m,.hub .pc-a{text-align:right;font-size:0;white-space:nowrap}
.hub .pc-m b,.hub .pc-a b{font-size:var(--t-lg);font-stretch:85%}
.hub li{position:relative}
.hub .pc-u{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hub-unit{font-weight:500;color:var(--ink-3)}
.hub .pc-pct{text-align:right;font-weight:750;font-stretch:85%;font-size:var(--t-body)}
.hub .db{margin:0;align-self:center}
@media (max-width:820px){
  .hub-head{display:none}
  .hub li{grid-template-columns:auto auto minmax(0,1fr) auto;gap:var(--s1) var(--s2)}
  .hub .pc-u{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;font-size:var(--t-xs);color:var(--ink-3)}
  .hub li a{grid-column:1/4}
  .hub .pc-pct{grid-column:4;grid-row:1}
  .hub .pc-m,.hub .pc-a{font-size:var(--t-sm);color:var(--ink-2);text-align:left}
  .hub .pc-u{text-align:left}
  .hub .db{grid-column:1/-1}
}
/* Newsletter + colophon */
.news{margin-top:var(--s8);border-top:var(--hairline);padding:var(--s4) 0 0;font-size:var(--t-ui);color:var(--ink-2)}
.news b{color:var(--ink)}
.colophon{font-variant-numeric:proportional-nums;margin-top:var(--s7);padding:var(--s5) 0 var(--s8);border-top:var(--hairline);font-size:var(--t-xs);line-height:1.6;color:var(--ink-2)}
.colophon-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s6)}
.colophon .wordmark{display:inline-block;font-size:var(--t-body);margin-bottom:var(--s4)}
.colophon a{color:var(--ink)}
@media (max-width:820px){.colophon-in{grid-template-columns:1fr;gap:var(--s4)}}

/* Calculator prototype page (markup from site/index.html) */
.proto{padding-top:var(--s6)}
.proto>h1{font-size:var(--t-title);font-weight:760;font-stretch:75%;line-height:1;letter-spacing:-.015em}
.proto .sub{font-family:var(--serif);font-size:var(--t-lg);color:var(--ink-2);margin:var(--s3) 0 var(--s6);max-width:var(--measure)}
.proto .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4) var(--s5);border-top:var(--heavy);padding-top:var(--s4);margin-bottom:var(--s6)}
.proto .pair{display:flex;gap:var(--s4)}
.proto .cards{display:grid;border-top:var(--heavy)}
.proto .card{display:grid;grid-template-columns:24% minmax(0,auto) minmax(0,1fr) 30%;align-items:baseline;gap:var(--s1) var(--s6);padding:var(--s3) 0;border-bottom:var(--hairline);font-size:var(--t-lg);font-weight:700;font-stretch:85%;color:var(--ink)}
.proto .card.manual{order:-1}
.proto .card:last-child{border-top:var(--thin);border-bottom:3px double var(--rule)}
.proto .big{font-size:var(--t-fig);font-weight:600;letter-spacing:-.01em;line-height:1.1;text-align:right;min-width:7ch}
.proto .agent .big{color:var(--spot)}
.proto .card .bar{align-self:center}
.proto .agent .bar>span{background:var(--spot)}
.proto .card:last-child .big{font-weight:760}
.proto .card small{font-size:var(--t-sm);font-weight:400;font-stretch:100%;color:var(--ink-2)}
.proto h2{font-size:var(--t-h2);font-stretch:85%;margin:var(--s8) 0 var(--s4)}
.proto table{width:100%;border-collapse:collapse;border-top:var(--heavy);font-size:var(--t-ui)}
.proto td{padding:var(--s2) var(--s4) var(--s2) 0;border-bottom:var(--hairline);vertical-align:top}
.proto tr:last-child td{border-bottom:var(--thin)}
.proto .warn{margin-top:var(--s4);font-family:var(--serif);font-size:var(--t-ui);line-height:1.6;color:var(--ink-2);max-width:var(--measure)}
.proto .news{display:block}
.proto .news form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--s3);margin-top:var(--s3)}
.proto .news input{flex:1 1 240px;width:auto!important;font-size:var(--t-ui)}
.proto button{font:inherit;font-weight:600;min-height:40px;padding:0 var(--s4);background:var(--ink);color:var(--paper);border:0;cursor:pointer}
.proto button:hover{background:var(--ink-2)}
@media (max-width:720px){.proto .grid{grid-template-columns:1fr 1fr}.proto .card{grid-template-columns:minmax(0,1fr) auto}.proto .card small,.proto .card .bar{grid-column:1/-1}}
@media (max-width:420px){.proto .grid{grid-template-columns:1fr}}

@media print{.mast-nav,.theme,.rail,.news{display:none}}
