/* Shared camera affordances; module styles own the scene and theme surfaces. */
.sys-scene-viewport { position: relative; overflow: hidden; cursor: grab; isolation: isolate; }
.sys-scene-viewport.is-panning { cursor: grabbing; user-select: none; }
.sys-scene-viewport:focus-visible { outline: 2px solid var(--sysdash-accent, #3c8dbc); outline-offset: -3px; }
.sys-scene-viewport [data-scene-ui] { cursor: default; touch-action: manipulation; }
.sys-scene-viewport :is(button, a, [role="button"]) { cursor: pointer; }
.sys-scene-viewport [data-scene-label-hidden=true]:not(:focus-visible){opacity:0!important;pointer-events:none!important}
.sys-scene-viewport [data-scene-label-hidden=true]:focus-visible{opacity:1!important;pointer-events:auto!important}
@media (prefers-reduced-motion: reduce) {
    .sys-scene-viewport *, .sys-scene-viewport *::before, .sys-scene-viewport *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}
