/* Section 09 native figures and the Table 15 companion. Scoped to s09-*; kit tokens.
   The four expert colours follow the report drawings (yellow, blue, green, red).
   One encoding across Sections 1-3: baseline/dense = grey dashed (#77828a),
   grouped GEMM = teal (eight experts: teal-deep dashed); pink only marks the
   scrub point, the selection, annotations (padding waste, host wait, bubble,
   crossover) and focus. Report-named styles are kept: Figure 38's green
   operating band and Figure 40's magenta median curve (both named in the
   captions shown under the interactive views). */
.s09-fig{container:s09/inline-size;position:relative;margin:0;color:var(--ink);font-size:14.5px;line-height:1.5;
 --e0:#d9a514;--e0-fill:#f8e6b2;--e1:#4f7fb8;--e1-fill:#d7e4f4;--e2:#5c9a6a;--e2-fill:#d8eadb;--e3:#cf5d5b;--e3-fill:#f5d3d2;
 --s09-g:var(--teal);--s09-g8:var(--teal-deep);--s09-base:#77828a;--s09-base-text:#5b666d;
 --s09-band:#dceee1;--s09-band-line:rgba(47,107,69,.28);--s09-band-text:#2f6b45}
.report-content .s09-fig p{margin:0}
.report-content .s09-fig :is(ul,ol){margin:0;padding:0;list-style:none}
.report-content .s09-fig li{margin:0;padding:0}
.report-content .s09-fig li::marker{content:none}
.s09-sym{font-style:italic;font-family:inherit;text-transform:none;letter-spacing:0}
code.s09-sym{font-style:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.08em;padding:0;background:none;color:inherit}

/* Head: one title row (the frame badge carries the evidence label) */
.s09-fig-head{margin:2px 0 16px}
.report-content .s09-fig .s09-fig-title{margin:0;font-size:clamp(21px,2.1vw,27px);font-weight:400;line-height:1.2;letter-spacing:-.022em;color:var(--ink-deep);text-wrap:balance}

/* Controls */
.s09-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:0 0 14px}
/* Figure 36: shared autoplay pill (autoplay.js), last item of the controls row, pushed right. */
.s09-host .s09-controls .ap-slot{margin-left:auto}
.s09-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.s09-control[hidden]{display:none}
.s09-control-label{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s09-control-label .s09-sym{font-size:13px;font-weight:700}
.s09-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:20px;background:var(--cream-lo);border:1px solid var(--line)}
.s09-seg button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 13px;border:0;border-radius:999px;background:none;color:var(--muted);font:inherit;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .2s var(--ease),color .2s,box-shadow .2s}
/* Sentence case: these small labels carry symbols ((d, 2h)) and names (Olmo). */
.s09-seg button small{font-size:11px;font-weight:700;letter-spacing:.01em;color:var(--pink-deep)}
.s09-seg button:hover{color:var(--ink)}
.s09-seg button[aria-pressed="true"]{background:var(--cream-hi);color:var(--ink-deep);box-shadow:inset 0 0 0 1.5px var(--ink-deep),0 1px 3px rgba(10,43,53,.16)}
.s09-seg--presets button small{letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}
.s09-seg--bins button{min-width:38px;padding:0 9px;justify-content:center;font-variant-numeric:tabular-nums}
.s09-btn{display:inline-flex;align-items:center;min-height:36px;padding:0 15px;border:1px solid var(--teal-line);border-radius:999px;background:var(--cream-hi);color:var(--teal-deep);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s}
.s09-btn:hover{background:var(--teal-wash);border-color:var(--teal)}
.s09-switch{display:inline-flex;align-items:center;gap:10px;position:relative;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;min-height:34px}
.s09-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.s09-switch-ui{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:var(--sand);transition:background-color .2s var(--ease)}
.s09-switch-ui::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--cream-hi);box-shadow:0 1px 2px rgba(10,43,53,.25);transition:transform .2s var(--ease)}
.s09-switch input:checked+.s09-switch-ui{background:var(--teal)}
.s09-switch input:checked+.s09-switch-ui::after{transform:translateX(16px)}
.s09-switch input:focus-visible+.s09-switch-ui{outline:2.5px solid var(--pink);outline-offset:3px}
.s09-routes{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.s09-steppers{display:flex;flex-wrap:wrap;gap:6px}
.s09-stepper{display:inline-flex;align-items:center;gap:2px;padding:2px 3px 2px 9px;border:1px solid var(--line);border-radius:999px;background:var(--cream-hi)}
.s09-stepper-name{display:inline-flex;align-items:center;gap:5px;margin-right:3px;font-size:12px;font-weight:700;color:var(--ink-soft)}
.s09-stepper button{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:none;color:var(--teal-deep);font:inherit;font-size:16px;font-weight:700;line-height:1;cursor:pointer}
.s09-stepper button:hover:not(:disabled){background:var(--teal-wash)}
.s09-stepper button:disabled{color:var(--muted);cursor:default;opacity:.45}
.s09-stepper output{min-width:1.4ch;text-align:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-deep)}

/* Timeline slider (Figure 36): its thumb travels exactly along the plot's time axis */
.s09-range{display:flex;align-items:center;margin:2px 0 0}
.s09-range-label{flex:none;box-sizing:border-box;width:calc(var(--lw,14%) - 10px);padding-right:2px;text-align:right;font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s09-range.is-compact .s09-range-vis{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.s09-range input[type=range]{-webkit-appearance:none;appearance:none;flex:none;width:calc(var(--pw,84%) + 20px);height:28px;margin:0;background:transparent;cursor:pointer}
.s09-range input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s09-range input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s09-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--pink);border:3px solid var(--cream-hi);box-shadow:0 1px 4px rgba(10,43,53,.3)}
.s09-range input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--pink);border:3px solid var(--cream-hi);box-shadow:0 1px 4px rgba(10,43,53,.3)}
.s09-range input[type=range]:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px;border-radius:6px}

