/* Compact optional tools; primary lighting controls retain their position. */
#plb30-viewer .design-tools-trigger{position:absolute;right:14px;top:15px;z-index:8;border:1px solid #d8c58d88;border-radius:10px;background:#193f32ee;color:#f4e5bf;padding:10px 13px;min-height:44px;font:600 13px/1.3 system-ui;cursor:pointer;box-shadow:0 3px 12px #0002;transition:transform .2s,background .2s}
#plb30-viewer .scene-heading{right:145px!important}
.design-tools-trigger:hover{transform:translateY(-1px);background:#315b48!important}
#plb30-viewer .design-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100% - 24px);margin:auto;padding:22px;overflow:auto;border:1px solid #d5c28e;border-radius:18px;background:linear-gradient(145deg,#2b5442,#163b2d);color:#fff;box-shadow:0 22px 70px #0007;font:14px/1.55 system-ui}
.design-dialog::backdrop{background:#071c15b8;backdrop-filter:blur(3px)}
.design-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.design-eyebrow{color:#ebd9a9;font-size:11px;letter-spacing:.10em;text-transform:uppercase}
.design-dialog h2{font-size:28px;letter-spacing:-.04em;margin:12px 0 4px}.design-dialog h3{font-size:18px;margin:18px 0 8px}.design-dialog h4{margin:0;font-size:16px}.design-intro{margin:0 0 18px;color:#f1f5ed}
.design-dialog button,.design-dialog select,.design-marker-copy button{font:600 13px/1.4 system-ui;min-height:44px;padding:10px 12px;border:1px solid #a5b79c80;border-radius:9px;background:#143a2b;color:#fff;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.design-dialog button:hover{background:#46634a;border-color:#eddaad}.design-dialog button:active{transform:scale(.98)}.design-dialog button:disabled{opacity:.45;cursor:default!important}
.design-tabs{display:flex;gap:4px;flex-wrap:wrap;padding:4px;border-radius:11px;background:#102f24}
.design-tabs button{flex:1 1 auto;border:0;background:transparent;padding:9px 8px}.design-tabs button[aria-selected=true]{background:#e3d1a4;color:#173c30}
.design-compare-cards,.design-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.design-compare-card{border:1px solid #a8b69a66;border-radius:12px;padding:14px;background:#ffffff05}.design-compare-card p{min-height:64px;overflow-wrap:anywhere}.design-compare-card button{width:100%}
.design-section>button{margin:5px 5px 5px 0}.design-section>label{display:grid;gap:8px;margin:16px 0}.design-section input[type=range]{width:100%;accent-color:#e3d1a4}.design-section output{color:#efdaa9;font-variant-numeric:tabular-nums}.design-footnote{font-size:12px;color:#e4eddf;line-height:1.6}
.design-notice{min-height:22px;margin:14px 0 0;color:#f7dfa3;font-size:13px}.design-link{width:100%;min-height:84px;background:#102f24;color:white;border:1px solid #c4b081;border-radius:8px;padding:8px;font-size:12px}
.design-compare-dock{position:absolute;right:14px;top:67px;z-index:8;display:flex;gap:4px;background:#153e30ec;border:1px solid #c6cfbd50;padding:4px;border-radius:9px}.design-compare-dock button{min-height:36px;border:0;border-radius:6px;background:transparent;color:#fff;padding:7px 12px;font:600 12px system-ui;cursor:pointer}.design-compare-dock button[aria-pressed=true]{background:#e3d1a4;color:#173c30}
.design-markers{position:absolute;inset:0;z-index:5;pointer-events:none}.design-markers button{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border:2px solid #fff1ca;border-radius:50%;background:#254e3e;color:#fff;font:700 14px system-ui;pointer-events:auto;cursor:pointer;box-shadow:0 0 0 5px #e3d1a422}
.design-marker-copy{position:absolute;top:115px;left:14px;z-index:9;max-width:280px;width:calc(100% - 28px);border:1px solid #d5c28e;border-radius:10px;background:#173c30f5;color:white;padding:14px;font:13px/1.5 system-ui}.design-marker-copy strong{color:#efdaa9}.design-marker-copy p{margin:7px 0 12px}
@media(max-width:760px){#plb30-viewer .design-tools-trigger{top:10px;right:10px;max-width:112px;font-size:12px;padding:8px 10px}#plb30-viewer .scene-heading{right:130px!important}.design-compare-dock{top:60px;right:10px}#plb30-viewer .design-dialog{padding:16px}.design-marker-copy{top:88px;max-width:230px;max-height:150px;overflow:auto}.design-tabs button{font-size:12px}}
@media(max-width:420px){.design-compare-cards,.design-action-grid{grid-template-columns:1fr}.design-compare-card p{min-height:0}.design-tabs button{flex-basis:40%}}
@media(prefers-reduced-motion:reduce){.design-dialog *,#plb30-viewer .design-tools-trigger{transition:none!important;transform:none!important}}

/* 1.38.29: keep the model unobstructed until the desktop pointer enters the scene.
   Opacity preserves keyboard tab access; focus-visible reveals the controls.
   Touch screens keep the normal visible controls. */
@media (hover:hover) and (pointer:fine) {
 #plb30-viewer #viewport :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock) {
  opacity:0;
  transition:opacity .22s ease;
 }
 #plb30-viewer #viewport :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock),
 #plb30-viewer #viewport :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock) * {
  pointer-events:none!important;
 }
 #plb30-viewer #viewport:hover :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock),
 #plb30-viewer #viewport:has(:focus-visible) :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock) {
  opacity:1;
 }
 #plb30-viewer #viewport:hover :is(.design-tools-trigger,.scene-bottom-bar button,.scene-bottom-bar a,.design-compare-dock button),
 #plb30-viewer #viewport:has(:focus-visible) :is(.design-tools-trigger,.scene-bottom-bar button,.scene-bottom-bar a,.design-compare-dock button) {
  pointer-events:auto!important;
 }
}
@media (prefers-reduced-motion:reduce) {
 #plb30-viewer #viewport :is(.scene-bottom-bar,.design-tools-trigger,.design-compare-dock) {transition:none!important}
}

/* 1.38.29: optional spotlight targets, within the existing Environment panel. */
.spotlight-targets {border-top:1px solid #bda87355;padding-top:12px;margin-top:12px;color:#fff}
.spotlight-targets summary {font-weight:700;color:#e4d8b5;cursor:pointer;padding:8px 0}
.spotlight-targets p {font-size:12px!important;line-height:1.5;color:#e6ede8!important;margin:8px 0}
.spotlight-targets label {display:block;margin:12px 0;font-size:13px;color:#fff}
.spotlight-targets select {width:100%;min-height:42px;margin-top:7px;background:#284839;color:#fff;border:1px solid #bda87380;border-radius:7px;padding:8px}
.spotlight-targets .target-size-field {display:grid;grid-template-columns:1fr auto;gap:8px}
.spotlight-targets output {color:#e4d8b5;font-variant-numeric:tabular-nums}
.spotlight-targets input[type=range] {grid-column:1/-1;width:100%;min-height:30px;accent-color:#d6c28d}
.spotlight-targets input[type=color] {display:block;width:100%;height:38px;border:1px solid #bda87380;border-radius:6px;background:#284839;margin-top:7px}
.spotlight-targets .target-actions {display:grid;gap:8px}
.spotlight-targets button {min-height:42px;padding:9px 12px;border-radius:7px;border:1px solid #bda87380;background:#284839;color:#fff;cursor:pointer}
.spotlight-targets button:first-child {background:#dfd3ab;color:#122d23}
.spotlight-targets [hidden] {display:none!important}
