/* ============================================
   响应式设计
   ============================================ */

/* 平板及以上 */
@media (min-width: 768px) {
    html {
        font-size: 17px;
    }

    .card {
        padding: var(--space-xl);
    }

    .card-hero {
        padding: var(--space-3xl);
    }

    .stepper-line {
        width: 56px;
    }
}

/* 桌面 */
@media (min-width: 1024px) {
    html {
        font-size: 18px;
    }

    .container {
        max-width: var(--max-form);
    }

    .container-wide {
        max-width: var(--max-showcase);
    }

    .stepper-line {
        width: 72px;
    }
}

/* 小屏手机 */
@media (max-width: 480px) {
    html {
        font-size: 15px;
    }

    .view {
        padding: var(--space-xl) 0;
    }

    .card {
        padding: var(--space-lg);
    }

    .card-hero {
        padding: var(--space-xl) var(--space-lg);
    }

    .btn {
        padding: 10px 20px;
        font-size: 0.9rem;
    }

    .btn-large {
        padding: 14px 28px;
    }

    .stepper-label {
        display: none;
    }

    .stepper-line {
        width: 24px;
    }

    .avatar, .avatar-placeholder {
        width: 90px;
        height: 90px;
    }

    .assessment-scale,
    .assessment-ios-options {
        gap: 3px;
    }

    .assessment-choice,
    .assessment-ios-choice {
        min-height: 54px;
    }

    .assessment-choice-mark {
        width: 32px;
        height: 32px;
    }

    .assessment-scale-endpoints {
        gap: var(--space-sm);
    }

    .assessment-scale-endpoints span {
        max-width: 48%;
    }

    .assessment-scale-endpoints span:last-child {
        text-align: right;
    }

    .study-schedule-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .study-schedule-item {
        min-height: 104px;
    }

    .micro-contact-scale {
        gap: 6px;
    }

    .consent-modal {
        padding: 10px;
    }

    .consent-modal-panel {
        margin: 0 auto;
    }
}

/* 触摸设备：微推送评分在窄屏分两行，避免横向溢出。 */
@media (max-width: 767px) {
    .push-rating {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .push-star {
        width: 100%;
        min-height: 44px;
        height: 44px;
    }

    .chat-input-row {
        align-items: stretch;
    }

    .chat-send-btn {
        min-height: 44px;
    }
}

/* 极窄手机：7 点量表改为 4 + 3 两行，保证每个选项有足够宽度。 */
@media (max-width: 360px) {
    .assessment-scale--7,
    .assessment-ios-options.assessment-scale--7 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .assessment-choice,
    .assessment-ios-choice {
        min-height: 50px;
    }

    .assessment-choice-mark {
        width: 30px;
        height: 30px;
    }

    .micro-contact-choice {
        min-height: 48px;
    }
}

/* 手机横屏或分屏窗口：优先保留可见表单与聊天输入区。 */
@media (orientation: landscape) and (max-height: 640px) {
    .view {
        padding-block: var(--space-md);
    }

    .card {
        padding: var(--space-lg);
        margin-bottom: var(--space-md);
    }

    .chat-panel {
        height: calc(100dvh - 32px);
        min-height: 0;
    }

    .chat-empty-hint {
        padding-block: var(--space-xl);
    }

    .consent-modal-panel {
        margin: 0 auto;
    }
}
