@media (max-width: 768px), (hover: none) {
    /* 兜底：仅给显式打了 glass 类名的容器降低模糊半径
       .page / .chat-item / .chat-list-item / .char-card / .bento-card / .widget /
       .settings-content / .settings-group 这些列表/全屏容器在重做时已禁用毛玻璃，
       不再用 !important 强制套模糊 —— 移动端滚动列表的 GPU 满载主因 */
    [class*="glass"] {
        backdrop-filter: blur(8px) saturate(100%) !important;
        -webkit-backdrop-filter: blur(8px) saturate(100%) !important;
    }

    /* 2. 小面积UI保留毛玻璃但降低模糊半径 */
    .app-header,
    .chat-input-container,
    .taro-dock-container,
    .dock,
    .modal-content {
        backdrop-filter: blur(10px) saturate(150%) !important;
        -webkit-backdrop-filter: blur(10px) saturate(150%) !important;
        background: rgba(255, 255, 255, 0.75) !important;
    }

    body.dark-mode .app-header,
    body.dark-mode .chat-input-container,
    body.dark-mode .taro-dock-container,
    body.dark-mode .dock,
    body.dark-mode .modal-content {
        background: rgba(20, 20, 25, 0.75) !important;
    }

    /* 3. 缩短过渡动画 */
    .app-icon,
    .grid-item,
    .control-item,
    .list-item {
        transition-duration: 0.15s !important;
    }

    #glimmer-splash {
        animation-duration: 1s !important;
    }
}

/* 滚动优化 */
.chat-messages,
.page,
.settings-content,
.wb-list-body,
.wb-hanging-area,
[class*="scroll"] {
    -webkit-overflow-scrolling: touch;
}

.chat-messages,
.page,
.wb-list-body,
.wb-hanging-area {
    touch-action: pan-x pan-y;
    overscroll-behavior-y: contain;
}

.page-container {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

/* 图片面板滚动优化 */
@media (max-width: 768px), (hover: none) {
    .image-panel .panel-body {
        -webkit-overflow-scrolling: touch !important;
        overflow-y: auto !important;
        touch-action: pan-y !important;
    }
}

/* 触摸优化 */
a, button, input, select, textarea,
[onclick], [data-action], .app-icon, .chat-item {
    touch-action: manipulation;
}

/* 确保弹出面板可以正常交互 */
.image-panel,
.pay-modal-overlay,
.redpacket-modal,
.clean-drawer {
    touch-action: auto !important;
}

* {
    -webkit-tap-highlight-color: transparent;
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeSpeed;
    overscroll-behavior-y: contain;
}

/* iOS安全区域适配 - 真沉浸全屏，仅在真正的顶栏上补偿安全区，不影响内部组件 */
.app-header,
.phone-header,
.status-header,
.top-tabs,
.genesis-nav-bar {
    padding-top: calc(env(safe-area-inset-top) + 8px) !important;
}

.chat-input-container,
.dock,
.taro-dock-container {
    padding-bottom: calc(env(safe-area-inset-bottom) + 4px) !important;
}

/* iOS PWA 输入框宽度恢复修复 */
/* iOS Safari 在 textarea 高度动态变化后，flex 容器的宽度计算会延迟恢复 */
@supports (-webkit-touch-callout: none) {
    .echo-dock {
        display: flex !important;
        flex-wrap: nowrap !important;
    }

    .input-pill {
        flex: 1 1 0% !important;
        min-width: 0 !important;
    }

    #chat-input {
        flex: 1 1 0% !important;
        min-width: 0 !important;
        -webkit-user-select: text;
        user-select: text;
    }

    /* 发送按钮固定宽度，不参与伸缩 */
    .echo-dock .btn-round:last-child {
        flex: 0 0 34px !important;
    }
}
