.installation{scroll-margin-top:24px}
.assembly-intro{font-size:14px;color:var(--ink2);margin:-5px 0 22px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.configuration-bar{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:13px}
.configuration-bar>span{color:var(--ink3);font-size:11px}.configuration-bar strong{font-weight:650;color:var(--ink2);overflow-wrap:anywhere}
.assembly-configuration{margin-bottom:16px}
.assembly-configuration summary{display:flex;align-items:center;gap:10px;cursor:pointer;padding:14px 16px;min-height:54px;list-style:none;border:1px solid #83b6c0;border-radius:12px;background:#e7f2f4;color:#15596a;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.assembly-configuration summary::-webkit-details-marker{display:none}
.assembly-configuration summary:active{transform:scale(.98)}
.assembly-configuration summary:focus-visible{transition:none;transform:none}
.configuration-icon{flex:none}.configuration-title{font-size:14px;font-weight:750}
.configuration-count{font-size:11px;font-weight:600;border-radius:6px;background:#fff;padding:3px 7px;white-space:nowrap;font-variant-numeric:tabular-nums}
.configuration-disclosure{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:12px;white-space:nowrap}
.configuration-collapse,.assembly-configuration[open] .configuration-expand{display:none}
.assembly-configuration[open] .configuration-collapse{display:inline}
.assembly-configuration[open] .configuration-disclosure svg{transform:rotate(180deg)}
#configurationControls{border:0;padding:18px 0 4px;min-width:0}
.configuration-port-summary{margin:0 0 14px;font-size:12px;line-height:1.7;color:var(--ink2);font-variant-numeric:tabular-nums}
.configuration-port-summary:empty{display:none}
.configuration-warning{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;margin:0 0 16px;border:1px solid #d8b374;border-radius:12px;background:#fff5e5;color:#794914}
.configuration-warning[hidden]{display:none}.configuration-warning>svg{flex:none;margin-top:1px}
.configuration-warning strong{display:block;font-size:13px;font-weight:700}.configuration-warning p{font-size:12px;line-height:1.7;margin-top:3px}
#configurationStructureWarningText{white-space:pre-line}
.assembly-summary{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;padding:18px 0 20px;margin-bottom:2px;border-top:1px solid var(--line)}
.assembly-dimensions h3{font-size:13px;font-weight:700}.assembly-dimensions h3 span{font-size:11px;color:var(--ink3);font-weight:400;margin-left:8px}
.dimensions-composition{font-size:11px;color:var(--ink2);margin-top:5px}.dimensions-composition:empty{display:none}
.assembly-measurements{display:flex;gap:28px;margin:10px 0}.assembly-measurements>div{min-width:60px}.assembly-measurements dt{font-size:11px;color:var(--ink2)}.assembly-measurements dd{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.4;letter-spacing:-.5px}
.dimensions-note,#dimensionsStatus,.assembly-ar p{font-size:11px;line-height:1.7;color:var(--ink3)}
#dimensionsStatus{margin:12px 0}.assembly-ar{padding-left:22px;border-left:1px solid var(--line)}
#prepareAR,#openAR{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #83b6c0;background:#e7f2f4;color:#15596a;border-radius:10px;font:inherit;font-size:12px;font-weight:650;text-decoration:none;touch-action:manipulation;transition:transform 160ms var(--ease-out),background-color 160ms ease}
#prepareAR:active,#openAR:active{transform:scale(.97)}.assembly-ar p{margin-top:8px}#arStatus:empty{display:none}
#assemblyMeasurements[hidden],#dimensionsStatus[hidden],#prepareAR[hidden],#openAR[hidden]{display:none}
.configuration-ends{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:12px;color:var(--ink2);margin-bottom:14px}
.configuration-ends label{display:flex;gap:7px;align-items:center;min-height:32px;cursor:pointer}
.configuration-ends input{accent-color:#167a91;width:16px;height:16px}
.cap-configuration{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--line);min-width:0}
.cap-configuration label{display:block;font-size:13px;font-weight:650;margin-bottom:8px}
.cap-configuration label span{font-size:11px;color:var(--ink3);font-weight:400;margin-left:8px}
.cap-select{position:relative}
.cap-configuration select{appearance:none;-webkit-appearance:none;width:100%;min-height:44px;max-width:100%;font:inherit;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:10px 44px 10px 12px;background:var(--bg);color:var(--ink);cursor:pointer}
.cap-select-chevron{position:absolute;right:16px;top:calc(50% - 8px);pointer-events:none;color:#15596a}
.cap-select select:open+.cap-select-chevron{transform:rotate(180deg)}
.cap-select select:disabled+.cap-select-chevron{opacity:.5}
html.dark .cap-select-chevron{color:#cfedf3}
.cap-configuration select:disabled{opacity:.5;cursor:default}
.cap-configuration p{font-size:11px;line-height:1.7;color:var(--ink2);margin-top:8px;overflow-wrap:anywhere}
.cap-configuration .cap-source-name{font-size:10px;color:var(--ink3);margin-top:3px}
.cap-source-name:empty{display:none}
.cap-configuration .cap-accessory-warning{padding:10px 12px;border:1px solid #d8b374;border-radius:9px;background:#fff5e5;color:#794914;font-size:12px}
.cap-accessory-warning[hidden]{display:none}
html.dark .cap-configuration .cap-accessory-warning{background:#362d20;border-color:#826435;color:#f0cf97}
.module-list{list-style:none;display:grid;gap:8px;padding:0}
.module-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:8px 10px 8px 14px;background:var(--pill)}
.module-row-information{min-width:0}.dock-power-option{display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;color:var(--ink2);line-height:1.6}.dock-power-option input{flex:none;accent-color:#167a91}.cap-configuration #powerVariantNote{margin-bottom:20px}
@media(max-width:600px){.module-list li:has(.dock-power-option){align-items:flex-start;flex-direction:column}.module-list li:has(.dock-power-option) .module-row-actions{align-self:flex-end}}
.module-row-name{font-size:12px;font-weight:650}.module-row-actions{display:flex;gap:5px}
.module-row-actions button,.configuration-actions button{font-size:11px;min-height:36px;padding:7px 10px;border:1px solid var(--line);background:var(--glass);border-radius:8px;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.module-row-actions button:active,.configuration-actions button:active{transform:scale(.97)}
.configuration-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#resetConfiguration{margin-left:auto;background:transparent}
.configuration-note,.configuration-status,#moduleEmpty{display:block;font-size:11px;line-height:1.7;color:var(--ink3);margin-top:10px}
.configuration-status:empty{display:none}#moduleEmpty[hidden]{display:none}
.assembly-step-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;min-height:44px;margin:0 0 4px}
.assembly-step-picker .step-count{margin:0;font-size:12px;letter-spacing:.04em}
.step-directory{position:relative;display:inline-flex;align-items:center;flex:none;min-height:44px;min-width:96px;margin:0;border-radius:8px;color:var(--ink2);font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:transform 140ms var(--ease-out),background-color 140ms ease}
.step-directory>span{display:flex;align-items:center;gap:6px;padding:10px 8px;pointer-events:none}
/* Keep the native picker and its selected value for touch/keyboard/accessibility;
   only its resting appearance is simplified. The current title lives below. */
.assembly-step-picker select{position:absolute;inset:0;width:100%;height:100%;min-height:44px;margin:0;font:inherit;font-size:16px;opacity:0;cursor:pointer}
.step-directory:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.step-directory:active{transform:scale(.97)}
.step-directory:has(select:focus-visible){transform:none;transition:none}
.step-directory:has(select:disabled){opacity:.45;cursor:default;transform:none}
.step-directory select:disabled{cursor:default}
@media(hover:hover) and (pointer:fine){.step-directory:not(:has(select:disabled)):hover{background:var(--pill)}}
@media(prefers-reduced-motion:reduce){.step-directory{transition:none;transform:none!important}}
.composition-presets{display:grid;gap:7px;margin-top:17px}.composition-presets[hidden],#replayStep[hidden]{display:none}
.composition-presets button{min-height:42px;text-align:left;padding:9px 12px;font-size:12px;border:1px solid var(--line);border-radius:9px;background:var(--pill);transition:transform 160ms var(--ease-out),background-color 160ms ease}
.composition-presets button[aria-pressed=true]{border-color:#1687a7;background:rgba(22,135,167,.12);box-shadow:inset 3px 0 #1687a7}
.composition-presets button:active{transform:scale(.97)}
#openConfiguration{border:0;background:none;color:#15596a;min-height:44px;font-weight:600;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.assembly-workspace{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--bg);min-width:0}
.assembly-display-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);flex:none}
.assembly-display-bar h3{font-size:13px;font-weight:650;white-space:nowrap}
.assembly-display-actions{display:flex;gap:8px}
.assembly-display-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--pill);font:inherit;font-size:12px;font-weight:600}
.assembly-display-actions svg{flex:none}
.assembly-display-status{flex:none;color:var(--ink2);font-size:12px;padding:8px 16px;border-bottom:1px solid var(--line)}
.assembly-display-status:empty{display:none}
.assembly-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,400px);overflow:hidden;background:rgba(255,255,255,.42);min-height:0}
.model-column{display:flex;flex-direction:column;min-width:0;background:radial-gradient(ellipse at 50% 36%,#b8c0c7 0%,#9da8b2 85%)}
.model-tools{padding:16px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;position:relative;z-index:2}
.model-label{font-size:11px;font-weight:650;color:#2f3c46;letter-spacing:.5px;margin-right:auto}
.model-tool-actions{display:flex;gap:6px}
.installation button{font-family:inherit;cursor:pointer;color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.model-tool-actions button,.model-loading button{font-size:11px;padding:8px 10px;min-height:36px;background:rgba(255,255,255,.85);border:1px solid rgba(30,45,55,.1);border-radius:9px;color:#26353f;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.model-tool-actions button[aria-pressed=true]{background:#d9edf1;border-color:#85bbc8;color:#09687c}
.installation button:disabled{cursor:default;opacity:.4}
.model-stage{position:relative;height:480px;flex:none;isolation:isolate}
.model-stage canvas{display:block;width:100%;height:100%;position:absolute;inset:0;outline-offset:-5px;cursor:grab;z-index:1}
.model-stage canvas[hidden]{display:none}
.model-stage canvas:active{cursor:grabbing}
.model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.35}
.model-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;text-align:center;color:#26353f;font-size:13px;z-index:3;background:rgba(244,247,249,.72)}
.model-loading[hidden],.model-poster[hidden]{display:none}
.model-foot{padding:12px 18px 17px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:#2f3c46;font-size:10px}
.focus-key{display:flex;align-items:center;gap:5px}.focus-key i{width:6px;height:6px;border-radius:50%;background:#278da3}
.assembly-panel{display:flex;flex-direction:column;min-width:0;padding:19px;border-left:1px solid var(--line)}
.assembly-steps{display:grid;gap:4px}
.assembly-steps button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-radius:10px;padding:9px 10px;min-height:42px;background:transparent;font-size:12px;font-weight:600;transition:background-color 160ms ease,color 160ms ease}
.assembly-steps button span{font-size:10px;font-variant-numeric:tabular-nums;color:var(--ink3);letter-spacing:.6px}
.assembly-steps button[aria-current=step]{background:rgba(22,135,167,.1);border-color:rgba(22,135,167,.14);color:#07617a}
.assembly-steps button[aria-current=step] span{color:inherit}
.step-copy{padding:16px 4px 18px;flex:1;min-height:258px}
.step-count{display:block;color:var(--ink3);font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:1px;margin-bottom:8px}
.step-copy h3{font-size:19px;letter-spacing:-.4px;line-height:1.45}
.step-copy p{font-size:12.5px;line-height:1.85;color:var(--ink2);margin-top:10px}
.step-copy .step-tip{font-size:11px;line-height:1.8;padding-top:12px;border-top:1px solid var(--line);color:var(--ink3);margin-top:14px}
.step-controls{display:flex;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.step-controls button{border:1px solid var(--line);border-radius:10px;background:var(--pill);min-height:40px;padding:9px;font-size:11px;font-weight:650;transition:transform 160ms var(--ease-out),background-color 160ms ease}
#nextStep{margin-left:auto;background:#167a91;color:#fff;border-color:transparent}
.assembly-reference{margin-top:17px;border-top:1px solid var(--line);padding-top:15px}
.assembly-reference summary{cursor:pointer;color:var(--ink2);font-size:13px;padding:5px 0;min-height:36px}
.assembly-reference img{display:block;width:100%;height:auto;margin-top:16px;border-radius:12px;background:white}
.assembly-reference .steps{margin-top:8px}
.installation :focus-visible{outline:2px solid #1687a7;outline-offset:3px}
.model-tool-actions button:active,.step-controls button:active{transform:scale(.97)}
html.dark .assembly-layout{background:rgba(15,21,31,.65)}
html.dark .model-column{background:radial-gradient(ellipse at 50% 32%,#303a45 0%,#192129 90%)}
html.dark .model-label,html.dark .model-foot{color:#aebbc6}
html.dark .model-tool-actions button{background:#303c47;color:#e0e8ed;border-color:rgba(255,255,255,.12)}
html.dark .model-tool-actions button[aria-pressed=true]{background:#205062;color:#ccf3ff;border-color:#397289}
html.dark .assembly-steps button[aria-current=step]{background:rgba(54,169,200,.17);color:#87d9e9;border-color:rgba(54,169,200,.2)}
html.dark .assembly-configuration summary{background:#203d48;border-color:#4f8a9a;color:#cfedf3}
html.dark #openConfiguration{background:none;color:#a9d6e2}
html.dark .configuration-count{background:#315663;color:#e5f7fa}
html.dark .configuration-warning{background:#362d20;border-color:#826435;color:#f0cf97}
html.dark #prepareAR,html.dark #openAR{background:#203d48;border-color:#4f8a9a;color:#cfedf3}html.dark #openAR img{filter:brightness(0) invert(1)}
@media(hover:hover) and (pointer:fine){#prepareAR:not(:disabled):hover,#openAR:hover{background:#d4e9ee}html.dark #prepareAR:not(:disabled):hover,html.dark #openAR:hover{background:#2b4c58}}
@media(hover:hover) and (pointer:fine){.assembly-steps button:not(:disabled):hover{background:rgba(22,135,167,.07)}.step-controls button:not(:disabled):hover{filter:brightness(.96)}.assembly-configuration summary:hover{background:#d4e9ee}html.dark .assembly-configuration summary:hover{background:#2b4c58}#openConfiguration:not(:disabled):hover{text-decoration-color:currentColor}}
@media(max-width:900px){.assembly-layout{grid-template-columns:minmax(0,1fr) 250px}.model-tools{padding:12px}.assembly-panel{padding:15px}}
@media(max-width:700px){
  .assembly-layout{grid-template-columns:1fr}.model-stage{height:350px}.assembly-panel{display:flex;grid-row:2;padding:12px 16px 16px;border-left:0;border-top:1px solid var(--line)}
  .model-column{grid-row:1}.assembly-steps{grid-row:1;grid-template-columns:1fr 1fr;gap:5px;padding:12px;border-bottom:1px solid var(--line)}.assembly-steps button{font-size:11px;padding:9px 8px;gap:7px}.step-copy{min-height:0;padding:4px 0 14px}.step-copy h3{font-size:21px}
  .step-controls{grid-row:3;margin:0 16px;padding:12px 0;border-top:1px solid var(--line)}
  .model-foot{padding:10px 12px 14px}.model-tools{gap:8px}.model-label{font-size:10px}.model-tool-actions button{font-size:10px;padding:7px 8px;min-height:38px}
  .step-controls button{min-height:44px;font-size:12px;padding-inline:14px}
  .assembly-step-picker{padding:0;margin:0 0 4px;border:0}
  .step-controls{margin:0;padding:12px 0 0}
  .module-list li{flex-wrap:wrap}.module-row-name{flex-basis:100%}.module-row-actions{margin-left:auto}.module-row-actions button,.configuration-actions button{min-height:44px;font-size:12px}
  .configuration-ends{gap:5px}.configuration-ends label{width:100%;min-height:40px}
  #resetConfiguration{margin-left:0}.configuration-bar{gap:5px}.configuration-bar strong{width:100%}
  .assembly-configuration summary{padding:13px 12px;gap:8px;flex-wrap:wrap}.configuration-title{font-size:13px}.configuration-count{font-size:10px}.configuration-disclosure>span{display:none!important}
  .assembly-summary{grid-template-columns:1fr;gap:16px}.assembly-measurements{justify-content:space-between;gap:12px}.assembly-ar{padding:14px 0 0;border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:380px){.model-stage{height:300px}.model-tools{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.installation button,.assembly-configuration summary,#openAR{transition:none!important;transform:none!important}}
@media(prefers-contrast:more){.assembly-layout,.assembly-steps button[aria-current=step],.step-controls button,.assembly-configuration summary,.configuration-warning{border-color:currentColor}.step-copy p{color:var(--ink)}}
@media print{.model-column,.assembly-steps,.step-controls,.assembly-configuration,.assembly-step-picker,.assembly-ar{display:none}.assembly-layout{display:block}.assembly-panel{border:0}.assembly-reference{display:block}.assembly-reference>*{display:block!important}}

/* Desktop: use the screen width, with a readable instruction rail and a stable
   bottom control row. Long copy scrolls independently instead of pushing Next away. */
@media(min-width:901px){
  .assembly-layout{height:clamp(560px,74dvh,880px)}
  .model-column{min-height:0}.model-stage{flex:1;min-height:0;height:auto}
  .model-tools,.model-foot,.assembly-step-picker,.step-controls{flex:none}
  .assembly-panel{min-height:0;padding:clamp(18px,2vw,28px)}
  .step-copy{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
  .step-copy h3{font-size:clamp(20px,1.5vw,25px)}.step-copy p{font-size:14px}.step-copy .step-tip{font-size:12px}
  .step-controls button{min-height:44px;font-size:13px;padding:10px 13px}
}
.assembly-presentation{position:fixed;inset:16px;margin:auto;padding:0;width:calc(100% - 32px);height:calc(100% - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;border:0;border-radius:20px;background:var(--bg);color:var(--ink);overflow:hidden;box-shadow:0 20px 90px #0005}
.assembly-presentation::backdrop{background:rgba(10,16,24,.65)}
html.assembly-presentation-open,html.assembly-presentation-open body{overflow:hidden}
.assembly-workspace[data-display="expanded"],.assembly-workspace[data-display="fullscreen"]{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}
.assembly-workspace:fullscreen{border:0;border-radius:0;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.assembly-workspace:-webkit-full-screen{border:0;border-radius:0;background:var(--bg);width:100%;height:100%}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{flex:1;height:auto;min-height:0;grid-template-columns:minmax(0,1fr) clamp(300px,26vw,440px)}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .model-column{grid-row:auto;min-height:0}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .model-stage{flex:1;height:auto;min-height:0}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-panel{display:flex;grid-row:auto;min-height:0;padding:clamp(14px,2vw,28px)}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-copy{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) :is(.model-tools,.model-foot,.assembly-step-picker,.step-controls){flex:none}
.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-controls{margin:0;padding:12px 0 0}
@media(max-width:700px){
  .assembly-display-bar{padding:8px 10px;gap:6px}.assembly-display-actions{gap:5px}.assembly-display-actions button{padding:8px;font-size:11px}
  .assembly-presentation{inset:0;width:100%;height:100%;height:100dvh;border-radius:0;box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]){border:0;border-radius:0}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{grid-template-columns:1fr;grid-template-rows:minmax(150px,34fr) minmax(0,66fr)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-panel{padding:10px 14px;border-left:0;border-top:1px solid var(--line)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-step-picker{padding:0 0 6px;border:0}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-copy{padding:8px 0}.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-copy h3{font-size:18px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .model-foot{display:none}
}
@media(max-height:540px) and (min-width:601px){
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-panel{border-top:0;border-left:1px solid var(--line);padding:10px 14px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .model-foot{display:none}
}
@media(hover:hover) and (pointer:fine){.assembly-display-actions button:hover{background:var(--glass)}}
@media print{.assembly-display-bar,.assembly-display-status{display:none}}

.order-sheet-panel{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;scroll-margin-top:24px}
.order-sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.order-sheet-heading h3{font-size:20px}
.order-sheet-panel p{font-size:12px;color:var(--ink2);line-height:1.8;margin-top:7px}
.order-sheet-panel button,.order-sheet-panel a[download]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--pill);font:inherit;font-size:12px;font-weight:650;text-decoration:none;white-space:nowrap}
#prepareOrderSheet,#generateOrderSheet,#downloadOrderSheet{background:#167a91;border-color:transparent;color:white}
.order-sheet-panel button:active,.order-sheet-panel a[download]:active{transform:scale(.97)}
.order-sheet-panel :is(input,select){min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);font:inherit;font-size:13px;width:100%}
.order-sheet-panel label{font-size:12px;color:var(--ink2);display:block;margin-bottom:6px}
.order-code-lookup{margin-top:18px}.order-code-lookup summary{cursor:pointer;font-size:13px;min-height:44px;padding-block:10px}.order-code-lookup>label{margin-top:10px}
.order-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-code-row input{flex:1 1 280px;font-family:ui-monospace,monospace}
.order-sheet-form{padding:22px;margin-top:20px;border:1px solid var(--line);border-radius:14px;background:var(--pill);scroll-margin-top:20px}
.order-sheet-form h4{font-size:16px}.order-preparation-list{list-style:decimal;padding-left:22px;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:18px 32px}
.order-preparation-list li{padding-left:4px;font-size:12px}.order-preparation-list strong{font-size:13px}.order-preparation-list span{font-size:10px;color:var(--ink3);display:inline-block;margin-left:7px}.order-preparation-list .needed{color:var(--accent);font-weight:650}
.order-sheet-form fieldset{border:0;padding-top:14px;margin-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px;min-width:0}
.order-sheet-form legend{font-size:13px;font-weight:650;padding-right:12px}.order-apple-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.order-sheet-panel .order-important{color:#925214}html.dark .order-sheet-panel .order-important{color:#f0cf97}
.order-sheet-panel .order-acknowledgement{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin:20px 0 10px;padding-block:10px;font-size:13px}
.order-acknowledgement input{width:18px;height:18px;min-height:0;flex:none;margin-top:2px;accent-color:#167a91}
.order-sheet-actions{display:flex;gap:10px;flex-wrap:wrap}.order-sheet-result{margin-top:18px}.order-sheet-result img{display:block;max-width:100%;width:680px;height:auto;margin:18px auto 0;border:1px solid var(--line);border-radius:12px}
.order-sheet-panel [hidden]{display:none!important}#orderSheetStatus:empty,#orderLookupStatus:empty{display:none}
.order-entry-actions{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;flex-shrink:0;max-width:100%}
.order-entry-actions .assembly-ar{padding:0;border:0;max-width:280px}
.order-entry-actions #prepareOrderSheet{min-height:60px}
.order-entry-actions :is(#prepareAR,#openAR){min-height:60px;gap:9px;background:#e9ecef;border:1px solid #ccd2d8;color:#485460;white-space:normal;text-align:left;opacity:1}
.ar-button-copy{display:flex;flex-direction:column;gap:3px}.ar-button-copy small{font-size:10px;font-weight:400;line-height:1.5;color:inherit}
.order-entry-actions img{flex:none;opacity:.7}.order-entry-actions #prepareAR:disabled{cursor:default;transform:none}
.order-entry-actions :is(#prepareAR,#openAR):focus-visible{outline:2px solid var(--accent);outline-offset:3px;transform:none}
html.dark .order-entry-actions :is(#prepareAR,#openAR){background:#303840;border-color:#535e68;color:#d6dce1}
html.dark .order-entry-actions img{filter:brightness(0) invert(1)}
@media(hover:hover) and (pointer:fine){.order-entry-actions #prepareAR:not(:disabled):hover,.order-entry-actions #openAR:hover{background:#dde2e7}html.dark .order-entry-actions #prepareAR:not(:disabled):hover,html.dark .order-entry-actions #openAR:hover{background:#3b454e}}
@media(max-width:1060px){.order-sheet-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:800px){.order-sheet-heading{align-items:flex-start;flex-direction:column}.order-sheet-form{padding:16px}.order-preparation-list,.order-sheet-form fieldset{grid-template-columns:1fr}.order-code-row button,.order-code-row a{flex:1 1 auto}}
@media print{.order-sheet-panel{display:none}}

/* One configuration surface, inside the first step and the fullscreen workspace. */
#configurationStep{margin-top:18px}
#configurationStep[hidden],#openConfiguration[hidden],#orderLookupPanel[hidden]{display:none!important}
.assembly-panel #configurationControls{display:block}
.assembly-panel .assembly-configuration summary{flex-wrap:wrap;padding:12px;gap:8px}
.assembly-panel .configuration-icon{display:none}
.assembly-panel .configuration-disclosure>span{display:none}
.assembly-panel .module-list li{align-items:stretch;flex-direction:column;gap:6px;padding:12px}
.assembly-panel .module-row-actions{justify-content:flex-end;flex-wrap:wrap}
.assembly-panel .module-row-actions button,.assembly-panel .configuration-actions button{min-height:44px}
.assembly-panel .configuration-ends{gap:4px;flex-direction:column}
.assembly-panel .configuration-ends label{min-height:44px}
.assembly-panel .cap-source-name{display:none}
.assembly-panel .configuration-actions{display:grid;grid-template-columns:1fr 1fr}
.assembly-panel #resetConfiguration{margin-left:0}
.return-configuration{margin-top:8px;min-height:44px;padding:10px 2px;border-radius:6px;font:inherit;font-size:13px;transition:transform 140ms var(--ease-out),text-decoration-color 140ms ease}
.return-configuration:focus-visible{transform:none;transition:none}
.return-configuration:active{transform:scale(.97)}
.order-apple-fields{grid-template-columns:1fr;gap:4px}
.order-universal-fields{display:grid;gap:12px}.order-universal-fields span{display:block;margin-bottom:6px}
.configuration-budget{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--pill)}
.configuration-budget .configuration-port-summary{margin:0;font-weight:650}
.configuration-important{border:1px solid #c64f21;border-left:4px solid #c64f21;border-radius:10px;background:#fff0e5;color:#972b0a;padding:14px;margin-top:12px;overflow-wrap:anywhere}
.configuration-important strong{display:block;font-size:15px;line-height:1.5;font-weight:750}
.installation .configuration-important p{color:inherit;font-size:13px;line-height:1.75;margin:6px 0 0}
.configuration-important[hidden],.order-universal-fields[hidden]{display:none}
html.dark .configuration-important{background:#38241c;border-color:#ef996b;color:#ffd0ad}
.order-universal-fields select[aria-invalid="true"]{border:2px solid #bd3b17}
.configuration-power-status{font-size:13px!important;color:#a12e0b!important;font-weight:650;margin-top:10px}
html.dark .configuration-power-status{color:#ffd0ad!important}
.order-preparation-list .preparation-critical{color:#972b0a;padding:10px;border:1px solid #d7774b;background:#fff0e5;border-radius:8px}
.order-preparation-list .preparation-critical p{color:inherit}html.dark .order-preparation-list .preparation-critical{background:#38241c;color:#ffd0ad;border-color:#ef996b}
.configuration-confirm-open{overflow:hidden}
.configuration-confirm{box-sizing:border-box;width:min(600px,calc(100vw - 32px));max-width:none;max-height:min(84dvh,850px);padding:0;margin:auto;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:var(--ink);box-shadow:0 24px 80px #0004;overflow:hidden}
.configuration-confirm[open]{display:flex;flex-direction:column}
.configuration-confirm::backdrop{background:rgba(15,23,32,.52)}
.configuration-confirm header{flex:none;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.confirmation-eyebrow{font-size:11px;font-weight:650;color:var(--ink2)}
.configuration-confirm h2{font-size:23px;line-height:1.35;margin:6px 0 8px;text-wrap:balance}
.configuration-confirm header p{font-size:13px;color:var(--ink2);line-height:1.7}
.configuration-confirm-body{padding:4px 24px 20px;overflow:auto;overscroll-behavior:contain;min-height:0}
.configuration-confirm h3{font-size:15px;margin:20px 0 10px}
.configuration-confirm ul{padding:0;margin:0;list-style:none}
.configuration-confirm li{padding:12px 0;border-top:1px solid var(--line)}
.configuration-confirm li strong{font-size:14px}.configuration-confirm li p{font-size:12px;color:var(--ink2);line-height:1.75;margin-top:4px}
.configuration-confirm-actions{flex:none;display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--line)}
.configuration-confirm-actions button{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:10px;background:var(--pill);color:var(--ink);font:inherit;font-size:13px;font-weight:650}
#configurationConfirmProceed{background:#167a91;color:white;border-color:#167a91}
html.dark #configurationConfirmProceed{background:#a9d6e2;border-color:#a9d6e2;color:#102936}
.configuration-confirm-actions button:active{transform:scale(.97)}
.configuration-confirm-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;transform:none}
@media(max-width:540px){.configuration-confirm{max-height:90dvh}.configuration-confirm header{padding:18px 18px 14px}.configuration-confirm-body{padding-inline:18px}.configuration-confirm-actions{padding:14px 18px;flex-direction:column-reverse}.configuration-confirm-actions button{width:100%}.configuration-confirm h2{font-size:21px}}
#assemblyDimensionsPanel{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#assemblyDimensionsPanel[hidden]{display:none!important}
#assemblyDimensionsPanel .dimensions-composition{display:none}
#assemblyDimensionsPanel .assembly-measurements{margin:6px 0;gap:30px}
#assemblyDimensionsPanel .assembly-measurements dd{font-size:21px}
#assemblyDimensionsPanel .dimensions-note{font-size:10px}
.assembly-summary{display:flex;justify-content:flex-end;padding:0 0 15px;border:0}
.assembly-summary .assembly-ar{border:0;padding:0;max-width:520px}
.model-dimension-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden;color:#244e60}
.model-dimension-overlay path{fill:none;stroke:currentColor;stroke-width:1;opacity:.65}
.model-dimension-overlay text{text-anchor:middle;dominant-baseline:middle;fill:currentColor;font:600 12px system-ui,sans-serif;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#d7e0e6;stroke-width:4;stroke-linejoin:round}
html.dark .model-dimension-overlay{color:#d0e9ef}html.dark .model-dimension-overlay text{stroke:#172630}
.dimension-context{margin:0;padding:6px 18px 10px;color:var(--ink2);font-size:10px;line-height:1.5;flex:none}
.dimension-context[hidden]{display:none}
#generatedOrderCode{font-size:clamp(15px,1.5vw,21px);font-weight:700;letter-spacing:.02em;border:2px solid var(--accent);padding:15px}
.order-sheet-result>label{font-size:15px;font-weight:700;color:var(--ink)}
.order-lookup-footer{border:0;margin:0;padding:0}
.order-lookup-footer:has(details:not([hidden])){border-top:1px solid var(--line);margin-top:24px;padding-top:12px}
#revealOrderLookup{position:relative;display:inline-block;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;touch-action:manipulation}
#revealOrderLookup::before{content:'';position:absolute;min-width:44px;min-height:44px;left:50%;top:50%;transform:translate(-50%,-50%)}
#revealOrderLookup:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(min-width:901px){.assembly-layout{grid-template-columns:minmax(0,1fr) clamp(360px,31vw,450px)}}
@media(min-width:701px) and (min-height:541px){.assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{grid-template-columns:minmax(0,1fr) clamp(340px,31vw,450px)}}

/* Phone workbench: reserve most of the viewport for the task, not the canvas.
   One scrollable instruction/configuration area; Next stays outside that scroll.
   Layout changes are immediate so rotation/browser chrome cannot queue motion. */
@media(max-width:700px){
  .assembly-step-picker select,.cap-configuration select{font-size:16px}
  .model-tools{flex-direction:row;align-items:center;flex-wrap:nowrap;padding:8px 12px}
  .model-tool-actions{flex:none}.model-tool-actions button{min-height:44px;font-size:11px}
  .assembly-workspace:not([data-display="expanded"]):not([data-display="fullscreen"]) .model-stage{height:clamp(220px,36svh,310px)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-copy{padding:6px 0 12px;scrollbar-gutter:auto;scroll-padding-block:12px;-webkit-overflow-scrolling:touch}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-count{margin-bottom:4px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) #stepDescription{font-size:14px;line-height:1.65;margin-top:6px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) #configurationStep{margin-top:12px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) #configurationControls{padding-top:8px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-controls{padding-top:8px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .dimension-context{padding:4px 12px 8px}
}
@media(max-width:700px) and (max-height:640px){
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{grid-template-rows:minmax(180px,34fr) minmax(0,66fr)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .dimension-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media(min-width:701px) and (max-width:1000px) and (max-height:540px){
  .assembly-step-picker select,.cap-configuration select{font-size:16px}
  .model-tool-actions button,.step-controls button{min-height:44px}
}
/* Resolve after the short-phone portrait rule: landscape has one full-height
   row, never an empty second row consuming the instruction reading space. */
@media(min-width:480px) and (max-height:540px) and (orientation:landscape){
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-layout{grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:minmax(0,1fr)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .assembly-panel{border-top:0;border-left:1px solid var(--line);padding:10px 14px}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .model-foot{display:none}
}
