/* Section 17 native figures. Scoped to s17-*; kit tokens, plus the two series
   colours of the report figure (plot_lr_sparsity_sweep.py: teal #007C91 for one
   learning rate, orange #D97706 for the scaled sweep) so the caption's "teal"
   and "orange" hold in both views. Text uses darker shades of the same hues
   (>= 4.5:1 on cream). */
.s17-fig{--s17-un:#007c91;--s17-un-deep:#006b7d;--s17-sc:#d97706;--s17-sc-deep:#a95703;
 container:s17/inline-size;position:relative;margin:0;color:var(--ink);font-size:14.5px;line-height:1.5}
.report-content .s17-fig p{margin:0}
.report-content .s17-fig :is(ul,ol){margin:0;padding:0;list-style:none}
.report-content .s17-fig li{margin:0;padding:0}
.report-content .s17-fig li::marker{content:none}

/* Head */
.s17-fig-head{margin:2px 0 16px}
.report-content .s17-fig .s17-eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 8px;font-size:12.5px;line-height:1.45;color:var(--muted)}
.s17-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.3;background:var(--teal-wash);color:var(--teal-deep)}
.s17-tag::before{content:'';flex:none;width:8px;height:8px;border-radius:50%;border:1.5px dashed var(--teal);box-sizing:border-box}
.s17-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.s17-kicker a{color:inherit}
.report-content .s17-fig .s17-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 */
.s17-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:0 0 14px}
.s17-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0}
.s17-control-label{font-size:11px;font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s17-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:20px;background:var(--cream-lo);border:1px solid var(--line)}
.s17-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;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .2s var(--ease),color .2s,box-shadow .2s}
.s17-seg button small{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-deep)}
.s17-seg button:hover{color:var(--ink)}
.s17-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)}
.s17-range{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.s17-range input[type=range]{-webkit-appearance:none;appearance:none;width:min(220px,100%);height:28px;margin:0;background:transparent;cursor:pointer}
.s17-range input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s17-range input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal-line),var(--sand))}
.s17-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)}
.s17-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)}
.s17-range input[type=range]:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px;border-radius:6px}
.s17-range output{min-width:2.5ch;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-deep)}

/* Series keys (legend, readout, picker, table) */
.s17-key{display:inline-block;flex:none;width:9px;height:9px;vertical-align:0;border-radius:50%;background:var(--s17-un)}
.s17-key--sc{border-radius:1.5px;background:var(--s17-sc)}
.s17-key--ring{width:12px;height:12px;background:none;border:1.6px solid var(--ink-soft);box-sizing:border-box}
.s17-lr{white-space:nowrap;font-variant-numeric:tabular-nums}
.s17-lr sup{font-size:.7em;line-height:0;vertical-align:.55em;margin-left:.04em}

/* Surface: chart and readout side by side on wide frames */
.s17-surface{display:grid;grid-template-columns:minmax(0,1fr);gap:0;background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.s17-plot{min-width:0;padding:14px 16px 6px}
.s17-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin:0 0 2px!important;font-size:12.5px;color:var(--ink)}
.s17-legend li{display:inline-flex;align-items:center;gap:8px}
.s17-fig svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font)}
.s17-chart{position:relative;touch-action:pan-y;border-radius:10px}
.s17-chart:focus-visible{outline:2.5px solid var(--pink);outline-offset:4px}
.s17-side{display:flex;flex-direction:column;gap:16px;min-width:0;padding:16px 18px 18px;border-top:1px solid var(--line)}
@container s17 (min-width:820px){
 .s17-surface{grid-template-columns:minmax(0,1fr) 272px}
 .s17-side{padding:20px 20px 18px 22px;border-top:0;border-left:1px solid var(--line)}
}

