:root{--ground:#F3F5F2;--ink:#30363C;--metal:#B7C0C8;--blue:#2444D8;--paper:#fff;--line:rgba(48,54,60,.19);--gutter:clamp(24px,4.15vw,80px)}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#B7C0C8 #F3F5F2}body{margin:0;background:var(--ground);color:var(--ink);font-family:Author,Arial,sans-serif;font-size:18px;line-height:1.4;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit;border:0;background:none;cursor:pointer;padding:0}button,a,input{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.4}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}input[type=range]:focus-visible{outline-offset:2px}button:hover,a:hover{color:var(--blue)}button,a{transition:color .18s,background .18s}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Khand,'Khand fallback','Arial Narrow',sans-serif;font-weight:500}fieldset{border:0;margin:0;padding:0}legend{padding:0}::selection{background:var(--blue);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;left:20px;top:10px;background:#fff;padding:14px;transform:translateY(-150%)}.skip:focus{transform:none}.masthead{height:99px;position:fixed;inset:0 0 auto;z-index:20;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,245,242,.9);backdrop-filter:blur(12px)}.brand{font-size:34px;letter-spacing:.09em;line-height:1;display:flex;align-items:center;gap:20px;min-height:44px}.brand span{font-family:Author,sans-serif;font-size:16px;letter-spacing:.01em;padding-left:18px;border-left:1px solid var(--line)}.mast-note{font-size:13px;letter-spacing:.02em;position:absolute;left:50%;transform:translateX(-50%)}.configure{font-size:16px;display:flex;align-items:center;gap:30px;min-height:44px}.configure span{font-size:25px;color:var(--blue)}#world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}#webgl,#webgl canvas{width:100%;height:100%;display:block}#webgl canvas{touch-action:pan-y}#webgl{position:absolute;inset:0}#poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .4s}body.ready #poster{opacity:0}body.viewer-fallback #poster{opacity:1}.load-state{position:fixed;top:118px;right:var(--gutter);display:flex;align-items:center;gap:9px;font-size:12px;z-index:9;color:#626b71;pointer-events:none;transition:opacity .4s}.load-track{width:24px;height:2px;background:var(--blue);transform-origin:left;animation:load 1s ease-in-out infinite alternate}@keyframes load{to{transform:scaleX(.3)}}body.ready .load-state{opacity:0}body.viewer-fallback .load-state{top:auto;bottom:162px}.viewer-fallback .load-track{animation:none;background:var(--metal)}.chapter{position:relative;min-height:900px;height:100svh;z-index:1;pointer-events:none;overflow:hidden}.chapter-copy{position:absolute;left:var(--gutter);top:22%;width:370px;pointer-events:auto}.eyebrow,.micro-label{font-size:12px;letter-spacing:.075em;text-transform:uppercase;font-weight:500}.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:24px}.eyebrow>span{color:var(--blue);font-variant-numeric:tabular-nums}.eyebrow>span:after{content:'';display:inline-block;width:30px;height:1px;background:var(--metal);margin-left:14px;vertical-align:middle}h1{font-size:clamp(98px,8.3vw,152px);line-height:.91;letter-spacing:-.025em;margin-left:-3px}h2{font-size:clamp(74px,6.4vw,106px);line-height:.98;letter-spacing:-.025em;margin-left:-2px}.intro{font-size:19px;line-height:1.5;margin-top:28px}.text-link{display:inline-flex;gap:26px;align-items:center;min-height:44px;font-size:16px;border-bottom:1px solid var(--line)}.text-link span{color:var(--blue);font-size:21px}.instrument .text-link{margin-top:24px}.hero-index{position:absolute;font-family:Khand,sans-serif;font-size:clamp(260px,31vw,580px);font-weight:500;line-height:1;right:4%;top:18%;letter-spacing:-.065em;z-index:-1;color:rgba(183,192,200,.16)}.scene-note{position:absolute;right:var(--gutter);top:68%;font-size:14px;display:flex;align-items:center;gap:18px;text-align:left;z-index:1}.scene-note small{font-size:12px;color:#626b71}.note-rule{width:58px;height:1px;background:var(--metal)}.chapter-foot{position:absolute;bottom:162px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:end;pointer-events:auto}.chapter-foot p{font-size:14px;line-height:1.5}.chapter-foot p span{color:#626b71}.scroll-cue{font-size:13px;display:flex;gap:18px;align-items:center;min-height:44px}.scroll-cue span{font-size:21px}.visual-slot{position:absolute;top:15%;bottom:19%;left:28%;right:4%;pointer-events:auto;cursor:grab;touch-action:pan-y}.visual-slot.inspecting{touch-action:none;cursor:grabbing}.visual-slot:focus-visible{outline:1px solid var(--blue)}.viewer-tools{position:fixed;bottom:97px;left:50%;transform:translateX(-50%);height:48px;display:flex;align-items:center;gap:20px;z-index:15;padding:0 20px;background:rgba(243,245,242,.86);backdrop-filter:blur(8px);white-space:nowrap;border:1px solid var(--line);border-radius:2px;font-size:14px}.view-label{color:#626b71;font-size:12px}.preset-group,.rotation-group{display:flex;align-items:center;gap:0}.viewer-tools button{min-width:44px;min-height:44px;padding:0 10px;font-size:14px}.viewer-tools button[aria-pressed=true]{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.viewer-tools .rotation-group{border-left:1px solid var(--line);border-right:1px solid var(--line)}.viewer-tools .rotation-group button{font-size:20px}.drag-note{color:#626b71;font-size:12px}#activate-view{display:none}.scene-rail{position:fixed;z-index:20;bottom:0;left:var(--gutter);right:var(--gutter);height:76px;border-top:1px solid var(--line);background:rgba(243,245,242,.94);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between}.scene-rail nav{display:flex;gap:52px;align-items:center;height:100%}.scene-rail a{display:flex;gap:10px;align-items:center;min-height:60px;font-size:15px}.scene-rail a span{font-size:12px;color:#626b71;font-variant-numeric:tabular-nums}.scene-rail a b{font-weight:400}.scene-rail a[aria-current=page],.scene-rail a[aria-current=page] span{color:var(--blue)}.rail-note{font-size:12px;color:#626b71}.rail-progress{position:absolute;height:2px;left:0;top:-1px;width:8%;background:var(--blue);transition:width .5s}.construction .chapter-copy{top:16%;width:310px}.construction h2{font-size:70px}.construction .intro{font-size:17px;margin-top:18px}.mechanism{margin-top:26px;max-width:320px}.control-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:15px}.control-heading output{color:var(--blue);font-variant-numeric:tabular-nums;font-size:18px}.range-ends{display:flex;justify-content:space-between;font-size:12px;color:#626b71;margin-top:-4px}input[type=range]{appearance:none;width:100%;background:transparent;height:36px;margin:2px 0;cursor:ew-resize;--fill:100%}input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--blue) var(--fill),var(--metal) var(--fill))}input[type=range]::-webkit-slider-thumb{appearance:none;width:14px;height:14px;background:var(--blue);border:3px solid var(--ground);outline:1px solid var(--blue);margin-top:-6px;border-radius:50%}input[type=range]::-moz-range-track{height:2px;background:var(--metal)}input[type=range]::-moz-range-progress{height:2px;background:var(--blue)}input[type=range]::-moz-range-thumb{width:11px;height:11px;background:var(--blue);border:2px solid var(--ground);border-radius:50%}.control-note{font-size:14px;color:#626b71;line-height:1.4;margin-top:13px}.parts{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}.parts li{display:flex;gap:15px;font-size:15px}.parts li>span{font-size:12px;color:var(--blue);padding-top:3px}.parts small{display:block;font-size:13px;color:#626b71;line-height:1.35}.construction .visual-slot{left:29%;right:2%;top:23%}.fit .chapter-copy{top:18%;width:345px}.fit .intro{font-size:18px}.fit .text-link{margin-top:15px}.honesty{max-width:280px;font-size:16px;color:#626b71;line-height:1.5;margin-top:24px}.fit-caption{position:absolute;right:var(--gutter);top:67%;font-size:16px;line-height:1.6}.fit-caption p{margin-top:10px}.fit-caption .micro-label{color:#626b71}.edition .chapter-copy{top:17%;width:auto}.edition h2{font-size:78px}.edition .intro{font-size:17px;margin-top:18px}.edition .visual-slot{left:19%;right:32%;top:21%;bottom:22%}.edition-sheet{position:absolute;right:var(--gutter);top:20%;width:330px;padding:26px;background:rgba(255,255,255,.9);pointer-events:auto;box-shadow:0 12px 40px -30px #30363c50}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line);font-family:Khand,sans-serif;font-size:23px;letter-spacing:.04em}.sheet-header .micro-label{font-family:Author,sans-serif;letter-spacing:.02em;color:#626b71;font-size:11px}.edition-sheet legend{font-size:12px;color:#626b71;letter-spacing:.04em}.finish-options{display:flex;gap:22px;margin-top:14px}.finish-options label{display:flex;align-items:center;gap:9px;position:relative;min-height:44px;cursor:pointer;font-size:16px}.finish-options input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.finish-options input:focus-visible~.swatch{outline:2px solid var(--blue);outline-offset:5px}.swatch{width:25px;height:25px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}.swatch.silver{background:linear-gradient(120deg,#f1f4f6,#9ba6ae)}.swatch.graphite{background:#30363C}.finish-options input:checked~.swatch{box-shadow:0 0 0 2px var(--blue)}.stand-field{margin-top:25px}.stand-option{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;cursor:pointer;font-size:16px;min-height:44px}.stand-option small{display:block;font-size:13px;color:#626b71;margin-top:3px}input[type=checkbox]{accent-color:var(--blue);width:20px;height:20px;cursor:pointer;flex-shrink:0}.edition-summary{margin:25px 0;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:9px;font-size:14px}.edition-summary>div{display:flex;justify-content:space-between;gap:10px}.edition-summary dt{color:#626b71}.edition-summary dd{margin:0}.save-button{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--blue);color:#fff;min-height:51px;width:100%;padding:13px 14px;font-size:16px;text-align:left}.save-button:hover{background:#1c35ac;color:#fff}.save-button span{font-size:20px}.sheet-note{font-size:13px;line-height:1.5;color:#626b71;margin-top:13px}.edition .chapter-foot{bottom:162px}#saved-state h3{font-size:48px;line-height:1.1;margin-bottom:20px}#saved-description{font-size:18px}#saved-state .eyebrow{font-size:11px;color:var(--blue)}.spec-id{font-size:12px;font-variant-numeric:tabular-nums;color:#626b71;padding:16px 0 25px}#saved-state .text-link{margin-top:18px;font-size:15px;width:100%;justify-content:space-between}[hidden]{display:none!important}body[data-active='3'] .viewer-tools{left:41%;gap:8px}body[data-active='3'] .drag-note{display:none}.noscript-note{position:fixed;top:100px;left:20px;z-index:50;background:white;padding:10px;font-size:14px}dialog{border:1px solid var(--line);padding:0;width:min(950px,94vw);height:min(850px,90svh);max-height:90svh;background:#fff;color:var(--ink)}dialog::backdrop{background:#30363c55;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:15px 24px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:30px}.dialog-head button{min-height:44px;font-size:16px}.dialog-head button span{margin-left:20px;font-size:24px}#spec-frame{display:block;width:100%;height:calc(100% - 146px);border:0}.dialog-actions{display:flex;gap:30px;padding:13px 24px;border-top:1px solid var(--line);font-size:16px}.dialog-actions>*{min-height:44px;display:flex;align-items:center}.dialog-actions button{color:var(--blue)}
@media(min-width:1600px){.chapter-copy{top:23%;width:440px}.intro{font-size:22px}.construction .chapter-copy{top:19%;width:340px}.construction h2{font-size:87px}.construction .intro{font-size:19px}.parts{gap:15px}.parts li{font-size:17px}.parts small{font-size:14px}.edition-sheet{width:370px;padding:30px;top:23%}.edition h2{font-size:100px}.fit .chapter-copy{width:400px}.fit .intro{font-size:20px}.fit .mechanism{margin-top:40px}.honesty{margin-top:34px}.chapter-foot{bottom:170px}}
@media(min-width:901px) and (max-height:820px){.masthead{height:78px}.chapter{min-height:768px}.chapter-copy{top:18%}h1{font-size:105px}.construction .chapter-copy{top:14%}.construction h2{font-size:59px}.construction .eyebrow{margin-bottom:15px}.construction .intro{margin-top:14px}.construction .mechanism{margin-top:15px}.parts{margin-top:15px;gap:7px}.parts small{display:none}.fit .chapter-copy{top:15%}.fit h2{font-size:65px}.fit .intro{font-size:17px;margin-top:18px}.honesty{font-size:16px;margin-top:13px}.fit .mechanism{margin-top:17px}.edition-sheet{top:16%;padding:20px}.sheet-header{padding-bottom:15px;margin-bottom:15px}.stand-field{margin-top:15px}.edition-summary{margin:18px 0;padding-top:15px}.chapter-foot,.edition .chapter-foot{bottom:153px}.viewer-tools{bottom:91px}.scene-rail{height:70px}}
@media(max-width:1100px) and (min-width:901px){:root{--gutter:32px}.chapter-copy{width:300px}h1{font-size:106px}h2{font-size:73px}.mast-note{display:none}.scene-rail nav{gap:32px}.rail-note{display:none}.construction .chapter-copy{width:265px}.construction h2{font-size:62px}.fit .chapter-copy{width:285px}.fit h2{font-size:68px}.edition-sheet{width:300px;padding:22px;right:24px}.edition .chapter-copy{top:15%}.edition h2{font-size:63px}.edition .intro{max-width:220px}.scene-note{right:30px}.scene-note small{max-width:160px;display:block}.viewer-tools{gap:10px}.fit-caption{font-size:14px;right:30px}}
@media(max-width:900px){:root{--gutter:24px}.masthead{height:80px}.brand{font-size:29px;gap:13px}.brand span{font-size:14px;padding-left:13px}.mast-note{display:none}.configure{font-size:15px;gap:15px}.chapter{height:auto;min-height:0;padding:118px var(--gutter) 155px;overflow:visible;display:flex;flex-direction:column;pointer-events:auto}.chapter-copy,.construction .chapter-copy,.fit .chapter-copy,.edition .chapter-copy{position:relative;top:auto;left:auto;width:100%}.eyebrow{margin-bottom:20px;font-size:12px}h1{font-size:86px;line-height:.94}h1 br{display:none}h2,.construction h2,.fit h2,.edition h2{font-size:68px;line-height:.98}h2 br{display:none}.intro,.construction .intro,.fit .intro,.edition .intro{font-size:18px;margin-top:20px}.instrument .text-link{margin-top:15px}.visual-slot,.construction .visual-slot,.edition .visual-slot{position:relative;inset:auto;width:100%;height:480px;flex-shrink:0;margin:5px 0 0;cursor:auto;touch-action:pan-y}.hero-index{top:280px;right:28px;font-size:360px;opacity:.6}.scene-note{position:relative;inset:auto;margin:12px 0 0;align-self:flex-end;font-size:16px}.scene-note small{font-size:13px}.chapter-foot,.edition .chapter-foot{position:relative;inset:auto;margin-top:35px;gap:20px;align-items:start}.chapter-foot p{font-size:14px}.chapter-foot .text-link{font-size:15px;white-space:nowrap}.chapter-foot .scroll-cue{display:none}.viewer-tools{bottom:76px;height:48px;width:max-content;max-width:calc(100% - 32px);padding:0 5px;gap:0;left:50%!important;border:1px solid var(--line);background:var(--ground)}.viewer-tools .view-label,.drag-note{display:none}.viewer-tools button{font-size:14px;padding:0 9px;min-width:44px}#activate-view{display:block;font-size:13px;margin-right:5px}.viewer-tools .rotation-group{display:none}.viewer-tools.enabled .rotation-group{display:flex}.viewer-tools.enabled .preset-group{display:none}.scene-rail{height:63px;left:var(--gutter);right:var(--gutter)}.scene-rail nav{width:100%;justify-content:space-between;gap:16px}.scene-rail a{font-size:14px;gap:6px;min-height:55px}.scene-rail a span{font-size:11px}.rail-note{display:none}.construction .mechanism{margin-top:24px;max-width:480px}.parts{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:25px;max-width:650px}.parts li{font-size:16px}.parts small{font-size:14px}.construction .visual-slot{height:430px;margin-top:30px}.fit .mechanism{max-width:480px}.honesty{max-width:480px;font-size:16px}.fit .visual-slot{height:390px;margin-top:25px}.fit-caption{position:relative;inset:auto;display:flex;justify-content:space-between;gap:20px;align-items:start;padding:20px 0;border-top:1px solid var(--line);font-size:17px}.fit-caption p{margin:0}.edition .visual-slot{height:460px;margin-top:5px}.edition-sheet{position:relative;inset:auto;width:100%;max-width:540px;padding:28px;align-self:center}.sheet-header{font-size:27px}.sheet-header .micro-label{font-size:12px}.edition-sheet legend{font-size:13px}.finish-options{gap:40px}.stand-option{font-size:18px}.stand-option small,.sheet-note{font-size:14px}.edition-summary{font-size:16px}.save-button{font-size:17px}.load-state{top:90px;right:24px}.viewer-fallback .load-state{bottom:133px;font-size:11px}#world{inset:auto;transform:none}#poster{object-fit:contain}.control-heading{font-size:17px}.control-heading output{font-size:21px}.range-ends{font-size:13px}.control-note{font-size:15px}.text-link{font-size:17px}}
@media(max-width:480px){:root{--gutter:20px}.masthead{height:74px}.brand{font-size:26px;gap:10px}.brand span{padding-left:10px;font-size:13px}.configure{font-size:14px;gap:10px}.configure span{font-size:22px}.chapter{padding-top:108px;padding-bottom:147px}h1{font-size:76px}h1 br{display:block}h2,.construction h2,.fit h2,.edition h2{font-size:61px}h2 br{display:block}.intro{font-size:18px}.instrument .visual-slot{height:380px;margin-top:8px;margin-left:-20px;width:calc(100% + 40px)}.hero-index{font-size:270px;top:425px;right:10px}.scene-note{font-size:14px;margin-top:0}.chapter-foot{margin-top:25px;flex-direction:column;gap:15px}.chapter-foot p{font-size:14px}.chapter-foot .text-link{align-self:flex-end;font-size:16px}.scene-rail nav{gap:8px}.scene-rail a{display:flex;flex-direction:column;gap:1px;justify-content:center;font-size:13px}.scene-rail a span{font-size:11px}.scene-rail{height:62px}.viewer-tools button{padding:0 8px;font-size:13px;min-width:44px}.viewer-tools{bottom:74px}#activate-view{font-size:12px;padding:0 8px}.parts{grid-template-columns:1fr;gap:13px}.parts li{font-size:16px}.parts small{font-size:14px}.construction .visual-slot{height:300px;width:calc(100% + 40px);margin-left:-20px}.fit .visual-slot{height:305px;width:calc(100% + 40px);margin-left:-20px}.fit-caption{font-size:16px}.edition .visual-slot{height:400px;width:calc(100% + 40px);margin-left:-20px}.edition-sheet{padding:24px 20px}.edition-summary{font-size:15px}.stand-option{font-size:17px}.stand-option small{font-size:13px}.save-button{font-size:16px}.sheet-note{font-size:13px}.dialog-head{padding:10px 15px;gap:15px}.dialog-head h2{font-size:25px}.dialog-head button{font-size:14px}.dialog-head button span{margin-left:8px}.dialog-actions{padding:10px 15px;gap:18px;font-size:14px}#spec-frame{height:calc(100% - 140px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* The mechanical captions stay edited at desktop scale; full descriptions reflow on touch. */
@media(min-width:901px){.parts small{display:none}.construction .parts{gap:12px}.fit h2{font-size:82px}}
.visual-slot.inspect-enabled{touch-action:none}

@media(min-width:901px){.construction .chapter-foot p,.fit .chapter-foot p{visibility:hidden}.edition .chapter-foot>.text-link{display:none}}

.viewer-anchor{display:none}
@media(max-width:900px){.viewer-anchor{display:flex;align-items:center;justify-content:center;height:75px;flex-shrink:0;margin:0 -6px 12px}.viewer-anchor .viewer-tools{position:relative;bottom:auto;left:auto!important;transform:none;max-width:100%;margin:0;z-index:5}.viewer-tools{gap:0}.chapter{padding-bottom:115px}.viewer-fallback .load-state{bottom:73px;background:var(--ground);padding:4px 7px;border:1px solid var(--line)}}

@font-face{font-family:"Khand fallback";src:local("Arial");size-adjust:72%}
#retry-view{pointer-events:auto;min-width:62px;min-height:44px;color:var(--blue);font-size:13px;text-decoration:underline;text-underline-offset:4px}.viewer-fallback .load-state{max-width:calc(100% - 40px)}
@media(min-width:901px){body.viewer-fallback .load-state{top:auto;bottom:15px;right:var(--gutter);left:auto;max-width:350px;z-index:30;font-size:12px;line-height:1.3;background:var(--ground)}body.viewer-fallback .rail-note{visibility:hidden}body.viewer-fallback .load-track{display:none}}
