/* Scoped chapter figure: geometry, not a time simulation. */
.constraint-lab{margin:28px 0;padding:24px;border:1px solid var(--line,#d9dcd0);background:var(--cream,#f4f2e9);color:var(--ink,#18332f)}
.constraint-lab [hidden]{display:none!important}
.constraint-lab h3{margin:0 0 12px;font:400 27px/1.3 var(--serif,Georgia,serif);letter-spacing:-.4px}
.constraint-lab p.constraint-lab-intro,.constraint-lab p.constraint-lab-note{font-size:14px;line-height:1.8;margin:0}
.constraint-lab-controls{margin:22px 0 8px;padding-top:18px;border-top:1px solid #c7cec0}
.constraint-lab-label{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:14px;font-weight:600}
.constraint-lab-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:400}
.constraint-lab input[type=range]{display:block;width:100%;min-height:44px;margin:4px 0;accent-color:var(--green,#102d2b);cursor:pointer}
.constraint-lab input[type=range]:focus-visible{outline:3px solid #a68b47;outline-offset:3px}
.constraint-lab-range{display:flex;justify-content:space-between;font-size:12px;color:#526458;margin-top:-6px}
.constraint-lab-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.constraint-lab-presets button{min-height:44px;min-width:80px;padding:8px 15px;border:1px solid #889a83;background:transparent;color:var(--green,#102d2b);font-size:13px;line-height:1.5;border-radius:2px}
.constraint-lab-presets button:hover{background:#e4e9da}
.constraint-lab-presets button[aria-pressed=true]{background:var(--green,#102d2b);color:var(--cream,#f4f2e9)}
.constraint-lab-presets button:focus-visible{outline:3px solid #a68b47;outline-offset:3px}
.constraint-lab figure{margin:12px auto 0;max-width:560px}
.constraint-lab svg{display:block;width:100%;height:auto}
.constraint-lab figcaption{font-size:12px;line-height:1.7;color:#526458;margin:0 0 20px}
.constraint-lab-output{display:block;padding:18px 0;border-top:1px solid #c7cec0;border-bottom:1px solid #c7cec0;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.constraint-lab-output span{display:block}
.constraint-lab-output [data-guide-summary]{font-weight:600;font-size:16px}
.constraint-lab-output [data-guide-coordinates]{font-variant-numeric:tabular-nums;margin:7px 0}
.constraint-lab-output [data-guide-explanation]{margin-top:7px}
.constraint-lab p.constraint-lab-note{font-size:12px;color:#526458;margin-top:17px}
.constraint-lab noscript p{font-size:12px;line-height:1.7;margin-top:12px}
@media(max-width:520px){.constraint-lab{padding:16px 12px}.constraint-lab h3{font-size:24px}.constraint-lab-label{font-size:13px}.constraint-lab-output{font-size:13px}.constraint-lab-output [data-guide-summary]{font-size:15px}.constraint-lab-presets button{flex:1;padding:8px 10px;min-width:70px}}
@media print{.constraint-lab{break-inside:avoid;background:white;padding:15px}.constraint-lab-controls{display:none}.constraint-lab figure{max-width:400px}}
