:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e9eef2;background:#10171c;font-synthesis:none;color-scheme:dark;--muted:#9aabb7;--line:#2c3841;--accent:#b7f36a}*{box-sizing:border-box}body{margin:0}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#app{height:100dvh;min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-rows:78px 1fr}header{grid-column:1/-1;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#151e24}.brand{text-decoration:none;font-size:15px;letter-spacing:2px;font-weight:750;color:#f5f7f8;display:flex;align-items:center;gap:12px}.mark{font-size:35px;color:var(--accent)}.subbrand{color:#7d919f;font-size:11px;font-weight:500;letter-spacing:1.5px}header button{font-size:14px}header button span{margin-left:25px;color:var(--accent)}main{position:relative;overflow:hidden;background:#10171c}#canvas{position:absolute;inset:0}canvas{display:block;touch-action:none}.scene-title{position:absolute;top:34px;left:36px;pointer-events:none}.eyebrow{font-size:11px;font-weight:600;letter-spacing:1.8px;color:var(--muted)}.eyebrow i{display:inline-block;background:var(--accent);width:6px;height:6px;border-radius:50%;margin-right:7px}h1{font-size:38px;letter-spacing:-1.5px;font-weight:500;margin:15px 0 6px}.scene-title p{font-size:14px;color:var(--muted);margin:0}.view-tools{position:absolute;bottom:65px;left:50%;transform:translate(-50%);padding:5px;display:flex;border:1px solid #34434c;border-radius:8px;background:#182229ed;white-space:nowrap;box-shadow:0 8px 35px #0003}.view-tools button{font-size:12px;padding:10px 14px;border-radius:4px}.view-tools .active{color:var(--accent);background:#2e3d33}.scene-footer{position:absolute;left:30px;right:26px;bottom:23px;font-size:11px;color:#91a2af;display:flex;justify-content:space-between;gap:12px}.scene-footer b{margin:0 9px;color:#5c717e}.orientation{position:absolute;bottom:85px;left:32px;display:grid;gap:6px;font-size:11px;color:#718892}.orientation span:first-child{color:var(--accent)}#loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#202d35;padding:18px 24px;border-radius:6px;font-size:14px}.controls{border-left:1px solid var(--line);background:#182229;overflow:auto;padding:27px 25px 15px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.live{font-size:9px;letter-spacing:1px;color:var(--accent);border:1px solid #4c6040;border-radius:3px;padding:4px 5px}h2{font-weight:500;font-size:26px;letter-spacing:-.6px;margin:21px 0 12px}.muted{color:var(--muted)}p{font-size:14px;line-height:1.55}.small{font-size:12px;line-height:1.6}section{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.stats{display:flex;gap:27px;margin-top:23px}.stats strong{display:block;font-size:18px;font-weight:500}.stats span{display:block;font-size:11px;color:var(--muted);margin-top:6px}.label{display:flex;gap:11px;color:#78915b;font-size:12px;margin-bottom:13px}.label span{color:#e5ebef;font-size:14px}.segmented{display:flex;background:#10191f;padding:4px;border:1px solid #2b3b45;border-radius:6px}.segmented button{flex:1;padding:9px 5px;font-size:13px;border-radius:3px}.segmented .active{background:#b7f36a;color:#142114;font-weight:600}select{width:100%;background:#202e36;border:1px solid #3c4b55;border-radius:5px;padding:10px 12px;font-size:14px}.range-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:20px 0 11px}.range-label output{color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--accent);height:4px;cursor:pointer;display:block;margin:15px 0 12px}.toggles{display:grid;gap:16px}.toggles label{display:flex;align-items:center;gap:9px;font-size:13px}.toggles label span{margin-left:auto;color:var(--muted);font-size:12px}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}.downloads{display:grid;gap:13px}.downloads a{font-size:12px;color:#d6e0e7;text-decoration:none;display:flex;justify-content:space-between}.downloads a span{font-size:10px;color:var(--muted)}.provenance{font-size:9px;line-height:1.8;color:#92a3ae;letter-spacing:1px}.provenance a{color:#c0ced7;letter-spacing:0;font-size:11px}.provenance p{letter-spacing:0;font-size:11px}dialog{width:min(660px,calc(100% - 30px));padding:38px;background:#182229;color:#e9eef2;border:1px solid #455764;border-radius:12px;max-height:90dvh}dialog::backdrop{background:#060c12bf;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}#close{position:absolute;right:15px;top:10px;font-size:30px;color:var(--muted)}dialog h2{font-size:31px}.pipeline{padding-left:24px;margin-top:26px}.pipeline li{padding:0 0 18px 7px;color:var(--accent)}.pipeline strong{color:#e9eef2;font-size:16px}.pipeline em{font-style:normal;font-size:9px;font-weight:500;letter-spacing:1px;color:var(--accent);margin-left:15px}.pipeline p{color:var(--muted);margin:7px 0 0}.callout{padding:18px;background:#273728;border-left:2px solid var(--accent);font-size:14px;line-height:1.6}dialog a{color:var(--accent)}@media(min-height:950px){.controls{padding-top:34px}section{margin-bottom:28px;padding-bottom:27px}}@media(max-width:800px){#app{height:auto;min-height:100dvh;grid-template-columns:1fr;grid-template-rows:66px 65dvh auto}header{padding:0 18px}.subbrand{display:none}.controls{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.panel-heading,.provenance{grid-column:1/-1}.scene-title{top:25px;left:22px}h1{font-size:29px}.scene-footer{left:18px;right:18px;font-size:9px}.scene-footer b{margin:0 3px}.orientation{display:none}}@media(max-width:440px){.controls{display:block}.scene-footer #render-status{display:none}header button{font-size:12px}.brand{font-size:12px}.view-tools button{padding:8px 12px}}.study-nav{display:flex;gap:10px}.study-nav a{font-size:12px;color:#9aabb7;padding:10px 14px;text-decoration:none;border:1px solid transparent;border-radius:4px}.study-nav .selected{color:#b7f36a;background:#263729;border-color:#42563a}.study-badge{display:inline-block;font-size:10px;letter-spacing:1.5px;color:#a2bac6;margin-top:18px}.accuracy-box{padding:16px;background:#302c20;border:1px solid #655837;border-radius:5px}.accuracy-heading{display:flex;align-items:center;justify-content:space-between}.accuracy-heading span{font-size:10px;letter-spacing:1px;color:#e0c786}.accuracy-heading strong{font-size:18px;color:#f2d694;font-weight:500}.accuracy-state{display:inline-block;margin-top:15px;font-size:10px;color:#ffb292;border:1px solid #806047;padding:4px 6px}.dimensions{margin:0;display:grid;grid-template-columns:1fr auto;row-gap:12px;font-size:12px}.dimensions dt{color:#9aabb7}.dimensions dd{margin:0;color:#e6eef2;font-variant-numeric:tabular-nums}.deviation-button{margin-top:9px;padding:9px;border:1px solid #496073;border-radius:4px;width:100%;font-size:12px;color:#aed7f2}.deviation-button.active{background:#20415a;color:#fff}.deviation-key{position:absolute;bottom:125px;left:50%;transform:translate(-50%);width:230px;font-size:11px;color:#b3c8d6;background:#14212bd9;padding:12px;border-radius:5px}.deviation-key div{height:5px;background:linear-gradient(90deg,#32bbff,#54d8a7,#efbe5b,#fa554e);margin-bottom:8px}.deviation-key span:nth-of-type(2){float:right}.deviation-key p{font-size:10px;margin:10px 0 0}.controls .stats{gap:33px}.scene-title p{overflow-wrap:anywhere}.controls .toggles{margin-top:25px}.downloads a[aria-disabled=true]{opacity:.4;pointer-events:none}@media(max-width:800px){header{flex-wrap:wrap;gap:6px}.study-nav a{padding:8px;font-size:11px}.study-nav{gap:1px}header #about{font-size:11px}#app{grid-template-rows:88px 62dvh auto}.scene-title p{max-width:330px;font-size:12px}.scene-title h1{font-size:28px}.scene-title{max-width:90%}.accuracy-heading{gap:15px}.accuracy-box{align-self:start}.study-badge{font-size:9px}.brand .mark{font-size:24px}}.solid-download{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding:12px 9px;background:#34482c;color:#c7f79a;text-decoration:none;font-size:12px;border:1px solid #638149;border-radius:4px}.solid-download span{font-size:10px;white-space:nowrap;color:#b0c3a1}.study-nav{flex-wrap:wrap;justify-content:center}@media(max-width:600px){header{height:auto;min-height:105px}.study-nav{order:3;width:100%;padding-bottom:8px}.study-nav a{font-size:10px;padding:7px}#app{grid-template-rows:108px 62dvh auto}}#parts-panel{margin-top:16px;padding-top:14px;border-top:1px solid #3b4e5a}#parts-panel select{margin:7px 0 13px;font-size:12px}.part-row{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:13px}.part-row label{display:flex;align-items:center;gap:9px}.part-row i{width:8px;height:8px;border-radius:50%}.part-row button{font-size:11px;color:#bbd6e6;border:1px solid #506778;border-radius:3px;padding:4px 8px}.part-review{font-size:11px;display:flex;align-items:center;gap:8px;line-height:1.5;margin-top:20px}.part-downloads{display:grid;grid-template-columns:1fr auto auto;gap:12px;font-size:11px;margin:20px 0 10px}.part-downloads a,#parts-panel>a.small{color:#b2d896}#parts-panel .solid-download{font-size:11px}.segmented button{font-size:12px}.part-row.selected{background:#30424e;outline:1px solid #5d8294;border-radius:4px;padding:6px}.refit-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.refit-buttons button{padding:10px 5px;border:1px solid #496372;border-radius:4px;background:#20313c;font-size:12px}.refit-buttons button.active{background:#2d4b59;border-color:#7ac9e7;color:#bdeaff}.refit-buttons button:disabled{opacity:.4}.tolerance-table{width:100%;border-collapse:collapse;font-size:11px;margin:14px 0}.tolerance-table th,.tolerance-table td{padding:9px 4px;text-align:right;border-bottom:1px solid #344854}.tolerance-table th:first-child,.tolerance-table td:first-child{text-align:left}.tolerance-table td:last-child{color:#9adcf1}#refit-status{line-height:1.6}#refit-panel{border-top:2px solid #679aa9}#representation button{font-size:11px}
