/* Mobile-First Touch Optimizations */
@media (hover: none) and (pointer: coarse) {
    /* Touch device optimizations */
    .btn-primary, .btn-secondary, .btn-tertiary, .btn-submit, .reaction-btn {
        min-height: 48px;
        font-size: 1rem;
        padding: 12px 20px;
    }
    
    .form-group input, .form-group textarea {
        font-size: 16px; /* Prevent zoom on iOS */
        min-height: 48px;
    }
    
    .memory-card, .promise, .message-card {
        min-height: 48px;
        padding: 16px;
    }
    
    .reaction-btn {
        min-height: 60px;
    }
}

/* High DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .main-title, .subtitle {
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    .floating-hearts .fas {
        animation: none;
    }
    
    .background-animation {
        animation: none;
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .letter-container {
        background: #1a1a1a;
        color: #e0e0e0;
        border: 1px solid #333;
    }
    
    .memory-card, .promise, .recent-messages, .add-message-form {
        background: #1a1a1a;
        color: #e0e0e0;
        border: 1px solid #333;
    }
    
    .form-group input, .form-group textarea {
        background: #2a2a2a;
        border-color: #444;
        color: #e0e0e0;
    }
    
    .form-group input:focus, .form-group textarea:focus {
        border-color: #ff6b6b;
        background: #2a2a2a;
    }
}