/* Section 13 native figures and the Table 28 companion. Scoped to s13-*; kit tokens only. */
.s13-fig{container:s13/inline-size;position:relative;margin:0;color:var(--ink);font-size:14.5px;line-height:1.5}
.report-content .s13-fig p,.report-content .s13-policy p{margin:0}
.report-content .s13-fig :is(ul,ol),.report-content .s13-policy :is(ul,ol){margin:0;padding:0;list-style:none}
.report-content .s13-fig li,.report-content .s13-policy li{margin:0;padding:0}
.report-content .s13-fig li::marker,.report-content .s13-policy li::marker{content:none}

/* Head */
.s13-fig-head{margin:2px 0 16px}
.report-content .s13-fig .s13-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 */
.s13-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;margin:0 0 14px}
.s13-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.s13-control[hidden]{display:none}
.s13-control-label{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s13-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:20px;background:var(--cream-lo);border:1px solid var(--line)}
.s13-seg button{display:inline-flex;align-items:center;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}
.s13-seg button:hover{color:var(--ink)}
.s13-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)}
.s13-blks{display:inline-flex;gap:6px}
.s13-blk{min-width:44px;min-height:34px;padding:0 10px;border-radius:9px;border:1.5px solid var(--teal-line);background:var(--cream-hi);color:var(--teal-deep);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;transition:background-color .2s var(--ease),color .2s,border-color .2s}
.s13-blk:hover{border-color:var(--teal)}
.s13-blk[aria-pressed="true"]{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff}
.s13-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}
.s13-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.s13-switch-ui{position:relative;flex:none;width:38px;height:22px;border-radius:999px;background:var(--sand);transition:background-color .2s var(--ease)}
.s13-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)}
.s13-switch input:checked+.s13-switch-ui{background:var(--teal)}
.s13-switch input:checked+.s13-switch-ui::after{transform:translateX(16px)}
.s13-switch input:focus-visible+.s13-switch-ui{outline:2.5px solid var(--pink);outline-offset:3px}
.s13-range{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:10px}
.s13-range input[type=range]{-webkit-appearance:none;appearance:none;flex:1 1 220px;max-width:420px;height:28px;margin:0;background:transparent;cursor:pointer}
.s13-range input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s13-range input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s13-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--teal);border:3px solid var(--cream-hi);box-shadow:0 1px 4px rgba(10,43,53,.3)}
.s13-range input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--teal);border:3px solid var(--cream-hi);box-shadow:0 1px 4px rgba(10,43,53,.3)}
.s13-range input[type=range]:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px;border-radius:6px}
.s13-range output{min-width:5ch;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-deep)}

