@font-face{font-family:Atelier;src:local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:#0b181d;color:#e5eeea;font-family:Atelier,system-ui,sans-serif;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{color:#c6dcd9;background:#14292f;border:1px solid #355058;border-radius:6px}button{cursor:pointer;padding:9px 12px;transition:background .18s,border-color .18s}button:hover,a:hover{color:#fff}button:hover{background:#25454b;border-color:#7aaba6}button[aria-pressed=true],button.accent{background:#b4ebd4;color:#10362f;border-color:#b4ebd4}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,#viewport:focus-visible{outline:2px solid #efba83;outline-offset:4px}button,input{touch-action:manipulation}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:12px;background:#b4ebd4;color:#07211c;padding:12px;z-index:50}.skip:focus{top:8px}header{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid #2a3b40;background:#0a171c}.wordmark{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.18em;font-weight:750}.diamond{font-size:32px;color:#e8b98b}.wordmark-sub{border-left:1px solid #3a5056;padding-left:14px;font-size:9px;letter-spacing:.14em;color:#a2bbb9}header nav{display:flex;align-items:center;gap:26px;font-size:12px}header button{background:transparent;padding:6px 10px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 370px;min-height:calc(100dvh - 66px)}.stage{position:sticky;top:0;height:calc(100dvh - 66px);min-height:640px;overflow:hidden;background:radial-gradient(ellipse at 57% 42%,#233d43 0%,#142b32 45%,#0b1c24 80%)}.scene-heading{position:absolute;z-index:2;left:30px;right:26px;top:25px;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:700;color:#a8e3ce;margin:0 0 12px}h1,h2,h3,h4{font-family:Georgia,serif;font-weight:400;line-height:1.1;margin:0}h1{font-size:clamp(28px,3vw,47px);letter-spacing:-.035em}h1 em,h2 em{color:#c6ddcf;font-weight:400}h2{font-size:31px;letter-spacing:-.025em}h3{font-size:28px;margin:12px 0 16px}h4{font-size:25px;margin:0 0 14px}.edition{text-align:right;font-size:8px;letter-spacing:.16em;color:#a2b8b9}.edition b{font-family:Georgia,serif;font-size:38px;display:block;font-weight:400;line-height:1.2;color:#d9c3a8}.edition span{display:block;margin-top:4px}#viewport{position:absolute;inset:0 0 187px;touch-action:none}#viewport canvas{display:block;width:100%;height:100%}#loading,#error{position:absolute;z-index:4;top:40%;left:20%;right:20%;text-align:center;padding:20px;background:#102c35;border:1px solid #45626b;border-radius:9px}#labels{position:absolute;inset:0 0 187px;pointer-events:none;overflow:hidden}.part-label{position:absolute;white-space:nowrap;padding:5px 10px;border-left:2px solid #b5e4cf;background:#0b2029e8;box-shadow:0 4px 20px #0003;border-radius:0 5px 5px 0;font-size:10px;color:#e4eee7;transition:opacity .2s}.part-label b{color:#ddb38a;margin-right:6px;font-size:9px}#tooltip{position:absolute;z-index:4;background:#d1eada;color:#152c2d;padding:5px 10px;border-radius:4px;pointer-events:none;font-size:12px}.viewbar{position:absolute;bottom:229px;left:25px;right:25px;display:flex;justify-content:space-between;gap:8px;z-index:3}.camera-buttons{display:flex;gap:5px}.viewbar button{font-size:10px;padding:6px 10px;background:#0c242ed9}.viewbar button[aria-pressed=true]{border-color:#a8d8c5;color:#c0ecd7}.scene-footer{position:absolute;bottom:195px;left:27px;right:27px;display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.1em;color:#99b6b8}.signal{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:#b5ecd6;box-shadow:0 0 10px #9eeec7}.transport{position:absolute;bottom:0;left:0;right:0;padding:15px 26px 17px;background:#091b23ed;border-top:1px solid #355059;z-index:4}.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.modes button{text-align:left;font-size:9px;color:#89a8aa;padding:9px 10px}.modes button span{font-size:12px;margin-left:9px;color:#e1e9e7}.modes button[aria-pressed=true] span,.modes button[aria-pressed=true]{color:#103c34}.range-title{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.1em;margin:14px 0 0;color:#b4c8ca}.range-title output{font-size:12px;letter-spacing:0;color:#b4ead2}input[type=range]{width:100%;height:22px;accent-color:#b2ebd2;cursor:pointer;margin:3px 0}.playback{display:flex;align-items:center;gap:6px;margin-top:3px}.playback button{font-size:10px;padding:6px 9px}.playback span{margin-left:auto;font-size:8px;letter-spacing:.07em;color:#819da5}.inspector{border-left:1px solid #30464c;background:linear-gradient(155deg,#182c31,#0e2027);padding:28px 26px 18px;min-width:0}.inspector-heading>p:last-child{color:#9fb8bc;font-size:13px;margin:17px 0 24px}.tabs{display:flex;border-bottom:1px solid #355059;margin-bottom:21px}.tabs button{flex:1;border:0;border-radius:0;background:transparent;border-bottom:2px solid transparent;font-size:12px;padding:13px 4px}.tabs button[aria-selected=true]{border-color:#a9e6cc;color:#b6ecd4}.tour-button{width:100%;text-align:left;color:#b9e7d3;padding:11px 13px;margin-bottom:23px;background:linear-gradient(110deg,#244239,#183038);border-color:#42635e}.tour-button span{float:right}.field-label{display:block;font-size:9px;letter-spacing:.08em;color:#adc6c9;margin:0 0 9px}select{width:100%;padding:11px 10px;background:#10262e;font-size:12px}.part-detail{margin:16px 0;padding:18px 0 0;border-top:1px solid #31494f}.detail-meta{display:flex;justify-content:space-between;align-items:center}.detail-meta .eyebrow{margin:0;font-size:8px}#part-number{font-family:Georgia,serif;font-size:20px;color:#d5b89b}.part-detail p,section[role=tabpanel]>p{font-size:13px;color:#c0d1d1}.detail-note{color:#8faeb4!important;font-size:12px!important}.selection-actions{display:flex;gap:8px;margin-bottom:24px}.selection-actions button{font-size:11px;flex:1}.media-key{border-top:1px solid #33494f}.media-key button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-bottom:1px solid #33494f;background:transparent;border-radius:0;padding:14px 0;font-size:8px;letter-spacing:.1em;color:#90adb2}.media-key b{display:block;font-size:12px;color:#d5e5df;font-weight:500;letter-spacing:0;margin-top:3px}.media-key button>span:last-child{margin-left:auto;color:#c8b596}.swatch{display:block;width:29px;height:29px;border-radius:5px;box-shadow:inset 0 0 0 1px #ffffff20}.swatch.foam{background:radial-gradient(#073c52 1px,#247f9c 2px);background-size:5px 5px}.swatch.carbon{background:radial-gradient(#567378 1px,#243a40 2px);background-size:4px 4px}.swatch.biomax{background:radial-gradient(circle,#33494c 1px,#d9d6b7 2px,#a4ab97 4px);background-size:9px 9px}.references{border-top:1px solid #365059;margin-top:26px;padding-top:16px;font-size:11px;color:#a6bdbe}.references summary{cursor:pointer;color:#d5ded5}.references p{line-height:1.65}.references a{display:block;color:#b9e4d0;margin:8px 0}.references small{display:block;margin:16px 0;color:#93a8ad}dl{margin:20px 0}dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #2d444c;padding:7px 0}dd{text-align:right;margin:0;color:#d8e7df}footer{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px;font-size:10px;color:#a7c7c3}.range-ends{display:flex;justify-content:space-between;font-size:7px;color:#8aabad}.flow-readout{border:1px solid #38564f;border-radius:7px;margin:22px 0;padding:16px;background:#183b35}.flow-readout>span{font-size:8px;letter-spacing:.1em;color:#a9d8c5}.flow-readout b{display:block;font-family:Georgia,serif;font-weight:400;font-size:23px;margin:8px 0}.flow-readout p{font-size:11px;color:#abc9bf}.switch{display:flex;align-items:center;gap:10px;font-size:12px}.switch input{accent-color:#e6b884;width:17px;height:17px}.callout{border-left:2px solid #dcb58b;padding:9px 0 9px 13px;color:#c4d4cc!important;font-size:12px!important;background:#dcb58b06}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;margin:18px 0}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--key);margin-right:5px}.fine{font-size:11px!important;color:#90abb3!important}.power-off{color:#e9c296;font-size:9px;letter-spacing:.09em;margin-bottom:20px}.care-steps{display:grid;gap:7px;margin:22px 0}.care-steps button{text-align:left;font-size:12px}.care-steps button span{color:#dab38b;margin-right:12px}.care-steps button[aria-pressed=true] span{color:#315145}.source-link{display:inline-block;font-size:12px;color:#bbe8d3;border-bottom:1px solid #577d72;padding-bottom:4px}.lesson-nav{display:flex;justify-content:space-between;align-items:center;gap:6px}.lesson-nav button{font-size:11px}.lesson-nav output{font-size:10px;color:#a8bcbf}.text-button{border:0;background:none;text-decoration:underline;font-size:11px;margin:12px 0;padding-left:0}#tour-panel{padding-bottom:12px}.stage:fullscreen{height:100vh}noscript{padding:20px;display:block}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 410px}.inspector{padding:34px}.scene-heading{left:40px;top:32px}h1{font-size:50px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 330px}.inspector{padding:25px 20px}.edition{display:none}h1{font-size:32px}.playback span{display:none}.modes button{font-size:0}.modes button span{font-size:11px;margin:0}.transport{padding-left:17px;padding-right:17px}.scene-heading{left:22px}.scene-footer{font-size:7px}}
@media(max-width:760px){header{height:58px;padding:0 17px}.wordmark-sub{display:none}header nav{gap:14px;font-size:11px}header button span{display:none}.workspace{display:flex;flex-direction:column}.stage{position:relative;top:auto;height:690px;min-height:0;max-height:calc(100svh - 58px)}.inspector{border-left:0;border-top:1px solid #365159;padding:28px 24px}.scene-heading{top:20px;left:20px}h1{font-size:30px}.scene-heading .eyebrow{font-size:8px}.scene-footer span:last-child{display:none}.scene-footer{bottom:188px;left:20px;font-size:8px}.viewbar{bottom:214px;left:17px;right:17px}.transport{padding:12px 15px 14px}.playback{gap:5px;flex-wrap:wrap}.playback button{font-size:9px;padding:6px 8px}.modes button{padding:8px 5px;text-align:center}.modes button span{font-size:10px}.range-title{margin-top:12px}#viewport,#labels{bottom:180px}.part-label{font-size:9px;padding:4px 6px}.camera-buttons{gap:4px}.viewbar button{padding:5px 7px;font-size:9px}.inspector-heading br{display:none}h2{font-size:32px}.inspector-heading>p:last-child{margin-bottom:18px}.media-key{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.media-key button{display:block;line-height:1.6;font-size:7px}.media-key .swatch{margin-bottom:8px}.media-key button>span:last-child{display:none}.media-key b{font-size:11px}.references{margin-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.leaders path{fill:none;stroke:#a0c5bb;stroke-width:.75;stroke-opacity:.6}
@media(max-width:760px){.inspector-heading br{display:initial}.scene-footer span:last-child{display:inline}.scene-footer>span:last-child{display:none}}

.study-actions{display:grid;gap:8px;margin:20px 0 10px}.study-actions button{text-align:left}.water-control{border-top:1px solid #355059;margin-top:20px;padding-top:8px}#study-caption{display:none;position:absolute;z-index:3;top:80px;left:30px;right:30px;color:#d8eadd;font-size:12px;letter-spacing:.03em;pointer-events:none}body[data-journey] #study-caption{display:block}body[data-journey] .scene-heading h1,body[data-journey] .edition{display:none}body[data-mode=pump] .scene-heading h1{font-size:28px}body[data-mode=pump] .edition{display:none}
@media(max-width:760px){#study-caption{top:63px;left:20px;right:20px;font-size:11px}.water-control .range-title{letter-spacing:0;font-size:8px}}

.journey-stage-nav{display:none}@media(max-width:760px){body[data-journey] .journey-stage-nav{display:flex;align-items:center;gap:12px;position:absolute;z-index:5;left:20px;top:91px}.journey-stage-nav button{padding:3px 10px;background:#102b34}.journey-stage-nav output{font-size:10px;color:#bbdaca}}
