/* SPDX-License-Identifier: Apache-2.0 */
/* Layout of the question-driven demo. Base typography, colours and controls
   come from style.css. KaTeX internals are never restyled through bare
   element selectors. */
.viewport-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{height:56px}
main{max-width:1600px;padding:8px 2.2% 0}
.kicker{font:650 10.5px/1.3 var(--font);letter-spacing:1.3px;text-transform:uppercase;color:var(--wine);margin:0 0 3px}
/* ——— first viewport: title, shared parameters, three panels ——— */
.stage-top{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.6fr);gap:8px 18px;align-items:center;margin-bottom:8px}
.title-block h1{font-size:clamp(24px,2.1vw,31px);letter-spacing:-.4px;line-height:1.1}
.param-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 14px;background:white;border:1px solid var(--line);border-radius:8px;padding:6px 10px;margin:0}
.param{display:flex;align-items:center;gap:6px;min-width:0}
.param label{font:600 12px/1.2 var(--font);white-space:nowrap}
.param input[type=number]{width:66px;min-height:40px;padding:6px 8px;font-size:15px}
.memory-param{flex:1 1 190px;max-width:320px}.memory-param input[type=range]{flex:1;min-width:80px;height:40px;margin:0}
.param #tree-3d{min-height:40px;padding:6px 9px;font:12px var(--font)}
.mode-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;background:#f4f2ef}
.mode-switch button{min-height:38px;padding:6px 11px;border:0;border-radius:5px;background:transparent;font:600 12px var(--font);color:var(--muted)}
.mode-switch button[aria-checked=true]{background:var(--wine);color:white}
.param-error{flex-basis:100%;margin:0;font:12px/1.4 var(--font);color:#8b1d2c}
[aria-invalid=true]{border-color:#b3261e!important;box-shadow:0 0 0 2px #f3c7c3}
.stage{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(400px,1.32fr) minmax(250px,.85fr);grid-template-areas:'history scene visit';gap:12px;align-items:start}.stage>.history-card{grid-area:history}.stage>.scene-area{grid-area:scene}.stage>.side-panel{grid-area:visit}
.history-card,.scene-card,.visit-card{background:white;border:1px solid var(--line);border-radius:8px;min-width:0}
.panel-title{font:650 11px/1.3 var(--font);letter-spacing:1px;text-transform:uppercase;color:var(--wine);margin:0}
/* history */
.history-card{padding:10px 12px;display:flex;flex-direction:column}
.history-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:8px;margin-bottom:4px}
.history-switch{display:flex;align-items:center;gap:6px;font:12px var(--font)}.history-switch select{flex:1;min-width:0;min-height:40px}
.history-card canvas{display:block;width:100%;height:clamp(200px,calc(100vh - 470px),300px)}
.history-card .legend{font-size:11px;margin-top:4px}
#history-legend[data-mode=finite] .adversarial-only,#history-legend[data-mode=adversarial] .finite-only{display:none}
.legend .line.dotted:before{border-top-style:dotted}
#paired-costs{margin-top:6px}
#seq-timeline{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0 2px;max-height:64px;overflow:auto}#seq-timeline>span{font:11px var(--font);padding:5px 7px;border:1px solid var(--line);background:#f4f5f7;border-radius:3px}#seq-timeline>span.current{background:var(--wine);border-color:var(--wine);color:white}#seq-timeline>span.past{background:#ece5e6}
.timeline-note{font:12px/1.4 var(--font);color:var(--muted);margin:4px 0}
.history-references>summary{display:flex;align-items:center;min-height:40px;cursor:pointer;font:12px var(--font);color:var(--wine)}
.history-references>summary::before{content:'+';font-size:17px;margin-right:6px}.history-references[open]>summary::before{content:'−'}
.history-reference-copy{font:13px/1.45 var(--font);color:var(--muted)}
/* scene */
.scene-card{padding:8px 10px;display:flex;flex-direction:column}
.scene-toolbar{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6px;align-items:center}
.scene-actions{display:flex;gap:4px;min-width:0}.scene-actions button{min-height:42px;padding:6px 9px;font-size:12.5px}#step{flex:1;min-width:0}
.tree-controls{display:block;min-width:0}.tree-controls select{width:100%;min-height:42px;font:13px var(--font);border:1px solid #9ca6b2;border-radius:5px;background:white;padding:6px}
#seq-progress{margin:6px 0 0;height:4px}
.canvas-wrap{position:relative}
.canvas-wrap canvas{display:block;width:100%;height:clamp(250px,calc(100vh - 360px),560px)}
.geometry-label{position:absolute;top:4px;left:2px;margin:0;font-size:15px;color:var(--muted);pointer-events:none}
.count-chip{position:absolute;top:6px;right:2px;margin:0;padding:2px 6px;border-radius:4px;background:#ffffffd9;font:11px var(--font);color:var(--muted);pointer-events:none}
.projection-note{position:absolute;left:0;bottom:2px;max-width:min(100%,460px);margin:0;padding:2px 6px;border-radius:4px;background:#ffffffe0;font:11.5px/1.35 var(--font);color:var(--muted);pointer-events:none}
.scene-caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:2px 0}
#tree-title{font:16px 'Latin Modern',Georgia,serif;margin:0}#tree-prefix{font:11px var(--font);color:var(--muted);margin:0}
.phase-steps{display:flex;justify-content:center;gap:4px;list-style:none;margin:4px 0 0;padding:0;font:12px/1.2 var(--font)}
.phase-steps li{display:flex;align-items:center;gap:6px;padding:4px 9px 4px 4px;border-radius:999px;border:1px solid transparent;color:var(--muted)}
.phase-n{width:21px;height:21px;border-radius:50%;border:1px solid #b9c0c9;display:inline-grid;place-items:center;font-weight:650;font-size:11px;background:white}
.phase-steps li[data-state=current]{border-color:var(--wine);background:#f8eef0;color:var(--wine);font-weight:600}
.phase-steps li[data-state=current] .phase-n{background:var(--wine);border-color:var(--wine);color:white}
.phase-steps li[data-state=done]{color:var(--ink)}.phase-steps li[data-state=done] .phase-n{background:#e3efe9;border-color:var(--green);color:var(--green)}
.scene-status{font:13px/1.45 var(--font);margin:5px 0 0;min-height:38px}
.next-chip{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:4px 0 2px;padding:7px 10px;border:1px solid #d9b9c0;border-left:3px solid var(--wine);border-radius:6px;background:#fbf4f5;color:var(--ink);text-decoration:none;font:13px/1.35 var(--font)}
.next-chip:hover{background:#f6e9ec}.next-chip .next-label{font:650 10.5px var(--font);letter-spacing:1px;text-transform:uppercase;color:var(--wine)}.next-chip strong{font-weight:600}.next-chip small{color:var(--wine);font-weight:600}
.tree-legend{font:11px var(--font);gap:4px 12px;margin-top:6px}
.tree-legend i{display:inline-block;flex:0 0 auto}.tree-dot{width:7px;height:7px;border-radius:50%;background:#202938}.tree-state{width:9px;height:9px;border-radius:50%;border:1.6px solid #1f4e8c;background:white}.tree-line{width:18px;height:2.5px;background:#268067}.tree-leaf{background:#b15e22}.gray .tree-line,.gray.tree-line,#tree-spine-key.gray .tree-line,#tree-leaf-key.gray .tree-line{background:#737a84}.tree-charge{width:18px;border-top:2.5px dashed var(--wine)}.tree-memory{width:10px;height:10px;border-radius:50%;background:var(--green)}
.scene-more{margin-top:6px;border-top:1px solid #e3e5e8}.scene-more>summary{display:flex;align-items:center;min-height:40px;cursor:pointer;font:600 12px var(--font);color:var(--wine)}
.scene-more>summary::before{content:'+';font-size:17px;margin-right:6px}.scene-more[open]>summary::before{content:'−'}
.tree-totals{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:4px 0;font:11px var(--font)}.tree-totals strong{display:block;font:17px 'Latin Modern',Georgia,serif;font-variant-numeric:tabular-nums}
#tree-hint,#tree-scope{font:11.5px/1.4 var(--font);color:var(--muted);margin:4px 0}
.saved-replay{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:6px 0;font:11px var(--font);color:var(--muted)}.saved-replay label{display:flex;flex-direction:column;min-width:0}.saved-replay input{width:100%;min-height:40px}.saved-replay button{font-size:12px}
.display-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px;margin:6px 0}
.display-options label{font:12px var(--font)}.display-options select,.display-options input:not([type=checkbox]){display:block;width:100%;margin-top:3px;min-height:40px}
.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check input[type=checkbox]{width:18px;height:18px;min-height:18px;padding:0;margin:0;flex:0 0 18px}
.display-options .check{min-height:40px}.display-options #seq-new{align-self:end;font-size:12px}
/* visit */
.side-panel{display:block;min-width:0}
.visit-card{padding:10px 12px}
.visit-numbers{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:6px}.visit-cost{grid-column:1/-1}
.metric-label{display:block;font:11px/1.35 var(--font);color:var(--muted)}
.metric-value{display:block;font:400 22px/1.3 'Latin Modern',Georgia,serif;min-height:29px;font-variant-numeric:tabular-nums}
.visit-cost .metric-value{font-size:30px;line-height:1.25;min-height:38px;color:var(--wine)}.metric-value.small{font-size:19px;min-height:25px}
.visit-card .metric-value:not([data-tex]){font:italic 13px/1.9 'Latin Modern',Georgia,serif;color:var(--muted)}
.gauge-block{margin-top:10px}.cost-gauge{position:relative;height:14px;background:#f1ece6;border:1px solid #d9cfc4;border-radius:3px}
.gauge-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--orange);border-radius:2px 0 0 2px;transition:width .25s ease-out}
.gauge-mean{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;background:var(--wine)}
.gauge-scale{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:3px;font:11px var(--font);color:var(--muted)}.gauge-caption{flex:1;text-align:center}
.gauge-legend{display:flex;gap:14px;margin:2px 0 0;font:11px var(--font);color:var(--muted)}.key{display:inline-flex;align-items:center;gap:6px}.mark{display:inline-block;flex:0 0 auto}.mark.bar{width:16px;height:9px;background:var(--orange)}.mark.tick{width:3px;height:13px;background:var(--wine)}
.phase-equation{margin-top:10px;padding-top:8px;border-top:1px solid #e3e5e8;min-height:66px}.phase-equation p{margin:0;font-size:16px;line-height:1.55;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.phase-equation p:not([data-tex]){font:12px/1.5 var(--font);color:var(--muted);white-space:normal}
.step-details{margin-top:8px;border-top:1px solid #e3e5e8}.step-details summary{display:flex;align-items:center;min-height:40px;cursor:pointer;font:600 12px var(--font);color:var(--wine)}.step-details summary::before{content:'+';font-size:17px;margin-right:6px}.step-details[open] summary::before{content:'−'}.step-details>p{font-size:14px;margin:0 0 8px}.step-equation{font-size:16px;overflow-x:auto}
/* ——— the paper's questions ——— */
.question-path{margin:18px 0 6px;padding:10px 14px;background:white;border:1px solid var(--line);border-radius:8px}
.path-title{font:650 10.5px var(--font);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.question-path ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
.question-path a{display:flex;align-items:flex-start;gap:7px;min-height:44px;padding:6px 8px;border-radius:6px;color:var(--ink);text-decoration:none;font:13px/1.3 var(--font)}
.question-path a:hover{background:#f4eef0}.question-path a[aria-current]{background:#f6e9ec;box-shadow:inset 3px 0 0 var(--wine)}
.question-path small{display:block;color:var(--wine);font-weight:600;margin-top:2px}
.path-n{flex:0 0 22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;border:1px solid #b9c0c9;font:650 11px var(--font);color:var(--muted);background:white}
.question-path a.done .path-n{background:#e3efe9;border-color:var(--green);color:var(--green)}
.chapter{margin:22px 0 0;padding:20px 0 6px;border-top:1px solid var(--line);scroll-margin-top:8px}
.chapter-head{max-width:980px;margin-bottom:10px}.chapter-head h2{font-size:clamp(23px,2vw,30px);letter-spacing:-.3px}.chapter-head h2:focus{outline:none}.chapter-head h2:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.chapter-context{font-size:16.5px;line-height:1.5;color:#3d4757;margin-top:6px}
.chapter-body{display:flex;flex-direction:column;gap:10px}
.chapter-controls{background:white;border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:flex-end}
.mirror-row{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-end}
.mirror-row label{display:block;font:600 12px/1.3 var(--font);min-width:0}.mirror-row label>input,.mirror-row label>select{display:block;margin-top:3px}
.mirror-row input[type=number],.mirror-row input[type=text]{width:96px;min-height:42px;padding:6px 8px;font-size:15px}.mirror-row input[type=text]{width:150px}
.mirror-row select{min-height:42px;font:13px var(--font);border:1px solid #9ca6b2;border-radius:5px;background:white;padding:6px}
.mirror-row .slider-label{display:grid;grid-template-columns:auto auto minmax(90px,1fr) auto;align-items:center;gap:4px 8px}.mirror-row .slider-label>input{margin-top:0}.mirror-row .slider-label>input[type=range]{width:100%;min-width:90px}.slider-label input[type=range]{width:min(240px,40vw);height:42px;margin:0}
.mirror-row:has(.slider-label){flex:1 1 100%}.mirror-row .slider-label{flex:1 1 320px;max-width:520px}
.calibration-choice{font:13px/1.35 var(--font);max-width:420px}.calibration-choice small{display:block;font-size:11.5px;color:var(--muted)}
.paper-examples{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;font:12px var(--font);color:var(--muted);flex-basis:100%}
.paper-examples button{min-height:34px;padding:4px 9px;font:12px var(--font);border-radius:999px;background:#f7f5f2}
.run-bar{display:grid;grid-template-columns:auto minmax(220px,1fr);gap:4px 12px;align-items:center;flex:1 1 420px;min-width:0}
.run-actions{display:flex;gap:5px}.run-actions button{min-height:42px;padding:7px 12px;font-size:12.5px}
.run-progress{min-width:0;font:12px var(--font)}.progress-copy{display:flex;justify-content:space-between;gap:10px}.progress-copy strong{font-weight:600}.progress-copy [data-elapsed]{color:var(--muted);font-variant-numeric:tabular-nums}
.run-progress progress{height:6px;margin-top:5px}
.run-progress progress:indeterminate{background:repeating-linear-gradient(90deg,#e3dddd 0 12px,#c9a7ae 12px 24px)}
.run-progress p{margin:3px 0 0;font-size:11px;color:var(--muted);min-height:14px}
.feedback-error{grid-column:1/-1;background:#fff1f0;border:1px solid #a64332;padding:10px;border-radius:6px}.feedback-error h3{font-size:16px;margin:0 0 4px}.feedback-error p{font:13px/1.4 var(--font);margin:4px 0}.feedback-error .actions{display:flex;gap:6px;flex-wrap:wrap}
.chapter-figures{position:relative}
.chapter[data-state=running] .chapter-figures canvas,.chapter[data-state=pending] .chapter-figures canvas,.fig5[data-state=running] .chapter-figures canvas{opacity:.9}
.chapter[data-state=running]>.chapter-body>.chapter-figures::after,.chapter[data-state=pending]>.chapter-body>.chapter-figures::after,.fig5[data-state=running]>.chapter-figures::after{content:'Updating…';position:absolute;top:8px;right:10px;padding:3px 9px;border-radius:999px;background:var(--wine);color:white;font:600 11px var(--font);pointer-events:none}
.chapter-figures{display:grid;gap:12px;min-width:0}
.chapter-figures.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.chapter-figures:focus,.chart-card:focus{outline:none}.chapter-figures:focus-visible,.chart-card:focus-visible{outline:3px solid #315e98;outline-offset:3px}
.chapter-figures .chart-card{padding:12px 14px}.chart-card h3{font-size:18px}.chart-card .section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
.chapter-figures canvas{display:block;width:100%;height:clamp(250px,34vh,360px)}
.dims-legend{grid-column:1/-1;margin:0}
.axis-copy{display:flex;flex-wrap:wrap;gap:2px 14px;justify-content:space-between;font:11px/1.5 var(--font);color:var(--muted);margin-top:2px}.axis-copy>span{min-width:0}.axis-copy .axis-x::before{content:'→ ';}.axis-copy .axis-y::before{content:'↑ ';}.axis-copy span:empty{display:none}
.cost-body .chapter-figures{grid-template-columns:minmax(0,1.7fr) minmax(250px,1fr);align-items:start}
.cost-body .summary-grid{display:grid;grid-template-columns:1fr;gap:1px;margin:0}
#cost-chart{height:clamp(270px,40vh,400px)}
.cost-scale-controls{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}.cost-scale-controls label{font:12px var(--font);flex:1 1 170px}.cost-scale-controls select{display:block;width:100%;min-height:40px;margin-top:3px;font:13px var(--font)}
.chapter-finding{max-width:1000px;margin:12px 0 0;padding:10px 14px;background:#ede8df;border-left:3px solid #967658;font-size:15.5px;line-height:1.5}.chapter-finding:empty{display:none}
.verdict{background:#f6e9ec;border-left-color:var(--wine)}
.next-question{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0 4px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);text-decoration:none;font:15px/1.35 var(--font);max-width:760px}
.next-question:hover{border-color:var(--wine);background:#fbf4f5}.next-question strong{font:19px 'Latin Modern',Georgia,serif;color:var(--wine)}.next-question small{color:var(--muted);font-weight:600}
.next-question::after{content:'↓';margin-left:auto;color:var(--wine);font-size:18px}.next-question[data-next=scene]::after{content:'↑'}
.radial-key{display:flex;gap:8px;align-items:center;font:11.5px var(--font);color:var(--muted);margin:6px 0 0}.color-ramp{display:inline-block;height:11px;width:150px;border:1px solid #87909c}
#state-map,#fig5a{cursor:default}#fig5a{cursor:crosshair}
.compare-panel{display:flex;flex-direction:column;gap:10px}
.compare-actions{display:flex;flex-wrap:wrap;gap:6px;margin:0}.compare-actions button{min-height:42px;font-size:12.5px}
.fig5{margin-top:18px}.fig5-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:8px}.fig5-head h3{font-size:20px}.fig5-head .run-bar{flex:1 1 520px}
.fig5-pair canvas{height:clamp(300px,42vh,420px)}
.data-details{margin-top:8px}
.understanding{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin-top:28px;padding:4px 0 6px;border-top:1px solid var(--line)}
.understanding details{border-bottom:1px solid #e0e2e5;min-width:0}.understanding summary{cursor:pointer;font:600 13px var(--font);min-height:46px;display:flex;align-items:center;gap:8px}.understanding summary:before{content:'+';color:var(--wine);font-size:21px;width:14px}.understanding details[open] summary:before{content:'−'}.understanding details>p{font-size:16px;line-height:1.6;margin:0 0 12px}
@media(prefers-reduced-motion:reduce){.gauge-fill{transition:none}.run-progress progress:indeterminate{background:#d8c3c8}}
body.reduce-motion .gauge-fill{transition:none}
/* ——— widths ——— */
@media(max-width:1299px){
  .stage{grid-template-columns:minmax(230px,.9fr) minmax(360px,1.3fr) minmax(220px,.8fr);gap:10px}
  .question-path ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .scene-actions button{padding:6px 7px;font-size:12px}.visit-cost .metric-value{font-size:26px}
}
@media(max-width:1099px){
  .stage{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);grid-template-areas:'scene visit' 'scene history'}
  .stage>.scene-area{grid-area:scene}.stage>.side-panel{grid-area:visit}.stage>.history-card{grid-area:history}
}
@media(max-width:1050px){.stage-top{grid-template-columns:1fr}.param-bar{justify-content:flex-start}}
@media(max-width:900px){
  .stage{display:flex;flex-direction:column}.stage>*{width:100%}
  .cost-body .chapter-figures{grid-template-columns:1fr}
  .cost-body .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .chapter-figures.two{grid-template-columns:1fr}
  .question-path ol{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  main{padding:8px 12px 0}.site-header{height:56px;padding:0 12px;gap:8px}.site-header nav{display:none}.site-header #help{margin-left:auto;padding:8px;font-size:12px}
  .title-block h1{font-size:23px}
  .param-bar{padding:6px 8px;gap:6px 10px}.param input[type=number]{width:62px}.memory-param{flex:1 1 100%;max-width:none}.mode-switch{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr}
  .scene-toolbar{grid-template-columns:1fr}.canvas-wrap canvas{height:clamp(240px,72vw,330px)}
  .history-card canvas{height:220px}
  .display-options{grid-template-columns:1fr}
  .phase-steps{justify-content:space-between;gap:2px}.phase-steps li{padding:3px 6px 3px 3px;font-size:11px;gap:4px}.phase-n{width:19px;height:19px}
  .chapter-context{font-size:15.5px}
  .chapter-controls{padding:8px}.run-bar{grid-template-columns:1fr;flex-basis:100%}.run-actions button{flex:1}
  .run-bar>.run-progress{order:-1}
  .mirror-row input[type=number]{width:84px}.mirror-row input[type=text]{width:140px}.mirror-row .slider-label{flex-basis:100%;max-width:none}.mirror-row .slider-label input[type=number]{width:70px}
  .chapter-figures canvas{height:250px}.fig5-pair canvas{height:300px}
  .cost-body .summary-grid{grid-template-columns:1fr}
  .next-question strong{font-size:17px}
  .understanding{grid-template-columns:1fr}
  .question-path{padding:8px}.question-path ol{grid-template-columns:1fr}.question-path a{min-height:40px}
}
@media(max-width:360px){.scene-actions button{padding:6px 7px;font-size:12px}.param label{font-size:11px}.phase-steps li{font-size:10.5px;padding-right:4px}.mirror-row input[type=number]{width:72px}}
@media(min-width:1300px) and (max-height:760px){.site-header{height:50px}.history-card canvas{height:clamp(190px,calc(100vh - 470px),260px)}}
/* The paper's own panels, on request inside each question. */
.paper-panels{margin-top:10px;border:1px solid var(--line);border-radius:8px;background:white}
.paper-panels>summary{display:flex;align-items:center;min-height:46px;padding:6px 12px;cursor:pointer;font:600 13px var(--font);color:var(--wine)}
.paper-panels>summary::before{content:'+';font-size:18px;margin-right:8px}.paper-panels[open]>summary::before{content:'−'}
.paper-panels-body{padding:4px 12px 12px;display:flex;flex-direction:column;gap:10px}
.paper-grid{display:grid;gap:8px}.paper-grid.nine{grid-template-columns:repeat(3,minmax(0,1fr))}.paper-grid.eight{grid-template-columns:repeat(4,minmax(0,1fr))}
.paper-grid:focus{outline:none}.paper-grid:focus-visible{outline:3px solid #315e98;outline-offset:3px}
.mini{margin:0;padding:4px;border:1px solid transparent;border-radius:6px}.mini.current,.mini-pair.current{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine)}
.mini figcaption,.mini-pair h4{font:600 12px var(--font);margin:0 0 2px;color:var(--ink)}
.mini canvas{display:block;width:100%;height:clamp(150px,18vw,220px)}
.mini-pair{padding:6px;border:1px solid #e3e5e8;border-radius:6px;min-width:0}.mini-pair canvas{display:block;width:100%;height:120px}.mini-caption{font:10.5px/1.35 var(--font);color:var(--muted);margin:2px 0 0}
@media(max-width:900px){.paper-grid.eight{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.paper-grid.nine{grid-template-columns:repeat(2,minmax(0,1fr))}.paper-grid.eight{grid-template-columns:1fr}.mini canvas{height:170px}}
.paper-panels-body>.run-bar{flex:none}
/* Keep the full retained sample count readable on narrow screens. */
.mirror-row #connection-n,.mirror-row #connection-paper-n{width:120px;max-width:100%}