/* SVG */
.s17-t{font-size:15px;fill:var(--ink)}
.s17-t--tick{font-size:12px;fill:var(--muted);font-variant-numeric:tabular-nums}
.s17-sup{font-size:10px}
.s17-t--axis{font-size:12.5px;fill:var(--muted)}
.s17-t--note{font-size:11.5px;fill:var(--muted)}
.s17-t--halo{paint-order:stroke;stroke:var(--cream-hi);stroke-width:4px;stroke-linejoin:round}
.s17-t--un{fill:var(--s17-un-deep)}
.s17-t--sc{fill:var(--s17-sc-deep)}
.s17-t--best{font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.s17-t--val{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.s17-t--over{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}
.s17-t--gap{font-size:12px;font-weight:700;fill:var(--ink-deep);font-variant-numeric:tabular-nums}
.s17-t--bar{font-size:11.5px;font-weight:700;fill:var(--ink-soft);font-variant-numeric:tabular-nums}
.s17-t--bar.is-on{fill:var(--ink-deep);font-size:12.5px}
.s17-grid{stroke:var(--line);stroke-width:1}
.s17-grid--v{stroke-dasharray:2 4}
.s17-axis,.s17-tickmark{stroke:var(--line-strong);stroke-width:1}
.s17-guide{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:1 4;opacity:.16}
.s17-guide.is-on{opacity:0}
.s17-line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.s17-line--un{stroke:var(--s17-un)}
.s17-line--sc{stroke:var(--s17-sc)}
.s17-pt{stroke:var(--cream-hi);stroke-width:1.2}
.s17-pt--un{fill:var(--s17-un)}
.s17-pt--sc{fill:var(--s17-sc)}
.s17-pt.is-on{stroke-width:2.2;filter:drop-shadow(0 1px 2px rgba(10,43,53,.3))}
.s17-ring{fill:none;stroke-width:1.5}
.s17-ring--un{stroke:var(--s17-un)}
.s17-ring--sc{stroke:var(--s17-sc)}
.s17-ref{stroke-width:1;stroke-dasharray:3 3;opacity:.75}
.s17-ref--un{stroke:var(--s17-un)}
.s17-ref--sc{stroke:var(--s17-sc)}
.s17-bracket{fill:none;stroke:var(--ink-deep);stroke-width:1.3}
.s17-over{stroke:var(--cream-hi);stroke-width:1}
.s17-over--un{fill:var(--s17-un)}
.s17-over--sc{fill:var(--s17-sc)}
.s17-over.is-on{stroke:var(--ink-deep);stroke-width:1.4}
.s17-zero{stroke:var(--ink-soft);stroke-width:1.2}
.s17-bar{fill:var(--muted);opacity:.85}
.s17-bar.is-on{fill:var(--ink-deep);opacity:1}
.s17-cut{stroke:var(--cream-hi);stroke-width:2}
.s17-cursor{fill:none;stroke:var(--ink);stroke-width:1;stroke-dasharray:3 3;opacity:.55}
.s17-chip{fill:var(--cream-hi);opacity:.94}
.s17-hit{fill:transparent;cursor:pointer}

/* Readout */
.s17-readout{display:grid;grid-template-columns:minmax(0,1fr)}
.s17-ro-state{grid-area:1/1;min-width:0}
.s17-ro-state:not(.is-on){visibility:hidden}
.report-content .s17-fig .s17-ro-kicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-deep)}
.report-content .s17-fig .s17-ro-big{margin:4px 0 12px;font-size:22px;line-height:1.25;letter-spacing:-.015em;color:var(--ink-deep);font-variant-numeric:tabular-nums;text-wrap:balance}
.s17-ro-kicker+.s17-ro-big:not(:has(.s17-lr)){font-size:16.5px!important;letter-spacing:-.005em!important}
.s17-ro-series{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.report-content .s17-fig .s17-ro-series li{min-width:0}
.report-content .s17-fig .s17-ro-series li{padding:10px 12px 9px;border-radius:10px;background:color-mix(in srgb,var(--s17-un) 6%,var(--cream-hi));box-shadow:inset 3px 0 0 var(--s17-un)}
.report-content .s17-fig .s17-ro-series li[data-series="sc"]{background:color-mix(in srgb,var(--s17-sc) 7%,var(--cream-hi));box-shadow:inset 3px 0 0 var(--s17-sc)}
.report-content .s17-fig .s17-ro-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:4px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.report-content .s17-fig .s17-ro-best{margin-left:auto;padding:1px 8px;border-radius:999px;font-size:11px;font-style:normal;font-weight:700;letter-spacing:.04em;background:var(--ink-deep);color:var(--cream-hi)}
.report-content .s17-fig .s17-ro-val{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:3px;font-variant-numeric:tabular-nums}
.s17-pad{visibility:hidden}
.s17-ro-val b{font-size:21px;font-weight:400;letter-spacing:-.01em;color:var(--ink-deep)}
.s17-ro-series li[data-series="un"] .s17-ro-val b{color:var(--s17-un-deep)}
.s17-ro-series li[data-series="sc"] .s17-ro-val b{color:var(--s17-sc-deep)}
.s17-ro-val span{font-size:12.5px;color:var(--muted)}
.report-content .s17-fig .s17-ro-diff{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.s17-ro-diff b{margin-left:auto;font-size:17px;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s17-ro-diff i{flex-basis:100%;font-style:normal;text-align:right;font-size:12px}
.report-content .s17-fig .s17-ro-hint{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}

/* Picker */
.s17-pick{display:grid;gap:6px}
.report-content .s17-fig .s17-pick-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.s17-pick button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--cream-hi);color:var(--ink-soft);font:inherit;font-size:12.5px;font-weight:700;line-height:1;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s,color .18s}
.s17-pick button:hover{border-color:var(--line-strong);color:var(--ink)}
.s17-pick button[aria-pressed="true"]{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.s17-pick button[aria-pressed="true"] .s17-key{box-shadow:0 0 0 1.5px var(--cream-hi)}
.s17-pick-best{width:100%}
.s17-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}

/* All runs (details) */
.s17-runs{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream-hi)}
.s17-runs summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;padding:10px 14px;cursor:pointer;list-style:none;font-size:13.5px;font-weight:700;color:var(--ink-deep);border-radius:var(--radius-sm)}
.s17-runs summary::-webkit-details-marker{display:none}
.s17-runs summary::before{content:'';flex:none;align-self:center;width:7px;height:7px;margin-right:2px;border-right:1.8px solid var(--teal-deep);border-bottom:1.8px solid var(--teal-deep);transform:rotate(-45deg);transition:transform .2s var(--ease)}
.s17-runs[open] summary::before{transform:rotate(45deg)}
.s17-runs summary small{font-size:12px;font-weight:400;color:var(--muted)}
.s17-runs summary:hover{background:var(--teal-wash)}
.s17-runs summary:focus-visible{outline:2.5px solid var(--pink);outline-offset:2px}
.s17-table-scroll{overflow-x:auto;border-top:1px solid var(--line)}
.s17-table{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
.s17-tr{display:grid;grid-column:1/-1;grid-template-columns:subgrid;align-items:center;border-bottom:1px solid var(--line);transition:background-color .18s var(--ease)}
.s17-tbody{display:contents}
.s17-tbody .s17-tr:last-child{border-bottom:0}
.s17-tr>span{padding:5px 14px;text-align:right;white-space:nowrap}
.s17-tr>span:first-child{text-align:left}
.s17-thead{background:var(--cream-lo);align-items:end}
.s17-thead>span{display:block;padding-top:8px;padding-bottom:6px;font-size:11.5px;font-weight:700;line-height:1.25;color:var(--ink-soft)}
.s17-thead .s17-key{margin-right:6px;vertical-align:.5px}
.s17-thead small{display:block;font-size:10.5px;font-weight:400;color:var(--muted);white-space:normal}
.s17-tbody .s17-tr:hover{background:var(--teal-wash)}
.s17-tbody .s17-tr.is-on{background:var(--pink-wash)}
.s17-tr button{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--cream-hi);color:var(--ink-deep);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s,color .18s}
.s17-tr button:hover{border-color:var(--teal)}
.s17-tr button[aria-pressed="true"]{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}
.s17-tr .is-best{font-weight:700;color:var(--s17-un-deep)}
.s17-tr .is-best--sc{color:var(--s17-sc-deep)}
.s17-best-tag{display:inline-block;margin-right:7px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.45;letter-spacing:.05em;text-transform:uppercase;vertical-align:1px;box-shadow:inset 0 0 0 1px currentColor}
.s17-fig-note{margin:12px 0 0;max-width:860px;font-size:12.5px;line-height:1.58;color:var(--muted)}
.report-content .s17-fig .s17-fig-note a[data-reference-type]{font-weight:700}

