@charset "utf-8";

/* ============================================================
   移动端适配
   ============================================================ */

/* 平板 */
@media (max-width: 640px) {
    .app-wrap { padding: 0 10px 60px; }

    .main-img img { width: 70px; height: 70px; }
    .logo-ring { width: 82px; height: 82px; }
    span.img-title { font-size: 2.5rem; }
    span.img-text { font-size: 1.1rem; }

    .status-strip { padding: 12px 14px; }
    .status-text { font-size: 0.88rem; }
    .status-meta { font-size: 0.72rem; }

    .action-bar { gap: 4px; }
    .action-btn { font-size: 0.75rem; height: 34px; }

    .calendar-wrap { padding: 14px 10px 12px; }
    .cal-month { font-size: 1rem; }
    .day-num { font-size: 0.7rem; }
    .day-info { font-size: 0.45rem; }
    .day-time { display: none; }

    .legend { gap: 12px; padding: 8px 0; }

    .modal { align-items: flex-end; padding: 0; }
    .modal-box {
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
        max-height: 80vh;
    }
    .modal-box--wide,
    .modal-box--sm { max-width: 100%; border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
}

/* 极小屏 */
@media (max-width: 380px) {
    .app-wrap { padding: 0 6px 50px; }
    .logo-ring { width: 70px; height: 70px; }
    .main-img img { width: 58px; height: 58px; }
    span.img-title { font-size: 2rem; }
    span.img-text { font-size: 0.9rem; }
    .day-info { font-size: 0.4rem; }
    .cal-month { font-size: 0.85rem; }
}

/* 横屏 */
@media (max-height: 480px) and (orientation: landscape) {
    .topbar { padding: 8px 0; }
    .status-strip { padding: 8px 12px; margin-bottom: 6px; }
    .action-bar { margin-bottom: 6px; }
    .calendar-wrap { padding: 10px 8px 8px; }
}

/* PC 大屏居中感 */
@media (min-width: 768px) {
    .app-wrap { padding-top: 20px; }
}
