/* RC Torquehouse setup labs: scoped to avoid changing the existing reader. */
.lab-shell{--lab-ink:#232621;--lab-muted:#5e665a;--lab-line:#cbd0c2;--lab-yellow:#e4f064}.lab-lede{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;margin-bottom:28px}.lab-lede h2{margin:12px 0 0}.lab-lede p{font-size:14px;margin:0}.lab-cite{font:700 11px var(--mono);text-decoration:underline;white-space:nowrap}.lab-panel,.tire-chooser,.rollout-form,.rollout-output{background:#fbfcf7;border:1px solid var(--lab-line)}.lab-panel{padding:28px}.lab-controls{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;padding-bottom:26px;border-bottom:1px solid var(--lab-line)}.lab-controls output{float:right;font:700 13px var(--mono);color:var(--lab-muted)}.lab-controls input[type=range]{width:100%;margin:13px 0 0;accent-color:#738031}.lab-number input{margin-top:6px}.lab-number p{margin:8px 0 0}.scale-baseline{padding-top:25px}.scale-ruler{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--lab-muted);border-bottom:1px solid var(--lab-ink);padding-bottom:7px;margin-left:64px}.scale-rows{display:grid;gap:11px;margin-top:15px}.scale-row{display:grid;grid-template-columns:48px minmax(90px,1fr) 92px;align-items:center;gap:12px;font:12px var(--mono)}.scale-row b{font-size:13px}.scale-row.is-baseline{color:#45531d}.scale-bar{height:18px;display:block}.scale-bar i{height:100%;width:var(--size);min-width:16px;display:block;background:#69745b;position:relative}.scale-row.is-baseline .scale-bar i{background:var(--lab-yellow);outline:1px solid #778338}.scale-bar i:after{content:"";position:absolute;right:7%;bottom:0;width:26%;height:58%;border-radius:10px 16px 3px 3px;background:#242820;box-shadow:-42px 7px 0 -5px #242820}.scale-row output{text-align:right}.lab-callouts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.lab-callouts article{border-top:3px solid var(--lab-ink);padding:17px 0}.lab-callouts article:nth-child(2){border-color:#8e9c3e}.lab-callouts h3{font-size:20px;margin:13px 0 8px}.lab-callouts p,.lab-details p,.lab-source{font-size:13px}.lab-details{border:1px solid var(--lab-line);padding:16px 18px;background:#eef0e5}.lab-details summary{font-weight:700}.lab-details p{margin:12px 0 0}.lab-source{color:var(--lab-muted);margin-top:20px}.tire-chooser{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:22px;padding:24px}.tire-chooser fieldset{border:0;padding:0;margin:0}.tire-chooser legend{font-size:12px;font-weight:700;margin-bottom:10px}.tire-chooser label{display:flex;gap:8px;align-items:center;font-size:13px;margin:9px 0}.tire-reading{background:#e8ecd8;padding:18px}.tire-reading h3{font-size:21px;margin:0 0 8px}.tire-reading p,.tire-reading li{font-size:12px;color:#394032}.tire-reading ul{padding-left:19px;margin-bottom:0}.lab-divider{height:1px;background:var(--lab-line);margin:58px 0}.rollout-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.rollout-form{padding:24px}.rollout-form label{margin-bottom:16px}.rollout-form p{margin:5px 0 0}.rollout-output{display:grid;align-content:center;grid-template-columns:1fr 1fr;gap:4px 18px;padding:25px;background:#252a23;color:#fff}.rollout-output span{font:10px var(--mono);color:#c5cdb8}.rollout-output strong{font:700 25px var(--mono);margin-bottom:15px}.rollout-output p{grid-column:1/-1;color:#d3dac9;font-size:12px;margin:0}.rollout-visual{min-height:210px;background:linear-gradient(#cfd5c640 1px,transparent 1px),linear-gradient(90deg,#cfd5c640 1px,transparent 1px),#e8eadf;background-size:24px 24px;display:flex;align-items:center;justify-content:center;gap:15%;margin:25px 0;position:relative;overflow:hidden}.rollout-wheel{width:calc(55px + var(--current, .2) * 150px);height:calc(55px + var(--current, .2) * 150px);border:8px solid #35402f;border-radius:50%;display:grid;place-items:center;position:relative}.rollout-wheel.next{width:calc(55px + var(--next, .22) * 150px);height:calc(55px + var(--next, .22) * 150px);border-color:#6c792d}.rollout-wheel i{width:3px;height:42%;background:#353d31;display:block;transform-origin:bottom}.rollout-wheel.next i{background:#6c792d}.rollout-wheel span{position:absolute;bottom:-27px;font:10px var(--mono);white-space:nowrap}.rollout-controls{position:absolute;left:18px;top:18px}.rollout-controls .button{min-height:38px;padding:8px 11px;background:#f7f8f3}.rollout-controls p{max-width:210px;font-size:10px}.is-spinning .rollout-wheel i{animation:lab-spin 1s linear infinite}.is-spinning .rollout-wheel.next i{animation-duration:.91s}@keyframes lab-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.is-spinning .rollout-wheel i{animation:none}}@media(max-width:760px){.lab-lede,.lab-controls,.tire-chooser,.rollout-grid{grid-template-columns:1fr;gap:20px}.lab-callouts{grid-template-columns:1fr}.lab-panel{padding:18px}.scale-row{grid-template-columns:43px minmax(70px,1fr) 78px;font-size:10px}.scale-ruler{margin-left:55px;font-size:8px}.rollout-visual{gap:10%;min-height:235px}.rollout-controls{left:12px;top:10px}.rollout-controls p{display:none}.rollout-wheel{margin-top:38px}}@media(max-width:360px){.scale-row{grid-template-columns:39px minmax(55px,1fr) 68px;gap:7px}.scale-ruler{margin-left:47px}.rollout-visual{gap:5%}}

/* Four readable chooser columns on wide screens; visual mappings are proportional to the selected shared diameter. */
.tire-chooser{grid-template-columns:1fr 1fr 1fr 1.5fr}.tread-icon{width:50px;height:24px;fill:none;stroke:#5d6b39;stroke-width:3}.rollout-output{gap:18px}.rollout-output div{display:grid;gap:4px}.rollout-output strong{margin-bottom:0}.rollout-wheel{width:var(--current-size,145px);height:var(--current-size,145px)}.rollout-wheel.next{width:var(--next-size,160px);height:var(--next-size,160px)}.rollout-wheel span{bottom:-29px}.is-spinning .rollout-wheel.next i{animation-duration:1s}@media(max-width:760px){.tire-chooser{grid-template-columns:1fr}}
.rollout-wheel{flex-shrink:0;border-width:calc(var(--current-size,145px) * .05)}.rollout-wheel.next{border-width:calc(var(--next-size,160px) * .05)}.rollout-wheel i{position:absolute;top:8%;left:calc(50% - 1.5px)}.rollout-wheel span{width:180px;text-align:center;white-space:normal;line-height:1.4}
@media(max-width:540px){.rollout-visual{flex-direction:column;gap:65px;padding:85px 20px 55px}.rollout-wheel{margin-top:0}}
