/* Off-white studio and an accessible, persistent choice of control complexity. */
#plb30-viewer .viewport,model-viewer{background:#f4f1e8!important}
#plb30-viewer .scene-heading{color:#244235;text-shadow:none}
#plb30-viewer .scene-heading h1,#plb30-viewer .scene-heading .eyebrow,#plb30-viewer .scene-heading .scene-sub,#plb30-viewer .scene-heading #finish-label{color:#244235!important;text-shadow:none!important}
#plb30-viewer .scene-heading .scene-sub{color:#596b60!important}
.control-mode-bar{flex:none;padding:12px 14px;background:#183f30;border-bottom:1px solid #78927d66;width:100%;box-sizing:border-box}
.control-mode-switch{display:flex;gap:4px;padding:4px;border:1px solid #8fa68d66;border-radius:12px;background:#102f23}
.control-mode-switch button{flex:1;min-height:40px;border:0!important;border-radius:8px!important;font:600 12px/1.2 system-ui!important;padding:9px 7px!important;color:#e2e9df!important;background:transparent!important;box-shadow:none!important;transform:none!important;cursor:pointer}
.control-mode-switch button[aria-pressed=true]{background:#eadbb6!important;color:#193c2c!important}
.control-mode-switch button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.control-mode-note{font:11px/1.45 system-ui!important;color:#d6dfd3!important;margin:8px 0 0!important}
.normal-layout-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;font:12px system-ui;color:#e2e9df}
.normal-layout-control select{min-width:70px;min-height:36px;border:1px solid #8fa68d;border-radius:7px;background:#244936;color:#fff;padding:6px;font:inherit}

[data-control-mode=normal] :is(.design-tools-trigger,.studio-demo-action,.aim-control,.joint-control,.environment-presets,.surface-cards,.wall-paint,.garden-details,.light-target-controls,.light-targets,.photometry-control){display:none!important}
[data-control-mode=normal] .wall-preview-toolbar>label:not(.scene-select-source):not(.scenery-select-row){display:none!important}
[data-control-mode=normal] .scene-select-source{display:grid!important;gap:8px!important;font:12px system-ui!important}
[data-control-mode=normal] .scene-select-source select{width:100%;min-height:44px;font:12px system-ui}
[data-control-mode=normal] .view-buttons{display:none!important}
#plb30-viewer .experience-loading{background:#f4f1e8!important;color:#244235!important}
#plb30-viewer .experience-loading .loading-message :is(strong,p){color:#244235!important}
.loading-progress-row{display:flex;justify-content:space-between;gap:18px;margin:18px 0 8px;font:12px system-ui;font-variant-numeric:tabular-nums}
.loading-progress-row output{font-weight:700}
.loading-progress{height:7px;overflow:hidden;border-radius:10px;background:#bac6b6;min-width:220px}
.loading-progress>span{display:block;height:100%;background:#42634e;border-radius:inherit;transition:width .18s linear}
.loading-progress.indeterminate>span{width:35%;animation:abba-loading 1.4s ease-in-out infinite}
@keyframes abba-loading{from{transform:translateX(-110%)}to{transform:translateX(390%)}}
@media(max-width:760px){.control-mode-bar{padding:8px 12px}.control-mode-note{font-size:10px!important;margin-top:5px!important}.normal-layout-control{margin-top:6px}.control-mode-switch button{min-height:36px}}
@media(prefers-reduced-motion:reduce){.loading-progress>span{transition:none;animation:none!important}.loading-progress.indeterminate>span{width:100%;opacity:.55}}
#plb30-viewer[data-control-mode=normal] :is(.design-tools-trigger,.studio-demo-action,.studio-demo-caption,.studio-demo-button,.aim-control,.joint-control,.environment-presets,.surface-cards,.wall-paint,.garden-details,.spotlight-targets,.photometry-options,.view-buttons){display:none!important}
#plb30-viewer[data-control-mode=normal] .scene-select-source{display:grid!important}
#plb30-viewer #viewport .design-tools-trigger{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
#plb30-viewer #viewport .scene-bottom-bar{opacity:1!important}
#plb30-viewer #viewport .scene-bottom-bar :is(button,a){pointer-events:auto!important}
@media(max-width:760px){
 #plb30-viewer.mobile-controls-active{--mode-height:116px}
 #plb30-viewer.mobile-controls-active[data-control-mode=professional]{--mode-height:116px}
 #plb30-viewer.mobile-controls-active .layout{min-height:560px!important;grid-template-rows:minmax(240px,1fr) calc(116px + var(--mode-height))!important}
 #plb30-viewer.mobile-controls-active #fixture-panel{height:calc(116px + var(--mode-height))!important}
 #plb30-viewer.mobile-controls-active .control-mode-bar{height:var(--mode-height);flex:none}
 #plb30-viewer.mobile-controls-active .normal-layout-control{white-space:nowrap}
 #plb30-viewer.mobile-controls-active .normal-layout-control select{width:80px;max-width:80px}
 #plb30-viewer.mobile-controls-active .fixture-options-drawer{bottom:calc(116px + var(--mode-height))!important}
 #plb30-viewer.mobile-controls-active[data-control-mode=normal] .fixture-power-dock{grid-template-columns:1fr 1fr!important}
 #plb30-viewer.mobile-controls-active[data-control-mode=normal] .fixture-options-toggle{grid-column:2!important}
 #plb30-viewer.mobile-controls-active[data-control-mode=normal] .view-buttons{display:none!important}
 #plb30-viewer.mobile-controls-active[data-control-mode=normal] .scene-heading{right:14px!important}
}
.experience-loading .loading-message{background:#fffdf6!important;color:#244235!important;border-color:#b5bda7}
.experience-loading .loading-message :is(strong,p){color:#244235!important}
/* 1.38.43 entry screen and visible arrangement controls in both modes. */
#plb30-viewer,main:has(.viewer-entry){position:relative}
[data-entry=pending]>:not(.viewer-entry){visibility:hidden!important;pointer-events:none!important}
.viewer-entry{position:absolute;inset:0;z-index:70;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at top,#315740,#103627 75%);border-radius:14px;color:#f6ecd1;box-sizing:border-box;overflow:auto}
.viewer-entry-card{max-width:650px;width:100%;text-align:center}
.viewer-entry .entry-eyebrow{font:600 11px/1.5 system-ui;letter-spacing:.14em;color:#ddc790;margin:0 0 14px}
.viewer-entry h2{font:600 clamp(24px,3vw,34px)/1.2 system-ui!important;letter-spacing:-.025em!important;color:#f5e7c2!important;margin:0 0 12px!important}
.viewer-entry-card>p:not(.entry-eyebrow){font:14px/1.5 system-ui;color:#dce3d5;margin:0 0 25px}
.viewer-entry-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.viewer-entry-choices button{display:flex;flex-direction:column;gap:12px;align-items:flex-start;text-align:left;min-height:185px;padding:24px;border:1px solid #d1bd8580;border-radius:14px;background:#244d38;color:#f6ecd1;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.viewer-entry-choices button:hover{background:#365d43;border-color:#efd998;transform:translateY(-2px)}
.viewer-entry-choices button:focus-visible{outline:3px solid #f1d591;outline-offset:4px}
.viewer-entry-choices strong{font:650 21px/1.2 system-ui;color:#f5e7c2}
.viewer-entry-choices span{font:13px/1.6 system-ui;color:#e0e7d8}
.viewer-entry-choices b{font:650 12px/1.5 system-ui;color:#f1d591;margin-top:auto}
.professional-spacing{display:grid;gap:8px;margin:18px 0 8px;padding:12px;border:1px solid #a4b79266;border-radius:9px;color:#f4e8c8;font:12px/1.5 system-ui}
.professional-spacing input{width:100%;accent-color:#dcc58e;min-height:32px}
.professional-spacing output{color:#ead4a1;font-variant-numeric:tabular-nums}
[data-control-mode=normal] .professional-spacing{display:none!important}
#plb30-viewer .scenery-select-row{display:grid!important;gap:8px;color:#efe3bf;font:12px/1.5 system-ui}
#plb30-viewer .scenery-select-row[hidden]{display:none!important}
#plb30-viewer .scenery-select-row select{min-height:44px;width:100%;background:#244936;color:#f7ecd1;border:1px solid #849476;border-radius:8px;padding:8px;font:12px system-ui}
#plb30-viewer #viewport[data-backdrop=scenery][data-daylight=night] .scene-heading :is(h1,.eyebrow,.scene-sub,#finish-label){color:#f2dfb3!important;text-shadow:0 1px 4px #001a13!important}
@media(max-width:760px){.viewer-entry{padding:20px}.viewer-entry-choices{grid-template-columns:1fr;gap:12px}.viewer-entry-choices button{min-height:140px;padding:18px;gap:8px}.viewer-entry-card>p:not(.entry-eyebrow){margin-bottom:18px}.viewer-entry-choices strong{font-size:19px}}
@media(prefers-reduced-motion:reduce){.viewer-entry-choices button{transition:none;transform:none!important}}
#plb30-viewer #viewport[data-backdrop=scenery] .scene-heading :is(h1,.eyebrow,.scene-sub,#finish-label){color:#f4e4bc!important;text-shadow:0 1px 3px #08271e,0 0 12px #08271e!important}
#plb30-viewer #viewport[data-backdrop=scenery] .scene-heading{background:linear-gradient(90deg,#12392bce,#12392b55 70%,transparent);border-radius:9px;padding:10px 12px}
/* 1.38.43: real product preview, measured-work preparation progress and gentle transitions. */
.viewer-entry{transition:opacity .65s ease,transform .65s ease}
.viewer-entry.leaving{opacity:0;transform:translateY(-5px);pointer-events:none}
[data-entry=opening]>.layout{animation:abba-enter-view .65s ease both}
@keyframes abba-enter-view{from{opacity:0}to{opacity:1}}
.viewer-entry-card{max-width:880px}
.viewer-entry h2{font-size:clamp(22px,2.6vw,32px)!important}
.entry-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}
.entry-visual{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:14px;overflow:hidden;background:#f4f1e8;color:#244235}
.entry-preview{width:100%;height:235px;display:block;opacity:0;transition:opacity .8s ease}
.entry-preview.visible{opacity:1}
.entry-placeholder{position:absolute;inset:0 0 80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#38513e;font:13px system-ui}
.entry-placeholder[hidden]{display:none}
.entry-orbit{display:block;width:44px;height:44px;border:2px solid #b2bea9;border-top-color:#49674c;border-radius:50%;animation:abba-orbit 2s linear infinite}
@keyframes abba-orbit{to{transform:rotate(360deg)}}
.entry-preview-caption{font:11px/1.4 system-ui;color:#50664f;margin:8px 10px;text-align:center}
.entry-progress{padding:8px 16px 16px;margin-top:auto}
.entry-progress-text{display:flex;justify-content:space-between;gap:12px;font:12px/1.4 system-ui;text-align:left;margin-bottom:8px;color:#244235;font-variant-numeric:tabular-nums}
.entry-progress-track{height:6px;background:#c4cdbb;border-radius:9px;overflow:hidden}
.entry-progress-track span{display:block;height:100%;width:0;background:#55734b;border-radius:inherit;transition:width .45s ease}
.entry-body .viewer-entry-choices{grid-template-columns:1fr;gap:12px}
.entry-body .viewer-entry-choices button{min-height:140px;padding:18px;gap:10px}
.entry-body .viewer-entry-choices button[aria-pressed=true]{border-color:#f5d996;box-shadow:inset 0 0 0 1px #f5d996}
.entry-visual model-viewer{height:235px!important;min-height:0!important}
.entry-visual model-viewer :is(#controls,#ar-button,.experience-tools,.experience-loading){display:none!important}
.loading-complete{opacity:0;pointer-events:none;transition:opacity .65s ease}
.loading-progress>span{transition:width .45s ease}
.scenery-load-status{font:11px/1.4 system-ui;color:#dfd0a9}
@media(max-width:760px){.viewer-entry{padding:16px}.entry-body{grid-template-columns:1fr;gap:12px}.entry-preview,.entry-visual model-viewer{height:190px!important}.entry-preview-caption{font-size:10px;margin:5px}.entry-progress{padding:5px 12px 12px}.entry-body .viewer-entry-choices{grid-template-columns:1fr 1fr;gap:10px}.entry-body .viewer-entry-choices button{min-height:148px;padding:12px;gap:8px}.entry-body .viewer-entry-choices strong{font-size:16px}.entry-body .viewer-entry-choices span{font-size:11px;line-height:1.45}.viewer-entry .entry-eyebrow{font-size:9px;margin-bottom:8px}.viewer-entry-card>p:not(.entry-eyebrow){font-size:12px;margin-bottom:14px}.viewer-entry h2{font-size:22px!important}}
@media(prefers-reduced-motion:reduce){.viewer-entry,.entry-preview,.entry-progress-track span,.loading-complete{transition:none!important;transform:none!important}.entry-orbit,[data-entry=opening]>.layout{animation:none!important}}

/* 1.38.43: scenic welcome with readable foreground and restrained movement. */
.viewer-entry{isolation:isolate;background:#123b2c}
.entry-scenery{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:linear-gradient(135deg,#264f3a,#102b27)}
.entry-scenery img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;opacity:0;transition:opacity 2.6s ease;filter:blur(2px);animation:abba-scenic-drift 28s ease-in-out infinite alternate}
.entry-scenery img.shown{opacity:1}
.viewer-entry:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#072c24de,#103c2aca 45%,#173124e8)}
.viewer-entry-card{position:relative;z-index:1}
.viewer-entry-choices button{background:#183f30ec;backdrop-filter:blur(8px)}
.viewer-entry .entry-visual{box-shadow:0 12px 40px #061e2329}
.entry-preview,.entry-visual model-viewer{height:260px!important}
.entry-placeholder:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 35% 40%,#d5dfca80,transparent 60%);animation:abba-loading-breathe 4s ease-in-out infinite alternate}
@keyframes abba-scenic-drift{from{transform:scale(1) translateX(-.5%)}to{transform:scale(1.07) translateX(.5%)}}
@keyframes abba-loading-breathe{from{opacity:.25;transform:scale(.95)}to{opacity:.8;transform:scale(1.05)}}
@media(max-width:760px){.entry-preview,.entry-visual model-viewer{height:210px!important}}
@media(prefers-reduced-motion:reduce){.entry-scenery img,.entry-placeholder:before{animation:none!important;transition:none!important}}

/* Guided welcome details and real catalog finish selectors. */
.entry-visual.has-entry-tour .entry-preview{height:205px!important}
.entry-tour-copy{padding:8px 14px 0;text-align:left;color:#244235}
.entry-tour-copy>strong{font:650 15px/1.25 system-ui;display:block}
.entry-tour-copy>p{font:12px/1.4 system-ui;margin:5px 0;min-height:34px}
.entry-tour-nav{display:flex;align-items:center;gap:7px;margin:5px 0}
.entry-tour-nav>span{font:11px system-ui;min-width:32px;text-align:center}
.entry-tour-nav>button{min-height:30px;border:1px solid #94a18b;border-radius:7px;background:#e1e6d8;color:#264535;padding:3px 10px;font:12px system-ui;cursor:pointer}
.entry-tour-nav>button:last-child{margin-left:auto}
.entry-finish-swatches{display:flex;flex-wrap:wrap;gap:5px;padding:4px 14px 7px}
.entry-finish-swatches>button{display:flex;align-items:center;gap:5px;font:11px/1.2 system-ui;color:#264535;background:#e5e8de;border:1px solid #a2ad98;border-radius:20px;min-height:30px;padding:5px 8px;cursor:pointer;transition:background .4s,box-shadow .4s}
.entry-finish-swatches>button[aria-pressed=true]{background:#cfdbbc;border-color:#57764b;box-shadow:0 0 0 1px #57764b}
.entry-finish-swatches i{width:13px;height:13px;border-radius:50%;border:1px solid #8a927b;box-shadow:inset 2px 2px 4px #ffffff55}
.entry-visual.has-entry-tour .entry-progress{padding:5px 14px 12px}
.entry-visual.has-entry-tour .entry-placeholder{bottom:140px}
.entry-tour-copy button:focus-visible,.entry-finish-swatches button:focus-visible{outline:3px solid #617c49;outline-offset:2px}
@media(max-width:760px){.entry-visual.has-entry-tour .entry-preview{height:175px!important}.entry-tour-copy{padding-top:5px}.entry-tour-copy>p{font-size:11px;min-height:30px}.entry-body .viewer-entry-choices button{min-height:130px}.viewer-entry{place-items:safe center}.entry-tour-nav>button{min-height:34px}}

/* Opt-in essential head aiming stays available in both control modes. */
[data-control-mode=normal] .aim-control.simple-aim,
#plb30-viewer[data-control-mode=normal] .aim-control.simple-aim{display:block!important}
.aim-control.simple-aim{margin:10px 0;padding:12px}
.simple-aim-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.simple-aim-actions button{min-height:44px!important;padding:8px 5px!important;margin:0!important;border:1px solid #bba971!important;border-radius:8px!important;background:#244b37!important;color:#f0dfad!important;font:600 12px/1.25 system-ui!important;cursor:pointer}
.simple-aim-actions button:focus-visible{outline:3px solid #ecd590;outline-offset:2px}
[data-control-mode=normal] .simple-aim .spotlight-layout-shortcut{display:none!important}

/* Essential hood adjustments explicitly enabled by model metadata. */
[data-control-mode=normal] .aim-control.simple-joint,
#plb30-viewer[data-control-mode=normal] .aim-control.simple-joint{display:block!important}