/* Companion to Equation 73 */
.report-content .s17-ratio{margin:28px 0 30px;padding:16px 0 0;border-top:1px solid var(--ink)}
.s17-ratio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:18px 30px;align-items:center;padding:18px 22px;background:var(--cream-hi);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}
.report-content .s17-fig .s17-mini-label{margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.s17-mini-label span{color:var(--pink-deep);font-variant-numeric:tabular-nums}
.report-content .s17-fig .s17-mini-note{margin-top:6px;font-size:11.5px;color:var(--muted)}
.s17-experts{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;max-width:340px}
.s17-experts i{display:block;aspect-ratio:1;border-radius:3px;background:var(--cream-lo);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .2s var(--ease),box-shadow .2s var(--ease)}
.s17-experts i.is-on{background:var(--pink);box-shadow:inset 0 0 0 1px rgba(185,44,108,.4)}
.s17-ratio-side{display:grid;gap:16px;padding-left:28px;border-left:1px solid var(--line)}
.report-content .s17-fig .s17-meter-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;font-size:12.5px;font-weight:700;color:var(--ink-soft)}
.s17-meter-head b{font-size:17px;color:var(--ink-deep);font-variant-numeric:tabular-nums}
.s17-meter-bar{position:relative;height:12px;margin:6px 0 4px;border-radius:6px;background:var(--cream-lo);box-shadow:inset 0 0 0 1px var(--line)}
.s17-meter-bar>i{position:absolute;inset:0 auto 0 0;min-width:3px;border-radius:6px;background:var(--pink);transition:width .25s var(--ease)}
.s17-meter--mult .s17-meter-bar>i{background:var(--teal)}
.s17-meter-one{position:absolute;right:0;top:16px;font-size:11px;color:var(--muted);white-space:nowrap}
.report-content .s17-fig .s17-meter-note{font-size:12px;color:var(--muted)}
.s17-meter--mult{padding-bottom:12px}
.report-content .s17-fig .s17-ratio-eq{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding-top:12px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}
.s17-ratio-eq b{padding:2px 8px;border-radius:6px;background:var(--ink-deep);color:#fff;font-variant-numeric:tabular-nums}
.s17-tested{margin-left:auto;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:700;background:var(--teal-wash);color:var(--teal-deep)}
.s17-tested[data-tested="false"]{background:var(--cream-lo);color:var(--muted)}
.s17-tested a{color:inherit}

/* MathJax inside the figures */
.s17-fig mjx-container[jax="CHTML"]{font-size:106%!important;line-height:1}
.s17-legend mjx-container{margin:0!important}
.s17-control-label mjx-container{font-size:120%!important;text-transform:none}

/* Responsive */
@container s17 (max-width:720px){
 .s17-ratio-grid{grid-template-columns:1fr;padding:14px 14px 16px}
 .s17-ratio-side{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
 .s17-experts{max-width:none}
}
@container s17 (max-width:819px) and (min-width:520px){
 .s17-side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
}
@container s17 (max-width:560px){
 .s17-plot{padding:10px 8px 4px}
 .s17-legend{gap:2px 14px;font-size:12px;padding:0 4px}
 .s17-seg button{padding:0 11px;min-height:36px}
 .s17-side{padding:14px 14px 16px}
 .s17-table{grid-template-columns:auto repeat(3,minmax(0,1fr));font-size:12.5px}
 .s17-table .s17-col-exp{display:none}
 .s17-tr>span{padding:5px 7px}
 .s17-tr button{padding:0 8px;font-size:12.5px}
 .s17-best-tag{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;box-shadow:none}
 .s17-tr .is-best{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
 .s17-thead small{font-size:10px}
 .s17-range{flex:1 1 100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px}
 .s17-range .s17-control-label{grid-column:1/-1}
 .s17-range input[type=range]{width:100%}
}

/* Motion and print */
@media (prefers-reduced-motion:reduce){
 .s17-fig *{transition:none!important;animation:none!important}
}
@media print{
 .s17-controls,.s17-pick{display:none!important}
}
@media(forced-colors:active){
 .s17-seg button[aria-pressed="true"],.s17-pick button[aria-pressed="true"],.s17-tr button[aria-pressed="true"]{outline:2px solid Highlight;outline-offset:-2px}
 .s17-key,.s17-experts i,.s17-meter-bar>i{forced-color-adjust:none}
}
