:root{font-family:DM Sans,system-ui,sans-serif;color:#243f48;background:#f8eee3;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #243f48;--ink-soft: #5f7174;--paper: #fffaf1;--paper-deep: #f8eee3;--coral: #e6543f;--pink: #efa7bb;--yellow: #f2c94d;--blue: #77bdd2;--blue-deep: #28778c;--teal: #3f9a9d;--violet: #76569b;--line: #dfd4c6;--shadow: 7px 8px 0 rgba(134, 71, 55, .14)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2d7184;outline-offset:3px}.app-shell{min-height:100vh;display:grid;grid-template-rows:72px 66px minmax(0,1fr);background:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),var(--paper-deep);background-size:28px 28px}.app-shell--painted-notes{background-color:#f3e8d8;background-image:linear-gradient(rgba(63,154,157,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(233,106,97,.045) 1px,transparent 1px);background-size:28px 28px}.app-shell--cake-box{background-color:#f9eee4;background-image:linear-gradient(rgba(238,168,186,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(134,205,221,.08) 1px,transparent 1px)}.site-header{position:relative;display:flex;align-items:center;justify-content:center;padding:0 28px;border-bottom:1px solid rgba(117,82,70,.18);background:#fffaf1f2}.site-header:after{content:"";position:absolute;z-index:0;right:0;bottom:-1px;left:0;height:5px;background:linear-gradient(90deg,var(--coral) 0 33.333%,var(--yellow) 33.333% 66.666%,var(--blue-deep) 66.666% 100%)}.brand{position:relative;z-index:1;display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:2px solid #9d4438;border-radius:50%;color:#9d4438;background:var(--yellow);box-shadow:3px 3px 0 var(--pink);transform:rotate(-8deg)}.app-shell--painted-notes .brand-mark{box-shadow:3px 3px #54a0a2}.brand>span:last-child{display:grid;gap:1px}.brand strong{font-size:.82rem;letter-spacing:.08em}.brand small{color:var(--ink-soft);font-size:.7rem}.header-note{position:absolute;z-index:1;left:28px;display:flex;align-items:center;gap:7px;color:#7b5268;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.header-links{position:absolute;z-index:1;right:28px;display:inline-flex;align-items:center;gap:12px;white-space:nowrap}.source-link,.site-credit{display:inline-flex;align-items:center;gap:5px;font:500 .67rem DM Mono,monospace;text-decoration:none}.source-link{color:var(--blue-deep);transition:color .18s ease}.source-link:hover{color:var(--coral)}.site-credit{color:var(--ink-soft)}.site-credit:before{content:"";width:7px;height:7px;margin-right:2px;background:var(--yellow);box-shadow:2px 2px 0 var(--pink);transform:rotate(45deg)}.site-credit strong{color:var(--blue-deep);transition:color .18s ease}.site-credit:hover strong{color:var(--coral)}.lab-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:9px 28px 0;background:#fffaf1f7;border-bottom:1px solid var(--line)}.lab-tabs button{position:relative;min-width:0;height:57px;display:flex;justify-content:center;align-items:center;gap:9px;border:0;border-bottom:4px solid transparent;background:transparent;cursor:pointer;color:#7d8581}.lab-tabs button:after{content:"";position:absolute;right:0;top:9px;height:28px;width:1px;background:var(--line)}.lab-tabs button:last-child:after{display:none}.lab-tabs button:hover{color:var(--ink)}.lab-tabs button.is-active{color:var(--coral);border-bottom-color:var(--coral)}.lab-tabs button span{font:500 .72rem DM Mono,monospace}.lab-tabs button strong{font-size:.86rem}.tab-short{display:none}.lab-stage{min-height:0;animation:lab-in .45s ease both}@keyframes lab-in{0%{opacity:0;transform:translateY(6px)}}.lab-loading{min-height:calc(100vh - 138px);display:grid;place-content:center;justify-items:center;gap:16px;background:#f5eadb;color:#526b70}.lab-loading strong{font:500 .75rem DM Mono,monospace;text-transform:uppercase}.loading-wheel{width:44px;height:44px;border:7px solid #304e54;border-top-color:var(--pink);border-radius:50%;animation:wheel-spin 1s linear infinite}@keyframes wheel-spin{to{transform:rotate(360deg)}}.lab-layout{min-height:calc(100vh - 138px);display:grid;grid-template-columns:minmax(0,1.58fr) minmax(390px,.92fr)}.demo-pane{position:sticky;top:0;min-height:calc(100vh - 138px);height:calc(100vh - 138px);overflow:hidden;border-right:1px solid rgba(53,89,96,.2)}.demo-pane canvas{display:block;cursor:grab}.demo-pane canvas:active{cursor:grabbing}.demo-pane--engine{background:#f3e8d8}.demo-pane--motion{background:#e4cbb5}.demo-pane--simulator{background:#87cad8}.engine-diagram{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:64px 8px 58px;background:#f3e8d8;overflow:hidden}.engine-diagram svg{width:100%;height:100%;display:block}.diagram-schematic-note{fill:#796f68;font:500 10px DM Mono,monospace;letter-spacing:.08em}.diagram-speed-note{fill:#28778c;font:700 10px DM Mono,monospace;letter-spacing:.04em}.diagram-material-key text{fill:#5f7174;font:600 10px DM Mono,monospace}.diagram-material-key .is-fuel{fill:#ffd957;stroke:#9b741b;stroke-width:1.5}.diagram-material-key .is-air{fill:#d7f1ef;stroke:#28778c;stroke-width:1.5}.diagram-material-key .is-burn{fill:#e6543f;stroke:#a9443a;stroke-width:1.5}.diagram-paths{opacity:1;transition:opacity .3s ease}.diagram-paths.is-muted,.engine-diagram--energy .diagram-paths{opacity:.24}.diagram-pipe{fill:none;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14 10}.diagram-pipe.is-flowing{animation:diagram-flow var(--diagram-flow-duration, .65s) linear infinite}.diagram-pipe--air{stroke:#3f9a9d}.diagram-pipe--fuel{stroke:#e1aa25}.diagram-pipe--exhaust{stroke:#b97d45}@keyframes diagram-flow{to{stroke-dashoffset:-24}}.diagram-fuel-droplet{fill:#ffd957;stroke:#9b741b;stroke-width:2.5;filter:drop-shadow(0 0 4px rgba(242,195,72,.75))}.diagram-fuel-spray path{fill:none;stroke:#f2c348;stroke-width:3;stroke-dasharray:4 5}.diagram-fuel-spray circle{fill:#ffd957;stroke:#9b741b;stroke-width:1.4}.diagram-fuel-spray text{fill:#8b6515;font:600 10px DM Mono,monospace}.diagram-throttle-body circle{fill:#fff8e9;stroke:#28778c;stroke-width:3}.diagram-throttle-body line{stroke:#e6543f;stroke-width:5;stroke-linecap:round}.diagram-throttle-body text{fill:#28778c;font:700 8px DM Mono,monospace;letter-spacing:.02em}.diagram-label rect{fill:#fff8e9;stroke:#9f8e80;stroke-width:1.5}.diagram-label text{fill:#315964;font:600 12px DM Mono,monospace}.diagram-label--air rect{stroke:#3f9a9d}.diagram-label--air text{fill:#347d80}.diagram-label--fuel rect{stroke:#c38f1c}.diagram-label--fuel text{fill:#8b6515}.diagram-label--exhaust rect{stroke:#b47b45}.diagram-label--exhaust text{fill:#8a6632}.diagram-small-label{fill:#5f7174;font:500 10px DM Mono,monospace;letter-spacing:.03em}.diagram-tank{fill:#f2c348;stroke:#8e613a;stroke-width:3}.diagram-tank-title{fill:#704d2e;font:700 12px DM Mono,monospace;letter-spacing:.04em}.diagram-pump{fill:#e6543f;stroke:#fff8e9;stroke-width:4}.diagram-injector{fill:#f2c348;stroke:#8e613a;stroke-width:2}.diagram-cylinder{fill:#fffaf19e;stroke:#75483f;stroke-width:5}.diagram-pressure{fill:#fff8e9;paint-order:stroke;stroke:#304e54a6;stroke-width:5;font:500 14px DM Mono,monospace}.diagram-mixture-dot{opacity:.9}.diagram-mixture-dot--air{fill:#d7f1ef;stroke:#28778c;stroke-width:1.3}.diagram-mixture-dot--fuel{fill:#ffd957;stroke:#9b741b;stroke-width:1.5}.diagram-combustion-front{stroke:#f2c348;stroke-width:3;filter:drop-shadow(0 0 9px rgba(230,84,63,.65))}.diagram-flame-core{fill:#fff2a6;stroke:#e6543f;stroke-width:3}.diagram-combustion-label{fill:#a9443a;font:700 11px DM Mono,monospace;letter-spacing:.02em}.diagram-valve line{stroke:#3f9a9d;stroke-width:9;stroke-linecap:round}.diagram-valve path{fill:#3f9a9d;stroke:#286e72;stroke-width:2}.diagram-valve--exhaust line{stroke:#d38d27}.diagram-valve--exhaust path{fill:#d38d27;stroke:#8f6323}.diagram-valve.is-open{filter:drop-shadow(0 4px 0 rgba(63,154,157,.22))}.diagram-spark-plug{stroke:#fff8e9;stroke-width:10;stroke-linecap:round;paint-order:stroke;filter:drop-shadow(0 0 2px #76569b)}.diagram-spark{fill:#fff176;stroke:#e6543f;stroke-width:3;filter:drop-shadow(0 0 8px #f2c348)}.diagram-piston{fill:#f2c348;stroke:#8e573d;stroke-width:4;filter:drop-shadow(5px 6px 0 rgba(118,86,155,.18))}.diagram-rod{stroke:#76569b;stroke-width:17;stroke-linecap:round}.diagram-pin{fill:#fff8e9;stroke:#65468b;stroke-width:6}.diagram-crank{fill:#76569b24;stroke:#76569b;stroke-width:12}.diagram-crank-arm{stroke:#76569b;stroke-width:17;stroke-linecap:round}.diagram-shaft{stroke:#65468b;stroke-width:13;stroke-linecap:round}.diagram-drivetrain{opacity:.92;transition:opacity .25s ease}.diagram-power-link{fill:none;stroke:#76569b;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.diagram-drivetrain.is-driven .diagram-power-link{stroke:#e6543f;stroke-dasharray:10 8;animation:diagram-power-flow .7s linear infinite}@keyframes diagram-power-flow{to{stroke-dashoffset:-18}}.diagram-coupling{fill:none;stroke:#76569b;stroke-width:4}.diagram-gearbox-shell{fill:#ede3f4;stroke:#65468b;stroke-width:3}.diagram-gear circle,.diagram-differential>circle:first-child{fill:#d8c8e8;stroke:#65468b;stroke-width:4}.diagram-gear path,.diagram-differential path{fill:none;stroke:#76569b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.diagram-differential>circle:last-child{fill:#fff8e9;stroke:#65468b;stroke-width:3}.diagram-drivetrain-label{fill:#5f7174;font:600 9px DM Mono,monospace;letter-spacing:.03em}.diagram-drive-tire{fill:#f3e8d8;stroke:#304e54;stroke-width:10}.diagram-drive-rim{fill:#d9ecea;stroke:#76569b;stroke-width:4}.diagram-drive-spokes{fill:none;stroke:#76569b;stroke-width:3}.diagram-drive-hub{fill:#76569b}.diagram-road{fill:none;stroke:#8e8177;stroke-width:4;stroke-linecap:round}.diagram-tire-push-label{fill:#a9443a;font:600 8px DM Mono,monospace;letter-spacing:.02em}.diagram-road-force{fill:none;stroke:#28778c;stroke-width:7;stroke-linecap:round}.diagram-road-force-label{fill:#28778c;font:700 9px DM Mono,monospace;letter-spacing:.025em}.engine-diagram--energy .diagram-drivetrain{opacity:.45}.diagram-energy{opacity:0;transition:opacity .25s ease}.engine-diagram--energy .diagram-energy{opacity:1}.diagram-force{stroke:#e6543f;stroke-width:8;stroke-linecap:round}.diagram-force-label{fill:#a9443a;font:600 11px DM Mono,monospace}.diagram-torque{fill:none;stroke:#76569b;stroke-width:8;stroke-linecap:round}.diagram-torque-label{fill:#65468b;font:600 13px DM Mono,monospace}.diagram-heat path{fill:none;stroke:#e6543f;stroke-width:7;stroke-linecap:round}.diagram-cycle-key circle{fill:#b7aaa0}.diagram-cycle-key text{fill:#687678;font:500 11px DM Mono,monospace}.diagram-cycle-key .is-active circle{fill:#e6543f;filter:drop-shadow(2px 2px 0 #efa7bb)}.diagram-cycle-key .is-active text{fill:#304e54;font-weight:700}.three-part-label,.three-force-label{display:block;width:max-content;padding:3px 6px;border:1px solid color-mix(in srgb,var(--label-color) 55%,white);border-radius:2px;background:#fff8e9e6;box-shadow:2px 2px #304e5424;color:var(--label-color);font:600 10px DM Mono,monospace;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.exploded-part-label{position:relative;display:flex;width:max-content;align-items:center;gap:6px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--label-color) 55%,white);border-radius:2px;background:#fff8e9f0;box-shadow:2px 2px #304e5424;color:var(--label-color);cursor:help;font:600 10px DM Mono,monospace;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.exploded-label-layer:hover,.exploded-label-layer:focus-within{z-index:10000!important}.exploded-part-label>i{width:14px;height:14px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font: 700 9px/1 DM Mono,monospace}.exploded-part-label:hover,.exploded-part-label:focus{border-color:var(--label-color);background:#fff8e9;box-shadow:3px 4px #304e5433;outline:none}.exploded-part-label:focus-visible{outline:2px solid var(--label-color);outline-offset:2px}.exploded-part-tooltip{position:absolute;z-index:20;top:calc(100% + 8px);left:50%;width:225px;max-width:calc(100vw - 28px);padding:11px 13px;border:1px solid color-mix(in srgb,var(--label-color) 65%,#304e54);border-left:5px solid var(--label-color);border-radius:3px;background:#304e54;box-shadow:5px 6px #e9a4b0b8;color:#fffaf0;font:600 12px/1.48 DM Sans,sans-serif;letter-spacing:0;opacity:0;pointer-events:none;text-align:left;text-shadow:0 1px 0 rgba(0,0,0,.18);text-transform:none;transform:translate(-50%,-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s;visibility:hidden;white-space:normal}.exploded-part-label[data-tooltip-side=above] .exploded-part-tooltip{top:auto;bottom:calc(100% + 8px);transform:translate(-50%,4px)}.exploded-part-label:hover .exploded-part-tooltip,.exploded-part-label:focus .exploded-part-tooltip{opacity:1;transform:translate(-50%);visibility:visible}.gear-clutch-tag{display:flex;min-width:84px;align-items:center;gap:5px;padding:3px 5px;border:1px solid #a99da5;border-radius:2px;background:#fff8e9e0;color:#7c737a;font:600 8px DM Mono,monospace;text-transform:uppercase;white-space:nowrap}.gear-clutch-tag b{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#c8bec5;color:#fff;font-size:8px}.gear-clutch-tag.is-selected{border-color:#e6543f;background:#fff1c5;color:#5a4d50;box-shadow:2px 2px #e6543f33}.gear-clutch-tag.is-selected b{background:#e6543f}.gear-clutch-tag.is-pressurized{outline:2px solid rgba(47,154,150,.58);outline-offset:1px}.gear-valve-port{display:grid;width:25px;height:20px;place-items:center;border:1px solid #8aa8a9;border-radius:2px;background:#fff8e9e0;color:#60787a;font:700 8px DM Mono,monospace}.gear-valve-port.is-active{border-color:#e6543f;background:#e6543f;box-shadow:2px 2px #2f9a9659;color:#fff}.gear-ratio-lane{display:grid;width:22px;height:18px;place-items:center;border:1px solid #aaa5a0;border-radius:2px;background:#fff8e9c7;color:#88817b;font:700 8px DM Mono,monospace}.gear-ratio-lane.is-active{border-color:#e6543f;background:#e6543f;color:#fff}.three-force-label{padding:2px 5px;background:#fffaf1f0;font-size:9px}.render-fallback{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:9px;padding:24px;background:#f3e8d8;color:#315964;text-align:center}.demo-pane--simulator .render-fallback{background:#87cad8}.render-fallback__wheel{width:48px;height:48px;border:8px solid #304e54;border-top-color:#efa7bb;border-radius:50%}.render-fallback strong{font:700 1.15rem Fraunces,serif}.render-fallback p{margin:0;color:#5f7174;font-size:.76rem}.render-fallback button{display:flex;align-items:center;gap:7px;margin-top:6px;padding:9px 13px;border:1px solid #75483f;border-radius:3px;background:#f2c348;box-shadow:3px 4px #efa7bb;color:#563f39;cursor:pointer;font-size:.7rem;font-weight:700}.lab-layout--painted-notes .demo-pane:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 51px,rgba(63,154,157,.12) 51px 52px);mix-blend-mode:multiply;pointer-events:none}.scene-toolbar{position:absolute;z-index:6;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none}.scene-badge{height:36px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(52,70,72,.18);border-radius:4px;background:#fffaefeb;box-shadow:3px 4px #4a595926;color:#315964;font:500 .7rem DM Mono,monospace;letter-spacing:.02em;text-transform:uppercase}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(52,70,72,.18);border-radius:4px;background:#fffaeff0;box-shadow:3px 4px #4a595926;cursor:pointer;pointer-events:auto}.icon-button:hover{transform:translateY(-1px)}.scene-mode{position:absolute;z-index:7;top:18px;left:50%;transform:translate(-50%)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border:1px solid #d6c9ba;border-radius:4px;background:#f1e9de}.segmented button{min-width:0;min-height:31px;padding:5px 10px;border:0;border-radius:2px;background:transparent;color:#637779;cursor:pointer;font-size:.65rem;font-weight:700;white-space:nowrap}.segmented button:hover{color:#304e54}.segmented button.is-active{background:#315964;color:#fff}.scene-mode .segmented{min-width:315px;border-color:#34464833;background:#fffaefeb;box-shadow:3px 4px #4a595924}.scene-mode .segmented button{font:500 .58rem DM Mono,monospace;text-transform:uppercase}.scene-mode--four .segmented{min-width:400px}.lesson-pane{min-width:0;padding:44px 42px 72px;background:var(--paper);box-shadow:inset 12px 0 28px #6440330a}.lab-layout--painted-notes .lesson-pane{background-color:#f5eadb;background-image:repeating-linear-gradient(0deg,transparent 0 43px,rgba(63,154,157,.075) 43px 44px);box-shadow:inset 12px 0 #3f9a9d1a}.lab-layout--cake-box .lesson-pane{background:#fff8e9}.lesson-heading{margin-bottom:28px}.lesson-kicker{display:block;margin-bottom:12px;color:var(--coral);font:700 .68rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.lesson-heading h1{max-width:570px;margin:0 0 14px;color:#344f55;font:800 2.25rem/1.04 Fraunces,serif}.lesson-heading>p,.body-copy{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.7}.body-copy strong{color:#38545b}.body-copy--spaced{margin-top:13px}.control-group{display:grid;gap:18px;margin:0 0 22px;padding:18px 19px 20px;border:1px solid #d5a3ad;border-radius:6px;background:#fffaf0;box-shadow:7px 8px #eda8ba,10px 11px #7656981f}.lab-layout--painted-notes .control-group{border-color:#4c989a;background:#fff8ea;box-shadow:7px 8px #e9a4b0,10px 11px #3f9a9d24}.group-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.group-title span{color:#354e53;font:700 .77rem DM Mono,monospace;text-transform:uppercase}.group-title small{color:#8a8179;font-size:.68rem}.slider-control{display:grid;gap:10px}.slider-control.is-disabled{opacity:.5}.control-label{display:flex;align-items:center;justify-content:space-between;font-size:.77rem;font-weight:600}.control-label output{color:var(--range-accent);font:500 .72rem DM Mono,monospace}.slider-hint{margin-top:-4px;color:#817972;font-size:.62rem;line-height:1.45}input[type=range]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;background:linear-gradient(90deg,var(--range-accent) var(--range-progress),#e7ded2 var(--range-progress));cursor:pointer}input[type=range]::-webkit-slider-thumb{width:18px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--paper);border-radius:50%;background:var(--range-accent);box-shadow:0 0 0 1px #8b756c,2px 2px #4e393126}input[type=range]::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--paper);border-radius:50%;background:var(--range-accent)}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:34px}.metric-grid--three{grid-template-columns:repeat(3,1fr)}.metric{min-width:0;min-height:74px;display:grid;align-content:center;gap:5px;padding:12px 14px;border:1px solid #decfc0;border-radius:4px;background:#fffdf8;box-shadow:3px 3px #7653441a}.metric:nth-child(4n+1){box-shadow:4px 4px #f2b8b0}.metric:nth-child(4n+2){box-shadow:4px 4px #9fd2dc}.metric:nth-child(4n+3){box-shadow:4px 4px #d3bfe2}.metric:nth-child(4n+4){box-shadow:4px 4px #f1d783}.metric>span{color:#7f7770;font-size:.61rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.metric strong{overflow-wrap:anywhere;font:500 1.04rem DM Mono,monospace}.metric small{color:#8a8179;font-size:.6rem}.metric--coral strong{color:var(--coral)}.metric--violet strong{color:var(--violet)}.metric--blue strong{color:var(--blue-deep)}.metric--yellow strong{color:#b57412}.lesson-section{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.lesson-section h2{margin:0 0 17px;color:#38545b;font:700 1.22rem Fraunces,serif}.equation-block{margin-top:15px;padding:20px;border-left:5px solid var(--coral);background:#f7e3df}.equation{color:#4a4659;font:500 1.35rem DM Mono,monospace;text-align:center}.equation sub{font-size:.65em}.equation-values{margin-top:13px;color:#9b4b3f;font:500 .64rem/1.5 DM Mono,monospace;text-align:center;overflow-wrap:anywhere}.equation-block p{margin:14px 0 0;color:#746c69;font-size:.76rem;line-height:1.55}.note{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:14px;padding:12px 14px;border:1px dashed #cea42e;background:#fff2bf;color:#725c2b}.note svg{margin-top:2px}.note p{margin:0;font-size:.75rem;line-height:1.55}.flow-chain{display:flex;align-items:stretch;margin:14px 0;border:1px solid #4b999b;background:#e0efec;box-shadow:4px 4px #e9a4b0;overflow:hidden}.flow-chain>span{min-width:0;flex:1;display:flex;align-items:center;color:#355b60}.flow-chain b{flex:1;min-height:48px;display:grid;place-items:center;padding:6px;font:500 .54rem/1.3 DM Mono,monospace;text-align:center;text-transform:uppercase}.flow-chain i{color:#e15f56;font: 700 .9rem DM Mono,monospace}.flow-chain>span.is-active b{background:#f2c348;color:#704d2e;animation:chain-pulse 1.25s ease-in-out infinite}@keyframes chain-pulse{50%{background:#efa7bb}}.step-list>div,.challenge-list>div{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;margin-bottom:16px}.step-list>div>b,.challenge-list>div>b{width:26px;height:26px;display:grid;place-items:center;border:1px solid #aa4538;border-radius:50%;background:#f2a6b7;color:#73342d;font:500 .65rem DM Mono,monospace}.step-list p,.challenge-list p{display:grid;gap:3px;margin:0;color:#646d6d;font-size:.78rem;line-height:1.5}.step-list p strong,.challenge-list p strong{color:#3c5357}.step-list p span,.challenge-list p span{display:block}.next-lab{display:grid;gap:5px;margin-top:38px;padding:18px 20px;border:1px solid #9b6f63;background:#f2c348;box-shadow:6px 7px #e9a4b0;color:#563f39;text-decoration:none;transition:transform .15s,box-shadow .15s}.next-lab:hover{transform:translate(2px,2px);box-shadow:4px 5px #e9a4b0}.next-lab span{font:500 .58rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.next-lab strong{font:700 1.05rem Fraunces,serif}.stroke-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.stroke-picker button{min-width:0;display:grid;justify-items:center;gap:3px;padding:8px 3px;border:1px solid #d2c3b2;background:#f5ede1;color:#758082;cursor:pointer}.stroke-picker button b{font:500 .58rem DM Mono,monospace}.stroke-picker button span{font-size:.6rem;font-weight:700}.stroke-picker button.is-active{border-color:#347d80;background:#3f8f91;color:#fff}.play-button{height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:3px;background:#315964;color:#fff;cursor:pointer;font-size:.69rem;font-weight:700}.playback-control{display:grid;gap:8px}.playback-control>span{color:#354e53;font-size:.72rem;font-weight:600}.playback-control .segmented button{min-height:29px;padding-block:3px}.engine-control-feedback{display:grid;gap:7px;padding:11px 12px;border-left:4px solid #28778c;background:#e3f0ed}.engine-control-feedback p{display:grid;grid-template-columns:54px 1fr;gap:8px;margin:0;align-items:baseline}.engine-control-feedback p span{color:#28778c;font:700 .56rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.engine-control-feedback p strong{color:#38545b;font:500 .62rem/1.4 DM Mono,monospace}.engine-control-feedback>small{padding-top:3px;border-top:1px solid rgba(40,119,140,.18);color:#6e7775;font-size:.58rem;line-height:1.45}.mixture-lab__eyebrow{display:block;margin-bottom:7px;color:#b57617;font:700 .58rem DM Mono,monospace;letter-spacing:.07em;text-transform:uppercase}.mixture-lab__tool{--mixture-tone: #3f9a9d;display:grid;gap:16px;margin-top:17px;padding:17px;border:1px solid #b89368;border-left:6px solid var(--mixture-tone);background:#fff8eae6;box-shadow:5px 6px #e9a4b08c}.mixture-lab__tool[data-mixture-status=lean]{--mixture-tone: #28778c}.mixture-lab__tool[data-mixture-status=too-lean]{--mixture-tone: #456b7b}.mixture-lab__tool[data-mixture-status=rich]{--mixture-tone: #d38d27}.mixture-lab__tool[data-mixture-status=too-rich]{--mixture-tone: #a9443a}.mixture-lab__scale{position:relative;display:grid;grid-template-columns:18fr 17fr 30fr 25fr;min-height:62px;padding-bottom:35px;border:1px solid rgba(117,72,63,.28);background:#fffaf0}.mixture-lab__scale>span{min-width:0;height:25px;display:grid;place-items:center;border-right:1px solid rgba(255,255,255,.72);color:#fffdf4;font:700 .46rem DM Mono,monospace;text-align:center;text-transform:uppercase}.mixture-lab__scale>span:nth-child(1){background:#567988}.mixture-lab__scale>span:nth-child(2){background:#3f9a9d}.mixture-lab__scale>span:nth-child(3){color:#684b26;background:linear-gradient(90deg,#f2c94d,#e2a535)}.mixture-lab__scale>span:nth-child(4){background:#b45243}.mixture-lab__scale>span:nth-child(4){border-right:0}.mixture-lab__marker{position:absolute;top:30px;display:grid;gap:1px;color:#746b64;font: 500 .44rem DM Mono,monospace;text-align:center;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.mixture-lab__marker:before{content:"";width:1px;height:9px;justify-self:center;background:#76569b}.mixture-lab__marker b{color:#65468b;font-size:.5rem}.mixture-lab__marker--stoich{left:44.44%}.mixture-lab__marker--power{left:55.56%}.mixture-lab__status{display:grid;grid-template-columns:minmax(150px,.78fr) minmax(0,1.22fr);gap:14px;align-items:center;padding:12px 13px;border:1px solid color-mix(in srgb,var(--mixture-tone) 48%,#d6c9b9);background:color-mix(in srgb,var(--mixture-tone) 8%,#fffaf0)}.mixture-lab__status p{margin:0;color:#667171;font-size:.7rem;line-height:1.48}.mixture-lab__status p:first-child{display:grid;gap:3px;padding-right:12px;border-right:1px solid color-mix(in srgb,var(--mixture-tone) 28%,#ddd0c1)}.mixture-lab__status span{color:var(--mixture-tone);font:700 .56rem/1.35 DM Mono,monospace;text-transform:uppercase}.mixture-lab__status strong{color:#38545b;font:700 1.15rem DM Mono,monospace}.mixture-lab__status small{color:#847c74;font-size:.52rem}.mixture-lab__outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mixture-lab__outputs>span{min-width:0;display:grid;grid-template-columns:1fr auto;gap:6px 8px;padding:9px 10px;border-top:4px solid var(--mixture-tone);background:#fffaf0}.mixture-lab__outputs small{color:#6f7776;font-size:.56rem;font-weight:700;line-height:1.3}.mixture-lab__outputs b{color:var(--mixture-tone);font:600 .7rem DM Mono,monospace}.mixture-lab__outputs i{position:relative;grid-column:1 / -1;height:5px;overflow:hidden;background:#e6ddd0}.mixture-lab__outputs i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--mixture-meter);background:var(--mixture-tone);transition:width .18s ease}.mixture-lab__regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:13px}.mixture-lab__regions>span{min-width:0;display:grid;align-content:start;gap:4px;padding:10px 11px;border:1px solid #d6c9b9;background:#fffaf0bd}.mixture-lab__regions b{color:#38545b;font-size:.68rem}.mixture-lab__regions small{color:#687270;font-size:.62rem;line-height:1.48}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer}.switch-row>span{display:grid;gap:2px}.switch-row strong{font-size:.74rem}.switch-row small{color:#817c75;font-size:.61rem;line-height:1.35}.switch-row input{position:absolute;opacity:0}.switch-row i{position:relative;width:42px;height:22px;flex:0 0 auto;border-radius:12px;background:#c9c0b6;transition:.2s}.switch-row i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:1px 1px #0003;transition:.2s}.switch-row input:checked+i{background:#e6543f}.switch-row input:checked+i:after{transform:translate(20px)}.switch-row input:focus-visible+i{outline:3px solid #2d7184;outline-offset:3px}.cycle-ribbon{position:absolute;z-index:5;left:20px;bottom:20px;display:grid;grid-template-columns:46px auto;gap:10px;min-width:250px;padding:9px 13px 9px 9px;border:1px solid rgba(255,255,255,.45);background:#243f48e0;color:#fff;pointer-events:none}.cycle-ribbon>span{display:grid;place-items:center;background:var(--stroke-color);font:500 1.1rem DM Mono,monospace}.cycle-ribbon p{display:grid;grid-template-columns:auto 1fr;column-gap:8px;margin:0}.cycle-ribbon small{color:#b8dce2;font:500 .5rem DM Mono,monospace;text-transform:uppercase}.cycle-ribbon strong{font:500 .8rem DM Mono,monospace}.cycle-ribbon b{grid-column:1 / -1;margin-top:3px;color:#e5d9c7;font-size:.56rem;font-weight:500}.energy-ledger{height:58px;display:flex;margin:15px 0;border:1px solid #a85b4e;background:#f7dfd8;box-shadow:4px 4px #e9a4b0}.energy-ledger span{min-width:72px;display:grid;place-items:center;align-content:center;gap:2px;padding:5px;color:#fff9e9;background:#76569b;font:500 .58rem DM Mono,monospace;text-align:center;text-transform:uppercase}.energy-ledger span:last-child{color:#73342d;background:#efa7bb}.energy-ledger b{font-size:.8rem}.energy-ledger--overrun span{width:100%;color:#fff9e9;background:#315964}.gear-selector{display:grid;gap:8px}.gear-selector>span,.system-filter>span{font-size:.73rem;font-weight:600}.gear-selector .segmented{grid-auto-flow:unset;grid-template-columns:repeat(7,1fr)}.gear-selector .segmented button{padding:4px}.motion-scene-help{position:absolute;z-index:6;top:70px;left:20px;margin:0;color:#5c6767;font:600 .57rem DM Mono,monospace;letter-spacing:.035em;text-transform:uppercase;pointer-events:none}.motion-scene-inspector{position:absolute;z-index:6;top:66px;right:20px;width:min(275px,34%);display:grid;gap:7px;padding:13px 15px;border:1px solid var(--part-color);border-left-width:5px;border-radius:3px;background:#fff8e9f0;box-shadow:5px 6px #e9a4b0b8;color:#38545b;pointer-events:none}.motion-scene-inspector>span{color:var(--part-color);font:700 .55rem DM Mono,monospace;letter-spacing:.06em}.motion-scene-inspector>strong{font:700 .86rem/1.3 Fraunces,serif}.motion-scene-inspector>b{color:#6d6965;font:500 .58rem/1.35 DM Mono,monospace}.motion-study-toolbar{position:absolute;z-index:9;top:68px;right:20px;left:20px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--part-color) 62%,#b99d83);border-left:5px solid var(--part-color);background:#fff8e9f2;box-shadow:4px 5px #e9a4b09e}.motion-study-toolbar>button,.motion-study-toolbar div button{min-height:29px;border:1px solid #ad9b8b;border-radius:2px;background:#fffaf0;color:#38545b;cursor:pointer;font:700 .55rem DM Mono,monospace}.motion-study-toolbar>button{padding:5px 10px}.motion-study-toolbar>span{color:var(--part-color);font:700 .58rem DM Mono,monospace;letter-spacing:.06em;text-align:center;text-transform:uppercase}.motion-study-toolbar>div{display:flex;align-items:center;gap:7px}.motion-study-toolbar div button{width:29px;padding:0;font-size:1rem}.motion-study-toolbar div b{min-width:38px;color:#746e68;font:600 .52rem DM Mono,monospace;text-align:center}.motion-study-toolbar button:hover{border-color:var(--part-color);color:var(--part-color)}.motion-study-toolbar:focus-visible{outline:2px solid var(--part-color);outline-offset:2px}.motion-cylinder-summary{position:absolute;z-index:7;top:126px;left:20px;width:258px;display:grid;gap:8px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--part-color) 58%,#b99d83);border-left:5px solid var(--part-color);background:#fff8e9f5;box-shadow:4px 5px #304e542b;pointer-events:none}.motion-cylinder-summary>span{color:var(--part-color);font:700 .53rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.motion-cylinder-summary>strong{color:#38545b;font:700 .82rem/1.25 Fraunces,serif}.motion-cylinder-summary>div{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid color-mix(in srgb,var(--part-color) 30%,#d8c8b7)}.motion-cylinder-summary i{padding:5px 2px;border-right:1px solid color-mix(in srgb,var(--part-color) 20%,#d8c8b7);color:var(--part-color);font: 700 .48rem DM Mono,monospace;text-align:center}.motion-cylinder-summary i:last-child{border-right:0}.motion-cylinder-summary p{margin:0;color:#646e6d;font-size:.63rem;line-height:1.45}.motion-cylinder-summary>b{color:#7c706a;font:600 .5rem DM Mono,monospace}.motion-shift-deck{position:absolute;z-index:8;top:126px;left:20px;width:320px;display:grid;gap:9px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--part-color) 62%,#b99d83);border-left:5px solid var(--part-color);background:#fff8e9f7;box-shadow:5px 6px #304e542e}.motion-shift-deck>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.motion-shift-deck>header span{color:var(--part-color);font:700 .52rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.motion-shift-deck>header strong{color:#38545b;font:700 .75rem Fraunces,serif;text-align:right}.motion-shift-gears{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.motion-shift-gears button{min-width:0;display:grid;justify-items:center;gap:2px;padding:6px 2px 5px;border:1px solid #c9b7a7;border-radius:2px;background:#fffaf0;color:#706c69;cursor:pointer}.motion-shift-gears button:hover:not(:disabled),.motion-shift-gears button:focus-visible{border-color:var(--part-color);color:var(--part-color);outline:none}.motion-shift-gears button.is-requested{border-color:var(--part-color);background:#eee4f2;box-shadow:inset 0 -3px 0 var(--part-color);color:var(--part-color)}.motion-shift-gears button.is-engaged{background:#fff1bd}.motion-shift-gears button:disabled{cursor:wait;opacity:.62}.motion-shift-gears b{font:700 .72rem DM Mono,monospace}.motion-shift-gears small{font:600 .42rem DM Mono,monospace}.motion-shift-gears i{color:#897f78;font: 600 .38rem DM Mono,monospace;text-transform:uppercase}.motion-ratio-trade{display:flex;align-items:stretch;border:1px solid #d5c7bb;background:#f7efe4}.motion-ratio-trade span{min-width:0;flex:1;display:grid;gap:2px;padding:6px 7px}.motion-ratio-trade small{color:#817a75;font:600 .4rem DM Mono,monospace;text-transform:uppercase}.motion-ratio-trade b{color:var(--part-color);font:700 .5rem/1.25 DM Mono,monospace}.motion-ratio-trade>i{display:grid;place-items:center;color:#e6543f;font: 700 .7rem DM Mono,monospace}.motion-shift-deck>p{margin:0;color:#626d6c;font-size:.58rem;line-height:1.42}.motion-clutch-command{display:grid;gap:5px;padding:7px;border-left:4px solid #2f9a96;background:#e7f1eb}.motion-clutch-command>span{color:#28778c;font:700 .43rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.motion-clutch-command>div{display:flex;gap:4px}.motion-clutch-command b{min-width:0;flex:1;display:flex;align-items:center;gap:5px;padding:4px 5px;border:1px solid #dbb49e;background:#fff8e9;color:#5c5d5d;font:600 .42rem/1.25 DM Mono,monospace}.motion-clutch-command b i{width:15px;height:15px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#e6543f;color:#fff;font: 700 .4rem DM Mono,monospace}.motion-clutch-command b.is-open{border-color:#aaa7a2;color:#7c7772}.motion-clutch-command>p{margin:0;color:#4f6161;font-size:.53rem;line-height:1.4}.motion-clutch-command>small{color:#77726e;font:500 .39rem/1.35 DM Mono,monospace}.motion-shift-phases{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.motion-shift-phases span{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:4px;align-items:center;padding:5px 4px;border:1px solid #d1c2d5;background:#fffaf0;color:#7b747c;font:600 .39rem/1.25 DM Mono,monospace}.motion-shift-phases span.is-active{border-color:var(--part-color);background:var(--part-color);color:#fff}.motion-shift-phases b{width:14px;height:14px;display:grid;place-items:center;border-radius:50%;background:#e9ddeb;color:#76569b;font-size:.38rem}.motion-shift-deck.is-shifting{box-shadow:5px 6px #e9a4b0b8}.motion-shift-demo{min-height:29px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--part-color);border-radius:2px;background:var(--part-color);color:#fff;cursor:pointer;font:700 .46rem DM Mono,monospace;text-transform:uppercase}.motion-shift-demo:hover:not(:disabled),.motion-shift-demo:focus-visible{background:#fffaf0;color:var(--part-color);outline:none}.motion-shift-demo:disabled{cursor:wait;opacity:.58}.drivetrain-hotspot{display:flex;align-items:center;gap:5px;padding:3px 7px 3px 3px;border:1px solid color-mix(in srgb,var(--part-color) 70%,#75483f);border-radius:3px;background:#fff8e9f2;box-shadow:2px 3px #304e5433;color:#354f55;cursor:pointer;font:700 8px DM Mono,monospace;white-space:nowrap;transition:transform .12s,box-shadow .12s,background .12s}.drivetrain-hotspot span{width:18px;height:18px;display:grid;place-items:center;border-radius:2px;background:var(--part-color);color:#fff}.drivetrain-hotspot b{font:inherit;letter-spacing:.025em}.drivetrain-hotspot:hover,.drivetrain-hotspot:focus-visible,.drivetrain-hotspot.is-active{transform:translate(1px,1px);background:#fff2bf;box-shadow:1px 2px #304e5433;outline:none}.motion-torque-strip{position:absolute;z-index:6;right:20px;bottom:20px;left:20px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;border:1px solid rgba(255,255,255,.34);background:#243f48e8;color:#fff;pointer-events:none}.motion-torque-strip span{min-width:0;display:grid;gap:3px;padding:9px 12px}.motion-torque-strip small{color:#b8dce2;font:500 .5rem DM Mono,monospace;text-transform:uppercase}.motion-torque-strip b{font:500 .7rem DM Mono,monospace}.motion-torque-strip i{display:grid;place-items:center;padding:5px 9px;border-inline:1px solid rgba(255,255,255,.15);color:#f1d783;font: 500 .53rem/1.4 DM Mono,monospace;text-align:center}.motion-study-flow{position:absolute;z-index:6;right:20px;bottom:20px;left:20px;display:grid;grid-template-columns:auto repeat(3,1fr);align-items:stretch;border:1px solid color-mix(in srgb,var(--part-color) 62%,#b99d83);background:#fff8e9f0;box-shadow:4px 5px #304e542e;pointer-events:none}.motion-study-flow>span{display:grid;place-items:center;padding:8px 11px;background:var(--part-color);color:#fff;font:700 .5rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.motion-study-flow>b{min-width:0;display:flex;align-items:center;gap:7px;padding:8px 10px;border-right:1px solid rgba(105,91,80,.14);color:var(--part-color);font:700 .62rem DM Mono,monospace}.motion-study-flow>b:last-child{border-right:0}.motion-study-flow em{min-width:0;flex:1;color:#38545b;font: 600 .54rem/1.35 DM Mono,monospace}.motion-study-flow i{color:#e6543f;font: 700 .8rem DM Mono,monospace}.motion-lesson-pane{padding-top:42px}.motion-simple-controls{display:grid;gap:18px;margin:0 0 24px;padding:20px 0;border-block:1px solid #d8c8b7}.motion-simple-controls .gear-selector .segmented{grid-template-columns:repeat(5,1fr)}.motion-simple-controls>p{margin:-2px 0 0;color:#736e68;font-size:.7rem;line-height:1.5}.gear-control-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.gear-control-heading>span{color:#354e53;font-size:.73rem;font-weight:700}.gear-control-heading>b{color:#76569b;font:600 .52rem DM Mono,monospace;text-transform:uppercase}.shift-command-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.shift-command-row button{min-width:0;min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 8px;border:1px solid #a99a8e;border-radius:2px;background:#fffaf0;color:#38545b;cursor:pointer;font:700 .52rem DM Mono,monospace}.shift-command-row button:hover:not(:disabled),.shift-command-row button:focus-visible{border-color:#76569b;color:#76569b;outline:none}.shift-command-row button:disabled{cursor:not-allowed;opacity:.42}.shift-status{display:grid;gap:8px;padding:10px;border-left:4px solid #76569b;background:#f0e7f3}.shift-status>strong{min-height:1.4em;color:#4a4659;font:600 .57rem/1.4 DM Mono,monospace}.shift-status>div{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.shift-status span{padding:5px 4px;border:1px solid #cfbfd3;background:#fffaf0;color:#817986;font:600 .45rem/1.25 DM Mono,monospace;text-align:center;text-transform:uppercase}.shift-status span.is-active{border-color:#76569b;background:#76569b;color:#fff}.gear-role-map{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d4c5b6}.gear-role-map>span{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:2px 6px;padding:7px;border-right:1px solid #d4c5b6;background:#fffaf0}.gear-role-map>span:last-child{border-right:0}.gear-role-map>span.is-active{background:#fff1bd}.gear-role-map b{grid-row:1 / 3;align-self:center;color:#76569b;font:700 .8rem DM Mono,monospace}.gear-role-map strong{color:#38545b;font-size:.55rem}.gear-role-map small{overflow-wrap:anywhere;color:#77716c;font:500 .43rem/1.3 DM Mono,monospace}.motion-part-inspector{display:grid;gap:13px;margin:0 0 32px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--part-color) 55%,#d5c3ae);border-left:6px solid var(--part-color);background:#fffaf0;box-shadow:5px 6px #e9a4b08c}.motion-part-inspector>header{display:flex;align-items:center;gap:11px}.motion-part-inspector>header>span{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:var(--part-color);color:#fff;font:700 .65rem DM Mono,monospace}.motion-part-inspector>header p{display:grid;gap:2px;margin:0}.motion-part-inspector>header small{color:#817972;font:600 .55rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.motion-part-inspector>header strong{color:#38545b;font:700 1rem Fraunces,serif}.motion-part-inspector output{padding:8px 10px;background:color-mix(in srgb,var(--part-color) 11%,#fffaf0);color:var(--part-color);font:600 .66rem/1.45 DM Mono,monospace}.motion-part-inspector>p{margin:0;color:#666f6f;font-size:.79rem;line-height:1.6}.motion-part-inspector>p strong{color:#38545b}.motion-part-inspector.is-study{background:linear-gradient(145deg,#fffaf0,color-mix(in srgb,var(--part-color) 8%,#fffaf0))}.motion-study-steps{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid color-mix(in srgb,var(--part-color) 32%,#d8c8b7)}.motion-study-steps span{min-width:0;display:grid;align-content:center;gap:5px;padding:9px 8px;border-right:1px solid color-mix(in srgb,var(--part-color) 24%,#d8c8b7);color:#5f6c6d;font:600 .55rem/1.35 DM Mono,monospace;text-align:center}.motion-study-steps span:last-child{border-right:0}.motion-study-steps b{width:19px;height:19px;display:grid;place-items:center;justify-self:center;border-radius:50%;background:var(--part-color);color:#fff;font-size:.5rem}.gearbox-live-lesson,.brake-live-lesson{display:grid;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--part-color) 40%,#d8c8b7);background:#fff8e9d1}.gearbox-live-lesson>header,.brake-live-lesson>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.gearbox-live-lesson>header span,.brake-live-lesson>header span{color:var(--part-color);font:700 .53rem DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.gearbox-live-lesson>header strong,.brake-live-lesson>header strong{color:#38545b;font:700 .78rem Fraunces,serif;text-align:right}.gearbox-live-readouts{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid color-mix(in srgb,var(--part-color) 30%,#d8c8b7)}.gearbox-live-readouts span{min-width:0;display:grid;gap:3px;padding:7px;border-right:1px solid color-mix(in srgb,var(--part-color) 23%,#d8c8b7)}.gearbox-live-readouts span:last-child{border-right:0}.gearbox-live-readouts small{color:#7a7470;font:600 .43rem/1.25 DM Mono,monospace;text-transform:uppercase}.gearbox-live-readouts b{overflow-wrap:anywhere;color:var(--part-color);font:600 .55rem/1.3 DM Mono,monospace}.gearbox-live-lesson>p,.brake-live-lesson>p{margin:0;color:#67706f;font-size:.66rem;line-height:1.5}.gearbox-live-lesson>p strong,.brake-live-lesson>p strong{color:#38545b}.gearbox-clutch-sequence{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.gearbox-clutch-sequence span{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:5px;align-items:center;padding:6px;border:1px solid #d2c3d6;color:#79717d;font:600 .45rem/1.25 DM Mono,monospace}.gearbox-clutch-sequence span.is-active{border-color:#76569b;background:#76569b;color:#fff}.gearbox-clutch-sequence b{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#e9ddeb;color:#76569b;font-size:.43rem}.gearbox-application-chart{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #d3c4d6}.gearbox-application-chart span{min-width:0;display:grid;grid-template-columns:auto 1fr;gap:2px 5px;padding:7px;border-right:1px solid #d3c4d6;background:#fffaf0}.gearbox-application-chart span:last-child{border-right:0}.gearbox-application-chart span.is-active{background:#fff0bd;box-shadow:inset 0 -3px #76569b}.gearbox-application-chart b{grid-row:1 / 3;color:#76569b;font:700 .58rem DM Mono,monospace}.gearbox-application-chart strong{color:#38545b;font:700 .48rem DM Mono,monospace}.gearbox-application-chart small{overflow-wrap:anywhere;color:#716d6a;font:500 .4rem/1.3 DM Mono,monospace}.gearbox-live-lesson .gearbox-chart-note{padding-top:6px;border-top:1px dashed #cfbfd3;font-size:.56rem}.brake-live-lesson>div{display:flex;align-items:stretch;gap:4px}.brake-live-lesson>div span{min-width:0;flex:1;display:grid;gap:3px;padding:7px;border:1px solid #bed2d5;background:#f6fbf8}.brake-live-lesson>div small{color:#6d7a7c;font:600 .43rem DM Mono,monospace;text-transform:uppercase}.brake-live-lesson>div b{overflow-wrap:anywhere;color:#28778c;font:600 .54rem DM Mono,monospace}.brake-live-lesson>div i{align-self:center;color:#e6543f;font: 700 .7rem DM Mono,monospace}.cylinder-count-lesson{display:grid;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--part-color) 40%,#d8c8b7);background:#fff8e9c7}.cylinder-count-lesson>header{display:grid;gap:4px;padding-bottom:9px;border-bottom:1px solid color-mix(in srgb,var(--part-color) 28%,#d8c8b7)}.cylinder-count-lesson>header span{width:auto;height:auto;display:block;padding:0;border-radius:0;background:none;color:var(--part-color);font:700 .61rem DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase}.cylinder-count-lesson>header strong{color:#38545b;font:700 1rem/1.3 Fraunces,serif}.cylinder-count-lesson>p{margin:0;color:#566666;font-size:.72rem;line-height:1.55}.cylinder-fire-sequence{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid color-mix(in srgb,var(--part-color) 34%,#d8c8b7)}.cylinder-fire-sequence span{min-width:0;display:grid;grid-template-columns:1fr auto;gap:3px 6px;align-items:center;padding:7px 8px;border-right:1px solid color-mix(in srgb,var(--part-color) 24%,#d8c8b7);background:#fffaf0}.cylinder-fire-sequence span:last-child{border-right:0}.cylinder-fire-sequence b{color:#38545b;font:700 .56rem DM Mono,monospace;text-transform:uppercase}.cylinder-fire-sequence i{grid-row:1 / 3;grid-column:2;color:var(--part-color);font: 700 .8rem/1 sans-serif}.cylinder-fire-sequence small{color:#776d68;font:600 .51rem DM Mono,monospace}.cylinder-event-rate{padding:8px 10px;background:color-mix(in srgb,var(--part-color) 11%,#fffaf0);color:#5e6867;font:600 .58rem/1.4 DM Mono,monospace}.cylinder-event-rate strong{color:var(--part-color)}.cylinder-count-effects{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cylinder-count-effects span{display:grid;align-content:start;gap:4px;padding:9px;border-top:4px solid var(--part-color);background:#fffaf0}.cylinder-count-effects b{color:#38545b;font-size:.69rem}.cylinder-count-effects small{color:#5f6b6a;font-size:.63rem;line-height:1.5}.cylinder-count-lesson .cylinder-count-caveat{padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--part-color) 32%,#d8c8b7)}.cylinder-count-caveat strong{color:#38545b}.motion-internals{display:grid;gap:8px}.motion-internals>strong{color:#38545b;font:700 .65rem DM Mono,monospace;text-transform:uppercase}.motion-internals ul{columns:2;margin:0;padding-left:17px;color:#697171;font-size:.68rem;line-height:1.55}.motion-internals li{break-inside:avoid;margin-bottom:4px}.motion-engine-link{display:block;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--part-color) 28%,#d8c8b7);color:#a9443a;font:700 .66rem DM Mono,monospace;text-decoration:none}.motion-engine-link:hover{text-decoration:underline}.motion-causal-story{padding-top:27px;border-top:1px solid #d8c8b7}.motion-causal-story h2{margin:0 0 20px;color:#38545b;font:700 1.28rem Fraunces,serif}.motion-causal-story ol{display:grid;gap:16px;margin:0;padding:0;list-style:none}.motion-causal-story li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}.motion-causal-story li>b{width:27px;height:27px;display:grid;place-items:center;border:1px solid #9b4b3f;border-radius:50%;background:#efa7bb;color:#73342d;font:600 .62rem DM Mono,monospace}.motion-causal-story li p{display:grid;gap:3px;margin:0;color:#687171;font-size:.76rem;line-height:1.5}.motion-causal-story li strong{color:#3c5357}.motion-equation-line{display:grid;gap:7px;margin-top:22px;padding:3px 0 3px 15px;border-left:5px solid #76569b}.motion-equation-line+.motion-equation-line{margin-top:16px;border-left-color:#28778c}.motion-equation-line.motion-equation-line--brake{border-left-color:#e6543f}.motion-equation-line strong{color:#4a4659;font:500 .83rem/1.5 DM Mono,monospace}.motion-equation-line p{margin:0;color:#746f6a;font-size:.72rem;line-height:1.5}.motion-equation-line sub{font-size:.68em}.motion-scope-note{margin:30px 0 0;padding-top:18px;border-top:1px dashed #c4a979;color:#746e68;font-size:.72rem;line-height:1.55}.motion-scope-note strong{color:#38545b}.hud-strip{position:absolute;z-index:5;right:20px;bottom:20px;left:20px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.3);background:#243f48e0;color:#fff;pointer-events:none}.hud-strip span{min-width:0;display:grid;gap:4px;padding:10px 13px;border-right:1px solid rgba(255,255,255,.18)}.hud-strip span:last-child{border-right:0}.hud-strip small{color:#b8dce2;font:500 .53rem DM Mono,monospace;text-transform:uppercase}.hud-strip b{overflow-wrap:anywhere;font:500 .72rem DM Mono,monospace}.hud-strip--sim{grid-template-columns:repeat(5,1fr)}.drive-controls{position:absolute;z-index:8;left:20px;bottom:82px;display:grid;grid-template-columns:repeat(4,54px);gap:5px}.drive-controls button{height:48px;padding:4px;border:1px solid rgba(41,69,75,.35);border-radius:4px;background:#fff9ebf0;box-shadow:2px 3px #2e3e4447;color:#315964;cursor:pointer;touch-action:none;font:600 .69rem DM Mono,monospace;transition:transform .08s,box-shadow .08s,color .08s,background .08s}.drive-controls button span{font-size:.46rem}.drive-controls button.is-active{transform:translate(2px,2px);background:#76569b;box-shadow:none;color:#fff}.drive-controls .drive-gas.is-active{background:#e6543f}.drive-controls .drive-brake.is-active{background:#28778c}.drive-instruction{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 20px;color:#6b7473;font:500 .59rem DM Mono,monospace;text-transform:uppercase}.drive-instruction kbd{min-width:28px;padding:5px 6px;border:1px solid #b8ab9d;border-bottom-width:3px;border-radius:3px;background:#fffaf0;color:#315964;font:inherit;text-align:center}.drive-instruction span{margin-right:6px}.sim-camera-hint{position:absolute;z-index:8;top:69px;right:20px;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(49,89,100,.34);border-radius:3px;background:#fff9ebe6;box-shadow:2px 3px #2e3e4433;color:#586c70;font:600 .5rem DM Mono,monospace;letter-spacing:.025em;text-transform:uppercase;pointer-events:none}.sim-camera-hint span{padding:2px 4px;border:1px solid #b8ab9d;border-bottom-width:2px;border-radius:2px;background:#fffaf0;color:#315964}.sim-camera-hint b{color:#76569b;font:700 .5rem DM Mono,monospace}.sim-command-trace{position:absolute;z-index:8;top:112px;right:20px;width:330px;display:grid;gap:6px;padding:10px;border:1px solid rgba(49,89,100,.42);border-left:5px solid #76569b;background:#fff9ebf5;box-shadow:4px 5px #2e3e4433;pointer-events:none}.sim-command-trace header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.sim-command-trace header span{color:#315964;font:700 .55rem DM Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.sim-command-trace header small{color:#807770;font:500 .47rem DM Mono,monospace;text-align:right}.sim-command-trace>div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:7px 8px;border-left:4px solid var(--command-color);background:color-mix(in srgb,var(--command-color) 10%,#fffaf0)}.sim-command-trace kbd{min-width:28px;padding:4px 5px;border:1px solid color-mix(in srgb,var(--command-color) 62%,#9d8d81);border-bottom-width:3px;border-radius:3px;background:#fffaf0;color:var(--command-color);font:700 .52rem DM Mono,monospace;text-align:center}.sim-command-trace>div p{display:grid;gap:2px;margin:0}.sim-command-trace>div strong{color:#38545b;font-size:.61rem}.sim-command-trace>div span{color:#667171;font:500 .5rem/1.35 DM Mono,monospace}.sim-command-idle{margin:0;padding:8px 9px;background:#76569b14;color:#657070;font-size:.61rem;line-height:1.45}.simulator-controls{gap:20px}.control-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}.control-pair label{display:grid;gap:7px;font-size:.68rem;font-weight:700}.control-pair .segmented button{padding-inline:7px}.system-filter{display:grid;gap:8px}.system-filter .segmented{grid-auto-flow:unset;grid-template-columns:repeat(3,1fr)}.system-filter .segmented button{padding-inline:4px;font-size:.57rem}.grip-meter{display:grid;gap:7px;margin-top:15px}.grip-meter>span{position:relative;height:12px;border:1px solid #9c8a7e;background:#e6ddd2}.grip-meter>span:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--grip);background:linear-gradient(90deg,#3f9a9d,#f2c348 65%,#e6543f);transition:width .15s}.grip-meter b{color:#6f6863;font:500 .62rem DM Mono,monospace;text-align:right}@media(max-width:1180px){.scene-mode{top:60px}.drive-controls{bottom:126px}.sim-command-trace{width:290px}}@media(max-width:980px){.lab-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,1fr)}.lesson-pane{padding:34px 28px 60px}.lesson-heading h1{font-size:1.9rem}.metric-grid--three{grid-template-columns:1fr 1fr}.scene-mode--four .segmented{min-width:350px}.drive-controls{grid-template-columns:repeat(4,48px)}.drive-controls button{height:42px}.motion-scene-inspector{width:245px}.motion-study-toolbar{right:12px;left:12px}.motion-cylinder-summary{left:12px;width:225px}.drivetrain-hotspot b{display:none}.motion-torque-strip i{padding-inline:5px;font-size:.47rem}}@media(max-width:760px){.app-shell{grid-template-rows:62px 58px auto}.site-header{padding:0 15px}.header-note{display:none}.brand{transform:translateY(-7px)}.header-links{right:auto;bottom:7px;left:50%;gap:10px;transform:translate(-50%)}.source-link,.site-credit{font-size:.55rem}.site-credit:before{width:5px;height:5px}.brand-mark{width:36px;height:36px}.brand small{display:none}.brand strong{font-size:.74rem}.lab-tabs{padding:5px 10px 0}.lab-tabs button{height:53px;gap:5px}.lab-tabs button span{font-size:.61rem}.lab-tabs button strong{font-size:.75rem}.tab-long{display:none}.tab-short{display:inline}.lab-layout{display:block;min-height:auto}.demo-pane{position:relative;height:min(67vh,550px);min-height:430px;border-right:0;border-bottom:1px solid var(--line)}.lesson-pane{padding:32px 20px 58px}.lesson-heading h1{font-size:2rem}.scene-mode{top:57px}.scene-mode .segmented,.scene-mode--four .segmented{min-width:min(410px,calc(100vw - 24px))}.cycle-ribbon{left:12px;bottom:12px}.hud-strip{right:12px;bottom:12px;left:12px}.drive-controls{left:12px;bottom:73px;grid-template-columns:repeat(4,48px)}.drive-controls button{height:44px}.flow-chain{flex-wrap:wrap}.flow-chain>span{min-width:33%}.engine-diagram{padding:74px 0 60px}.motion-scene-help{top:66px;left:12px}.motion-scene-inspector{top:62px;right:12px;width:230px}.motion-torque-strip{right:12px;bottom:12px;left:12px;grid-template-columns:repeat(3,1fr)}.motion-torque-strip i{display:none}.motion-study-flow{right:12px;bottom:12px;left:12px;grid-template-columns:repeat(3,1fr)}.motion-study-flow>span{display:none}.motion-study-flow>b{padding:7px 8px}.motion-cylinder-summary{display:none}.motion-shift-deck{top:112px;left:12px;width:min(320px,calc(100vw - 24px))}.sim-command-trace{display:none}.motion-lesson-pane .lesson-heading h1{font-size:1.72rem}.gear-role-map{grid-template-columns:repeat(2,1fr)}.gear-role-map>span:nth-child(2){border-right:0}.gear-role-map>span:nth-child(-n+2){border-bottom:1px solid #d4c5b6}.gearbox-live-readouts{grid-template-columns:repeat(3,1fr)}.gearbox-live-readouts span:nth-child(3){border-right:0}.gearbox-live-readouts span:nth-child(-n+3){border-bottom:1px solid color-mix(in srgb,var(--part-color) 23%,#d8c8b7)}.brake-live-lesson>div{display:grid;grid-template-columns:1fr 1fr}.brake-live-lesson>div i{display:none}.sim-camera-hint{top:64px;right:12px}}@media(max-width:460px){.demo-pane{min-height:410px;height:59vh}.scene-toolbar{top:12px;left:12px;right:12px}.scene-badge{max-width:calc(100% - 50px);font-size:.57rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scene-mode{width:calc(100% - 24px)}.scene-mode .segmented,.scene-mode--four .segmented{width:100%;min-width:0}.scene-mode .segmented button{padding-inline:4px;font-size:.48rem}.lesson-pane{padding-right:17px;padding-left:17px}.lesson-heading h1{font-size:1.8rem}.metric-grid,.metric-grid--three{gap:6px}.metric{padding:10px}.metric strong{font-size:.9rem}.group-title small{display:none}.stroke-picker button span{font-size:.52rem}.mixture-lab__tool{padding:13px}.mixture-lab__scale>span{font-size:.4rem}.mixture-lab__status{grid-template-columns:1fr}.mixture-lab__status p:first-child{padding:0 0 9px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--mixture-tone) 28%,#ddd0c1)}.mixture-lab__outputs,.mixture-lab__regions{grid-template-columns:1fr}.equation{font-size:1.12rem}.cycle-ribbon{min-width:0;right:12px}.hud-strip{grid-template-columns:repeat(2,1fr)}.hud-strip span{padding:7px 8px}.hud-strip span:nth-child(2n){border-right:0}.hud-strip span:nth-child(n+3){display:none}.hud-strip--sim{grid-template-columns:repeat(3,1fr)}.hud-strip--sim span:nth-child(2){border-right:1px solid rgba(255,255,255,.18)}.hud-strip--sim span:nth-child(3){display:grid;border-right:0}.drive-controls{right:12px;grid-template-columns:repeat(4,1fr)}.control-pair{grid-template-columns:1fr}.flow-chain>span{min-width:50%}.motion-scene-help{display:none}.motion-shift-deck{right:12px;width:auto;padding:9px 10px}.motion-shift-deck>p,.motion-shift-phases,.motion-ratio-trade,.motion-clutch-command>p,.motion-clutch-command>small{display:none}.motion-shift-deck>header strong{font-size:.66rem}.motion-shift-gears i,.gear-clutch-tag,.gear-valve-port,.gear-ratio-lane{display:none}.motion-scene-inspector{top:62px;width:190px;padding:9px 10px}.motion-scene-inspector>strong{font-size:.72rem}.motion-scene-inspector>b{display:none}.shift-command-row{grid-template-columns:1fr 1fr}.shift-command-row button:last-child{grid-column:1 / -1}.shift-status>div,.gearbox-clutch-sequence{grid-template-columns:repeat(2,1fr)}.gearbox-live-readouts{grid-template-columns:repeat(2,1fr)}.gearbox-live-readouts span{border-bottom:1px solid color-mix(in srgb,var(--part-color) 23%,#d8c8b7)}.gearbox-live-readouts span:nth-child(2n){border-right:0}.gearbox-live-readouts span:last-child{border-bottom:0}.motion-torque-strip span{padding:7px 8px}.motion-torque-strip b{font-size:.6rem}.motion-study-toolbar{grid-template-columns:1fr auto}.motion-study-toolbar>span{display:none}.motion-study-toolbar>button{justify-self:start}.motion-study-toolbar>div{justify-self:end}.motion-study-flow em{font-size:.48rem}.motion-part-inspector{padding:14px}.cylinder-count-effects{grid-template-columns:1fr}.motion-internals ul{columns:1}.gearbox-application-chart{grid-template-columns:repeat(2,1fr)}.gearbox-application-chart span:nth-child(2){border-right:0}.gearbox-application-chart span:nth-child(-n+2){border-bottom:1px solid #d3c4d6}.motion-lesson-pane .lesson-heading h1{font-size:1.6rem}.sim-camera-hint{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
