/* LLM Studio - Responsive Media Queries */

/* Tablet & Smaller Screens (<= 1024px) */
@media (max-width: 1024px) {
    .chat-scroll-inner {
        max-width: 760px;
        padding-left: 20px;
        padding-right: 20px;
    }
    .input-dock {
        max-width: 720px;
    }
}

/* Mobile & Small Tablets (<= 768px) */
@media (max-width: 768px) {
    .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100vh;
        height: 100dvh;
        width: 285px;
        max-width: 85vw;
        z-index: 25;
        box-shadow: var(--shadow-lg);
        transform: translateX(-100%) !important;
        margin-left: 0 !important;
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    
    .sidebar:not(.collapsed) {
        transform: translateX(0) !important;
    }
    
    .sidebar.collapsed {
        transform: translateX(-100%) !important;
    }

    .close-sidebar-btn {
        display: flex !important;
        margin-left: auto;
    }

    .top-header {
        height: 56px;
        padding: 0 12px;
    }

    .header-left, .header-right {
        gap: 10px;
    }

    .model-select {
        max-width: 180px;
        font-size: 14px;
    }

    .chat-scroll-inner {
        padding: 16px 12px 115px 12px;
        gap: 20px;
    }
    
    .welcome-screen {
        padding: 16px 0;
        gap: 16px;
    }

    .hero-avatar {
        width: 52px;
        height: 52px;
        font-size: 22px;
        border-radius: 16px;
    }

    .welcome-screen h1 {
        font-size: 22px;
    }

    .welcome-screen p {
        font-size: 13.5px;
    }

    .quick-prompts-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .prompt-chip {
        padding: 12px 14px;
        gap: 12px;
    }

    .chip-icon {
        width: 32px;
        height: 32px;
        font-size: 14px;
        border-radius: 8px;
    }

    .chip-title {
        font-size: 13px;
    }

    .chip-desc {
        font-size: 11.5px;
    }

    .message-row {
        gap: 10px;
    }

    .avatar {
        width: 32px;
        height: 32px;
        font-size: 13px;
        border-radius: 10px;
    }

    .bubble-wrapper, .user .bubble-wrapper {
        max-width: 100%;
    }

    .user .bubble-wrapper {
        max-width: 92%;
    }

    .bubble {
        font-size: 14px;
        line-height: 1.6;
    }

    .user .bubble {
        padding: 10px 14px;
        border-radius: 16px 16px 4px 16px;
    }

    /* Tables & Math responsive scroll */
    .assistant .bubble table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .code-block-wrapper {
        margin: 10px 0;
        border-radius: var(--radius-sm);
    }

    .code-block-header {
        padding: 6px 12px;
        font-size: 11px;
    }

    .bubble pre {
        padding: 10px 12px;
        font-size: 12.5px;
    }

    .assistant-action-bar {
        flex-wrap: wrap;
        gap: 6px;
    }

    .message-metrics-badge {
        margin-left: 0;
        font-size: 10px;
        padding: 3px 8px;
    }

    /* Floating Input Dock Mobile Optimization */
    .input-area-container {
        padding: 0 12px 12px 12px;
        padding-bottom: max(12px, env(safe-area-inset-bottom, 12px));
    }

    .input-wrapper {
        padding: 8px 10px 8px 14px;
        border-radius: 20px;
    }

    .input-wrapper textarea {
        font-size: 14px;
        max-height: 140px;
    }

    .send-btn, .stop-btn {
        width: 35px;
        height: 35px;
        font-size: 14px;
    }

    .input-footer {
        font-size: 10px;
    }
}

/* Compact Mobile (<= 640px) */
@media (max-width: 640px) {
    .header-left, .header-right {
        gap: 6px;
    }

    .model-select {
        max-width: 135px;
        font-size: 13px;
    }

    .model-quant {
        display: none;
    }

    .metrics-bar {
        gap: 4px;
    }

    .metric-pill {
        padding: 4px 8px;
        font-size: 10.5px;
        border-radius: 14px;
    }

    .metric-label {
        display: none;
    }
}

/* Extra Small Phones (<= 400px) */
@media (max-width: 400px) {
    .metrics-bar {
        display: none;
    }

    .model-select {
        max-width: 120px;
    }

    .top-header {
        padding: 0 8px;
    }

    .chat-scroll-inner {
        padding: 12px 8px 110px 8px;
    }

    .input-area-container {
        padding: 0 6px 8px 6px;
        padding-bottom: max(8px, env(safe-area-inset-bottom, 8px));
    }
}
