.home-mark .diagram{max-width:430px}
.home-mark .figure-note{max-width:390px}
.diagram .memory-path{stroke-width:3}
.diagram .hidden-path{stroke-width:2;stroke-dasharray:6 5}
.diagram .operator{fill:var(--paper);stroke:var(--ink);stroke-width:1.6}
.diagram .operator-text{font:23px var(--sans);text-anchor:middle;dominant-baseline:middle}
.diagram .selected-guide{stroke:var(--diagram-flow);stroke-dasharray:3 4}
.diagram .cell-mark{fill:var(--ink);stroke:var(--paper);stroke-width:1}
.diagram .hidden-mark{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}
.diagram .selected-mark{stroke:var(--ink);stroke-width:2;fill:var(--paper)}
.diagram .curve-fast{stroke-width:2;stroke-dasharray:2 5}
.diagram .curve-slow{stroke-width:2;stroke-dasharray:8 5}
.diagram .curve-keep{stroke-width:2.4}
.lab .trace-wrap{margin:12px 0 20px}
.lab .trace-wrap .diagram{overflow:hidden}
.trace-key{display:flex;gap:22px;flex-wrap:wrap;font:12px/1.6 var(--sans);margin:4px 0 10px}
.trace-key strong{font-weight:normal}
.trace-key .solid-key::before{content:'';display:inline-block;width:26px;border-top:2px solid var(--ink);margin-right:7px;vertical-align:middle}
.trace-key .dash-key::before{content:'';display:inline-block;width:26px;border-top:2px dashed var(--ink);margin-right:7px;vertical-align:middle}
.lab .controls{margin:12px 0 18px}
.lab .controls label{font-size:13px}
.control-note{display:block;color:var(--quiet);font:11px/1.5 var(--sans);padding-top:3px}
.step-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:0 0 22px;font:13px/1.5 var(--sans)}
.js .step-controls{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:end}
.step-controls label{display:block}
.step-controls output{float:right;font-variant-numeric:tabular-nums}
.step-controls input{display:block;width:100%;height:25px;margin-top:9px;accent-color:var(--ink)}
.step-controls button{font-size:12px;min-height:42px}
button:disabled{cursor:default;opacity:.45;transform:none}
.step-calculation{padding:0 0 5px}
.step-calculation h4{font:15px/1.5 var(--sans);margin:0 0 18px;font-weight:bold}
.term-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin:12px 0 22px}
.term{text-align:center;border-bottom:1px solid var(--line);padding-bottom:12px;min-width:0}
.term strong{display:block;font:27px/1.3 var(--serif);font-variant-numeric:tabular-nums}
.term .term-label{display:block;font:11px/1.5 var(--sans);color:var(--quiet);margin:6px 0}
.term .term-formula{display:block;font:12px/1.5 var(--sans)}
.term-result{border-bottom:2px solid var(--ink)}
.term-operator{font:24px var(--serif)}
.exposure-row{font:15px/1.7 var(--sans);margin:12px 0!important;padding:12px 0;border-bottom:1px solid var(--line)}
.exposure-row strong{font-size:19px}
.selected-note{font:13px/1.7 var(--sans);margin-bottom:12px}
.lab-summary{font:13px/1.7 var(--sans);border-top:1px solid var(--line);padding-top:14px;margin:12px 0}
.lab-boundary{font:12px/1.7 var(--sans);color:var(--quiet);margin:20px 0}
.state-table{overflow-x:auto;margin:15px 0}
.state-table:focus-visible,.comparison-table:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.state-table table{border-collapse:collapse;width:100%;min-width:465px;font:12px/1.5 var(--sans);font-variant-numeric:tabular-nums}
.state-table caption{text-align:left;color:var(--quiet);padding:0 0 14px}
.state-table td,.state-table th{padding:10px 8px;border-bottom:1px solid var(--line);text-align:right}
.state-table th:first-child,.state-table td:first-child{text-align:left}
.state-table thead th{font-weight:normal}
.state-table tr[aria-current=step]{background:var(--wash);font-weight:bold}
.state-table .current-label{font-size:10px;font-weight:normal}
.lab .comparison-table table{font-variant-numeric:tabular-nums}
.lab details p{font-size:16px}
.compact-caption{display:none}
@media(min-width:1151px){.js .lab .controls{grid-template-columns:1fr 1fr 1fr auto;gap:18px}.lab-heading h3{font-size:30px}}
@media(max-width:650px){.home-mark .diagram{max-width:320px}.diagram text{font-size:16px}.diagram.compact .small{font-size:13px}.diagram.compact .operator-text{font-size:21px}.trace-key{font-size:11px;gap:14px}.js .lab .controls{grid-template-columns:1fr;gap:14px}.lab .controls input[type=range]{margin-top:7px}.js .step-controls{grid-template-columns:1fr 1fr;gap:12px}.step-controls label{grid-column:1/-1}.step-controls button{font-size:12px;padding:8px}.term-row{gap:6px}.term strong{font-size:22px}.term .term-label{font-size:10px}.term .term-formula{font-size:11px}.term-operator{font-size:20px}.exposure-row{font-size:13px}.exposure-row strong{font-size:17px}.lab-boundary{font-size:12px}.lab details p{font-size:16px}.compact-caption{display:block}.wide-caption{display:none}}
@media(forced-colors:active){.diagram .operator,.diagram .hidden-mark,.diagram .selected-mark{fill:Canvas;stroke:CanvasText}.diagram .cell-mark{fill:CanvasText;stroke:CanvasText}.term,.term-result{border-color:CanvasText}}
@media print{.state-table{overflow:visible}.state-table table{min-width:0;font-size:9pt}.lab .trace-wrap{max-width:600px}.step-calculation{break-inside:avoid}.lab .controls,.lab .step-controls,.lab .prediction{display:none!important}.lab .trace-key,.lab .lab-boundary,.lab-summary{font-size:9pt}.state-table tr[aria-current=step]{background:transparent}.exposure-row{font-size:10pt}.term-row{max-width:600px}.compact-caption{display:none}.wide-caption{display:block}}