/* Surfaces, legends, SVG text */
.s09-surface{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:18px 20px 16px}
.s09-fig svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font)}
.s09-chart{position:relative;min-width:0;border-radius:8px}
.s09-chart svg{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.s09-chart:focus-visible{outline:2.5px solid var(--pink);outline-offset:4px}
.s09-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13px;color:var(--ink)}
.s09-legend li{display:inline-flex;align-items:center;gap:8px}
.s09-sw{display:inline-block;flex:none;width:12px;height:12px;border-radius:3px}
.s09-ln{display:inline-block;width:26px;height:0;border-top:2.6px solid}
.s09-ln--g,.s09-ln--g4{border-color:var(--s09-g)}
.s09-ln--b,.s09-ln--d{border-top-style:dashed;border-color:var(--s09-base)}
.s09-ln--g8{border-top-style:dashed;border-color:var(--s09-g8)}
.s09-ln--median{border-color:var(--pink)}
.s09-sw--band{background:var(--s09-band);border:1px solid var(--s09-band-line)}
.s09-sw--range{background:rgba(64,117,121,.16)}
.s09-sw--dot{width:10px;height:10px;border-radius:50%;background:var(--teal);opacity:.8}
.s09-sw--bal{width:9px;height:9px;border-radius:1px;background:var(--ink-deep);transform:rotate(45deg)}
.s09-t{font-size:12.5px;fill:var(--ink)}
.s09-t--tick{font-size:12px;fill:var(--muted);font-variant-numeric:tabular-nums}
.s09-t--axis{font-size:12.5px;fill:var(--muted)}
.s09-t--note{font-size:11px;fill:var(--muted)}
.s09-t--lane{font-size:12px;font-weight:700;fill:var(--ink-soft)}
.s09-t--blk{font-size:11.5px;font-weight:700;fill:var(--ink-deep);pointer-events:none}
.s09-t--axis,.s09-t--tick{pointer-events:none}
.s09-t--val{font-size:13px;font-weight:700;paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round;font-variant-numeric:tabular-nums}
.s09-t--g{fill:var(--teal-deep)}.s09-t--b{fill:var(--s09-base-text)}.s09-t--r,.s09-t--d{fill:var(--ink-deep)}
.s09-t--d.s09-t--region{fill:var(--s09-base-text)}
.s09-t--region{font-size:12px;font-weight:700;paint-order:stroke;stroke:var(--cream-hi);stroke-width:3px;stroke-linejoin:round}
.s09-t--band{font-size:11.5px;font-weight:700;fill:var(--s09-band-text)}
.s09-t--diag{fill:var(--muted)}
.s09-t--cross{font-size:11px;font-weight:700;fill:var(--pink-deep);letter-spacing:.04em}
.s09-t--scale{font-size:11.5px;fill:var(--muted);letter-spacing:.02em}
.s09-t--bubble{font-size:11px;font-weight:700;fill:var(--pink-deep)}
.s09-t--dotlab{font-size:12px;font-weight:700;fill:var(--teal-deep);paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s09-t--dotlab.is-pin{fill:var(--ink-deep)}
.s09-t--hdr{font-size:12.5px;font-weight:700;fill:var(--ink-deep)}
.s09-t--opg{font-size:15px;font-weight:700;fill:var(--muted)}
.s09-t--dim{font-size:11px;fill:var(--muted)}
.s09-tsub{font-size:max(.75em,10px)}
.s09-grid{stroke:var(--line);stroke-width:1}
.s09-axis,.s09-tickmark{stroke:var(--line-strong);stroke-width:1}
.s09-hit{fill:transparent;cursor:crosshair}
/* The scrub cursor is pink and solid, unlike the dashed dividers and reference lines. */
.s09-focus-line{stroke:var(--pink);stroke-width:1.5;opacity:.8;pointer-events:none}
.s09-fig-note{margin:12px 0 0;max-width:880px;font-size:12.5px;line-height:1.58;color:var(--muted)}
.report-content .s09-fig .s09-fig-note a[data-reference-type]{font-weight:700}
.report-content .s09-fig .s09-compare-link{font-weight:700;white-space:nowrap}
.s09-tip{position:absolute;z-index:5;max-width:260px;padding:8px 11px;border-radius:10px;background:var(--ink-deep);color:var(--cream);font-size:12.5px;line-height:1.45;box-shadow:var(--shadow-pop);pointer-events:none}
.s09-tip[hidden]{display:none}
.s09-tip b{color:#fff}
.s09-flag{font-weight:700;color:var(--ink-soft)}

/* Expert colours */
.s09-e0{--c:var(--e0);--cf:var(--e0-fill)}.s09-e1{--c:var(--e1);--cf:var(--e1-fill)}.s09-e2{--c:var(--e2);--cf:var(--e2-fill)}.s09-e3{--c:var(--e3);--cf:var(--e3-fill)}
i.s09-sw.s09-e0,i.s09-sw.s09-e1,i.s09-sw.s09-e2,i.s09-sw.s09-e3{background:var(--cf);border:1.5px solid var(--c);width:11px;height:11px}
.s09-key{display:inline-block;flex:none;width:14px;height:11px;border-radius:2px;vertical-align:-1px}
/* Routed rows are coloured per expert: the legend key shows all four colours. */
.s09-key--multi{display:inline-flex;width:22px;height:11px;gap:1px;border-radius:2px;overflow:hidden}
.s09-key--multi i{flex:1;display:block}
.s09-key--multi i:nth-child(1){background:var(--e0-fill);box-shadow:inset 0 0 0 1.2px var(--e0)}
.s09-key--multi i:nth-child(2){background:var(--e1-fill);box-shadow:inset 0 0 0 1.2px var(--e1)}
.s09-key--multi i:nth-child(3){background:var(--e2-fill);box-shadow:inset 0 0 0 1.2px var(--e2)}
.s09-key--multi i:nth-child(4){background:var(--e3-fill);box-shadow:inset 0 0 0 1.2px var(--e3)}
.s09-key--pad{background:var(--cream-hi);border:1.5px solid var(--line-strong)}
.s09-key--waste{background:repeating-linear-gradient(135deg,var(--pink-wash) 0 3px,rgba(240,82,156,.32) 3px 5px);border:1.5px solid var(--pink)}
.s09-key--over{background:transparent;border:1.5px dashed var(--pink-deep)}
.s09-key--tail{background:repeating-linear-gradient(135deg,var(--cream-lo) 0 3px,var(--sand) 3px 5px);border:1.5px solid var(--line-strong)}
.s09-key--me{height:0;border-top:3px solid var(--pink)}
.s09-key--opw{background:var(--cream-lo);border:1.5px solid var(--line-strong)}
.s09-key--opout{background:var(--cream-hi);border:1.5px dashed var(--ink-soft)}
.s09-key--a{background:transparent;border:1.5px solid var(--ink-deep)}
.s09-key--b{background:var(--teal)}
.s09-key--router{background:#dbe9e8;border:1.5px solid var(--teal)}
.s09-key--copy{background:var(--pink-wash);border:1.5px solid var(--pink)}
.s09-key--wait{background:rgba(240,82,156,.08);border:1.5px dashed var(--pink)}
.s09-key--launch{background:var(--cream-hi);border:1.5px dashed var(--ink-soft)}
.s09-key--bubble{background:none;border:1.5px dotted var(--pink-deep)}
.s09-key--queue{background:var(--cream-hi);border:1.5px solid var(--teal-line)}
.s09-key--prep{background:#dbe9e8;border:1.5px solid var(--teal)}
.s09-key--grouped{background:#cfe2e1;border:1.5px solid var(--teal-deep)}
.s09-key--ahead{background:rgba(64,117,121,.06);border:1.5px dashed var(--teal-line)}

/* Expert highlight (hover, tap, focus): dim the other experts */
[data-hl] [data-e]{transition:opacity .22s var(--ease)}
[data-hl="0"] [data-e]:not([data-e="0"]),[data-hl="1"] [data-e]:not([data-e="1"]),[data-hl="2"] [data-e]:not([data-e="2"]),[data-hl="3"] [data-e]:not([data-e="3"]){opacity:.28}

/* ---------- Comparison strip (once, under Figure 37) ---------- */
.s09-compare{margin-top:14px;scroll-margin-top:calc(var(--chrome,60px) + 24px)}
.report-content .s09-fig .s09-compare-title{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s09-compare-title span{font-weight:400;letter-spacing:.02em;text-transform:none}
.s09-compare-title .s09-swipe{display:none}
.s09-compare-cards:focus-visible{outline:2.5px solid var(--pink);outline-offset:3px;border-radius:10px}
.s09-compare-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.s09-cmp{min-width:0;padding:10px 14px 12px;border:1px solid var(--line);border-radius:10px;background:var(--cream-hi)}
.s09-cmp.is-current{border-color:var(--teal-line);background:#fff;box-shadow:inset 0 3px 0 var(--teal)}
.report-content .s09-fig .s09-cmp-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:0 0 8px;font-size:13.5px;line-height:1.3}
.s09-cmp-head b{color:var(--ink-deep)}
.s09-cmp-head>span{font-size:11.5px;color:var(--muted)}
.s09-cmp.is-current .s09-cmp-head>span{font-weight:700;color:var(--teal-deep)}
.s09-cmp dl{display:grid;gap:7px;margin:0}
.s09-cmp dt{font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.s09-cmp dd{margin:1px 0 0;font-size:13px;line-height:1.4;color:var(--ink)}
.s09-cmp dd b{font-size:15px;color:var(--ink-deep);font-variant-numeric:tabular-nums}

/* ---------- Figure 35: padded BMM ---------- */
.s09-bmm-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:16px 26px;align-items:start}
.s09-bmm-main{min-width:0}
.s09-bmm-stage{min-width:0;overflow-x:auto;padding-bottom:2px;border-radius:6px}
.s09-bmm-stage.is-overflow:not(.is-end){-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent)}
.s09-bmm-stage:focus-visible{outline:2.5px solid var(--pink);outline-offset:3px}
.report-content .s09-fig .s09-scroll-cue{margin:6px 0 0;font-size:12px;font-weight:700;color:var(--teal-deep)}
.s09-scroll-cue[hidden]{display:none}
.s09-legend--bmm{grid-column:1/-1;gap:6px 16px;font-size:12.5px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line)}
/* One fixed row height for every token row in every column, whatever C is: an
   expert's band (grid row) grows to its tallest column, so padded boxes grow with C. */
.s09-bmm-grid{--slot:12px;--wbox:46px;display:grid;grid-template-columns:76px minmax(36px,56px) 58px minmax(36px,56px) 24px minmax(52px,74px) 24px minmax(36px,56px) 64px minmax(36px,56px);grid-template-rows:auto repeat(var(--rows),auto);column-gap:4px;row-gap:14px;align-items:start;min-width:520px}
.s09-bh{grid-row:1;margin:0;overflow-wrap:normal;font-size:11.5px;font-weight:700;line-height:1.25;color:var(--ink-deep);text-align:center;align-self:end;padding-bottom:4px}
.s09-bh span{display:block;font-size:10.5px;font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.s09-bh--lab{grid-column:1}.s09-bh--routed{grid-column:2}.s09-bh--op1{grid-column:3}.s09-bh--padded{grid-column:4}.s09-bh--op2{grid-column:5}.s09-bh--weights{grid-column:6}.s09-bh--op3{grid-column:7}.s09-bh--pout{grid-column:8}.s09-bh--op4{grid-column:9}.s09-bh--out{grid-column:10}
.s09-op{grid-row:2/-1;align-self:center;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--muted)}
.s09-op--pad{grid-column:3}.s09-op--x{grid-column:5}.s09-op--eq{grid-column:7}.s09-op--drop{grid-column:9}
.s09-op--pad,.s09-op--drop{flex-direction:column;gap:4px}
.s09-op--pad span,.s09-op--drop span{display:block;font-size:10.5px;font-weight:700;line-height:1.2;text-align:center;color:var(--muted)}
.s09-arrow{display:block;width:40px;height:12px;overflow:visible}
.s09-arrow path{fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.s09-lab{grid-column:1;display:flex;flex-direction:column;gap:1px;padding-top:2px;font-size:12px;line-height:1.25;color:var(--muted);border-radius:6px;cursor:default;font-variant-numeric:tabular-nums}
.s09-lab b{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--ink-deep)}
.s09-lab:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s09-cell{min-width:0}
.s09-cell--routed{grid-column:2}.s09-cell--padded{grid-column:4}.s09-cell--weights{grid-column:6;align-self:center}.s09-cell--pout{grid-column:8}.s09-cell--out{grid-column:10}
.s09-rows,.s09-capbox{display:flex;flex-direction:column}
.s09-capbox{outline:1.5px solid var(--line-strong);outline-offset:1px;border-radius:2px}
.s09-r{display:block;flex:none;height:var(--slot);box-sizing:border-box;border:1px solid var(--c,var(--line-strong));border-top-width:0;background:var(--cf,var(--cream-hi))}
.s09-r:first-child{border-top-width:1px}
.s09-r.is-pad{border-color:var(--line-strong);background:var(--cream-hi)}
.s09-r.is-waste{border-color:var(--pink);background:repeating-linear-gradient(135deg,var(--pink-wash) 0 3px,rgba(240,82,156,.3) 3px 5px)}
.s09-r.is-over{border:1.5px dashed var(--pink-deep);background:transparent;margin-top:2px}
.s09-rows--over{margin-top:5px;position:relative}
.s09-over-label{display:block;margin-top:3px;font-size:10.5px;font-weight:700;line-height:1.2;color:var(--pink-deep);white-space:nowrap}
/* W_e keeps one fixed size, centred on its band. */
.s09-w{display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--wbox);border:1.5px solid var(--c);border-radius:3px;background:var(--cf)}
.s09-w span{font-size:13px;font-weight:700;color:var(--ink-deep)}
.s09-side{min-width:0;padding:14px 16px;border-radius:12px;background:var(--ink-deep);color:var(--cream)}
.report-content .s09-fig .s09-side-title{margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.35;color:var(--ink-deep)}
.s09-side-title span{font-weight:400;color:var(--muted)}
.s09-side-title .s09-side-sub{display:block;margin-top:1px;font-size:12px}
.report-content .s09-fig .s09-side .s09-side-title{color:#fff}
.s09-side .s09-side-title span,.s09-side .s09-side-title a{color:#b8d0cf}
.report-content .s09-fig .s09-side a{color:#d6ecea}
.report-content .s09-fig .s09-eqline{font-size:15px;line-height:1.5;color:#dbe7e6;font-variant-numeric:tabular-nums}
.report-content .s09-fig .s09-eqline--num{margin-top:2px;padding-left:46px}
.s09-eqline b{padding:1px 7px;border-radius:6px;background:rgba(255,255,255,.13);color:#fff;white-space:nowrap}
.s09-meter{display:flex;height:9px;margin:10px 0 12px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.08)}
.s09-meter span{display:block;height:100%;transition:width .3s var(--ease)}
.s09-meter-use{background:#8fb7b9}
.s09-meter-pad{background:var(--pink)}
.s09-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:0;font-size:12.5px;line-height:1.35}
.s09-facts dt{color:#a9bfbf}
.s09-facts dd{margin:2px 0 0;font-weight:700;color:#fff;font-variant-numeric:tabular-nums}
.s09-facts dd.s09-pink{color:#ff8fc2}
.s09-facts div:last-child{grid-column:1/-1}
.s09-facts dd b{color:#fff}
.report-content .s09-fig .s09-side-foot{margin-top:10px;font-size:12px;line-height:1.5;color:#b5c7c7}
.report-content .s09-fig .s09-align-note{margin-top:10px;padding:8px 10px;border-left:3px solid #7fb5b3;border-radius:0 8px 8px 0;background:rgba(255,255,255,.07);font-size:12.5px;line-height:1.5;color:#dbe7e6}
.s09-align-note b{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.report-content .s09-fig .s09-warn{margin-top:10px;padding:8px 10px;border-radius:8px;background:rgba(240,82,156,.16);font-size:12.5px;line-height:1.45;color:#ffd1e5}
.s09-warn b{color:#fff}

/* ---------- Figure 36: host loop timeline ---------- */
.s09-host-body{padding-top:14px}
.s09-chart--tl{margin-top:2px}
.s09-legend--tl{gap:4px 14px;margin-top:8px;font-size:12px;color:var(--muted)}
.s09-legend--tl li{gap:6px}
.s09-lane{fill:var(--cream);stroke:var(--line);stroke-width:1}
.s09-lane--cpu{fill:rgba(64,117,121,.05)}
.s09-blk rect{stroke-width:1.2;transition:opacity .2s var(--ease)}
.s09-blk--queued rect{fill:var(--cream-lo);stroke:var(--line-strong)}
.s09-blk--router rect,.s09-blk--offsets rect,.s09-blk--prep rect{fill:#dbe9e8;stroke:var(--teal)}
.s09-blk--copy rect{fill:var(--pink-wash);stroke:var(--pink)}
.s09-blk--wait rect{fill:rgba(240,82,156,.08);stroke:var(--pink);stroke-dasharray:4 3}
.s09-blk--wait .s09-t--blk{fill:var(--pink-deep)}
.s09-blk--launch rect{fill:var(--cream-hi);stroke:var(--teal-line)}
.s09-blk--launch.s09-e0 rect,.s09-blk--launch.s09-e1 rect,.s09-blk--launch.s09-e2 rect,.s09-blk--launch.s09-e3 rect{fill:var(--cf);stroke:var(--c);stroke-dasharray:3 2}
.s09-blk--gemm rect{fill:var(--cf);stroke:var(--c);stroke-width:1.6}
.s09-blk--grouped rect{fill:#cfe2e1;stroke:var(--teal-deep);stroke-width:1.6}
.s09-blk--ahead rect{fill:rgba(64,117,121,.06);stroke:var(--teal-line);stroke-dasharray:2 3}
.s09-blk--ahead .s09-t--blk{fill:var(--teal-deep);font-weight:400}
.s09-blk.is-future{opacity:.16}
.s09-blk.is-now rect{stroke-width:2.4}
.s09-bubble{fill:rgba(240,82,156,.05);stroke:var(--pink-deep);stroke-width:1.2;stroke-dasharray:2 3}
.s09-bubble.is-future{opacity:.25}
.s09-playhead line{stroke:var(--pink);stroke-width:2}
.s09-playhead circle{fill:var(--pink)}
.s09-host-detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:14px 18px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.s09-code{min-width:0}
.report-content .s09-fig .s09-code-k,.report-content .s09-fig .s09-state-k{margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.report-content .s09-fig .s09-code pre{margin:0;padding:10px 12px;border-radius:10px;background:var(--ink-deep);color:#c7d6d6;overflow-x:auto;font-size:12.5px;line-height:1.6}
.report-content .s09-fig .s09-code code{display:block;padding:0;background:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:inherit;white-space:pre;word-break:normal}
.s09-cl{display:inline-block;min-width:100%;padding:0 6px;margin:0 -6px;border-radius:4px;transition:background-color .2s,color .2s}
.s09-cl.is-on{background:rgba(255,255,255,.1);color:#fff}
.s09-cl.is-hot{background:rgba(240,82,156,.28)}
.s09-cl-note{margin-left:2ch;color:#ff9fca}
.report-content .s09-fig .s09-code-note{margin-top:6px;font-size:12px;font-weight:700;color:var(--pink-deep)}
.s09-state{min-width:0}
.report-content .s09-fig .s09-split{display:flex;gap:6px;margin:0 0 8px}
.s09-split span{display:inline-grid;place-items:center;min-width:34px;height:30px;padding:0 6px;border-radius:7px;border:1.5px solid var(--c,var(--line-strong));background:var(--cf,var(--cream));font-size:15px;font-weight:700;color:var(--ink-deep);font-variant-numeric:tabular-nums;transition:transform .2s var(--ease)}
.s09-split span.is-none{border-style:dashed;color:var(--muted);background:var(--cream)}
.s09-split span.is-hot{transform:translateY(-3px);box-shadow:0 3px 0 var(--pink)}
.report-content .s09-fig .s09-state-line{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:var(--ink-soft);min-height:2.9em}
.report-content .s09-fig .s09-state-big{font-size:14px;color:var(--muted)}
.s09-state-big b{font-size:26px;font-weight:400;color:var(--ink-deep);font-variant-numeric:tabular-nums}

/* ---------- Figure 37: device-scheduled grouped GEMM ---------- */
.s09-dev-body{padding:16px 18px}
.s09-dev-stages{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,1.35fr) minmax(0,1.3fr);gap:22px}
.s09-dstage{position:relative;min-width:0}
.s09-dstage+.s09-dstage::before{content:'';position:absolute;left:-17px;top:44px;width:12px;height:12px;background:var(--muted);clip-path:polygon(0 35%,55% 35%,55% 0,100% 50%,55% 100%,55% 65%,0 65%)}
.report-content .s09-fig .s09-dstage-k{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--teal-deep)}
.report-content .s09-fig .s09-dstage-t{margin:1px 0 8px;font-size:14px;font-weight:700;color:var(--ink-deep)}
.report-content .s09-fig .s09-dstage-f{margin-top:8px;font-size:11.5px;line-height:1.4;color:var(--muted)}
.report-content .s09-fig .s09-chips{display:grid;gap:5px}
/* Higher than the list reset above, so the chips keep their padding. */
.report-content .s09-fig .s09-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;border:1.5px solid var(--c,var(--line-strong));border-radius:7px;background:var(--cf,var(--cream));font-size:12px;color:var(--ink-soft);cursor:default}
.s09-chip b{font-size:14.5px;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.report-content .s09-fig .s09-chip--off{background:var(--cream-hi);border-color:var(--teal-line)}
.s09-chip--off span{color:var(--muted)}
.s09-chip:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s09-plist{display:grid;gap:0;font-size:12px;line-height:1.3}
.report-content .s09-fig .s09-plist p{display:grid;grid-template-columns:minmax(52px,.8fr) 1fr 1.1fr;gap:6px;margin:0;padding:5px 2px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.report-content .s09-fig .s09-plist .s09-plist-h{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.s09-plist-r b{display:inline-flex;align-items:center;gap:5px;color:var(--ink-deep)}
.s09-ctas{display:grid;gap:5px}
.s09-cta{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:6px}
.s09-cta>span{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.s09-cta>div{display:flex;gap:4px;flex-wrap:wrap}
.s09-tile{display:block;width:18px;height:18px;border-radius:4px;border:1.5px solid var(--c);background:var(--cf)}
.s09-tile.is-idle{border:1.5px dashed var(--line-strong);background:none}
.s09-buf{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.report-content .s09-fig .s09-buf-k{margin:0 0 8px;font-size:13px;color:var(--muted)}
.s09-buf-k b{color:var(--ink-deep)}
.s09-buf-strip{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px}
.s09-buf-row{display:block;height:26px;border-radius:3px;border:1.5px solid var(--c);background:var(--cf)}
.s09-buf-row.is-tail{border:1.5px solid var(--line);background:repeating-linear-gradient(135deg,var(--cream-lo) 0 3px,var(--sand) 3px 5px)}
.report-content .s09-fig .s09-buf-scale{position:relative;display:flex;justify-content:space-between;margin:4px 0 0;height:18px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.s09-buf-final{position:absolute;left:calc(var(--at) / var(--n, 24) * 100%);transform:translateX(-50%);padding:0 5px;border-radius:4px;background:var(--pink-wash);color:var(--pink-deep);font-weight:700;white-space:nowrap}
.s09-buf-final::before{content:'';position:absolute;left:50%;top:-30px;height:30px;border-left:2px solid var(--pink)}
.report-content .s09-fig .s09-buf-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:12px;color:var(--muted)}
.s09-buf-legend>span{display:inline-flex;align-items:center;gap:6px}
.report-content .s09-fig .s09-hostline{margin-top:12px;font-size:13px;color:var(--ink-soft)}
.s09-hostline-k{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:999px;background:var(--teal-wash);font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--teal-deep)}

/* ---------- Measured charts ---------- */
.s09-band{fill:var(--s09-band);opacity:.85}
.s09-line{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round;transition:opacity .2s}
.s09-line--g,.s09-line--g4{stroke:var(--s09-g)}
.s09-line--b,.s09-line--d{stroke:var(--s09-base);stroke-dasharray:7 5}
.s09-line--g8{stroke:var(--s09-g8);stroke-dasharray:5 4}
.s09-line--r{stroke:var(--ink-deep);stroke-width:2.2}
.s09-mk{stroke:var(--cream-hi);stroke-width:1.5;transition:opacity .2s}
.s09-mk--g,.s09-mk--g4{fill:var(--s09-g)}
.s09-mk--b,.s09-mk--d{fill:var(--s09-base)}
.s09-mk--g8{fill:var(--s09-g8)}
.s09-mk--r.is-up{fill:var(--teal)}
.s09-mk--r.is-down{fill:var(--s09-base)}
.s09-mk.is-focus{stroke:var(--pink);stroke-width:2.2}
.s09-unity{stroke:var(--ink-soft);stroke-width:1.2;stroke-dasharray:5 4}
.s09-unity--dense{stroke:var(--s09-base);stroke-dasharray:7 5;stroke-width:2}
.s09-cross{fill:rgba(240,82,156,.08);stroke:rgba(240,82,156,.45);stroke-dasharray:3 3}
.s09-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 26px;padding:16px 18px 10px}
.report-content .s09-fig .s09-xlabel{grid-column:1/-1;margin:0;text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.s09-readout{margin-top:12px}
.report-content .s09-fig .s09-ro-head{margin:0 0 8px;font-size:13.5px;line-height:1.45;color:var(--muted);font-variant-numeric:tabular-nums}
.s09-ro-head b{color:var(--ink-deep)}
.s09-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.s09-card{display:flex;flex-direction:column;gap:1px;min-width:0;padding:10px 14px 11px;border:1px solid var(--line);border-radius:10px;background:var(--cream-hi);transition:border-color .2s,background-color .2s}
.s09-card>span{font-size:12px;font-weight:700;color:var(--muted)}
.s09-card>b{font-size:26px;font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s09-card>em{font-size:12.5px;font-style:normal;line-height:1.4;color:var(--muted);font-variant-numeric:tabular-nums}
.s09-card>em.s09-rel{margin-top:3px;font-weight:700;color:var(--ink-soft)}
.s09-rel span{font-weight:400;color:var(--muted)}
.report-content .s09-fig .s09-card code{display:block;margin-top:6px;padding:0;background:none;font-size:11.5px;color:var(--muted);white-space:normal}
.s09-card--g,.s09-card--g4{box-shadow:inset 3px 0 0 var(--s09-g)}
.s09-card--b,.s09-card--d{box-shadow:inset 3px 0 0 var(--s09-base)}
.s09-card--g8{box-shadow:inset 3px 0 0 var(--s09-g8)}
.s09-card--r{box-shadow:inset 3px 0 0 var(--ink-deep)}
.s09-card.is-hl{border-color:var(--teal-line);background:#fff}
.s09-match-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px 24px;padding:14px 18px 10px}
.s09-match-main{min-width:0}
.s09-match-side{min-width:0;padding-left:20px;border-left:1px solid var(--line)}
.s09-match-side .s09-side-title a{font-weight:700}
.s09-part{display:grid;gap:10px;margin:6px 0 10px}
.s09-part-row{display:grid;grid-template-columns:62px 38px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:6px 8px;margin:0 -8px;border-radius:8px;transition:background-color .2s}
.s09-part-row.is-hl{background:var(--teal-wash)}
.s09-part-name{font-size:12px;font-weight:700;color:var(--ink-deep)}
.s09-part-x{font-size:11.5px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.s09-part-w{display:flex;gap:2px;height:20px}
.s09-part-w i{flex:1;border-radius:2px;border:1.5px solid;background:#fff}
.s09-part-w--d i{border-color:var(--s09-base);border-style:dashed;background:#eceeee}
.s09-part-w--g4 i{border-color:var(--s09-g);background:#dbe9e8}
.s09-part-w--g8 i{border-color:var(--s09-g8);border-style:dashed;background:#cfdedf}
.s09-part-dim{grid-column:3;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.report-content .s09-fig .s09-match-side .s09-side-foot,.report-content .s09-fig .s09-ent-side .s09-side-foot{font-size:12px;line-height:1.5;color:var(--muted)}
.s09-legend li.is-hl{font-weight:700}
.s09-range-band{opacity:.16;transition:opacity .2s}
.s09-range-band--d{fill:var(--s09-base)}.s09-range-band--g4{fill:var(--s09-g)}.s09-range-band--g8{fill:var(--s09-g8)}
.s09-diag{fill:rgba(10,43,53,.035)}
.s09-divider{stroke:var(--ink-soft);stroke-width:1.2;stroke-dasharray:4 4}
.is-dim{opacity:.18}
.s09-range-band.is-dim{opacity:.05}
.s09-cards--3 .s09-card.is-hl{border-color:var(--teal)}

/* Figure 40 */
.s09-ent-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px 24px;padding:14px 18px 12px}
.s09-ent-main{min-width:0;position:relative}
.s09-ent-main .s09-legend{margin-bottom:12px;font-size:12.5px}
.s09-dot{fill:var(--teal);fill-opacity:.72;stroke:var(--cream-hi);stroke-width:1;transition:opacity .2s,r .2s}
.s09-dot.is-dim{opacity:.14}
.s09-dot.is-hover{fill:var(--teal-deep);fill-opacity:1;stroke:var(--pink);stroke-width:2.2}
/* The pinned histogram (A) is ink: magenta belongs to the report's median curve here. */
.s09-dot.is-pin{fill:#fff;fill-opacity:1;stroke:var(--ink-deep);stroke-width:3}
.s09-median{fill:none;stroke:var(--pink);stroke-width:2.6;stroke-linejoin:round}
.s09-median-pt{fill:#fff;stroke:var(--pink);stroke-width:2}
.s09-median-pt.is-on{fill:var(--pink)}
.s09-balanced{fill:var(--ink-deep)}
.s09-binband{fill:var(--teal-wash)}
.s09-ent-side{min-width:0;padding-left:20px;border-left:1px solid var(--line)}
.report-content .s09-fig .s09-hint{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--muted)}
.report-content .s09-fig .s09-binline{margin:0 0 10px;font-size:13px;font-weight:700;color:var(--teal-deep)}
.s09-hist{margin:4px 0 8px}
.s09-hbar{fill:var(--teal);opacity:.85}
.s09-hbar--a{fill:none;stroke:var(--ink-deep);stroke-width:1.6;opacity:1}
.s09-hbal{stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:4 3}
.s09-hstats{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;font-size:12.5px;line-height:1.35}
.s09-hstats dt{color:var(--muted)}
.s09-hstats dd{margin:1px 0 0;font-weight:700;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s09-hstats-tag{grid-column:1/-1}
.s09-hstats-tag dd{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--cream-lo);font-size:12px}
.s09-hpair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.s09-hpair .s09-hstats{grid-template-columns:1fr}
.s09-hpair .s09-hstats:first-child .s09-hstats-tag dd{background:#fff;box-shadow:inset 0 0 0 2px var(--ink-deep);color:var(--ink-deep)}
.s09-hpair .s09-hstats:last-child .s09-hstats-tag dd{background:var(--teal-wash);color:var(--teal-deep)}
.s09-hstats--stat{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.report-content .s09-fig .s09-hkey{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0 0 10px;font-size:12px;color:var(--muted)}
.s09-hkey>span{display:inline-flex;align-items:center;gap:5px}
.s09-hkey>span.s09-hgap{display:inline;font-weight:700;color:var(--ink-soft)}

/* ---------- Table 15 and its companion (the s03 table-companion pattern) ---------- */
.report-content #tab-grouped-gemm-training-shapes td.s09-phase-cell{position:relative;cursor:pointer;padding-right:40px;white-space:nowrap}
.s09-row-button{position:absolute;top:50%;right:7px;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:6px;background:none;cursor:pointer;transition:background-color .15s}
.s09-row-button:hover,td.s09-phase-cell:hover .s09-row-button{background:var(--teal-wash)}
.s09-row-button:focus-visible{outline:2.5px solid var(--pink);outline-offset:1px}
/* Row icon at full opacity (3:1 non-text contrast; integration 2026-10-10); hover thickens the stroke. */
.s09-row-icon{display:block;width:12px;height:12px;fill:none;stroke:var(--teal);stroke-width:1.5;opacity:1;transition:opacity .15s,fill .15s,stroke .15s}
.s09-row-button:hover .s09-row-icon,td.s09-phase-cell:hover .s09-row-icon{opacity:1;stroke-width:2.1}
/* The row the companion follows is marked only after the reader chooses one. */
.s09-linked .s09-row-button[aria-pressed="true"] .s09-row-icon{opacity:1;fill:var(--pink);stroke:var(--pink-deep)}
.report-content table.s09-linked tr.is-s09-selected>td{background:rgba(240,82,156,.07)}
.report-content table.s09-linked tr.is-s09-selected>td:first-child{box-shadow:inset 3px 0 0 var(--pink)}
.s09-t15{margin:8px 0 36px;padding-top:16px;border-top:1px solid var(--ink)}
.s09-t15-head{margin:0 0 14px}
.report-content .s09-t15 .s09-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;font-size:12px;line-height:1.4}
.s09-kicker-label{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.s09-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;background:var(--teal-wash);color:var(--teal-deep);font-weight:700}
.s09-badge::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--teal);box-sizing:border-box}
.report-content .s09-t15 .s09-toy{margin:4px 0 0;font-size:13.5px;line-height:1.55;color:var(--muted)}
.s09-t15-body{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px 32px;align-items:start}
.s09-t15-shapes{min-width:0;max-width:420px}
.s09-op-rect{fill:var(--cf);stroke:var(--c);stroke-width:1.3}
.s09-op-w{fill:var(--cream-lo);stroke:var(--line-strong)}
.s09-op-out{stroke-dasharray:3 2}
.s09-me-edge{stroke:var(--pink);stroke-width:3;stroke-linecap:round}
.s09-t15-side{min-width:0}
.s09-t15-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0}
.s09-t15-dl>div{min-width:0}
.s09-t15-dl dt{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.s09-t15-dl dd{margin:3px 0 0;font-size:15px;color:var(--ink-deep);overflow-x:auto}
.s09-t15-dl .is-role{grid-column:1/-1;padding:8px 12px;border-radius:8px;background:var(--pink-wash)}
.s09-t15-dl .is-role dd{font-weight:700;color:var(--ink-deep)}
.report-content .s09-t15 .s09-side-foot{margin-top:10px;font-size:12.5px;color:var(--muted)}
.s09-legend--t15{grid-column:1/-1;gap:6px 16px;font-size:12.5px;color:var(--muted);padding-top:10px;border-top:1px solid var(--line)}

/* Responsive (container) */
@container s09 (max-width:900px){
 .s09-bmm-body{grid-template-columns:1fr}
 .s09-dev-stages{grid-template-columns:1fr 1fr;gap:18px 26px}
 .s09-dstage:nth-child(3)::before{display:none}
 .s09-match-body,.s09-ent-body{grid-template-columns:1fr}
 .s09-match-side,.s09-ent-side{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
 .s09-host-detail{grid-template-columns:1fr}
 .s09-t15-body{grid-template-columns:1fr}
}
@container s09 (max-width:760px){
 .s09-cap-grid{grid-template-columns:1fr;gap:14px}
}
@container s09 (max-width:600px){
 .s09-surface{padding:14px 12px 12px}
 .s09-controls{gap:10px 16px}
 /* All five columns stay; the stage scrolls sideways with a fade and a cue. */
 .s09-bmm-grid{grid-template-columns:52px 40px 40px 40px 14px 48px 14px 40px 40px 40px;column-gap:3px;min-width:395px}
 .s09-bh{font-size:10.5px}
 .s09-bh span{font-size:10px;white-space:normal}
 .s09-arrow{width:32px}
 .s09-op--pad span,.s09-op--drop span{font-size:10px;max-width:100%}
 .s09-over-label{font-size:9.5px;letter-spacing:-.01em}
 .s09-dev-stages{grid-template-columns:1fr 1fr;gap:14px 16px}
 .s09-dstage::before{display:none}
 .s09-dstage:nth-child(n+3){grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}
 .s09-buf-row{height:20px}
 .s09-cards{grid-template-columns:1fr 1fr}
 .s09-cards>.s09-card:last-child{grid-column:1/-1}
 .s09-card>b{font-size:22px}
 .s09-facts{grid-template-columns:1fr 1fr}
 .s09-seg--bins{gap:0}
 .s09-seg--bins button{min-width:0;padding:0 5.5px;font-size:11.5px}
 .s09-compare-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:86%;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin:0 -2px}
 .s09-cmp{scroll-snap-align:start}
 .s09-cmp.is-current{order:-1}
 .s09-compare-title .s09-swipe{display:block;margin-top:3px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--teal-deep)}
 .s09-cmp dl{gap:5px}
 .s09-cmp dl>div{display:grid;grid-template-columns:40% 1fr;gap:8px;align-items:baseline}
 .s09-cmp dd{margin:0}
 .s09-hpair{grid-template-columns:1fr 1fr}
 /* The pseudo-code's comment moves onto its own line above the call. */
 .s09-cl--call{display:inline-flex;flex-direction:column-reverse}
 .s09-cl--call .s09-cl-note{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
 .s09-fig *,.s09-t15 *,.s09-row-button,.s09-row-icon{transition:none!important;animation:none!important}
}
@media print{
 .s09-controls,.s09-compare,.s09-t15,.s09-row-button{display:none!important}
}
.s09-fig sub,.s09-t15 sub{font-size:75%;line-height:0;vertical-align:-.28em}
