.touch-feedback{-webkit-tap-highlight-color:rgba(59,130,246,.1);transition:background-color .15s ease}.touch-feedback:active{background-color:rgba(59,130,246,.05)}.touch-target{min-height:44px;min-width:44px;padding:8px}.mobile-heading{font-size:1.5rem;font-weight:700;line-height:1.2;letter-spacing:-.025em}.mobile-subheading{font-size:1rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}.mobile-body{font-size:.875rem;font-weight:400;line-height:1.5}.mobile-caption{font-size:.75rem;font-weight:400;line-height:1.4;opacity:.8}.mobile-container{padding-left:1rem;padding-right:1rem;max-width:100vw}.mobile-safe-area{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.mobile-card{background:#fff;border-radius:12px;padding:1rem;box-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);border:1px solid #e5e7eb;transition:all .2s ease}.mobile-card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);border-color:#d1d5db}.mobile-tab-active{background-color:rgba(59,130,246,.1);border-bottom:2px solid #3b82f6;color:#3b82f6}.mobile-tab-inactive{color:#6b7280;border-bottom:2px solid transparent}.mobile-input{font-size:16px;padding:12px 16px;border-radius:8px;border:1px solid #d1d5db}.mobile-button{font-size:16px;padding:12px 24px;border-radius:8px;min-height:44px;font-weight:600;transition:all .2s ease}.mobile-button:active{transform:scale(.98)}@media (max-width:768px){.mobile-hide{display:none}.mobile-show{display:block}.mobile-grid{grid-template-columns:1fr;gap:1rem}.mobile-stack{flex-direction:column;gap:.5rem}}@supports (-webkit-touch-callout:none){.mobile-input{border-radius:8px}.mobile-button,.mobile-input{-webkit-appearance:none}}@media (prefers-color-scheme:dark){.mobile-card{background:#1f2937;border-color:#374151;color:#f9fafb}.mobile-card:hover{border-color:#4b5563}.mobile-input{background:#1f2937;border-color:#374151;color:#f9fafb}.touch-feedback:active{background-color:rgba(59,130,246,.1)}}.mobile-fade-in{animation:mobileSlideUp .3s ease-out}@keyframes mobileSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.mobile-button,.mobile-card,.touch-feedback{transition:none}.mobile-fade-in{animation:none}}@media (prefers-contrast:high){.mobile-button,.mobile-card{border-width:2px}}