/* Opt-in component surfaces. No generic button, tablist or navigation geometry rules. */
.pz-motion-progress-fill {transform-origin:left center;transition:transform 200ms var(--poz-response,cubic-bezier(.23,1,.32,1))}
.pz-motion-selected {box-shadow:inset 0 0 0 2px var(--pz-motion-accent,#0071e3)}
.pz-motion-summary-value {position:relative;isolation:isolate}
.pz-motion-summary-value::after {content:"";position:absolute;inset:-2px -4px;border-radius:5px;background:var(--pz-motion-accent,#0071e3);opacity:0;pointer-events:none;z-index:-1}
.pz-motion-summary-value.pz-motion-changed::after {animation:pz-value-flash 500ms ease-out}
@keyframes pz-value-flash {from{opacity:.13}to{opacity:0}}
.pz-motion-media {position:relative}
.pz-motion-image-ghost {position:absolute!important;pointer-events:none!important;margin:0!important;max-width:none!important;z-index:1}
.pz-motion-viewer-ghost {position:fixed!important;pointer-events:none!important;margin:0!important;max-width:none!important;object-fit:contain;transform-origin:top left;z-index:2147483000}
.pz-motion-detail {position:fixed;inset:auto;margin:0;box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #dedee3;border-radius:20px;background:#fff;color:#1d1d1f;box-shadow:0 12px 40px #0002;font:400 15px/1.5 system-ui,sans-serif}
.pz-motion-detail h3 {margin:0 0 8px;font-size:20px;line-height:1.2;letter-spacing:-.02em}
.pz-motion-detail p {margin:0}
[data-pz-submission="pending"] {cursor:progress}
@media(prefers-reduced-motion:reduce){.pz-motion-progress-fill{transition:none}.pz-motion-summary-value.pz-motion-changed::after{animation:none}}
@media(forced-colors:active){.pz-motion-selected{outline:2px solid Highlight}.pz-motion-summary-value::after{display:none}}

html[data-pz-premium-input="keyboard"] .pz-motion-progress-fill {transition:none}
html[data-pz-premium-input="keyboard"] .pz-motion-summary-value::after {animation:none!important}

/* Only the measured TM440 product study owns this positioned detail control. */
#px-platforms .study-image-space .pz-motion-hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid #d2d2d7;border-radius:50%;background:#fff;color:#0071e3;box-shadow:0 3px 14px #0002;font:400 28px/1 system-ui;transition:background-color 160ms,color 160ms,box-shadow 160ms;cursor:pointer}
#px-platforms .study-image-space .pz-motion-hotspot:hover{background:#0071e3;color:#fff;box-shadow:0 4px 18px #0071e333;transform:translate(-50%,-50%)}
#px-platforms .study-image-space .pz-motion-hotspot[hidden]{display:none}
.pz-motion-hotspot:focus-visible,.pz-motion-detail-close:focus-visible{outline:3px solid #0071e3;outline-offset:4px}
.pz-motion-detail p+p{margin-top:12px;font-weight:600}
.pz-motion-detail-close{margin-top:20px;padding:8px 16px;min-height:44px;border:1px solid #d2d2d7;border-radius:24px;background:#fff;color:#1d1d1f;font:inherit;cursor:pointer}

[data-pz-feedback="pending"]::before{content:"";display:inline-block;vertical-align:-2px;width:14px;height:14px;box-sizing:border-box;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pz-request-progress 800ms linear infinite}
@keyframes pz-request-progress{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){[data-pz-feedback="pending"]::before{animation:none}}

/* Keep the legacy placement hint below the model, clear of the header and tools. */
#planer .poz-plan__scene .poz-2dhint{top:auto;right:auto;bottom:72px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);box-sizing:border-box;flex-wrap:wrap;justify-content:center;animation:pz-hint-in 160ms ease-out}
#planer .poz-plan__scene .poz-2dhint.is-out{transform:translateX(-50%);transition:opacity 160ms}
#planer .poz-2dhint__arr{display:none}
#planer .poz-plan__scene:not(.is-3d) .poz-2dhint,#planer:has([data-wizard]:not([hidden])) .poz-2dhint{display:none}
@keyframes pz-hint-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#planer .poz-plan__scene .poz-2dhint{animation:none;transition:none}}
