:root{--paper:#fff;--ground:#f5f7f8;--field:#eaf0f2;--ink:#202a32;--secondary:#53616c;--action:#24594f;--error:#9e3030;--space:24px;--width:800px;color-scheme:light}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit}a{color:var(--action);text-underline-offset:3px}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled,fieldset:disabled button{cursor:default;opacity:.45}button,.links a{min-height:44px;padding:10px 18px;background:var(--field);color:var(--ink);border:0;border-radius:4px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;line-height:1.4}.primary,button.primary,.links .primary{background:var(--action);color:var(--paper)}button:hover:not(:disabled),.links a:hover{background:#dce6e7}button.primary:hover,.links .primary:hover{background:#173f36}button:active:not(:disabled){transform:translateY(1px)}:focus-visible{outline:3px solid var(--action);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:-70px;left:16px;padding:12px;background:var(--paper);z-index:10}.skip-link:focus{top:10px}[hidden]{display:none!important}
header,main,footer{width:min(calc(100% - 48px),var(--width));margin-inline:auto}header{padding:20px 0 24px}.topbar{display:flex;justify-content:space-between;gap:16px;font-size:15px}.topbar a{text-decoration:none}header h1{text-align:center;font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:20px 0 4px}header .intro{max-width:none;text-align:center;font-size:16px;margin:0;color:var(--secondary)}h2,h3{line-height:1.3;text-wrap:balance}h2{font-size:26px;margin:0 0 20px}h3{font-size:21px}p{margin:0 0 16px;max-width:75ch}section{margin-block:64px;scroll-margin-top:24px}#interactive{margin:0}.step-heading{text-align:center;padding:8px 16px 20px}.step-counter{font-size:14px;font-variant-numeric:tabular-nums;color:var(--secondary);margin:0 auto 5px}.step-heading h2{font-size:24px;margin:0}.viewer-frame{background:var(--ground);border-radius:8px;overflow:hidden}#stage{position:relative;width:100%;height:360px;background:var(--ground);isolation:isolate}#poster,#canvas-host{position:absolute;inset:0;width:100%;height:100%}#poster{object-fit:contain;background:var(--ground)}#canvas-host canvas{display:block;width:100%;height:100%;touch-action:none}#canvas-host{visibility:hidden}#stage[data-state=ready] #canvas-host{visibility:visible}#stage[data-state=ready] #poster{visibility:hidden}#load-panel{position:absolute;z-index:2;left:24px;right:24px;bottom:16px;max-width:520px;margin-inline:auto;background:var(--paper);padding:14px 18px;border-radius:4px}.load-copy{display:flex;justify-content:space-between;gap:12px;font-size:15px}.load-copy #load-count{white-space:nowrap;font-variant-numeric:tabular-nums}progress{display:block;width:100%;height:6px;margin-top:10px;accent-color:var(--action);border:0;border-radius:0}progress::-webkit-progress-bar{background:var(--field)}progress::-webkit-progress-value{background:var(--action)}.load-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.load-actions button{min-height:36px;padding:6px 10px;font-size:14px}#load-panel[data-state=error] #load-message{color:var(--error)}#empty-model{position:absolute;inset:35% 20px auto;text-align:center;background:var(--paper);padding:18px;z-index:3}#empty-model button{display:block;margin:12px auto 0}.navigation{display:grid;grid-template-columns:112px minmax(0,1fr) 112px;gap:16px;align-items:center;padding:16px 24px;width:100%;margin:auto}.step-select{display:flex;justify-content:center;min-width:0}#steps{width:100%;max-width:300px;min-width:0;min-height:44px;border:0;background:var(--ground);color:var(--ink);text-align:center;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer}.step-copy{max-width:none;margin:24px auto 0}#stepText{max-width:none;font-size:18px;line-height:1.65}.step-check{background:var(--ground);padding:18px 22px;margin:20px 0;font-size:16px}.step-check strong{font-weight:600}.step-check p{margin:6px 0 0}.viewer-help{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:14px;color:var(--secondary);margin-bottom:16px}#view-options{background:var(--ground);padding:0 18px}summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}details>summary::marker{font-size:.8em}details[open]>summary{margin-bottom:8px}fieldset{margin:0;padding:0;border:0;min-width:0}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:12px 0}.controls button{font-size:14px;padding:8px 12px}.controls label{display:flex;align-items:center;gap:8px;min-height:44px}.explode-label{flex-wrap:wrap}input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--action)}input[type=range]{accent-color:var(--action);max-width:100%}.mode-controls{margin-bottom:8px}.small{font-size:14px;color:var(--secondary)}#selected:empty{display:none}#parts{max-height:320px;overflow:auto;overscroll-behavior:contain;padding:0 12px 8px}#parts label{display:flex;gap:10px;align-items:center;padding:10px 0;font-size:15px}#parts input{flex-shrink:0}#parts details{content-visibility:auto;contain-intrinsic-size:auto 44px}#view-options>.small{padding:12px 0 18px;margin:0}
main>section:not(#interactive){max-width:800px;margin-inline:auto}#files{margin-top:32px}#print,#hardware{margin-top:16px}#files,#print,#hardware{margin-bottom:16px}.section-fold{background:var(--ground);padding:0 18px}.section-fold>summary{padding:16px 0;font-size:20px}.section-fold[open]{padding-bottom:16px}.links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 20px}.links a{font-size:15px}.note{padding:18px 22px;background:var(--field);font-size:16px}.table-scroll{width:100%;overflow-x:auto;overscroll-behavior:contain}table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid #d6dfe2;overflow-wrap:anywhere}th{font-weight:600}img{max-width:100%;height:auto}pre{white-space:pre-wrap;padding:20px;background:var(--ground)}code{overflow-wrap:anywhere}ol{padding-left:24px}li{margin-bottom:12px}.illustration{break-inside:avoid;margin:32px 0 48px}.illustration img{display:block;width:100%;max-width:650px;margin:0 auto 20px}.illustration h3{margin-bottom:18px}.checklist label{display:flex;align-items:start;gap:10px;padding:10px 0}.checklist input{margin-top:4px;flex-shrink:0}footer{padding:32px 0;font-size:14px;color:var(--secondary)}
@media(min-width:1400px){#stage{height:360px}}@media(max-width:700px){header,main,footer{width:calc(100% - 32px)}header{padding:16px 0 20px}.topbar{font-size:14px}header h1{font-size:28px;margin-top:22px}.step-heading{padding:0 8px 16px}.step-heading h2{font-size:22px}.step-copy{margin-top:20px}#stepText{font-size:16px}.step-check{padding:14px 16px}.navigation{grid-template-columns:80px minmax(0,1fr) 80px;gap:8px;padding:12px}.navigation button{padding:9px 10px}#steps{font-size:14px}#stage{height:290px}#load-panel{left:12px;right:12px;bottom:12px;padding:12px}.load-copy{font-size:14px}.viewer-help{font-size:14px}.links{display:grid;grid-template-columns:1fr 1fr}.links a{padding:10px;font-size:14px}section{margin-block:44px}h2{font-size:24px}h3{font-size:20px}.topbar a:first-child{min-width:0}.note{padding:14px;font-size:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}button:active:not(:disabled){transform:none}}@media print{.skip-link,.topbar,#interactive,.links,button{display:none}header,main,footer{width:100%;padding:0}header h1{text-align:left;font-size:28pt}header .intro{text-align:left}body{font-size:11pt}section{margin:20px 0}table{font-size:9pt}.illustration img{width:400px}.illustration{page-break-inside:avoid}a{color:var(--ink);text-decoration:none}}

#stepText{padding-left:26px;margin:0 0 20px}#stepText li{padding-left:4px;margin-bottom:10px}#stepText li::marker{font-weight:600;color:var(--action)}

.viewer-frame{position:relative;overflow:visible}.viewer-frame #stage{border-radius:8px 8px 0 0;overflow:hidden}.navigation{border-radius:0 0 8px 8px}.model-tools{position:relative;background:#e0e7ea;padding:4px 8px;min-height:48px}.model-toolbar{display:flex;align-items:center;gap:4px;height:40px}.model-toolbar>button,.tool-menu>summary{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:0;border-radius:4px;background:transparent;cursor:pointer;color:var(--ink)}.model-toolbar>button{font-size:21px;font-weight:400}.model-toolbar>button:hover,.tool-menu>summary:hover,.tool-menu[open]>summary{background:#cad7dc}.model-toolbar #camera-view{font-size:13px;width:110px;height:36px;border:0;border-radius:4px;padding:0 8px;background:transparent;color:var(--ink);cursor:pointer}.tool-divider{height:20px;width:1px;background:#b9c8ce;margin:0 4px}.tool-spacer{flex:1}.tool-menu>summary::marker,.tool-menu>summary::-webkit-details-marker{display:none;content:''}.tool-menu[open]>summary{margin:0}.model-tools #view-options{padding:0;background:none}.tool-popover{position:absolute;z-index:5;right:8px;bottom:52px;width:290px;max-width:calc(100% - 16px);max-height:300px;overflow:auto;background:var(--paper);border:1px solid #c7d2d7;border-radius:6px;padding:16px;box-shadow:0 4px 20px #202a3220;font-size:14px}.tool-popover>strong{display:block;margin-bottom:12px}.view-settings{display:grid;gap:14px}.view-settings label{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.view-settings .small{font-size:12px;margin:0}.view-settings a{font-size:13px}.tool-popover #all{font-size:13px;padding:6px 10px;min-height:32px;margin-bottom:8px}.tool-popover #parts{padding:0;max-height:none}.tool-popover #parts summary,.tool-popover #parts label{font-size:13px}.tool-popover #parts label{padding:8px 0}.model-tools>#enable-3d{font-size:13px;padding:8px 12px;min-height:36px}
@media(max-width:700px){.model-tools{padding:4px}.model-toolbar{gap:2px}.model-toolbar #camera-view{width:94px}.model-toolbar>button,.tool-menu>summary{width:34px}.tool-divider{margin:0 2px}.tool-popover{max-height:250px}}

@media print{#files{display:none}.table-scroll{overflow:visible}.section-fold{background:none;padding:0}.section-fold[open]{padding:0}h2,h3{break-after:avoid}li,tr{break-inside:avoid}table{break-inside:auto}thead{display:table-header-group}.illustration{break-before:page;break-inside:auto;page-break-inside:auto;margin:0}.illustration img{max-height:85mm;object-fit:contain}#calibration,#fastener-map,#wiring,#hardware{break-before:page}#illustrations>h2{display:none}.checklist{break-inside:avoid}}
@media print{td,th{padding:6px 8px}#print p{font-size:9pt;line-height:1.4}#wiring>img{max-height:70mm;object-fit:contain}}
@media print{#illustration-1{break-before:auto}#print{break-before:page}footer{display:none}}

.part-guide{margin:12px 0 24px}.part-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.part-grid figure{margin:0;min-width:0}.part-grid img,.illustration .part-grid img{display:block;width:100%;height:140px;object-fit:contain;margin:0}.part-grid figcaption{font-size:14px;line-height:1.4;margin-top:6px}.step-hardware{font-size:16px;line-height:1.5}.result-caption{max-width:800px;margin:0 auto 16px}.result-heading{max-width:800px;margin:24px auto 12px}.part-guide h3,.part-guide h4{margin:0 0 12px}@media(max-width:700px){.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.part-grid img{height:110px}}@media print{.part-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.illustration .part-grid img{height:30mm;max-height:30mm}.part-grid figcaption{font-size:8pt}.part-grid figure{break-inside:avoid}.step-hardware{font-size:10pt}.illustration .result-image{height:52mm;width:100%;object-fit:contain}.part-guide{margin:8px 0 12px}.illustration h4{margin:10px 0 6px}}
.part-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.step-hardware{margin-top:18px}@media(max-width:700px){.part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.illustration{font-size:10pt;line-height:1.35}.illustration li{margin-bottom:6px}.illustration p{margin-block:8px}.part-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.illustration .part-grid img{height:24mm;max-height:24mm}.illustration .result-image{height:40mm}.step-hardware{font-size:9pt}.illustration h3{font-size:15pt;margin-bottom:12px}.illustration h4{font-size:11pt}.part-grid figcaption{line-height:1.3}}
@media print{#illustration-1 .part-grid img{height:16mm;max-height:16mm}#illustration-1 .result-image{height:24mm}}
