@media (max-width: 768px) {
    .title {
        margin-top: 40px;
        font-size: 48px;
        letter-spacing: 4px;
        padding: 0 20px;
    }
    
    .button-container {
        gap: 16px;
        padding: 30px 20px;
    }
    
    .nav-button {
        padding: 16px 32px;
        font-size: 16px;
        letter-spacing: 2px;
    }
    
    .stats-box {
        padding: 30px 24px;
        gap: 20px;
    }
    
    .username-input {
        padding: 14px 18px;
        font-size: 15px;
    }
    
    .search-button {
        padding: 16px 32px;
        font-size: 16px;
        letter-spacing: 2px;
    }
    
    .results-box {
        padding: 30px 24px;
    }
    
    .results-header {
        margin-bottom: 24px;
        padding-bottom: 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
    
    .header-actions {
        width: 100%;
        justify-content: space-between;
    }
    
    .new-search-btn {
        padding: 6px 12px;
        font-size: 11px;
    }
    
    .selected-username {
        font-size: 18px;
        letter-spacing: 1.5px;
    }
    
    .user-switch-buttons {
        align-self: flex-end;
    }
    
    .user-switch-btn {
        padding: 6px 12px;
        font-size: 11px;
    }
    
    .chart-wrapper {
        height: 280px;
    }
    
    .time-range-btn {
        padding: 6px 12px;
        font-size: 11px;
    }
    
    .track-button {
        padding: 16px 32px;
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .title {
        font-size: 36px;
        letter-spacing: 3px;
    }
    
    .nav-button {
        padding: 14px 24px;
        font-size: 14px;
    }
    
    .stats-box {
        padding: 24px 20px;
        gap: 16px;
    }
    
    .username-input {
        padding: 12px 16px;
        font-size: 14px;
    }
    
    .search-button {
        padding: 14px 24px;
        font-size: 14px;
    }
    
    .results-box {
        padding: 24px 20px;
    }
    
    .results-header {
        margin-bottom: 20px;
        padding-bottom: 14px;
        gap: 12px;
    }
    
    .new-search-btn {
        padding: 6px 10px;
        font-size: 10px;
    }
    
    .selected-username {
        font-size: 16px;
        letter-spacing: 1px;
    }
    
    .user-switch-btn {
        padding: 6px 10px;
        font-size: 10px;
    }
    
    .chart-wrapper {
        height: 250px;
    }
    
    .time-range-btn {
        padding: 6px 10px;
        font-size: 10px;
    }
    
    .track-button {
        padding: 14px 24px;
        font-size: 14px;
    }
}

/* Touch device optimizations */
@media (hover: none) and (pointer: coarse) {
    .nav-button:hover {
        background: rgba(255, 255, 255, 0.03);
        border-color: rgba(255, 255, 255, 0.15);
        transform: none;
    }
    
    .nav-button:active {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .clickable-title:hover {
        transform: none;
    }
    
    .search-button:hover {
        background: rgba(102, 102, 102, 0.03);
        border-color: rgba(255, 255, 255, 0.15);
        transform: none;
    }
    
    .search-button:active {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .user-switch-btn:hover {
        background: rgba(0, 0, 0, 0.3);
        border-color: rgba(255, 255, 255, 0.15);
        color: rgba(255, 255, 255, 0.7);
    }
    
    .user-switch-btn:active {
        background: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .time-range-btn:hover {
        background: rgba(0, 0, 0, 0.3);
        border-color: rgba(255, 255, 255, 0.15);
        color: rgba(255, 255, 255, 0.7);
    }
    
    .time-range-btn:active {
        background: rgba(255, 255, 255, 0.15);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .track-button:hover {
        background: rgba(102, 102, 102, 0.03);
        border-color: rgba(255, 255, 255, 0.15);
        transform: none;
    }
    
    .track-button:active {
        background: rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.4);
    }
    
    .chart-wrapper {
        height: 250px;
    }
    
    .new-search-btn:hover {
        background: rgba(100, 150, 255, 0.2);
        border-color: rgba(100, 150, 255, 0.4);
        transform: none;
    }
    
    .new-search-btn:active {
        background: rgba(100, 150, 255, 0.3);
        border-color: rgba(100, 150, 255, 0.5);
    }
}