*{box-sizing:border-box}body{margin:0;background:#070c17;color:#e7f0fb;font-family:Inter,'Segoe UI',sans-serif;background-image:radial-gradient(ellipse at 80% 0,#21355670,transparent 55%)}button,input,a{-webkit-tap-highlight-color:transparent}header,main,footer{max-width:1500px;margin:auto}header{display:flex;justify-content:space-between;padding:23px 4%;border-bottom:1px solid #53698533;align-items:center}header>div{font:10px monospace;letter-spacing:2px;color:#7992ac}.brand{color:white;text-decoration:none;letter-spacing:2px;font-weight:750;font-size:19px}.brand span{font-size:11px;color:#a8c8e9;margin-left:8px}main{padding:0 4%}.breadcrumbs{display:flex;gap:12px;margin-top:20px;font-size:11px;color:#8ea6bd}.breadcrumbs a{color:#bdd1e5;text-decoration:none}.eyebrow{color:#9ab5d0;font:10px monospace;letter-spacing:2px}.intro{padding:12px 0 18px}h1{font-weight:450;font-size:clamp(30px,3.5vw,44px);letter-spacing:-1.7px;margin:12px 0}#lead{color:#9aadc2;line-height:1.6;max-width:850px;margin:0;font-size:14px}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.stage-wrap{min-width:0;background:#0b1322;border:1px solid #59779945;border-radius:22px;overflow:hidden}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 18px;border-bottom:1px solid #5977992c;min-height:62px}.toolbar label{display:flex;gap:7px;align-items:center;font-size:11px;color:#acc1d6}.toolbar input{accent-color:#aad4f3}.stage{position:relative;height:520px;background:radial-gradient(ellipse at 50% 70%,#24334b,#0a1321 75%);overflow:hidden}.stage canvas{width:100%;height:100%;display:block;touch-action:pan-y}.stage iframe{width:100%;height:100%;border:0;background:#070c17}.stage-hint{position:absolute;top:18px;left:20px;font-size:10px;color:#6d87a3;pointer-events:none;z-index:2}.loading{position:absolute;top:90px;left:30px;color:#8da9c5}.stage-caption{padding:15px 20px;border-top:1px solid #59779928;color:#6f89a3;font-size:10px;line-height:1.6}button{border:1px solid #6685a64f;background:#182a40;color:#d2e6fa;border-radius:9px;padding:9px 12px;font:11px inherit;cursor:pointer}button:hover{background:#264765;border-color:#9bbede}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b6dfff;outline-offset:3px}#hood{background:#25435b;color:#d9f2ff}.marker{position:absolute;z-index:4;padding:9px 11px;display:flex;align-items:center;gap:7px;background:#0b1628df;backdrop-filter:blur(8px);text-align:left;max-width:166px;border-color:#809bb955;box-shadow:0 4px 20px #03080f55;font-size:10px}.marker b{font:10px monospace;color:var(--color)}.marker:hover{background:#22394f;box-shadow:0 0 22px #78a9cf22}#leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}#markers{position:absolute;inset:0;pointer-events:none}#markers button{pointer-events:auto}aside{padding:25px;background:linear-gradient(145deg,#15253a,#0c1421);border:1px solid #59779945;border-radius:22px}aside h2{font-size:24px;font-weight:450;margin:14px 0 12px}aside p{font-size:13px;color:#93acc4;line-height:1.7}.system-list,.part-list{display:flex;flex-direction:column;gap:7px;margin-top:23px}.system-list button,.part-list button{text-align:left;padding:12px;background:#0b1728;display:flex;align-items:center;gap:10px}.system-list button span{display:block;font-size:12px}.system-list button small{display:block;font-size:9px;color:#7895b2;margin-top:4px}.system-list b{color:var(--color);font:11px monospace}.part-list button.active{background:#26435a;border-color:#94badf;color:white}.part-list b{font:10px monospace;color:#6f96b9}.part-info{padding:18px 0;border-top:1px solid #6389b144;margin-top:23px}.part-info h3{font-size:21px;font-weight:500;margin:12px 0}.catalog-later{font-size:10px!important;color:#6985a1!important}.main-link{display:block;background:#b2cee7;color:#101f30;border-radius:10px;text-align:center;text-decoration:none;font-size:12px;padding:14px;margin-top:15px}.lesson{max-width:980px;margin:60px auto}.lesson h2,.chapters h2{font-size:28px;font-weight:450;letter-spacing:-.7px}.lesson p{color:#a0b9ce;font-size:17px;line-height:1.9}.chapters{margin:55px 0}#chapterLinks,#transmissionLinks,#chassisLinks,#hybridLinks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}#chapterLinks a,#transmissionLinks a,#chassisLinks a,#hybridLinks a{display:block;text-decoration:none;padding:18px;border:1px solid #5c84af38;background:#111e30;border-radius:13px;color:#b8d0e5;font-size:12px}footer{padding:24px 4%;border-top:1px solid #59779933;display:flex;justify-content:space-between;color:#718ba6;font-size:10px}.embedded header,.embedded footer,.embedded .breadcrumbs,.embedded .intro,.embedded .chapters,.embedded .lesson{display:none}.embedded main{padding:12px}.embedded .stage{height:500px}[hidden]{display:none!important}@media(max-width:1050px){.workbench{grid-template-columns:1fr}aside{padding:20px}.system-list{display:grid;grid-template-columns:repeat(3,1fr)}.part-list{display:grid;grid-template-columns:repeat(2,1fr)}.stage{height:580px}}@media(max-width:650px){header{padding:20px 5%}header>div{display:none}main{padding:0 4%}.intro{padding-top:15px}h1{letter-spacing:-1px}.stage{height:460px}.stage-hint{font-size:9px;right:15px}.toolbar{padding:12px;gap:6px}.toolbar label{font-size:10px}.marker{font-size:9px;padding:7px;max-width:128px;gap:4px;border-radius:7px}.marker b{font-size:8px}.system-list{grid-template-columns:repeat(2,1fr)}.system-list button{padding:10px}.system-list button span{font-size:11px}.system-list small{display:none!important}#chapterLinks,#transmissionLinks,#chassisLinks,#hybridLinks{grid-template-columns:repeat(2,1fr)}.part-list button{font-size:11px;padding:10px}aside h2{font-size:22px}}

@media(max-width:650px){.marker{width:32px;height:32px;max-width:32px;border-radius:50%;justify-content:center;padding:0}.marker span{display:none}.marker b{font-size:10px}.stage-caption{font-size:9px}}

.configuration{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:22px;align-items:start;padding:22px 25px;background:linear-gradient(110deg,#192c43,#101b2b);border:1px solid #59779945;border-radius:18px;margin:6px 0 20px}.configuration h2{font-size:20px;font-weight:500;margin:9px 0}.configuration p{font-size:11px;color:#92adc6;margin:0}.configuration label{font-size:12px;color:#a5bcd4;display:flex;flex-direction:column;gap:9px}.configuration select{width:100%;padding:12px;border:1px solid #688aac65;border-radius:9px;background:#0b1728;color:#e1efff;font:14px 'Segoe UI',sans-serif}.configuration select:focus-visible{outline:3px solid #b6dfff}.configuration small{font-size:10px;line-height:1.5;color:#90b0ce}.configuration .unavailable select{opacity:.5}.system-list button.active,.marker.active{background:#294760;border-color:#bddff8;box-shadow:0 0 25px #6aace52a}.embedded .configuration{padding:14px;gap:12px}.embedded .configuration>div{display:none}.embedded .configuration{grid-template-columns:repeat(3,1fr)}@media(max-width:700px){.configuration{grid-template-columns:1fr 1fr;padding:18px;gap:16px}.configuration>div{grid-column:1/-1}.configuration label:last-child{grid-column:1/-1}.embedded .configuration{grid-template-columns:1fr 1fr}.stage{height:500px}}
/* Home page on a phone: the car model on the first screen (audit 17.10). Compact intro and configuration, one-row toolbars;
   the #reset button duplicates the first view preset of the view presets, so it is hidden here. The presets bar is inserted by script:
   its 60px are reserved under the toolbar until then (CLS). */
main:has(#configuration) .stage-wrap>.toolbar+.stage{margin-top:60px}
main:has(#configuration) .view-presets{box-sizing:border-box;height:60px;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}main:has(#configuration) .view-presets button{flex:none}
@media(max-width:650px){main:has(#configuration) .breadcrumbs:not(:has(span)){display:none}main:has(#configuration) .intro{padding:10px 0 8px}main:has(#configuration) .intro .eyebrow{display:none}main:has(#configuration) h1{font-size:28px;margin:0 0 6px;letter-spacing:-.8px}main:has(#configuration) #lead{font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.configuration{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px;margin:4px 0 12px;border-radius:14px}.configuration>div{display:none}.configuration label,.configuration label:last-child{grid-column:auto;gap:4px;font-size:12px;min-width:0}.configuration select{min-height:44px;padding:0 6px;font-size:13px}.configuration small{font-size:12px}main:has(#configuration) #reset{display:none}.stage-wrap>.toolbar{flex-wrap:nowrap;overflow-x:auto;padding:8px 10px;min-height:0}.stage-wrap>.toolbar>*{flex:none}.view-presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.view-presets button{flex:none}}
/* Touch screens (audit 17.10): tap targets at least 44px, text at least 12px; mouse layouts are unchanged. */
@media (pointer:coarse){.breadcrumbs{font-size:12px;column-gap:10px;row-gap:0!important;margin-top:10px}.breadcrumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.breadcrumbs>span{display:inline-flex;align-items:center}.eyebrow{font-size:12px;letter-spacing:1px}.seo-content nav a,.hybrid-links a,.hybrid-course-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}.seo-content summary,.lesson summary{min-height:44px;padding:10px 0;box-sizing:border-box}.related-links a{display:inline-flex;align-items:center;min-height:44px}.main-link{min-height:44px}footer{font-size:12px}footer a{display:inline-flex;align-items:center;min-height:44px}.toolbar button,.system-list button,.part-list button{min-height:44px}.toolbar label{font-size:12px;min-height:44px}.toolbar input[type=checkbox]{width:20px;height:20px}.toolbar input[type=range]{min-height:44px}.workbench .view-presets button,.stage-wrap .view-presets button,.view-presets button{font-size:12px}.system-list b{font-size:12px}.stage-hint,.stage-caption,.marker,.marker b,.system-list button span,.system-list button small,.part-list button,.part-list b,.configuration p,.configuration small{font-size:12px}.catalog-later{font-size:12px!important}}
@media (pointer:coarse) and (max-width:650px){.marker{width:44px;height:44px;max-width:44px}.marker b{font-size:12px}}
.node-card{position:absolute;z-index:6;left:50%;bottom:18px;transform:translateX(-50%);width:min(400px,calc(100% - 32px));max-height:calc(100% - 36px);overflow:auto;padding:18px 18px 16px;background:#0b1628f2;backdrop-filter:blur(10px);border:1px solid #809bb966;border-top:3px solid var(--color,#9ab5d0);border-radius:16px;box-shadow:0 10px 40px #03080fa0}.node-card h2{font-size:22px;font-weight:500;margin:8px 34px 8px 0;letter-spacing:-.4px}.node-card p{font-size:13px;line-height:1.6;color:#b4c8dc;margin:0 0 10px}.node-card .node-card-note{font-size:12px;color:#90b0ce}.node-card .eyebrow{color:var(--color,#9ab5d0)}.node-card-x{position:absolute;top:10px;right:10px;width:34px;height:34px;padding:0;font-size:18px;line-height:1;border-radius:50%}.node-card-systems{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 2px}.node-card-systems a{font-size:11px;color:#c6d9ec;text-decoration:none;padding:5px 9px;border:1px solid #6685a64f;border-radius:999px;background:#122236}.node-card-systems a:hover{background:#22394f}.node-card .node-card-go{margin-top:12px;font-weight:600}
@media(max-width:650px){.node-card{left:10px;right:10px;bottom:10px;width:auto;transform:none;padding:14px 14px 12px}.node-card h2{font-size:19px}.node-card p{font-size:13px;line-height:1.5}.node-card-systems{display:none}}
@media (pointer:coarse){.node-card-x{width:44px;height:44px;top:6px;right:6px}.node-card-systems a{display:inline-flex;align-items:center;min-height:36px}}
