/* ================================================================
   墨阁 · 移动端增强 (v3)
   覆盖 <480px 小屏 + 触屏优化 + 阅读器移动适配
   ================================================================ */

/* ===== 触屏设备：去掉 hover 依赖 ===== */
@media (hover: none) and (pointer: coarse) {
    .nav-link:hover::after,
    .novel-card:hover .novel-cover,
    .btn:hover { transform: none; }
    .novel-card:active { transform: scale(.97); }
    .btn:active { transform: scale(.97); }
}

/* ===== <480px 小屏 ===== */
@media (max-width: 480px) {
    /* 导航 */
    #navbar { padding: 0 .6rem; height: 48px; }
    .logo { font-size: 1.3rem; }
    .logo span { display: none; }
    .nav-icon-btn .nav-text { display: none; }
    .nav-link .nav-text { display: none; }
    .nav-left { gap: .5rem; }
    .nav-right { gap: .4rem; }
    .nav-link { padding: .3rem .4rem; font-size: .8rem; }
    .btn-register { padding: .3rem .6rem; font-size: .8rem; }

    /* Hero */
    .hero { padding: 2rem 1rem; }
    .hero h1 { font-size: 1.8rem; letter-spacing: .1em; }
    .hero p { font-size: .9rem; }
    .hero-divider { width: 60px; margin: .8rem auto; }
    .hero-actions { flex-direction: column; gap: .6rem; }
    .hero-actions .btn { width: 100%; }
    .seal-corner { width: 36px; height: 36px; }

    /* 统计条 */
    .stats-bar { flex-wrap: wrap; gap: 1rem; justify-content: center; }
    .stat-num { font-size: 1.3rem; }
    .stat-label { font-size: .72rem; }

    /* 小说卡片 */
    .novel-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; padding: 0 .5rem; }
    .novel-cover { height: 140px; font-size: .9rem; }
    .novel-title { font-size: .88rem; }
    .novel-meta { font-size: .72rem; }

    /* 小说详情 */
    .novel-detail-header { flex-direction: column; gap: 1rem; }
    .novel-detail-cover { width: 100%; height: 180px; }
    .novel-detail-title { font-size: 1.3rem; }
    .novel-detail-info { padding: 0; }

    /* 阅读器 */
    .reader-content {
        padding: 1rem .8rem;
        font-size: 1.05rem;
        line-height: 1.9;
    }
    .reader-toolbar {
        flex-wrap: wrap;
        gap: .4rem;
        padding: .5rem .8rem;
    }
    .reader-toolbar .btn { font-size: .8rem; padding: .3rem .6rem; }
    .reader-nav { flex-wrap: wrap; gap: .4rem; }
    .reader-nav .btn { flex: 1; min-width: 0; font-size: .85rem; }

    /* 写作页 */
    .write-layout { flex-direction: column; }
    .novel-list-panel { width: 100%; max-height: 200px; }
    .editor-panel { width: 100%; }
    .editor-content {
        min-height: 300px;
        font-size: 1rem;
        padding: 1rem;
    }
    .write-toolbar { flex-wrap: wrap; gap: .4rem; }
    .write-toolbar .btn { font-size: .8rem; }

    /* 表单 */
    .form-card { margin: 1rem .5rem; padding: 1rem; }
    .form-card input, .form-card textarea { font-size: 16px; } /* iOS 自动缩放修复 */

    /* 书架 */
    .shelf-tabs { flex-wrap: wrap; gap: .3rem; }
    .shelf-tab { padding: .3rem .6rem; font-size: .78rem; }
    .shelf-progress { flex-direction: column; align-items: stretch; }

    /* 榜单 */
    .ranking-item { flex-direction: column; align-items: stretch; gap: .3rem; }
    .ranking-rank { font-size: 1.2rem; }

    /* 本周精选 */
    .weekly-banner-list { flex-direction: column; gap: .5rem; }
    .weekly-banner-item { min-width: 0; }

    /* 骰子 */
    .dice-row { flex-wrap: wrap; gap: .5rem; justify-content: center; }
    .die { width: 60px; height: 60px; font-size: 1rem; }
    .dice-page-sub { font-size: .85rem; }

    /* 热力图 */
    .heatmap-grid { overflow-x: auto; }
    .heatmap-cell { width: 8px; height: 8px; }

    /* 章末小报/金句 */
    .reading-report-grid { grid-template-columns: 1fr 1fr; gap: .5rem; }
    .reading-report-num { font-size: 1.2rem; }
    .chapter-quote-text { font-size: 1rem; }

    /* 弹窗/抽屉 */
    .toc-drawer { width: 85vw; }
    .toc-drawer-header { padding: .8rem; }
    .toc-drawer-list { padding: .5rem .8rem; }
    .toc-drawer-item { padding: .6rem .4rem; font-size: .9rem; }

    /* 评论 */
    .comment-item { padding: .6rem 0; }
    .comment-content { font-size: .9rem; }

    /* 底部 */
    footer { padding: 1.5rem 1rem; }
    .footer-brand { font-size: 1.2rem; }
    .footer-slogan { font-size: .8rem; }

    /* Toast */
    .toast { font-size: .85rem; left: .5rem; right: .5rem; max-width: none; }

    /* 章节读完 toast */
    .chapter-complete-toast {
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        max-width: 90vw;
    }

    /* 搜索 */
    .search-bar { flex-direction: column; }
    .search-bar input { width: 100%; }

    /* 个人中心 */
    .profile-section { padding: .8rem; }
    .profile-header { flex-direction: column; align-items: center; text-align: center; }
}

/* ===== <360px 超小屏 ===== */
@media (max-width: 360px) {
    .novel-grid { grid-template-columns: 1fr; }
    .hero h1 { font-size: 1.5rem; }
    .die { width: 50px; height: 50px; font-size: .85rem; }
    .reading-report-grid { grid-template-columns: 1fr; }
}

/* ===== 横屏手机优化 ===== */
@media (max-width: 900px) and (orientation: landscape) and (max-height: 500px) {
    .hero { padding: 1.5rem 1rem; }
    .hero h1 { font-size: 1.8rem; }
    #navbar { height: 44px; }
}

/* ===== 安全区域（刘海屏/底部条） ===== */
@supports (padding: env(safe-area-inset-bottom)) {
    #navbar { padding-top: env(safe-area-inset-top); }
    footer { padding-bottom: env(safe-area-inset-bottom); }
    .reader-nav { padding-bottom: calc(env(safe-area-inset-bottom) + .5rem); }
    .toc-drawer { padding-bottom: env(safe-area-inset-bottom); }
}
