.drivetrain-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.drivetrain-playback{border:1px solid var(--ink);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:600}.drivetrain-playback:focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}.manual-sprocket-rotor{transform-box:view-box;animation:mb-spin var(--loop-turn) linear infinite;animation-play-state:var(--loop-play-state,paused)}.manual-chain-rollers{animation:manual-chain-travel var(--loop-step) linear infinite;animation-play-state:var(--loop-play-state,paused)}.manual-chain-stage{offset-path:var(--loop-path);offset-position:0 0;offset-anchor:0px 0px;offset-rotate:auto;offset-distance:var(--stage-distance);animation:manual-stage-travel var(--loop-lap) linear infinite;animation-delay:var(--stage-delay);animation-play-state:var(--loop-play-state,paused)}.manual-stage-label{transform-origin:0 0;transform-box:view-box;transform:rotate(var(--stage-rest-angle));animation:var(--stage-counter-rotation) var(--loop-lap) linear infinite;animation-delay:var(--stage-delay);animation-play-state:var(--loop-play-state,paused)}@keyframes manual-chain-travel{to{stroke-dashoffset:var(--loop-offset)}}@keyframes manual-stage-travel{0%{offset-distance:0%}to{offset-distance:100%}}@media (prefers-reduced-motion:reduce){.manual-sprocket-rotor,.manual-chain-rollers,.manual-chain-stage,.manual-stage-label{animation:none!important}.drivetrain-playback{display:none}}.mb-manual .manual-figure.worked-examples{padding:24px clamp(18px,4vw,40px)}.examples-intro{margin:20px 0;font-size:15px;line-height:1.6}.example-tabs{border-bottom:1px solid var(--off);gap:8px;display:flex}.example-tabs button{color:var(--muted);min-height:48px;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:1;padding:14px 8px;font-size:14px;font-weight:700}.example-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent-text)}.example-tabs button:focus-visible,.example-panel:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}.example-panel{padding-top:26px;font-size:15px;line-height:1.6}.example-panel[hidden]{display:none}.example-panel h3{letter-spacing:-.025em;margin:0 0 26px;font-size:23px;font-weight:750;line-height:1.25}.example-flow{margin:0;padding:0;list-style:none}.example-stage{grid-template-columns:104px minmax(0,1fr);display:grid}.example-stage-label{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-text);margin:0;padding:3px 16px 0 0;font-size:11px;font-weight:700;line-height:1.5}.example-stage-body{border-left:2px solid var(--off);padding:0 0 34px 24px}.example-stage:last-child .example-stage-body{padding-bottom:8px}.example-panel blockquote{font-family:var(--font-hand);margin:0;font-size:21px;line-height:1.4}.example-setup{color:var(--muted);margin:0 0 14px;font-size:14px}.example-question{letter-spacing:-.015em;text-wrap:pretty;margin:0 0 18px;font-size:clamp(19px,2.2vw,24px);font-weight:750;line-height:1.25}.example-options{border:0;gap:10px;margin:0;padding:0;display:grid}.example-option{border:1px solid var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:13px 16px;font-size:15px;line-height:1.4;display:flex}.example-option[data-picked=true]{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text)}.example-option input{appearance:none;border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:16px;height:16px;margin:0}.example-option input:checked{border-color:var(--accent-text);background:var(--accent-text);box-shadow:inset 0 0 0 3px var(--page)}.example-option:has(input:focus-visible){outline:2px solid var(--accent-text);outline-offset:2px}.example-feedback{border-left:3px solid var(--accent-text);margin:18px 0 0;padding-left:16px;font-size:15px;line-height:1.6}.example-revised{margin:0 0 22px;font-size:17px;font-weight:600;line-height:1.55}.example-continues{color:var(--muted);margin:22px 0 0;padding-left:128px;font-size:13px}.example-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px;line-height:1.45}.example-table caption{text-align:left;padding-bottom:10px;font-size:12px;font-weight:600}.example-table th,.example-table td{text-align:left;border-bottom:1px solid var(--off);vertical-align:top;overflow-wrap:anywhere;padding:12px 10px}.example-table th:first-child{width:38%;padding-left:0}.example-table thead th{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);font-size:12px}.example-table tbody th{font-weight:500}.example-table td:last-child{color:var(--accent-text);font-weight:600}.example-circuit,.example-motion,.example-visual{margin-top:24px}.example-circuit svg,.example-motion svg{width:100%;height:auto;display:block}.example-circuit p,.example-motion p{color:var(--muted);font-size:13px}.example-circuit svg{max-width:660px;margin:0 auto}.example-limits dl{gap:14px;margin:0;display:grid}.example-limits dt{font-size:12px;font-weight:700}.example-limits dd{color:var(--muted);margin:3px 0 0;font-size:13px}.example-analogy{border-top:1px solid var(--off);margin-top:24px;padding-top:20px}.example-analogy h4{margin:0 0 16px;font-size:14px}.example-sources{border-top:1px solid var(--off);color:var(--muted);margin:24px 0 0;padding:18px 0 0;font-size:12px;line-height:1.6;list-style:none}.example-sources li+li{margin-top:12px}.example-sources span{display:block}.example-sources a{color:inherit;text-underline-offset:3px}@media (width<=640px){.example-stage{grid-template-columns:minmax(0,1fr)}.example-stage-label{padding:0 0 10px}.example-stage-body{border-left:0;padding:0 0 30px}.example-continues{padding-left:0}}@media (width<=560px){.example-tabs{gap:0}.example-tabs button{padding:12px 5px;font-size:12px}.example-panel h3{font-size:21px}.example-panel blockquote{font-size:19px}.example-table{font-size:12px}.example-table th,.example-table td{padding-left:5px;padding-right:5px}.example-table th:first-child{width:36%}.example-circuit svg text,.example-motion svg text{font-size:26px}}.mb-manual .wheel-figure{padding:24px clamp(16px,3vw,30px)}.wheel-plate-layout{grid-template-columns:minmax(0,1fr) 245px;align-items:center;gap:26px;margin-top:28px;display:grid}.wheel-plate{min-width:0}.wheel-assembly{width:100%;height:auto;display:block;overflow:visible}.wheel-axis{stroke:var(--off);stroke-width:1px;stroke-dasharray:4 8;fill:none}.wheel-assembly-part{transition:transform .65s cubic-bezier(.22,.68,.3,1)}.wheel-part-marker{transition:opacity .16s}@keyframes wheel-assembly-loop{0%,20%,to{transform:var(--wheel-exploded)}45%,65%{transform:var(--wheel-assembled)}}@keyframes wheel-marker-loop{0%,15%,90%,to{opacity:1}30%,75%{opacity:0}}.wheel-figure[data-looping=true] .wheel-assembly-part{animation:12s cubic-bezier(.45,0,.2,1) infinite wheel-assembly-loop;animation-play-state:var(--wheel-play-state)}.wheel-figure[data-looping=true] .wheel-part-marker{animation:12s linear infinite wheel-marker-loop;animation-play-state:var(--wheel-play-state)}.wheel-plate-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.wheel-controls{align-self:start}.wheel-mode{border:1.5px solid var(--ink);border-radius:999px;margin-bottom:10px;padding:3px;display:flex}.wheel-playback{border:1px solid var(--ink);width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin:0 0 24px;font-size:13px;font-weight:700;display:block}.wheel-motion-note{font-size:12px;line-height:1.6;display:none}.wheel-mode button{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:10px 8px;font-size:13px;font-weight:700}.wheel-mode button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.wheel-small-label{letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:700;line-height:1.5}.wheel-parts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.wheel-parts button{border:1px solid var(--off);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:9px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.wheel-parts button span{color:var(--muted);font-size:10px}.wheel-parts button[aria-pressed=true]{border-color:var(--ink);background:var(--bg)}.wheel-parts button[aria-pressed=true] span{color:var(--accent-text)}.wheel-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.wheel-part-description{grid-column:1/-1;padding-top:0}.wheel-part-description h3{letter-spacing:-.02em;margin:0 0 12px;font-size:19px;font-weight:700;line-height:1.25}.wheel-part-description p{margin:0 0 18px;font-size:13px;line-height:1.6}.wheel-mapping{border-top:1px solid var(--off);padding-top:14px}.wheel-mapping span{color:var(--accent-text);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.wheel-reading{border-top:1px solid var(--off);margin-top:24px;padding-top:24px}.wheel-reading>p:not(.wheel-small-label){margin:0 0 16px;font-size:14px;line-height:1.6}.wheel-caveat{border-top:1px solid var(--off);margin-top:28px;padding-top:24px}.wheel-caveat dl{gap:18px;margin:0;display:grid}.wheel-caveat dt{margin-bottom:7px;font-size:12px;font-weight:700}.wheel-caveat dd{color:var(--muted);margin:0;font-size:12px;line-height:1.6}@media (width<=699px){.wheel-plate-layout{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:10px}.wheel-assembly{max-width:410px;margin:0 auto}.wheel-parts{grid-template-columns:repeat(4,minmax(0,1fr))}.wheel-parts button{justify-content:center;gap:5px;padding:9px 6px;font-size:12px}.wheel-mode{max-width:320px;margin:0 auto 10px}.wheel-playback{max-width:320px;margin:0 auto 22px}.wheel-part-description{min-height:0}.wheel-caveat dl{grid-template-columns:minmax(0,1fr);gap:18px}}@media (prefers-reduced-motion:reduce){.wheel-assembly-part,.wheel-part-marker{transition:none!important;animation:none!important}.wheel-playback{display:none}.wheel-motion-note{display:block}}@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-k3kQo8UDI-1M0wlSfdboLmvDIaK18A.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-k3kQo8UDI-1M0wlSfdfoLmvDIaK18A.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-k3kQo8UDI-1M0wlSfdnoLmvDIaI.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-cY9AfjOCX1hbuyalUrK439HyjIJFJpeBZQ.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-cY9AfjOCX1hbuyalUrK439DyjIJFJpeBZQ.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/newsreader-cY9AfjOCX1hbuyalUrK4397yjIJFJpc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--page:#d9d0bb;--bg:#f3ecdc;--ink:#16130f;--surface:#fff;--panel:#e9dfc7;--muted:#5a5245;--faint:#8a8171;--off:#b9ad93;--accent:#e08a1e;--accent-text:#a3691a;--yellow:#f6d79a;--red:#f5b3a0;--green:#c9dcb5;--green-text:#3f6b3a;--red-text:#b4472b;--rail-bg:#16130f;--rail-fg:#f3ecdc;--rail-pill:#f3ecdc;--rail-pill-fg:#16130f;--rail-hover:#2a251d}[data-theme=dark]{--page:#080705;--bg:#16130f;--ink:#f3ecdc;--surface:#221d16;--panel:#1d1813;--muted:#c4b79c;--faint:#8a8171;--off:#4a4238;--accent:#e08a1e;--accent-text:#f0a640;--yellow:#5c4210;--red:#6a2d20;--green:#2c4522;--green-text:#a6d08f;--red-text:#f2a48f;--rail-bg:#0d0b08;--rail-fg:#f3ecdc;--rail-pill:#e08a1e;--rail-pill-fg:#16130f;--rail-hover:#241f18}:root{--hero-bg:#16130f;--hero-fg:#f3ecdc;--hero-dim:#d9d0bb;--hero-accent:#e08a1e;--pad:24px;--padL:28px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--font-display:"Archivo", system-ui, sans-serif;--font-hand:"Newsreader", Georgia, serif}[data-narrow=true]{--pad:16px;--padL:18px}@keyframes mb-spin{to{transform:rotate(360deg)}}@keyframes mb-spin-back{to{transform:rotate(-360deg)}}@keyframes mb-bicycle-chain{to{stroke-dashoffset:var(--mb-bike-pitch)}}.mb-controlled-motion g,.mb-controlled-motion path{animation-play-state:var(--motion-play-state,paused)!important}@keyframes mb-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes mb-track{to{background-position:0 12px,9px 18px}}@keyframes mb-chain{to{transform:translate(-9px)}}@keyframes mb-chain-run{to{stroke-dashoffset:-13px}}@media (prefers-reduced-motion:reduce){.mb-bicycle *,.mb-wheel *{animation:none!important}.wheel-assembly-part{transition:none!important}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--ink);font-family:var(--font-display);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0}a{color:var(--accent-text)}a:hover{color:var(--ink)}button,input,textarea{color:inherit;font-family:inherit}button{cursor:pointer}:focus-visible,textarea:focus,input:focus{outline:3px solid var(--accent);outline-offset:0}.mb-hard{border:2px solid var(--ink)}.mb-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mb-split{container-type:inline-size}.mb-aside{border-top:2px solid var(--ink)}@container (width>=600px){.mb-aside{border-top:0;border-left:2px solid var(--ink)}}
