* { overscroll-behavior: none; } /* Keep app chrome non-selectable so iOS long-press doesn't open the edit menu (AutoFill/Copy/Siri). Inputs and opted-in regions stay selectable. */ body { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; } input, textarea, [contenteditable="true"], [contenteditable=""], [data-selectable], [data-selectable] * { -webkit-touch-callout: default; -webkit-user-select: text; user-select: text; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .app { transition: transform 500ms cubic-bezier(0.32, 0.72, 0, 1), border-radius 500ms cubic-bezier(0.32, 0.72, 0, 1); transform: scale(1) translateY(0); border-radius: 0; will-change: transform; } .app.drawer-scaling, [data-drawer-level].drawer-scaling { transform: scale(0.94) translateY(-8px); border-radius: 12px; overflow: hidden; } [data-drawer-level="2"].drawer-scaling { transform: scale(0.92) translateY(-6px); } [data-drawer-level="3"].drawer-scaling { transform: scale(0.90) translateY(-4px); } @media (prefers-reduced-motion: reduce) { .app, [data-drawer-level] { transition: none; } .app.drawer-scaling, [data-drawer-level].drawer-scaling { transform: none; border-radius: 0; } [data-vaul-drawer], [data-vaul-overlay] { animation: none !important; transition: none !important; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(0deg); } } }