.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}@media (max-width:640px){.responsive-card{padding:1rem;border-radius:1rem}.responsive-grid{grid-template-columns:1fr!important}.responsive-heading{font-size:1.375rem;line-height:1.75rem;letter-spacing:-.02em}.responsive-btn{width:100%;min-height:44px}.hide-mobile{display:none!important}}@media (max-width:768px){.responsive-page{padding-left:1rem;padding-right:1rem}}@media (min-width:641px){.show-mobile-only{display:none!important}}.tap-target{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center}@media (pointer:coarse){.interactive{min-height:44px;padding-top:.5rem;padding-bottom:.5rem}.interactive-list>*+*{margin-top:.375rem}input[type=email],input[type=password],input[type=search],input[type=text],select,textarea{min-height:44px}}.touch-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.touch-scroll-x::-webkit-scrollbar{display:none}.touch-scroll-x>*{scroll-snap-align:start}.touch-scroll-y{overscroll-behavior-y:contain}.bottom-sheet,.touch-scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;z-index:50;border-radius:1.25rem 1.25rem 0 0;max-height:90vh;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1);padding-bottom:env(safe-area-inset-bottom)}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet-handle{width:2.5rem;height:.25rem;border-radius:9999px;background-color:hsl(var(--muted-foreground)/.25);margin:.625rem auto .875rem}.press-feedback{transition:transform .12s ease,opacity .12s ease;-webkit-tap-highlight-color:transparent}.press-feedback:active{transform:scale(.96);opacity:.85}.swipeable{touch-action:pan-y;user-select:none;-webkit-user-select:none}.pull-refresh{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}@media (max-width:640px){p{line-height:1.65}.text-xs{font-size:.75rem;line-height:1.4}}