/* ================================================================
   SNAP — drag-to-edge window snapping preview (modules/snap.js)
   --------------------------------------------------------------
   Overlay element only; the snap geometry itself is applied inline
   by snap.js. z=950: above all windows (os.js zCounter is capped at
   900, see CLAUDE.md layer-map), below menubar/dock (1000).
   Mobile kill-switch lives in responsive.css
   (≤767px: .snap-preview { display: none !important }).
   ================================================================ */
.snap-preview {
    position: fixed;
    z-index: 950;
    background: var(--byte-primary-soft);
    border: 1px solid var(--byte-primary);
    border-radius: var(--byte-r-lg);
    box-sizing: border-box;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
}
.snap-preview.is-visible {
    opacity: 1;
    visibility: visible;
}
/* PRM-gated fade — reduced motion gets instant show/hide instead. */
@media (prefers-reduced-motion: no-preference) {
    .snap-preview {
        transition: opacity 140ms cubic-bezier(0.4, 0, 0.2, 1),
                    visibility 140ms;
    }
}