/* Shared surfaces, legend, SVG text */
.s13-surface{background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.s13-fig svg,.s13-policy svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font)}
.s13-chart{position:relative;min-width:0;border-radius:10px}
.s13-chart svg{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.s13-chart[tabindex]:focus-visible{outline:2.5px solid var(--pink);outline-offset:4px}
.s13-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 8px!important;font-size:12.5px;color:var(--ink)}
.s13-legend li{display:inline-flex;align-items:center;gap:7px}
.s13-legend--small{font-size:12px;gap:4px 14px;margin:10px 0 0!important}
.s13-sw{display:inline-block;flex:none;width:14px;height:10px;border-radius:3px}
.s13-sw--fc{background:var(--teal-deep)}
.s13-sw--f{background:#a9cacb}
.s13-sw--r{background:#f7c4dc;box-shadow:inset 0 0 0 1.5px var(--pink)}
.s13-sw--b{background:#dfe8d6;box-shadow:inset 0 0 0 1.5px #7d9a72}
.s13-sw--bnd{background:var(--teal-deep);height:5px}
.s13-sw--routed{background:#f7c4dc;box-shadow:inset 0 0 0 1.5px var(--pink-deep)}
.s13-sw--gemm{background:var(--teal)}
.s13-sw--attn{background:#a9cacb}
.s13-sw--re{background:var(--pink-wash);box-shadow:inset 0 0 0 1.5px var(--pink);border-radius:3px}
.s13-sw--pin{width:10px;height:10px;background:var(--teal-deep);transform:rotate(45deg);border-radius:2px}
.s13-sw--ep{background:var(--cream-lo);box-shadow:inset 0 0 0 1.5px var(--ink-soft)}
.s13-sw--p{background:#c9d1d3}
.s13-sw--tmp{background:rgba(45,90,94,.22)}
.s13-legend .s13-legend-narrow{display:none}
.s13-t{font-size:13px;fill:var(--ink)}
.s13-t--axis{font-size:12px;fill:var(--muted)}
.s13-t--tick{font-size:11.5px;fill:var(--muted);font-variant-numeric:tabular-nums}
.s13-t--panel{font-size:14.5px;font-weight:700;fill:var(--ink-deep)}
.s13-axis,.s13-l-brace{fill:none;stroke:var(--line-strong);stroke-width:1.1}
.s13-axis-head{fill:var(--line-strong)}
.s13-grid{stroke:var(--line);stroke-width:1}
.s13-head{fill:var(--line-strong)}
.report-content .s13-fig .s13-fig-note{margin:12px 0 0;max-width:880px;font-size:12.5px;line-height:1.58;color:var(--muted)}
.report-content .s13-fig .s13-fig-note a[data-reference-type]{font-weight:700}
.s13-fig-note code,.s13-prof code{font-size:.92em}

/* Inspector (shared by Figures 60 and 61) */
.s13-inspector{align-self:stretch;display:flex;flex-direction:column;gap:14px;padding:2px 0 0 22px;border-left:1px solid var(--line);min-width:0}
.report-content .s13-fig .s13-insp-kicker{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-deep)}
.report-content .s13-fig .s13-insp-main{margin:6px 0 0;font-size:16px;line-height:1.45;color:var(--ink-deep)}
.report-content .s13-fig .s13-insp-label{margin:12px 0 6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.report-content .s13-fig .s13-insp-small{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.s13-insp-sum{padding-top:14px;border-top:1px solid var(--line)}
.s13-resident{display:grid;gap:5px}
.s13-resident li{display:flex;align-items:center;gap:9px;font-size:13.5px;line-height:1.35;color:var(--ink)}
.s13-resident i{flex:none;width:14px;height:11px;border-radius:3px;background:#c9d1d3}
.s13-resident .is-b i{background:var(--teal-deep);height:6px}
.s13-resident .is-a i{background:#a9cacb}
.s13-resident .is-r i{background:#f7c4dc;box-shadow:inset 0 0 0 1.5px var(--pink)}
.s13-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}
.s13-stats>div{min-width:0}
.s13-stats dt{font-size:11px;font-weight:700;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.s13-stats dd{margin:3px 0 0;font-size:22px;line-height:1.15;font-weight:400;letter-spacing:-.01em;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s13-stats dd small{display:block;margin-top:3px;font-size:12px;letter-spacing:0;color:var(--muted)}
.report-content .s13-fig blockquote.s13-quote,.report-content .s13-policy blockquote.s13-quote{margin:12px 0 0;padding:0 0 0 12px;border-left:2px solid var(--pink);font-size:14px;line-height:1.55;color:var(--ink-soft)}
.s13-quote cite{display:block;margin-top:4px;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.s13-quote cite a{font-size:12px;letter-spacing:0;text-transform:none}
.report-content .s13-policy blockquote.s13-quote--soft{border-left-color:var(--line-strong)}
.report-content :is(.s13-fig,.s13-policy) blockquote.s13-quote--wide{max-width:780px;margin-top:16px}

/* ---------- Figure 60: layer recompute ---------- */
.s13-layer-stage{display:block;padding:18px 22px 18px}
.s13-layer-main{min-width:0}
.s13-layer .s13-inspector{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;margin-top:14px;padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}
.s13-layer .s13-insp-sum{padding:0 0 0 22px;border-top:0;border-left:1px solid var(--line)}
.s13-t--rlabel{font-size:10.5px;font-weight:700;fill:var(--pink-deep)}
.s13-l-cursor{fill:rgba(10,43,53,.055)}
.s13-b{stroke:none;transition:opacity .25s var(--ease)}
.s13-b--p{fill:#c9d1d3}
.s13-b--bnd{fill:var(--teal-deep)}
.s13-b--act{fill:#a9cacb}
.s13-b--rec{fill:#f7c4dc}
.s13-b--tmp{fill:rgba(45,90,94,.22)}
.s13-b.is-hot{filter:saturate(1.35) brightness(.94)}
.s13-l-curve{fill:none;stroke:var(--ink-deep);stroke-width:1.6;stroke-linejoin:round}
.s13-l-peak{fill:none;stroke:var(--ink-deep);stroke-width:1.1;stroke-dasharray:5 4}
.s13-l-ghost{fill:none;stroke:var(--pink-deep);stroke-width:1;stroke-dasharray:2 4;opacity:.75}
.s13-l-guide{fill:none;stroke:var(--line-strong);stroke-width:.9;stroke-dasharray:2 3}
.s13-t--peak{font-size:11.5px;font-weight:700;fill:var(--ink-deep);paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s13-t--ghost{font-size:11px;fill:var(--pink-deep);paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s13-t--band{font-size:11.5px;fill:var(--ink-soft)}
.s13-t--band.is-rec{fill:var(--pink-deep)}
.s13-op rect{stroke-width:1.2;transition:stroke .2s,stroke-width .2s}
.s13-op--fc rect{fill:var(--teal-deep);stroke:var(--teal-deep)}
.s13-op--fc .s13-t--op{fill:#fff}
.s13-op--f rect{fill:#a9cacb;stroke:var(--teal)}
.s13-op--r rect{fill:#f7c4dc;stroke:var(--pink);stroke-dasharray:3 2}
.s13-op--b rect{fill:#dfe8d6;stroke:#7d9a72}
.s13-t--op{font-size:13px;font-weight:700;fill:var(--ink-deep)}
.s13-op.is-cur rect{stroke:var(--pink);stroke-width:2.6;stroke-dasharray:none}
.s13-arc path{fill:none;stroke:var(--line-strong);stroke-width:1.2;transition:stroke .2s,stroke-width .2s}
.s13-arc-head{fill:var(--line-strong);transition:fill .2s}
.s13-arc--input path{stroke-dasharray:3 3}
.s13-arc.is-hot path{stroke:var(--pink-deep);stroke-width:1.9}
.s13-arc.is-hot .s13-arc-head{fill:var(--pink-deep)}
.s13-t--arc{font-size:10.5px;fill:var(--muted);paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s13-t--arc.is-hot{fill:var(--pink-deep);font-weight:700}

/* ---------- Figure 61: early stop ---------- */
.s13-early-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:24px;padding:16px 22px 18px}
.s13-early-main{min-width:0}
.s13-t--lane{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:var(--muted)}
.s13-early-svg.is-v .s13-t--lane{font-size:10.5px;letter-spacing:.02em}
.s13-t--lanesub{font-size:10.5px;font-style:italic;fill:var(--muted)}
.s13-t--div{font-size:10.5px;fill:var(--muted)}
.s13-divider{stroke:var(--ink-deep);stroke-width:1.2;stroke-dasharray:5 4;opacity:.5}
.s13-t--var{font-size:15px;font-weight:700;font-style:italic;fill:var(--ink-deep)}
.s13-t--opn{font-size:12.5px;font-weight:700;fill:var(--ink-deep)}
.s13-t--ops{font-size:10.5px;fill:var(--ink-soft)}
.s13-t--chip{font-size:11.5px;font-weight:700;fill:var(--ink-soft)}
.s13-t--region{font-size:11px;font-weight:700;letter-spacing:.04em;fill:var(--pink-deep)}
.s13-t--stop{font-size:11.5px;font-weight:700;fill:var(--pink-deep)}
.s13-n,.s13-e,.s13-chip,.s13-region,.s13-stop{transition:opacity .28s var(--ease)}
.s13-n circle{fill:#e3eef4;stroke:#7d9fb4;stroke-width:1.3}
.s13-n--g circle{fill:#e3eef4}
.s13-n--op rect{stroke-width:1.3}
.s13-n--fwd rect,.s13-n--rec rect{fill:#ece4f0;stroke:#9b86ad}
.s13-n--bwd rect{fill:#dfe8d6;stroke:#7d9a72}
.s13-e path{fill:none;stroke:var(--ink-soft);stroke-width:1.25;stroke-linejoin:round}
.s13-e-head{fill:var(--ink-soft)}
.s13-e--dep path{stroke:var(--teal-deep);stroke-dasharray:4 3}
.s13-e--dep .s13-e-head{fill:var(--teal-deep)}
.s13-chip rect{stroke-width:1.2}
.s13-chip.is-save rect{fill:#f1ece4;stroke:var(--line-strong)}
.s13-chip.is-discard rect{fill:#f9d6d9;stroke:#c2575f}
.s13-chip.is-discard .s13-t--chip{fill:#8f2d36}
.s13-chip.is-nosave rect{fill:var(--cream-hi);stroke:var(--line-strong);stroke-dasharray:3 2}
.s13-region rect{fill:none;stroke:#b5525b;stroke-width:1.4;stroke-dasharray:6 4}
.s13-region--rec rect{fill:rgba(240,82,156,.04)}
.s13-stop path{stroke:var(--pink-deep);stroke-width:2.4;stroke-linecap:round}
/* Future steps: shapes ghosted, their labels still legible (muted, full opacity). */
.s13-early .is-ghost :is(rect,circle,path){opacity:.3}
.s13-early .is-ghost .s13-t{fill:var(--muted)}
.s13-early .is-now circle,.s13-early .is-now rect{stroke:var(--pink);stroke-width:2.6}
.s13-early .s13-region.is-now rect{stroke:var(--pink);stroke-width:2}
.s13-early .s13-e.is-now path{stroke:var(--pink-deep);stroke-width:2.1}
.s13-early .s13-e.is-now .s13-e-head{fill:var(--pink-deep)}
.s13-early .is-skip rect,.s13-early .is-skip circle{fill:var(--cream-hi);stroke-dasharray:4 3}
.s13-early .s13-e.is-skip path{stroke-dasharray:3 4}
.s13-early .is-skip.is-now rect,.s13-early .is-skip.is-now circle{stroke:var(--pink);stroke-dasharray:4 3}

/* ---------- Figure 62: measured trade-off ---------- */
.s13-tm-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px 34px;padding:16px 22px 14px}
.s13-hitcol{fill:transparent}
.s13-tm-panel{container:s13tm/inline-size;position:relative;min-width:0;border-radius:12px;outline:2px solid transparent;outline-offset:6px;transition:outline-color .2s var(--ease)}
/* A pressed summary card marks its chart (pink = current selection); nothing is dimmed. */
.s13-tm-panel.is-marked{outline-color:var(--pink)}
.s13-memseg{position:absolute;z-index:2;top:0;right:0}
.s13-seg--small button{min-height:30px;padding:0 11px;font-size:12px}
.s13-bar{outline:none;cursor:pointer}
.s13-bar-fill{transition:opacity .2s}
.s13-bar--normal{fill:#a7b2b5}
.s13-bar--recompute{fill:var(--teal)}
.s13-seg--persist{fill:#56656b}
.s13-seg--act.s13-bar--normal{fill:#b9c3c5}
.s13-seg--act.s13-bar--recompute{fill:var(--teal)}
.s13-bar.is-focus .s13-bar-fill{stroke:var(--pink);stroke-width:2.2}
.s13-bar:focus-visible .s13-bar-fill{stroke:var(--pink);stroke-width:3}
.s13-dot{fill:var(--ink-deep);stroke:var(--cream-hi);stroke-width:1.4}
.s13-t--val{font-size:13px;font-weight:700;fill:var(--ink-deep);paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s13-t--ref{font-size:11px;fill:var(--muted)}
.s13-t--delta{font-size:12px;font-weight:700;fill:var(--pink-deep)}
.s13-t--cat{font-size:12.5px;font-weight:700;fill:var(--ink)}
.s13-t--seg{font-size:11.5px;font-weight:700}
.s13-t--segv{font-size:11.5px}
.s13-t--seg.is-ondark,.s13-t--segv.is-ondark{fill:#fff}
.s13-t--seg.is-onlight,.s13-t--segv.is-onlight{fill:var(--ink-deep)}
.s13-t--segv.is-out{fill:var(--ink-deep);font-weight:700}
.s13-tip{position:absolute;z-index:5;max-width:280px;padding:9px 12px;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}
.s13-tip.is-static{position:static;max-width:none;width:auto;margin:6px 0 2px;box-shadow:none}
.s13-tip[hidden]{display:none}
.report-content .s13-tip p{margin:0}
.s13-tip p+p{margin-top:2px}
.s13-tip b{color:#fff}
.s13-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.s13-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:11px 14px 12px;border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;background:var(--cream-hi);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s}
.s13-kpi:hover{box-shadow:var(--shadow-card)}
.s13-kpi[aria-pressed="true"]{background:#fff;border-color:var(--pink);box-shadow:0 0 0 1px var(--pink) inset}
.s13-kpi-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.s13-kpi-big{font-size:27px;line-height:1.15;letter-spacing:-.02em;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s13-kpi-small{font-size:12.5px;line-height:1.4;color:var(--muted)}
.s13-tm-view[hidden]{display:none}
.s13-prof{padding:18px 22px 18px}
.s13-prof-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:26px}
.report-content .s13-fig .s13-prof-title{margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--ink-deep)}
.s13-ranges{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.report-content .s13-fig .s13-range-fig{margin:0;padding:0;border:0;background:none;box-shadow:none;max-width:none}
.s13-range-fig figcaption{margin:0 0 4px;font-size:12.5px;color:var(--muted);text-align:left}
.s13-range-fig figcaption b{font-size:20px;font-weight:400;color:var(--ink-deep);margin-right:2px}
.s13-range-fig .s13-grid-svg{max-width:none}
.s13-range-fig:first-child .s13-grid-svg{width:190px}
.s13-range-fig:last-child .s13-grid-svg{width:322px}
.s13-gcell--f{fill:var(--teal)}
.s13-sw--gf{background:var(--teal)}
.s13-sw--bracket{width:6px;height:14px;border-radius:0;border:1.4px solid var(--pink-deep);border-left:0;background:none}
.s13-gbracket{fill:none;stroke:var(--pink-deep);stroke-width:1.2}
.s13-t--gridh.is-routed{fill:var(--pink-deep);font-weight:700}
.s13-gcell--r{fill:#f7c4dc;stroke:var(--pink);stroke-width:.8}
.s13-gcell--r.is-routed{stroke:var(--pink-deep);stroke-width:1.4}
.s13-t--gridl{font-size:10.5px;fill:var(--muted)}
.s13-t--gridl.is-dense{font-weight:700;fill:var(--ink-soft)}
.s13-t--gridh{font-size:10.5px;fill:var(--muted)}
.report-content .s13-fig .s13-prof-note{margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.s13-prof-bars{display:grid;gap:16px;align-content:start}
.s13-prow{display:grid;gap:5px}
.report-content .s13-fig .s13-prow-name{font-size:13.5px;font-weight:700;color:var(--ink-deep)}
.s13-prow-name span{display:block;font-size:12px;font-weight:400;color:var(--muted)}
.s13-prow-bars{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:4px 10px;font-size:12.5px}
.s13-prow-k{color:var(--muted)}
.s13-prow-bars b{font-weight:700;color:var(--ink-deep);font-variant-numeric:tabular-nums;text-align:right}
.s13-pbar{position:relative;display:flex;height:14px;width:var(--w);border-radius:3px;overflow:hidden;background:#a7b2b5}
.s13-pbar.is-rec{background:var(--teal)}
.s13-pbar i{display:block;height:100%;width:var(--p)}
.s13-pbar i.is-gemm{background:var(--teal)}
.s13-pbar i.is-attn{background:#a9cacb}
.s13-pbar.is-normal i.is-gemm{background:#8b979b}
.s13-pbar.is-normal i.is-attn{background:#c3cbcd}
.report-content .s13-fig .s13-prow-delta{justify-self:start;padding:1px 9px;border-radius:999px;background:var(--pink-wash);font-size:12.5px;font-weight:700;color:var(--pink-deep)}

/* ---------- Table 28 companion ---------- */
.report-content table.s13-policy-table td.s13-policy-cell{position:relative;cursor:pointer;font-weight:700;padding-right:40px}
.s13-row-button{position:absolute;top:9px;right:8px;display:grid;place-items:center;width:28px;height:28px;margin:0;padding:0;border:0;border-radius:7px;background:none;cursor:pointer;transition:background-color .15s}
.s13-row-button svg{width:12px;height:12px;fill:none;stroke:var(--teal);stroke-width:1.5;opacity:1}
.s13-row-button:hover,td.s13-policy-cell:hover .s13-row-button{background:var(--teal-wash)}
.s13-row-button:hover svg,td.s13-policy-cell:hover .s13-row-button svg{opacity:1}
.s13-row-button[aria-pressed="true"] svg{fill:var(--pink);stroke:var(--pink-deep);opacity:1}
.s13-row-button:focus-visible{outline:2.5px solid var(--pink);outline-offset:1px}
.report-content table.s13-policy-table tr.is-s13-selected>td{background:rgba(240,82,156,.07)}
.report-content table.s13-policy-table tr.is-s13-selected>td:first-child{box-shadow:inset 3px 0 0 var(--pink)}
/* Companion head as in Sections 1-4: ink top rule, kicker and chip; the stage is the card. */
.s13-policy{container:s13p/inline-size;margin:.4em 0 3em;padding:16px 0 0;border-top:1px solid var(--ink);font-size:14.5px;line-height:1.5}
.s13-policy-head{margin:0 0 12px}
.report-content .s13-policy .s13-policy-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;font-size:12px;line-height:1.4}
.s13-policy-for{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.s13-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--teal-wash);color:var(--teal-deep)}
.s13-badge::before{content:'';width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--teal);box-sizing:border-box}
.report-content .s13-policy .s13-policy-title{margin:0;font-weight:400;font-size:clamp(20px,2vw,25px);line-height:1.22;letter-spacing:-.02em;color:var(--ink-deep)}
.report-content .s13-policy .s13-policy-toy{margin-top:4px;font-size:12.5px;color:var(--muted)}
.s13-policy-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.s13-chip{min-height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line-strong);background:var(--cream);color:var(--ink-soft);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .2s var(--ease),color .2s,border-color .2s}
.s13-chip:hover{border-color:var(--teal);color:var(--ink)}
.s13-chip[aria-pressed="true"]{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.s13-policy-stage{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,1fr);gap:26px;align-items:start;padding:18px 20px 20px;background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.s13-stack-wrap{min-width:0}
.s13-stack{position:relative;display:grid;grid-template-columns:62px repeat(6,minmax(0,1fr));gap:12px 6px;align-items:stretch}
.s13-short{display:none}
.s13-sk-label{display:flex;align-items:center;font-size:12px;font-weight:700;color:var(--ink-soft)}
.s13-sk-emb{grid-column:2/-1;display:flex;align-items:center;justify-content:center;min-height:30px;border-radius:7px;background:var(--cream-lo);border:1px solid var(--line);font-size:12px;color:var(--muted);transition:background-color .25s,border-color .25s,color .25s}
.s13-sk-emb.is-retained{background:#d9e6e6;border-color:var(--teal-deep);color:var(--ink-deep);font-weight:700}
.s13-sk-cell{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;min-height:42px;padding:4px 3px;border-radius:7px;background:var(--cream);border:1px solid var(--line);font-size:11.5px;font-weight:700;line-height:1.2;text-align:center;color:var(--ink-soft);transition:background-color .25s var(--ease),border-color .25s,color .25s}
.s13-sk-cell.is-re{color:var(--ink-deep)}
.s13-ep{position:absolute;top:-8px;right:-4px;padding:0 4px;border-radius:4px;background:var(--ink-soft);color:#fff;font-size:10px;font-weight:700;line-height:15px;letter-spacing:.04em}
.s13-sk-cell.is-ep-re .s13-ep{background:var(--pink-deep)}
.s13-sk-cell.is-ep{background:repeating-linear-gradient(135deg,var(--cream) 0 5px,var(--cream-lo) 5px 9px);border-color:var(--line-strong)}
.s13-sk-cell.is-re{background:var(--pink-wash);border-color:rgba(240,82,156,.55)}
.s13-sk-cell.is-ep-re{background:repeating-linear-gradient(135deg,rgba(240,82,156,.16) 0 5px,rgba(240,82,156,.06) 5px 9px);border-color:var(--pink-deep);border-width:1.5px}
.s13-sk-overlay{position:absolute;inset:0;pointer-events:none}
.s13-sk-region{position:absolute;border:1.8px dashed var(--pink);border-radius:10px}
.s13-sk-pin{position:absolute;width:14px;height:14px;background:var(--teal-deep);border:2px solid var(--cream-hi);border-radius:3px;transform:rotate(45deg);box-shadow:0 1px 3px rgba(10,43,53,.3)}
.s13-policy-panel{min-width:0}
.report-content .s13-policy .s13-pp-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:18px;font-weight:700;color:var(--ink-deep)}
.s13-pp-tag{padding:2px 9px;border-radius:999px;background:var(--pink-wash);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pink-deep)}
.s13-pp-cells{margin:8px 0 0}
.s13-pp-cells dt,.s13-pp-facts dt{font-size:10.5px;font-weight:700;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.s13-pp-cells dd{margin:2px 0 8px;font-size:14px;line-height:1.5;color:var(--ink)}
.s13-pp-facts{display:grid;gap:8px;margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.s13-pp-facts dd{margin:1px 0 0;font-size:13.5px;line-height:1.45;color:var(--ink)}
.s13-pp-facts .is-yes dd{font-weight:700;color:var(--pink-deep)}
.s13-pp-facts .is-no dd{font-weight:700;color:var(--teal-deep)}
.report-content .s13-policy .s13-pp-toy{margin-top:8px;font-size:12px;color:var(--muted)}

/* Responsive (container queries) */
@container s13 (max-width:820px){
 .s13-early-stage{grid-template-columns:1fr;gap:14px}
 .s13-inspector{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
 .s13-insp-sum{padding-top:0;border-top:0}
 .s13-prof-grid{grid-template-columns:1fr}
}
@container s13 (max-width:620px){
 .s13-layer-stage,.s13-early-stage,.s13-prof{padding:14px 12px 14px}
 .s13-inspector,.s13-layer .s13-inspector{grid-template-columns:1fr;gap:14px}
 .s13-insp-sum,.s13-layer .s13-insp-sum{padding:12px 0 0;border-top:1px solid var(--line);border-left:0}
 .s13-tm-grid{grid-template-columns:1fr;padding:12px 10px 10px;gap:14px}
 .s13-seg--small button{padding:0 9px;font-size:11.5px}
 .s13-kpis{grid-template-columns:1fr;gap:8px}
 .s13-kpi{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"label label" "big small";align-items:baseline;gap:0 12px}
 .s13-kpi-label{grid-area:label}.s13-kpi-big{grid-area:big;font-size:23px}.s13-kpi-small{grid-area:small}
 .s13-controls{gap:10px 16px}
 .s13-seg button{padding:0 11px;font-size:12.5px}
 .s13-legend{font-size:12px;gap:4px 12px}
 .report-content .s13-fig .s13-insp-main{font-size:15px}
 .s13-prow-bars{grid-template-columns:68px minmax(0,1fr) auto}
 .s13-legend .s13-legend-narrow{display:inline-flex}
}
/* Memory-scale toggle: short labels whenever the panel is too narrow for the
   title and the long labels side by side. */
@container s13tm (max-width:400px){
 .s13-memseg .s13-long{display:none}.s13-memseg .s13-short{display:inline}
}
@container s13p (max-width:940px){
 .s13-policy-stage{grid-template-columns:1fr;gap:16px}
}
@container s13p (max-width:520px){
 .s13-stack{grid-template-columns:48px repeat(6,minmax(0,1fr));gap:5px 4px}
 .s13-long{display:none}.s13-short{display:inline}
 .s13-sk-cell{font-size:10.5px;padding:3px 2px}
 .s13-sk-label{font-size:11px}
}
@media (max-width:700px){
 .s13-policy{padding:14px 0 0;margin:18px 0 6px}
 .s13-policy-stage{padding:14px 12px 16px}
 /* Table 28 as labelled cards on phones (values untouched) */
 .report-content .table-scroll table.s13-policy-table{min-width:0}
 .report-content table.s13-policy-table,.report-content table.s13-policy-table tbody,.report-content table.s13-policy-table tr,.report-content table.s13-policy-table td{display:block;width:auto}
 .report-content table.s13-policy-table colgroup{display:none}
 .report-content table.s13-policy-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .report-content table.s13-policy-table tbody tr{padding:13px 14px 14px;border-bottom:1px solid var(--line)}
 .report-content table.s13-policy-table tbody tr:last-child{border-bottom:0}
 .report-content table.s13-policy-table tbody td{padding:0;border:0;font-size:15px;line-height:1.55}
 .report-content table.s13-policy-table tbody td:first-child{font-size:17px;margin-bottom:2px;padding-right:36px}
 .report-content table.s13-policy-table td[data-label]:not(:first-child)::before{content:attr(data-label);content:attr(data-label) / "";display:block;margin:9px 0 2px;font-size:10.5px;line-height:1.4;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
 .s13-row-button{top:-4px;right:-6px}
 .report-content table.s13-policy-table tr.is-s13-selected{background:rgba(240,82,156,.07);box-shadow:inset 3px 0 0 var(--pink)}
 .report-content table.s13-policy-table tr.is-s13-selected>td,.report-content table.s13-policy-table tr.is-s13-selected>td:first-child{background:transparent;box-shadow:none}
 .table-sticky:has(table.s13-policy-table){display:none!important}
}

/* Motion and print */
@media (prefers-reduced-motion:reduce){
 .s13-fig,.s13-fig *,.s13-policy *{transition:none!important;animation:none!important}
}
/* Forced colours: keep switch, pressed and current states visible. */
@media (forced-colors:active){
 .s13-switch-ui{border:1px solid CanvasText;background:Canvas}
 .s13-switch-ui::after{background:CanvasText;forced-color-adjust:none}
 .s13-switch input:checked+.s13-switch-ui{background:Highlight}
 :is(.s13-seg button,.s13-blk,.s13-kpi,.s13-chip,.s13-row-button)[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-2px}
 .s13-tm-panel.is-marked{outline-color:Highlight}
 .s13-op.is-cur rect,.s13-early .is-now :is(rect,circle),.s13-bar.is-focus .s13-bar-fill{stroke:Highlight}
}
@media print{
 .s13-controls,.s13-inspector,.s13-range,.s13-policy,.s13-row-button{display:none!important}
}
