.explorer-page{--panel:#f8f7f2;--edge:#b9c4c7;--accent:#315b73;--stage:#dce3e3}.explorer-page [hidden]{display:none!important}.explorer-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;padding:32px 0 24px}.explorer-heading h1{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.045em;margin:8px 0 0}.explorer-heading>p{max-width:410px;font-size:15px;margin:0}.workspace-tabs,.technology-nav,.mode-tabs{display:flex;flex-wrap:wrap;gap:8px}.workspace-tabs{border-bottom:1px solid var(--edge);padding-bottom:14px;margin-bottom:20px}.explorer-page button,.explorer-page select,.explorer-page input[type=number]{font:inherit;color:var(--ink);border:1px solid var(--edge);background:var(--panel);border-radius:3px;min-height:44px}.explorer-page button{padding:9px 14px;cursor:pointer;font-size:13px}.explorer-page button:hover{background:#e1e9e9}.explorer-page button[aria-pressed=true],.explorer-page .primary-action{background:var(--accent);color:#fff;border-color:var(--accent)}.explorer-page button:disabled{opacity:.45;cursor:default}.explorer-page :is(button,select,input,a,summary):focus-visible{outline:3px solid #39799e;outline-offset:3px}.workspace-tabs button{font-size:15px;font-weight:600;padding-inline:22px}.technology-nav button{font-size:13px;padding-inline:20px}.technology-nav{margin-bottom:14px}.explore-tools{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.mode-tabs button{border-color:transparent;background:transparent}.mode-tabs button[aria-pressed=true]{background:#e1e9e9;color:var(--accent);border-color:var(--edge)}.explorer-page label{font-size:12px;line-height:1.55}.explorer-page select{padding:8px;max-width:100%;width:100%;font-size:13px}.explorer-page input[type=range]{width:100%;accent-color:var(--accent);min-height:24px}.explorer-page input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.explorer-page .check{display:flex;align-items:center;gap:7px;font-size:12px}.builder-panel{padding:18px;background:#e8ece9;border:1px solid var(--edge);margin-bottom:16px}.builder-selects{display:grid;grid-template-columns:1fr 1.2fr 1.3fr 1.2fr;gap:12px}.builder-selects label,.assumptions-grid label{display:grid;gap:6px}.builder-panel>p{font-size:12px;margin:12px 0 0}.compatibility-message{border-top:1px solid var(--edge);padding-top:12px;margin-top:12px;font-size:13px;display:flex;align-items:center;gap:12px}.compatibility-message button{font-weight:600}.wind-bar{padding:16px 0;display:flex;gap:24px;align-items:end;border-block:1px solid var(--edge);margin-bottom:16px}.wind-bar>label:first-child{display:grid;flex:1;gap:6px;min-width:200px}.wind-bar output{font-variant-numeric:tabular-nums;font-size:17px;color:var(--accent);font-weight:600}.viewer-shell{border:1px solid var(--edge);background:var(--panel)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;border-bottom:1px solid var(--edge)}.viewer-toolbar>p{font-size:11px;line-height:1.5;margin:0;max-width:420px;color:#4f646e}.viewer-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.viewer-toolbar button{font-size:11px;min-height:36px;padding:6px 9px}.explorer-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px}.stages-area{min-width:0}.stage-grid{display:grid;grid-template-columns:minmax(0,1fr)}.stage-grid.comparing{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-card{min-width:0;position:relative;background:var(--stage);border-right:1px solid var(--edge)}.stage-card h2{font:600 13px var(--sans,Arial);line-height:1.4;padding:12px 16px;margin:0;color:#233c48;min-height:46px}.stage-topline{padding:0 16px 8px;font-size:10px;color:#4d626c;line-height:1.5;min-height:30px}.model-canvas{height:440px;position:relative;touch-action:none;overflow:hidden}.model-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.stage-hint{margin:0;padding:8px 16px 12px;font-size:10px;color:#4c626c;line-height:1.5}.camera-toolbar{display:flex;gap:6px;padding:10px 12px;flex-wrap:wrap;border-top:1px solid var(--edge)}.camera-toolbar button{font-size:11px;min-height:36px;padding:5px 9px}#model-status{font-size:11px;line-height:1.5;color:#4f646e;padding:0 14px;margin:0 0 10px}#comparison-caption{padding:0 14px 12px;font-size:11px;line-height:1.6;margin:0}.lesson-panel{padding:22px;display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--edge)}.lesson-panel h2{font-size:23px;line-height:1.2;margin:0}.lesson-panel p{font-size:13px;line-height:1.75;margin:0}.lesson-panel .eyebrow{font-size:10px}.lesson-panel .primary-action{min-height:46px;text-align:center}.lesson-steps{list-style:none;display:flex;gap:6px;padding:0;margin:0}.lesson-steps button{padding:4px 10px;min-width:36px;min-height:36px}.motion-select{display:grid;gap:5px}.step-navigation{display:flex;gap:8px}.step-navigation button{flex:1;font-size:11px}.inspection-controls{display:grid;gap:14px;padding-top:14px}.inspection-controls label{display:grid;gap:6px}.inspection-controls output{font-variant-numeric:tabular-nums;color:var(--accent)}.explorer-page details summary{cursor:pointer;font-size:13px;min-height:44px;display:flex;align-items:center;gap:8px}.explorer-page details summary::before{content:'+';font-size:20px;color:var(--accent)}.explorer-page details[open]>summary::before{content:'−'}.lesson-panel details{border-top:1px solid var(--edge);margin-top:4px}.lesson-panel .small{font-size:11px;color:#4f646e}.callout-list{display:flex;gap:8px;flex-wrap:wrap;font-size:11px}.callout-list button{font-size:11px;min-height:34px;padding:5px 8px}.model-callout{position:absolute;transform:translate(-50%,-50%);z-index:2;border-radius:50%!important;background:#fff!important;color:var(--accent)!important;font-weight:700!important;min-width:28px!important;min-height:28px!important;padding:2px 5px!important;box-shadow:0 1px 5px #18314030}.model-error{padding:18px;margin:14px;border:1px solid #9b7560;background:#fff5ed}.model-error p{font-size:13px}.model-error a{display:inline-block;font-size:12px;margin:12px}.mobile-compare{display:none;padding:10px;border-bottom:1px solid var(--edge);gap:6px}.demo-results,.difference-section{margin-top:30px;padding:26px 0;border-top:1px solid var(--edge)}.results-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.results-heading h2,.difference-section h2{font-size:28px;line-height:1.2;margin:8px 0 14px}.results-heading p,.difference-section>p{font-size:14px;max-width:620px;line-height:1.8}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--edge);margin:20px 0}.output-grid>div{padding:20px;border-right:1px solid var(--edge);display:grid;gap:8px}.output-grid>div:last-child{border:0}.output-grid span,.output-grid small{font-size:12px;color:#4f646e}.output-grid strong{font-size:32px;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums}.power-chart{background:#eef1ee;border:1px solid var(--edge);padding:10px}.power-chart svg{display:block;width:100%;height:auto;max-height:320px}.chart-legend{display:flex;gap:24px;font-size:12px;color:#4f646e}.chart-legend span:first-child{color:#245c7b}.scenario-note{font-size:13px;line-height:1.8;background:#e7edeb;padding:14px}.demo-results details{border-bottom:1px solid var(--edge);padding:10px 0}.demo-results details>p,.demo-results details>div>p{font-size:13px;line-height:1.8}.assumptions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:12px 0}.assumptions-grid input{padding:8px;width:100%;font-size:15px}.difference-section table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.7}.difference-section th,.difference-section td{padding:13px;text-align:left;vertical-align:top;border-bottom:1px solid var(--edge)}.difference-section th{background:#e7edeb;font-weight:600}.difference-section th:first-child{width:18%}.catalogue-panel{border-top:1px solid var(--edge);padding-top:24px}.catalogue-panel h2{font-size:23px}.catalogue-selects{display:grid;grid-template-columns:1fr 1fr;gap:20px}.catalogue-selects label{display:grid;gap:8px}.catalogue-panel>p{font-size:13px}.model-documentation{border-top:1px solid var(--edge);padding-top:14px}.model-documentation h2{font-size:22px}.model-documentation p,.model-documentation li{font-size:13px;line-height:1.8}.model-documentation a{font-size:13px}.patent-tags{display:flex;gap:18px;margin:18px 0;flex-wrap:wrap}.model-reference-gallery{display:flex;gap:20px;flex-wrap:wrap;padding-block:20px}.model-reference-gallery a{width:220px;font-size:12px}.model-reference-gallery img{width:100%;height:160px;object-fit:contain;background:#fff}.model-reference-gallery span{display:block;padding-top:8px}.lab-footnote{font-size:11px;line-height:1.9;color:#4f646e;padding:24px 0 36px;border-top:1px solid var(--edge)}.model-invitation{border-block:1px solid var(--line);padding:28px 0;margin:28px 0;display:flex;justify-content:space-between;align-items:center;gap:24px}.model-invitation p{font-size:14px}.viewer-shell:fullscreen,.viewer-shell.expanded{background:var(--panel);overflow:auto;padding:12px}.viewer-shell:fullscreen .model-canvas,.viewer-shell.expanded .model-canvas{height:65vh}.viewer-shell.expanded{position:fixed;inset:0;z-index:1000}.stage-card.panel-inactive{display:none!important}.viewer-shell.loading .model-canvas{opacity:.25}.viewer-shell.loading .stage-card{pointer-events:none}
@media(max-width:1100px){.explorer-layout{grid-template-columns:minmax(0,1fr) 250px}.lesson-panel{padding:18px}.model-canvas{height:390px}.stage-grid.comparing .model-canvas{height:390px}.viewer-toolbar{align-items:start}.viewer-toolbar>div{max-width:270px}.assumptions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.explorer-heading{display:block;padding:22px 0 18px}.explorer-heading h1{font-size:31px}.explorer-heading>p{font-size:13px;margin-top:10px;max-width:100%}.workspace-tabs{gap:5px;margin-bottom:14px}.workspace-tabs button{flex:1;padding:8px;font-size:12px}.technology-nav{gap:5px}.technology-nav button{padding:7px 10px;font-size:11px;min-height:38px}.mode-tabs{gap:3px}.mode-tabs button{padding:7px 9px;font-size:11px;min-height:38px}.explore-tools{align-items:start;flex-wrap:wrap}.explore-tools label{width:100%}.builder-selects{grid-template-columns:1fr 1fr;gap:12px}.builder-panel{padding:12px}.wind-bar{flex-wrap:wrap;gap:12px}.wind-bar>label:first-child{flex-basis:100%}.wind-bar>label:not(:first-child){flex:1;min-width:120px}.viewer-toolbar{flex-wrap:wrap;padding:10px}.viewer-toolbar>div{max-width:none;justify-content:start}.viewer-toolbar>p{width:100%}.explorer-layout{grid-template-columns:1fr}.lesson-panel{border-left:0;border-top:1px solid var(--edge);padding:18px}.model-canvas,.stage-grid.comparing .model-canvas{height:clamp(250px,42svh,370px)}.stage-card h2{font-size:12px;padding:10px 12px;min-height:38px}.stage-topline{padding:0 12px 5px;font-size:9px;min-height:30px}.stage-hint{font-size:9px}.stage-grid.comparing{grid-template-columns:1fr}.stage-grid.comparing.show-both{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-grid.show-both .model-canvas{height:260px}.mobile-compare:not([hidden]){display:flex}.mobile-compare button{flex:1;font-size:11px;padding:6px}.lesson-panel h2{font-size:22px}.lesson-panel .primary-action{max-width:100%}.results-heading{display:block}.results-heading h2,.difference-section h2{font-size:25px}.output-grid>div{padding:12px}.output-grid strong{font-size:23px}.output-grid small,.output-grid span{font-size:10px}.chart-legend{gap:12px;font-size:11px}.difference-section table{font-size:11px}.difference-section td,.difference-section th{padding:9px 6px}.catalogue-selects{grid-template-columns:1fr}.model-reference-gallery a{width:calc(50% - 10px);min-width:120px}.model-reference-gallery img{height:135px}.model-invitation{flex-direction:column;align-items:start}.viewer-shell:fullscreen .model-canvas,.viewer-shell.expanded .model-canvas{height:45svh}}
@media(prefers-reduced-motion:reduce){.explorer-page *{scroll-behavior:auto!important;transition:none!important}}
.viewer-shell.failed .model-canvas canvas,.viewer-shell.failed .model-callout{visibility:hidden}
/* Keep the learning stage near the top rather than spending the screen on navigation. */
body:has(.explorer-page) .header{padding-block:10px}body:has(.explorer-page) .header .brand img{height:58px;width:44px;object-fit:contain}.explorer-heading{padding:20px 0 14px}.workspace-tabs{margin-bottom:12px;padding-bottom:10px}.technology-nav{margin-bottom:8px}.technology-nav button,.mode-tabs button{min-height:38px}.explore-tools{margin-bottom:12px}#mobile-technology{display:none}
@media(max-width:767px){#technology-nav{display:none!important}#mobile-technology:not([hidden]){display:flex;align-items:center;gap:10px;margin-bottom:10px}#mobile-technology select{flex:1;min-height:38px}.mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.mode-tabs button{padding:5px;font-size:11px}.explorer-heading{padding:16px 0 12px}.viewer-toolbar button{font-size:11px;padding:5px 8px}.lesson-panel #motion,.lesson-panel #start-lesson{order:-1}.model-canvas,.stage-grid.comparing .model-canvas{height:clamp(240px,36svh,330px)}}
#builder-options{margin-bottom:16px}#builder-options>summary{font-weight:600}.lesson-panel .wind-bar{display:grid;border:0;margin:0;padding:0;gap:10px}.lesson-panel .wind-bar>label:first-child{min-width:0}.lesson-panel .wind-bar>label{width:100%}.lesson-panel .wind-bar output{font-size:17px}.live-readout{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;border-block:1px solid var(--edge)}.live-readout>div{display:grid;gap:6px}.live-readout span{font-size:10px;color:#4f646e}.live-readout strong{font-size:22px;color:var(--accent);font-variant-numeric:tabular-nums}.live-readout>p{grid-column:1/-1;font-size:10px!important}.workspace-tabs [aria-pressed=true]{font-weight:600}
@media(max-width:767px){.lesson-panel:has(#wind-bar:not([hidden])) #motion{order:0}.lesson-panel:has(#wind-bar:not([hidden])){display:grid;grid-template-columns:1fr}.lesson-panel:has(#wind-bar:not([hidden])) .wind-bar{grid-column:1/-1}.lesson-panel:has(#wind-bar:not([hidden])) .wind-bar>label:first-child{min-width:0}}

body:has(.viewer-shell.expanded){overflow:hidden}.explorer-page button{touch-action:manipulation}.compatibility-message{flex-wrap:wrap}.stage-card{overflow:hidden}@media(max-width:767px){.camera-toolbar button,.viewer-toolbar button,.mode-tabs button{min-height:44px}.difference-section{overflow-x:auto}.output-grid strong{font-size:clamp(17px,5.5vw,23px)}}

.scenario-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:16px}
