/* ========================================
   新壳联化工 · 移动端 + 平板适配样式 mobile.css
   覆盖全部页面: 首页/关于/产品/解决方案/数据/合作伙伴/联系
   断点: 1024px (平板) / 768px (手机) / 480px (小屏手机)
   ======================================== */

/* ================================================================
   0. 平板适配 — 1024px 以下 (iPad/小平板/大屏手机)
   ================================================================ */
@media (max-width: 1024px) {
    .container { padding: 0 24px; }
    .section { padding: 80px 0; }

    /* Hero */
    .hero { padding: 60px 0 30px; }
    .hero-grid-layout { gap: 40px; }
    .hero h1 { font-size: 3rem; }
    .hero-visual { min-height: 440px; }
    .hero-logo-wrap { max-width: 380px; }
    .hero-data-badge { font-size: 0.7rem; padding: 6px 10px; }
    .hero-data-badge:nth-child(n+5) { display: none; }
    .hero-ticker { font-size: 0.78rem; }

    /* Logo 头部 */
    .logo-text { font-size: 0.95rem; }
    .logo-text .sub { font-size: 0.5rem; }
    .logo-image { width: 34px; height: 34px; }

    /* Nav 收紧 */
    .nav a { padding: 6px 10px; font-size: 0.8rem; }
    .nav { gap: 0; }

    /* Section heads */
    .section-head h2 { font-size: 2.2rem; }
    .section-head { margin-bottom: 44px; }
    .page-banner h1 { font-size: 2.2rem; }
    .page-banner-logo { width: 160px; height: 160px; }

    /* 全球数据预览 */
    .gp-stats { grid-template-columns: repeat(4, 1fr); gap: 14px; }
    .gp-stat { padding: 22px 12px; }
    .gp-num { font-size: 2.1rem; }
    .gp-label { font-size: 0.7rem; }
    .gp-mini-map { padding: 14px; }

    /* 卡片网格 — 4列变2列 */
    .service-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .advantage-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .market-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .pp-entry-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .partner-wall { grid-template-columns: repeat(4, 1fr); gap: 12px; }

    /* Footer */
    .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 28px; }
    .footer-brand p { max-width: 220px; }
}

/* ================================================================
   1. 基础重置 — 容器、字体、间距
   ================================================================ */
@media (max-width: 768px) {
    :root {
        --header-h: 54px;
        --container: 100%;
    }

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

    html { font-size: 15px; }

    body {
        font-size: 0.88rem;
        line-height: 1.65;
        -webkit-text-size-adjust: 100%;
    }

    .container {
        max-width: 100%;
        padding: 0 16px;
    }

    .section { padding: 48px 0; }
    .section-sm { padding: 36px 0; }
    .section-head { margin-bottom: 32px; }
    .section-head h2 { font-size: 1.45rem; }
    .section-head .sub { font-size: 0.85rem; margin-top: 10px; }
    .section-head .tag { font-size: 0.62rem; letter-spacing: 1.5px; padding: 3px 10px; }

    /* 隐藏桌面端装饰元素以提升性能 */
    #particle-canvas { opacity: 0.15; }
    body::after { background-size: 40px 40px; }

    /* 文字大小 */
    h1 { font-size: 1.7rem; }
    h2 { font-size: 1.35rem; }
    h3 { font-size: 1.1rem; }
    h4 { font-size: 0.95rem; }
    p { font-size: 0.86rem; }
}

/* ================================================================
   2. 头部导航 — 紧凑型汉堡菜单
   ================================================================ */
@media (max-width: 768px) {
    .header { height: var(--header-h); }

    .logo-icon { width: 28px; height: 28px; font-size: 0.75rem; border-radius: 6px; }
    .logo-image { width: 30px; height: 30px; }
    .logo-text { font-size: 0.88rem; }
    .logo-text .sub { font-size: 0.48rem; letter-spacing: 1px; }

    .menu-toggle { padding: 6px; gap: 4px; }
    .menu-toggle span { width: 20px; height: 2px; }

    /* Hero主视觉Logo - 移动端 */
    .hero-grid-layout { grid-template-columns: 1fr; gap: 28px; }
    .hero-visual { min-height: 320px; order: -1; }
    .hero-logo-wrap { max-width: 320px; }
    .hero-logo-orbit-1 { animation: orbit1 14s linear infinite; }
    .hero-logo-orbit-2 { animation: orbit2 20s linear infinite; }
    .hero-logo-orbit-3 { animation: orbit3 26s linear infinite; }
    @keyframes orbit1 { 0% { transform: rotate(0deg) translateX(140px) rotate(0deg); } 100% { transform: rotate(360deg) translateX(140px) rotate(-360deg); } }
    @keyframes orbit2 { 0% { transform: rotate(120deg) translateX(160px) rotate(-120deg); } 100% { transform: rotate(480deg) translateX(160px) rotate(-480deg); } }
    @keyframes orbit3 { 0% { transform: rotate(240deg) translateX(180px) rotate(-240deg); } 100% { transform: rotate(600deg) translateX(180px) rotate(-600deg); } }

    /* page-banner logo装饰 - 移动端 */
    .page-banner-logo { width: 140px; height: 140px; right: -5%; opacity: 0.05; }

    /* 全屏抽屉式导航 */
    .nav {
        position: fixed;
        top: var(--header-h);
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        flex-direction: column;
        align-items: stretch;
        padding: 12px 16px 24px;
        gap: 2px;
        transform: translateX(100%);
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        z-index: 999;
    }
    .nav.open { transform: translateX(0); }

    .nav a {
        padding: 14px 16px;
        font-size: 0.95rem;
        border-radius: 10px;
        border-bottom: 1px solid var(--border-light);
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .nav a::after { display: none; }
    .nav a.active {
        background: var(--green-mist);
        color: var(--green-deep);
        font-weight: 600;
    }
    .nav a.active::before {
        content: "";
        width: 3px;
        height: 20px;
        background: var(--green);
        border-radius: 2px;
        margin-right: 4px;
    }

    .nav-cta {
        margin: 12px 0 0;
        text-align: center;
        padding: 14px !important;
        font-size: 0.92rem !important;
        border-radius: 10px;
    }

    /* 语言切换在导航抽屉中 */
    .lang-toggle { display: none !important; }
    .lang-toggle.mobile {
        display: flex !important;
        margin: 16px 0 8px;
        width: fit-content;
    }

    /* 导航遮罩 */
    .nav-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.3);
        z-index: 998;
    }
    .nav-overlay.show { display: block; }

    /* Hide desktop header-actions on mobile */
    .header-actions { display: none !important; }

    /* Show mobile-only elements in nav drawer */
    .mobile-only {
        display: flex !important;
    }
    .nav-cta.mobile-only {
        display: block !important;
        margin: 12px 0 0;
        text-align: center;
        padding: 14px !important;
        font-size: 0.92rem !important;
        border-radius: 10px;
    }
    .nav-account-link.mobile-only {
        padding: 14px 16px;
        font-size: 0.95rem;
        border-radius: 10px;
        border-bottom: 1px solid var(--border-light);
        display: flex !important;
        align-items: center;
        gap: 8px;
        color: var(--text-secondary);
    }

    /* Mobile Bottom Navigation */
    .mobile-bottom-nav {
        display: flex !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 56px;
        background: rgba(255, 255, 255, 0.97);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border-top: 1px solid var(--border-light);
        z-index: 997;
        padding-bottom: env(safe-area-inset-bottom);
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
    }
    .mbn-item {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        color: var(--text-tertiary);
        font-size: 0.62rem;
        font-weight: 500;
        text-decoration: none;
        transition: color 0.2s;
        min-height: 44px;
    }
    .mbn-item svg {
        width: 22px;
        height: 22px;
    }
    .mbn-item.active {
        color: var(--green-deep);
    }
    .mbn-item.active svg {
        color: var(--green);
    }

    /* AI Chat — mobile adjustments */
    #ai-chat-fab {
        bottom: 72px;
        right: 16px;
        width: 50px;
        height: 50px;
    }
    #ai-chat-panel {
        bottom: 0;
        right: 0;
        left: 0;
        top: auto;
        width: 100%;
        max-width: 100%;
        height: 75vh;
        max-height: 75vh;
        border-radius: 16px 16px 0 0;
        bottom: 0;
    }
    #ai-chat-panel.open {
        bottom: 0;
    }
}

@media (max-width: 480px) {
    .mbn-item { font-size: 0.58rem; }
    .mbn-item svg { width: 20px; height: 20px; }
    #ai-chat-fab { bottom: 68px; right: 12px; width: 46px; height: 46px; }
    .ai-msg { font-size: 0.82rem; }
    .ai-suggestion-chip { font-size: 0.72rem; padding: 4px 10px; }
}

/* Landscape — compact bottom nav */
@media (max-width: 768px) and (orientation: landscape) {
    .mobile-bottom-nav { height: 48px; }
    .mbn-item { min-height: 40px; font-size: 0.58rem; }
    #ai-chat-panel { height: 80vh; }
}

/* ================================================================
   3. 首页 Hero — 移动端优化
   ================================================================ */
@media (max-width: 768px) {
    .hero {
        min-height: auto;
        padding: 80px 0 40px;
    }
    .hero h1 { font-size: 1.85rem; line-height: 1.3; }
    .hero .lead { font-size: 0.9rem; line-height: 1.6; }
    .hero-badge { font-size: 0.65rem; padding: 5px 12px; margin-bottom: 18px; }

    .hero-actions {
        flex-direction: column;
        gap: 12px;
        width: 100%;
    }
    .hero-actions .btn {
        width: 100%;
        justify-content: center;
        padding: 14px 24px;
        font-size: 0.9rem;
    }

    .hero-stats {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin-top: 28px;
        padding-top: 20px;
    }
    .hero-stat { text-align: center; }
    .hero-stat .num { font-size: 1.5rem; }
    .hero-stat .label { font-size: 0.72rem; }

    /* 装饰球体缩小 */
    .hero-orb-1 { width: 200px; height: 200px; }
    .hero-orb-2 { width: 250px; height: 250px; }
    .hero-grid { height: 30%; background-size: 40px 40px; }

    /* 页面横幅 */
    .page-banner { padding: 80px 0 32px; }
    .page-banner h1 { font-size: 1.5rem; }
    .page-banner .breadcrumb { font-size: 0.76rem; }
}

/* ================================================================
   4. 按钮与卡片 — 触控优化
   ================================================================ */
@media (max-width: 768px) {
    .btn {
        padding: 10px 20px;
        font-size: 0.86rem;
        min-height: 44px;
    }
    .btn-lg { padding: 13px 28px; font-size: 0.9rem; }

    .card {
        padding: 18px 16px;
        border-radius: 12px;
    }

    /* 卡片悬停效果在移动端关闭 */
    .card:hover,
    .pp-login-card:hover,
    .pp-entry-card:hover {
        transform: none !important;
        box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    }

    /* 倾斜微交互关闭 */
    .card { transform: none !important; }
}

/* ================================================================
   5. 栅格系统 — 全部单列
   ================================================================ */
@media (max-width: 768px) {
    .service-grid,
    .market-grid,
    .catalog-grid,
    .solution-grid,
    .advantage-grid,
    .capability-grid,
    .about-intro,
    .contact-layout,
    .pp-entry-grid,
    .pp-login-grid {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    .partner-wall { grid-template-columns: repeat(3, 1fr); gap: 12px; }
    .partner-tiers { grid-template-columns: 1fr; gap: 16px; }
    .hero-stats { grid-template-columns: 1fr 1fr; }
    .stat-band { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }

    .process-flow { grid-template-columns: 1fr; gap: 16px; }
    .form-row { grid-template-columns: 1fr; gap: 12px; }

    /* DC 网格 */
    .dc-grid-2,
    .dc-grid-3 {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .dc-grid-3 > .card[style*="span 2"] { grid-column: span 1 !important; }
    .dc-row { flex-direction: column; gap: 12px; }
}

@media (max-width: 480px) {
    .partner-wall { grid-template-columns: repeat(2, 1fr); }
    .hero-stats { grid-template-columns: 1fr; }
    .stat-band { grid-template-columns: 1fr; }
    .hero-visual { min-height: 240px; }
    .hero-logo-wrap { max-width: 240px; }
    .page-banner-logo { width: 100px; height: 100px; opacity: 0.04; }
}

/* ================================================================
   6. 数据中心 — 移动端适配
   ================================================================ */
@media (max-width: 768px) {
    /* 行情滚动条 */
    .dc-ticker-bar { padding: 6px 0; }
    .ticker-item { font-size: 0.7rem; gap: 4px; }
    .ticker-item .ticker-name { font-size: 0.7rem; }
    .ticker-item .ticker-price { font-size: 0.72rem; }

    /* 标签栏 — 水平滚动 */
    .dc-tabs-wrap {
        top: var(--header-h);
        position: sticky;
    }
    .dc-tabs { padding: 8px 0; gap: 2px; }
    .dc-tab { padding: 7px 14px; font-size: 0.78rem; }

    .dc-content { padding: 16px 0 32px; }

    /* 图表卡片 */
    .dc-chart-card { padding: 14px 12px; }
    .dc-chart-card .dc-card-head { margin-bottom: 12px; }
    .dc-chart-card h3 { font-size: 0.92rem; }
    .dc-tag { font-size: 0.65rem; padding: 2px 8px; }

    /* 图表高度 */
    .dc-chart-card canvas {
        max-height: 240px !important;
    }

    /* KPI 卡片 */
    .dc-kpi-card { padding: 14px; }
    .dc-kpi-val { font-size: 1.4rem; }
    .dc-kpi-label { font-size: 0.72rem; }
    .dc-kpi-sub { font-size: 0.68rem; }

    /* 热力图 */
    .heatmap-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .heatmap-cell { padding: 10px 8px; }
    .heatmap-cell .hm-name { font-size: 0.72rem; }
    .heatmap-cell .hm-val { font-size: 0.82rem; }

    /* 涨跌榜 */
    .movers-grid { grid-template-columns: 1fr; gap: 8px; }

    /* 供需表格 — 横向滚动 */
    .dc-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .dc-table {
        min-width: 500px;
        font-size: 0.76rem;
    }
    .dc-table th, .dc-table td { padding: 8px 10px; }

    /* 周期仪表 */
    .cycle-gauge-wrap { flex-direction: column; gap: 16px; }

    /* 情绪指数 */
    .sentiment-bar { height: 10px; }

    /* 免责声明 */
    .dc-disclaimer { padding: 12px 14px; }
    .dc-disclaimer strong { font-size: 0.78rem; }
    .dc-disclaimer p { font-size: 0.7rem; }
}

/* ================================================================
   7. 合作伙伴门户 — VIP 登录
   ================================================================ */
@media (max-width: 768px) {
    .pp-vault {
        min-height: calc(100vh - var(--header-h));
        padding: 24px 16px;
    }
    .pp-vault-card {
        max-width: 100%;
        padding: 28px 22px 24px;
        border-radius: 16px;
    }
    .pp-vault-shield {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        margin-bottom: 16px;
    }
    .pp-vault-shield svg { width: 30px; height: 30px; }
    .pp-vault-tag { font-size: 0.62rem; letter-spacing: 0.1em; margin-bottom: 6px; }
    .pp-vault-card h1 { font-size: 1.3rem; margin-bottom: 6px; }
    .pp-vault-sub { font-size: 0.8rem; margin-bottom: 22px; }

    .pp-vault-field label { font-size: 0.78rem; }
    .pp-vault-field input {
        padding: 12px 14px;
        font-size: 0.9rem;
        min-height: 48px;
    }
    .pp-vault-enter {
        padding: 14px;
        font-size: 0.92rem;
        min-height: 48px;
    }
    .pp-vault-error { font-size: 0.76rem; padding: 8px 12px; }

    .pp-vault-demo-toggle { font-size: 0.8rem; padding: 10px; }
    .pp-vault-demo-list { padding: 0 4px; }
    .pp-vault-demo-item {
        padding: 10px 12px;
        font-size: 0.78rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .pp-vault-demo-key { font-size: 0.72rem; }
}

/* ================================================================
   8. 合作伙伴门户 — 侧边栏 + 仪表盘
   ================================================================ */
@media (max-width: 768px) {
    .pp-workspace {
        flex-direction: column;
        min-height: calc(100vh - var(--header-h));
    }

    /* 侧边栏变为抽屉 */
    .pp-sidebar {
        position: fixed;
        left: -280px;
        top: 0;
        bottom: 0;
        width: 260px;
        height: 100vh;
        z-index: 300;
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 4px 0 32px rgba(0, 0, 0, 0.2);
    }
    .pp-sidebar.open { left: 0; }

    /* 侧边栏遮罩 */
    .pp-sidebar-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0,0,0.4);
        z-index: 250;
    }
    .pp-sidebar-overlay.show { display: block; }

    /* 移动端顶栏 */
    .pp-mobile-bar {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 10px 16px;
        background: #fff;
        border-bottom: 1px solid var(--border-light);
        position: sticky;
        top: var(--header-h);
        z-index: 50;
    }
    .pp-mobile-menu {
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        background: var(--green-mist);
        color: var(--green-deep);
    }
    .pp-mobile-title {
        font-size: 0.95rem;
        font-weight: 700;
        color: var(--text);
    }

    .pp-main {
        flex: 1;
        width: 100%;
    }

    .pp-content { padding: 12px; }

    /* 侧边栏导航项 */
    .pp-nav-item {
        padding: 12px 12px;
        font-size: 0.86rem;
    }
    .pp-nav-group-label { font-size: 0.58rem; padding: 0 12px 6px; }
    .pp-sb-company { font-size: 0.82rem; }
    .pp-sb-meta { font-size: 0.64rem; gap: 8px; }

    /* KPI 卡片 */
    .pp-kpi-card {
        min-width: calc(50% - 6px) !important;
        padding: 14px;
    }
    .pp-kpi-val { font-size: 1.3rem; }
    .pp-kpi-label { font-size: 0.7rem; }
    .pp-kpi-sub { font-size: 0.66rem; }
    .pp-kpi-icon { font-size: 1.1rem; }

    /* 产品卡片 */
    .pp-prod-grid { grid-template-columns: 1fr !important; gap: 10px; }
    .pp-prod-card { padding: 12px; }
    .pp-prod-spark { height: 36px; }

    /* 价格看板 */
    .pp-price-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px; }
    .pp-price-cell { padding: 10px 8px; }
    .pp-price-cell .pp-pc-name { font-size: 0.72rem; }
    .pp-price-cell .pp-pc-price { font-size: 0.9rem; }

    /* 运力追踪 */
    .pp-freight-item { padding: 10px; }
    .pp-fr-util-bar { height: 6px; }

    /* 价差计算器 */
    .pp-calc-tool { padding: 14px; }
    .pp-calc-stats { grid-template-columns: 1fr 1fr; gap: 8px; }
    .pp-calc-stat { padding: 8px; }
    .pp-calc-stat .val { font-size: 1rem; }

    /* SLA 对比 */
    .pp-sla-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .pp-sla-table { min-width: 500px; font-size: 0.76rem; }
    .pp-sla-table th, .pp-sla-table td { padding: 8px 10px; }

    .pp-tier-cards { grid-template-columns: 1fr !important; gap: 12px; }
    .pp-tier-card { padding: 16px; }

    /* 报告列表 */
    .pp-report-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 12px;
    }
    .pp-report-row .pp-report-meta { flex-wrap: wrap; gap: 8px; }
    .pp-report-tier { font-size: 0.62rem; padding: 2px 8px; }

    /* 预警 */
    .pp-alert-item { padding: 10px 12px; }
    .pp-alert-item .pp-alert-title { font-size: 0.82rem; }
    .pp-alert-item .pp-alert-meta { font-size: 0.7rem; }

    /* 需求提交 */
    .pp-req-form { padding: 14px; }
    .pp-req-form input,
    .pp-req-form select,
    .pp-req-form textarea {
        font-size: 0.86rem;
        padding: 10px 12px;
    }
    .pp-req-item { padding: 10px 12px; }
}

/* ================================================================
   9. 企业邮箱 — 移动端堆叠布局
   ================================================================ */
@media (max-width: 768px) {
    .pp-embed-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 10px 12px;
    }
    .pp-embed-brand { gap: 8px; }
    .pp-embed-logo { width: 32px; height: 32px; font-size: 15px; }
    .pp-embed-title { font-size: 0.84rem; }
    .pp-embed-url { font-size: 0.66rem; }
    .pp-embed-status { flex-wrap: wrap; gap: 8px; font-size: 0.7rem; }
    .pp-embed-dot { width: 6px; height: 6px; }

    /* 搜索栏 */
    .pp-mail-search { margin-bottom: 8px; }
    .pp-mail-search input { padding: 8px 12px 8px 32px; font-size: 0.82rem; }

    /* 工具栏 */
    .pp-mail-toolbar { gap: 6px; padding: 6px 0; }
    .pp-mail-tool-btn { padding: 6px 10px; font-size: 0.72rem; }

    /* 三栏变为单栏切换模式 */
    .pp-mail-layout {
        grid-template-columns: 1fr;
        height: auto;
        gap: 0;
    }

    /* 文件夹变为水平滚动条 */
    .pp-mail-sidebar {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-height: none;
        padding: 8px;
        gap: 6px;
        border-right: none;
        border-bottom: 1px solid var(--border-light);
    }
    .pp-mail-sidebar::-webkit-scrollbar { display: none; }
    .pp-mail-folder {
        flex-shrink: 0;
        flex-direction: row;
        padding: 6px 14px;
        font-size: 0.78rem;
    }
    .pp-mail-compose {
        flex-shrink: 0;
        padding: 6px 16px;
        font-size: 0.78rem;
    }

    /* 邮件列表 */
    .pp-mail-list {
        max-height: 280px;
        border-right: none;
        border-bottom: 1px solid var(--border-light);
    }
    .pp-mail-item { padding: 10px 12px; }
    .pp-mail-item-from { font-size: 0.82rem; }
    .pp-mail-item-subj { font-size: 0.78rem; }
    .pp-mail-item-date { font-size: 0.68rem; }

    /* 邮件详情 */
    .pp-mail-detail { max-height: none; min-height: 300px; }
    .pp-mail-read-head h3 { font-size: 1rem; }
    .pp-mail-read-meta { font-size: 0.72rem; flex-wrap: wrap; }
    .pp-mail-read-body { font-size: 0.84rem; padding: 14px 0; }
    .pp-mail-read-actions { flex-wrap: wrap; gap: 6px; }
    .pp-mail-action { padding: 7px 14px; font-size: 0.76rem; min-height: 36px; }

    /* 附件 */
    .pp-mail-attach-item { padding: 8px; }
    .pp-mail-attach-name { font-size: 0.74rem; }
    .pp-mail-attach-size { font-size: 0.66rem; }

    /* 邮件标签 */
    .pp-mail-tag { font-size: 0.58rem; padding: 1px 6px; }

    /* 空状态 */
    .pp-mail-empty-detail svg { width: 36px; height: 36px; }
    .pp-mail-empty-detail p { font-size: 0.82rem; }
}

/* ================================================================
   10. 内部通讯 — 移动端堆叠
   ================================================================ */
@media (max-width: 768px) {
    .pp-msg-layout {
        grid-template-columns: 1fr;
        height: auto;
        gap: 0;
    }

    /* 频道列表变为水平滚动 */
    .pp-msg-channels {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        max-height: none;
        padding: 8px;
        gap: 6px;
        border-right: none;
        border-bottom: 1px solid var(--border-light);
    }
    .pp-msg-channels::-webkit-scrollbar { display: none; }
    .pp-msg-channel {
        flex-shrink: 0;
        flex-direction: row;
        padding: 6px 14px;
        font-size: 0.78rem;
    }

    /* 团队成员在频道下方水平滚动 */
    .pp-msg-members {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        scrollbar-width: none;
        padding: 8px;
        gap: 10px;
        border-bottom: 1px solid var(--border-light);
    }
    .pp-msg-members::-webkit-scrollbar { display: none; }
    .pp-msg-member {
        flex-shrink: 0;
        flex-direction: column;
        align-items: center;
        text-align: center;
        min-width: 56px;
    }
    .pp-msg-member-avatar { width: 32px; height: 32px; font-size: 0.76rem; }

    /* 消息线程 */
    .pp-msg-thread { min-height: 350px; }
    .pp-msg-bubble { max-width: 85%; padding: 8px 12px; font-size: 0.82rem; }
    .pp-msg-sender { font-size: 0.72rem; }
    .pp-msg-time { font-size: 0.64rem; }

    /* 输入区 */
    .pp-msg-input-area { padding: 8px; }
    .pp-msg-input {
        padding: 8px 12px;
        font-size: 0.82rem;
        min-height: 40px;
    }
    .pp-msg-send { width: 40px; height: 40px; }
}

/* ================================================================
   11. 视频会议 — 移动端适配
   ================================================================ */
@media (max-width: 768px) {
    /* 快速操作 */
    .pp-video-quick { flex-direction: column; gap: 10px; }
    .pp-video-quick-card { padding: 16px; min-height: 80px; }
    .pp-video-quick-card .pp-vq-title { font-size: 0.88rem; }
    .pp-video-quick-card .pp-vq-desc { font-size: 0.74rem; }

    /* 会议列表 */
    .pp-meeting-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 12px;
    }
    .pp-meeting-date {
        width: 48px;
        height: 48px;
        border-radius: 10px;
    }
    .pp-md-day { font-size: 1rem; }
    .pp-md-month { font-size: 0.58rem; }
    .pp-meeting-title { font-size: 0.86rem; }
    .pp-meeting-meta { font-size: 0.72rem; flex-wrap: wrap; }
    .pp-meeting-join, .pp-meeting-rec {
        width: 100%;
        text-align: center;
        padding: 8px;
        font-size: 0.8rem;
    }

    /* 实时会议房间 */
    .pp-video-room { border-radius: 12px; }
    .pp-room-header { padding: 8px 12px; }
    .pp-room-title { font-size: 0.86rem; }
    .pp-room-timer { font-size: 0.78rem; padding: 3px 8px; }

    /* 参会者网格 — 2列 */
    .pp-video-grid {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        padding: 8px;
    }
    .pp-video-tile {
        min-height: 100px;
        border-radius: 8px;
    }
    .pp-video-tile .pp-vt-name { font-size: 0.7rem; padding: 3px 6px; }
    .pp-video-tile .pp-vt-indicators { top: 4px; right: 4px; gap: 3px; }
    .pp-video-tile .pp-vt-ind { width: 18px; height: 18px; }
    .pp-video-tile .pp-vt-ind svg { width: 10px; height: 10px; }
    .pp-video-tile .pp-vt-avatar { width: 36px; height: 36px; font-size: 0.9rem; }

    /* 控制栏 */
    .pp-control-bar {
        padding: 8px 10px;
        gap: 4px;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        justify-content: flex-start;
    }
    .pp-control-bar::-webkit-scrollbar { display: none; }
    .pp-ctrl-btn {
        width: 38px;
        height: 38px;
        flex-shrink: 0;
    }
    .pp-ctrl-btn svg { width: 16px; height: 16px; }
    .pp-ctrl-btn.danger { width: 44px; height: 38px; }

    /* 会议聊天侧栏 — 全宽底部 */
    .pp-meeting-chat {
        width: 100%;
        height: 180px;
        border-left: none;
        border-top: 1px solid var(--border);
    }
    .pp-chat-header { padding: 8px 12px; }
    .pp-chat-msg { padding: 6px 10px; font-size: 0.78rem; }
    .pp-chat-input { padding: 8px; }
    .pp-chat-input input { font-size: 0.8rem; padding: 6px 10px; }

    /* 模态弹窗 — 全屏 */
    .pp-compose-modal,
    .pp-join-modal,
    .pp-create-modal {
        width: calc(100vw - 24px);
        max-width: 100%;
        max-height: 85vh;
        overflow-y: auto;
        border-radius: 14px;
        padding: 20px 16px;
    }
    .pp-modal-title { font-size: 1rem; }
    .pp-modal-close { width: 32px; height: 32px; }

    .pp-modal-field label { font-size: 0.8rem; }
    .pp-modal-field input,
    .pp-modal-field select,
    .pp-modal-field textarea {
        padding: 10px 12px;
        font-size: 0.86rem;
    }
    .pp-modal-submit {
        padding: 12px;
        font-size: 0.9rem;
        min-height: 46px;
    }
}

/* ================================================================
   12. 表格 — 横向滚动
   ================================================================ */
@media (max-width: 768px) {
    .table-wrap,
    .pp-sla-table-wrap,
    .dc-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 -16px;
        padding: 0 16px;
    }

    table { min-width: 500px; }
    table th, table td { padding: 8px 10px; font-size: 0.78rem; }
}

/* ================================================================
   13. 页脚 — 堆叠
   ================================================================ */
@media (max-width: 768px) {
    .footer { padding: 40px 0 20px; }
    .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .footer-col h4 { font-size: 0.88rem; margin-bottom: 12px; }
    .footer-col ul li { margin-bottom: 8px; }
    .footer-col ul li a { font-size: 0.82rem; }
    .footer-bottom {
        flex-direction: column;
        gap: 8px;
        text-align: center;
        padding-top: 20px;
    }
    .footer-bottom p { font-size: 0.76rem; }
}

/* ================================================================
   14. 翻译浮动组件
   ================================================================ */
@media (max-width: 768px) {
    #trans-fab {
        width: 46px;
        height: 46px;
        bottom: 20px;
        right: 16px;
    }
    #trans-fab svg { width: 20px; height: 20px; }

    #trans-panel {
        width: calc(100vw - 32px);
        right: 16px;
        left: 16px;
        max-height: 70vh;
        overflow-y: auto;
    }
    .trans-header { padding: 14px 18px; }
    .trans-header h4 { font-size: 0.92rem; }
    .trans-body { padding: 16px; }
    .trans-input { min-height: 70px; font-size: 0.86rem; padding: 10px 12px; }
    .trans-output { min-height: 70px; font-size: 0.86rem; padding: 10px 12px; }
    .trans-lang-sel { flex-direction: column; gap: 8px; }
    .trans-lang-sel select { width: 100%; padding: 8px; font-size: 0.82rem; }
    .trans-swap { transform: rotate(90deg); }
}

/* ================================================================
   15. 联系页面表单
   ================================================================ */
@media (max-width: 768px) {
    .contact-form-wrap { padding: 20px 16px; border-radius: 12px; }
    .contact-form-wrap h3 { font-size: 1.05rem; }
    .form-group { margin-bottom: 14px; }
    .form-group label { font-size: 0.82rem; margin-bottom: 6px; }
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 12px 14px;
        font-size: 0.86rem;
        min-height: 46px;
    }
    .form-group textarea { min-height: 100px; }

    .contact-info-card { padding: 16px; }
    .contact-info-item { padding: 10px 0; }
    .contact-info-item .label { font-size: 0.72rem; }
    .contact-info-item .val { font-size: 0.84rem; }
}

/* ================================================================
   16. CTA 区块
   ================================================================ */
@media (max-width: 768px) {
    .cta-section { padding: 40px 0; }
    .cta-content {
        padding: 32px 20px;
        border-radius: 16px;
    }
    .cta-content h2 { font-size: 1.3rem; }
    .cta-content p { font-size: 0.86rem; }
    .cta-actions {
        flex-direction: column;
        gap: 10px;
    }
    .cta-actions .btn { width: 100%; justify-content: center; }
}

/* ================================================================
   17. 关于我们页面
   ================================================================ */
@media (max-width: 768px) {
    .about-intro-text h2 { font-size: 1.3rem; }
    .about-intro-text p { font-size: 0.86rem; }
    .about-stats { grid-template-columns: 1fr 1fr; gap: 16px; }
    .about-stat .num { font-size: 1.6rem; }
    .about-stat .label { font-size: 0.72rem; }

    .timeline-item { padding-left: 40px; }
    .timeline-item::before { left: 12px; width: 10px; height: 10px; }
    .timeline-item::after { left: 17px; }
    .timeline-year { font-size: 0.82rem; }
    .timeline-content { padding: 12px; }
    .timeline-content h4 { font-size: 0.92rem; }
    .timeline-content p { font-size: 0.8rem; }
}

/* ================================================================
   18. 产品/解决方案页面
   ================================================================ */
@media (max-width: 768px) {
    .catalog-card { padding: 16px; }
    .catalog-card h3 { font-size: 0.98rem; }
    .catalog-card .cat-tag { font-size: 0.62rem; }

    .product-detail { padding: 16px 0; }
    .pd-body { gap: 16px; }
    .pd-spec { font-size: 0.8rem; }
    .pd-spec th, .pd-spec td { padding: 6px 8px; }

    .solution-card { padding: 18px 16px; }
    .solution-card h3 { font-size: 1rem; }
    .solution-card .sol-icon { width: 40px; height: 40px; }

    .process-step { padding: 14px; }
    .process-step .ps-num { font-size: 1.2rem; width: 32px; height: 32px; }
    .process-step h4 { font-size: 0.92rem; }
    .process-step p { font-size: 0.82rem; }
}

/* ================================================================
   19. 超小屏 (480px 以下) 进一步压缩
   ================================================================ */
@media (max-width: 480px) {
    .container { padding: 0 12px; }
    .section { padding: 36px 0; }
    .section-head { margin-bottom: 24px; }
    .section-head h2 { font-size: 1.25rem; }

    .hero h1 { font-size: 1.55rem; }
    .hero .lead { font-size: 0.84rem; }
    .hero-stat .num { font-size: 1.3rem; }

    .logo-text { font-size: 0.82rem; }
    .logo-text .sub { display: none; }

    .pp-vault-card { padding: 22px 18px 20px; }
    .pp-vault-card h1 { font-size: 1.15rem; }

    .pp-kpi-card { min-width: 100% !important; }
    .pp-price-grid { grid-template-columns: 1fr !important; }
    .pp-calc-stats { grid-template-columns: 1fr; }

    .pp-video-grid { grid-template-columns: 1fr; }
    .pp-video-tile { min-height: 120px; }

    .btn { padding: 10px 16px; font-size: 0.82rem; }
    .btn-lg { padding: 12px 20px; font-size: 0.86rem; }

    #trans-fab { width: 42px; height: 42px; bottom: 16px; right: 12px; }
}

/* ================================================================
   20. 安全区域适配 (刘海屏 / 底部 Home Indicator)
   ================================================================ */
@supports (padding: max(0px)) {
    @media (max-width: 768px) {
        .header {
            padding-top: env(safe-area-inset-top);
            height: calc(var(--header-h) + env(safe-area-inset-top));
        }
        .nav {
            top: calc(var(--header-h) + env(safe-area-inset-top));
            padding-bottom: env(safe-area-inset-bottom);
        }
        .pp-mobile-bar {
            top: calc(var(--header-h) + env(safe-area-inset-top));
        }
        #trans-fab {
            bottom: calc(20px + env(safe-area-inset-bottom));
        }
        .footer {
            padding-bottom: calc(20px + env(safe-area-inset-bottom));
        }
        .pp-sidebar {
            padding-top: env(safe-area-inset-top);
            padding-bottom: env(safe-area-inset-bottom);
        }
        .pp-control-bar {
            padding-bottom: calc(8px + env(safe-area-inset-bottom));
        }
    }
}

/* ================================================================
   21. 横屏适配
   ================================================================ */
@media (max-width: 768px) and (orientation: landscape) {
    .hero { min-height: auto; padding: 70px 0 30px; }
    .hero h1 { font-size: 1.6rem; }

    .pp-vault { min-height: auto; padding: 20px 16px; }

    .pp-video-grid { grid-template-columns: 1fr 1fr 1fr; }
    .pp-video-tile { min-height: 80px; }

    .pp-mail-list { max-height: 200px; }
    .pp-msg-thread { min-height: 250px; }
}

/* ================================================================
   22. 触控优化 — 禁用悬停效果
   ================================================================ */
@media (hover: none) and (pointer: coarse) {
    .card:hover,
    .btn:hover,
    .nav a:hover,
    .pp-login-card:hover,
    .pp-entry-card:hover,
    .pp-nav-item:hover,
    .dc-tab:hover,
    .pp-mail-folder:hover,
    .pp-msg-channel:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }

    /* 增大触控目标 */
    .nav a { min-height: 44px; }
    .pp-nav-item { min-height: 44px; }
    .pp-mail-folder { min-height: 36px; }
    .pp-msg-channel { min-height: 36px; }
    .dc-tab { min-height: 36px; }
}

/* ================================================================
   23. 滚动条优化
   ================================================================ */
@media (max-width: 768px) {
    .pp-sidebar-nav::-webkit-scrollbar,
    .pp-mail-list::-webkit-scrollbar,
    .pp-msg-thread::-webkit-scrollbar {
        width: 3px;
    }
    .pp-sidebar-nav::-webkit-scrollbar-thumb,
    .pp-mail-list::-webkit-scrollbar-thumb,
    .pp-msg-thread::-webkit-scrollbar-thumb {
        background: var(--border-default);
        border-radius: 2px;
    }
}

/* ================================================================
   24. Embedded App Window — Mobile Adaptation
   ================================================================ */
@media (max-width: 768px) {
    .pp-app-titlebar { padding: 6px 10px; }
    .pp-app-traffic { gap: 5px; }
    .pp-dot { width: 10px; height: 10px; }
    .pp-app-title-center { position: static; transform: none; }
    .pp-app-title-text { font-size: 0.72rem; }
    .pp-app-conn-mini { display: none; }

    .pp-app-addressbar { padding: 5px 8px; gap: 4px; flex-wrap: wrap; }
    .pp-app-nav-btns { order: 1; }
    .pp-app-url-bar { order: 2; flex: 1 1 100%; padding: 4px 8px; }
    .pp-app-url-text { font-size: 0.68rem; }
    .pp-app-addr-right { display: none; }

    .pp-app-tabs { padding: 0 4px; min-height: 30px; }
    .pp-app-tab { padding: 5px 8px; font-size: 0.7rem; gap: 3px; }
    .pp-app-tab-icon { display: none; }
    .pp-app-tab-stats { font-size: 0.62rem; gap: 4px; padding: 0 4px; }
    .pp-app-tab-divider { display: none; }
    .pp-app-tab-stats span { white-space: nowrap; }
}

@media (max-width: 480px) {
    .pp-app-tab-stats { display: none; }
    .pp-app-tab { font-size: 0.68rem; padding: 5px 6px; }
}

/* ===== v5.0 Design Upgrade Mobile ===== */

/* ===== Subscription System Mobile ===== */
@media (max-width: 768px) {
    .dc-subscribe-btn { width: 20px; height: 20px; margin-left: 4px; }
    .dc-subscribe-btn svg { width: 12px; height: 12px; }

    .dc-sub-panel-toggle {
        padding: 5px 10px;
        font-size: 0.74rem;
        margin-left: 8px;
    }
    .sub-count { min-width: 16px; height: 16px; font-size: 0.66rem; }

    .dc-subscription-panel { padding: 16px; border-radius: 10px; }
    .sub-panel-header h3 { font-size: 0.95rem; }
    .sub-panel-list { grid-template-columns: 1fr; gap: 8px; }
    .sub-panel-item { padding: 8px 12px; }
    .sub-item-name { font-size: 0.82rem; }

    .notify-bell {
        bottom: 72px;
        right: 16px;
        width: 42px;
        height: 42px;
    }
    .notify-badge { min-width: 16px; height: 16px; font-size: 0.62rem; }

    /* AI Chat mobile */
    #ai-chat-fab { bottom: 72px; right: 72px; }
    #ai-chat-panel { height: 70vh; max-height: 70vh; }
    .ai-chat-messages { padding: 12px; gap: 10px; }
    .ai-msg { font-size: 0.82rem; max-width: 88%; padding: 8px 12px; }
    .ai-suggestion-chip { font-size: 0.74rem; padding: 4px 10px; }
    .ai-chat-input { font-size: 0.82rem; padding: 8px 12px; }
}
@media (max-width: 480px) {
    .dc-subscribe-btn { width: 18px; height: 18px; }
    .dc-subscribe-btn svg { width: 11px; height: 11px; }
    .notify-bell { bottom: 68px; right: 12px; width: 38px; height: 38px; }
    #ai-chat-fab { right: 60px; width: 44px; height: 44px; bottom: 68px; }
    .sub-panel-history { font-size: 0.8rem; }

    /* Account page mobile */
    .dashboard-grid { grid-template-columns: 1fr; }
    .dashboard-card[style*="span 2"] { grid-column: span 1 !important; }
    .notify-stats-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .notify-stat { padding: 10px 6px; }
    .notify-stat-num { font-size: 1.3rem; }
    .auth-form { padding: 18px; }
    .auth-features { padding: 16px; }
    .auth-features li { font-size: 0.82rem; }
    .profile-row { font-size: 0.82rem; }
}

@media (max-width: 768px) {
    /* Hero Trade Flow & Badges */
    .hero-trade-svg { opacity: 0.4; }
    .hero-data-badge {
        padding: 6px 10px;
        font-size: 0.66rem;
        gap: 4px;
    }
    .hero-data-badge .bdb-name { font-size: 0.66rem; }
    .hero-data-badge .bdb-price { font-size: 0.7rem; }
    .hero-data-badge .bdb-change { font-size: 0.58rem; padding: 1px 4px; }
    /* Hide some badges on mobile to avoid clutter */
    .hero-data-badge:nth-child(n+5) { display: none; }

    /* Hero Ticker */
    .hero-ticker { margin-top: 24px; }
    .hero-ticker-item { font-size: 0.7rem; gap: 4px; }

    /* Hero Title */
    .hero h1 { font-size: 2.2rem; }
    .hero .lead { font-size: 0.95rem; }

    /* Section Numbers */
    .section-head::before { font-size: 3rem; top: -12px; }
    .section-head h2 { font-size: 1.8rem; }

    /* About Architecture */
    .iv-arch-layer { padding: 14px; gap: 10px; }
    .iv-arch-icon { width: 38px; height: 38px; font-size: 1.1rem; }
    .iv-arch-content .iv-label { font-size: 0.6rem; }
    .iv-arch-content .iv-value { font-size: 0.78rem; }
    .iv-hb-num { font-size: 1.4rem; }
    .iv-hb-label { font-size: 0.62rem; }

    /* Collapsible Info */
    .collapsible-body-inner { grid-template-columns: 1fr; }
    .collapsible-header h4 { font-size: 0.82rem; }

    /* Global Market */
    .dc-world-map { aspect-ratio: 1.5 / 1; max-height: 320px; }
    .global-region-grid { grid-template-columns: 1fr; }
    .dc-region-card .dcr-price-grid { grid-template-columns: 1fr 1fr; }
    .dc-arb-table { font-size: 0.72rem; }
    .dc-arb-table th, .dc-arb-table td { padding: 8px 6px; }
    .market-status-strip { gap: 12px; padding: 10px 14px; }
    .market-status-strip .mss-item { font-size: 0.7rem; }

    /* Wave Divider */
    .wave-divider svg { height: 30px; }

    /* CTA Enhancement */
    .cta-content { padding: 32px 20px; }
    .cta-content h2 { font-size: 1.6rem; }

    /* v14 平台对接 768px */
    .role-switch { max-width: 100%; padding: 5px; }
    .role-btn { padding: 11px 16px; font-size: 0.9rem; }
    .link-grid { grid-template-columns: repeat(4, 1fr); gap: 10px; }
    .link-card { padding: 16px 10px; }
    .link-icon { font-size: 1.7rem; }
    .link-card h4 { font-size: 0.95rem; }
    .vs-grid { grid-template-columns: 1fr; gap: 28px; }
    .eco-grid { grid-template-columns: repeat(4, 1fr); }
    .eco-num { font-size: 1.7rem; }

    /* Global Preview 768px */
    .gp-stats { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .gp-stat { padding: 22px 12px; }
    .gp-num { font-size: 2.1rem; }
    .gp-mini-map { padding: 14px; }
    .section-head-light h2 { font-size: 2rem; }
}

@media (max-width: 480px) {
    .hero-data-badge:nth-child(n+3) { display: none; }
    .hero h1 { font-size: 1.8rem; }
    .section-head h2 { font-size: 1.5rem; }
    .dc-arb-table { font-size: 0.66rem; }
    .dc-arb-table th, .dc-arb-table td { padding: 6px 4px; }
    .market-status-strip { flex-direction: column; align-items: flex-start; gap: 8px; }

    /* Global Preview 480px */
    .gp-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .gp-stat { padding: 16px 8px; }
    .gp-num { font-size: 1.7rem; }
    .gp-label { font-size: 0.65rem; letter-spacing: 1px; }
    .gp-mini-map { padding: 10px; border-radius: 14px; }
    .section-dark { padding: 60px 0; }
    .section-head-light h2 { font-size: 1.6rem; }

    /* v14 平台对接 480px */
    .role-switch { max-width: 100%; }
    .role-btn { padding: 10px 12px; font-size: 0.85rem; }
    .role-btn svg { width: 16px; height: 16px; }
    .link-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .link-card { padding: 14px 8px; }
    .link-icon { font-size: 1.5rem; margin-bottom: 6px; }
    .link-card h4 { font-size: 0.92rem; }
    .link-card p { font-size: 0.7rem; }
    .link-detail.open { padding: 16px; }
    .ld-icon { width: 32px; height: 32px; font-size: 1.3rem; }
    .ld-title h3 { font-size: 1.05rem; }
    .ld-body { font-size: 0.85rem; line-height: 1.6; }
    .vs-grid { grid-template-columns: 1fr; gap: 24px; }
    .eco-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .eco-num { font-size: 1.5rem; }
    .eco-label { font-size: 0.82rem; }
}

/* ===== v15 News Center Mobile ===== */
@media (max-width: 1024px) {
    .news-grid { grid-template-columns: repeat(2, 1fr); }
    .news-card.featured { grid-column: span 2; flex-direction: column; }
    .news-card.featured .news-card-visual { width: 100%; height: 140px; min-height: 140px; }
    .news-card.featured .news-card-body { padding: 20px 22px; }
    .news-card.featured .news-card-title { font-size: 1.02rem; }
    .nm-data-strip { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .news-grid { grid-template-columns: 1fr; }
    .news-card.featured { grid-column: span 1; }
    .news-card.featured .news-card-visual { height: 140px; }
    .news-filter { gap: 6px; }
    .news-filter-btn { padding: 8px 14px; font-size: 0.78rem; }
    .news-filter-btn svg { width: 14px; height: 14px; }
    .nm-hero { padding: 28px 24px 20px; }
    .nm-title { font-size: 1.25rem; }
    .nm-content { padding: 24px; }
    .nm-content h3 { font-size: 1rem; }
    .nm-content p { font-size: 0.85rem; }
    .nm-content ul li { font-size: 0.82rem; }
    .nm-data-strip { grid-template-columns: repeat(2, 1fr); }
    .nm-data-cell { padding: 12px 14px; }
    .nm-data-value { font-size: 1rem; }
    .nm-share-bar { padding: 16px 24px 24px; gap: 8px; }
    .nm-share-btn { width: 32px; height: 32px; }
    .nm-share-btn svg { width: 14px; height: 14px; }
    .news-modal-overlay { padding: 20px 12px; }
    .news-teaser-grid { grid-template-columns: repeat(2, 1fr); }
    .news-teaser-head { flex-direction: column; align-items: flex-start; }
    .ins-stats-bar { grid-template-columns: repeat(2, 1fr); gap: 16px; padding: 20px 24px; }
    .ins-stat:nth-child(2)::after { display: none; }
    .ins-stat-num { font-size: 1.6rem; }
}

@media (max-width: 480px) {
    .news-grid { grid-template-columns: 1fr; gap: 16px; }
    .news-card-visual { height: 110px; }
    .news-card-body { padding: 16px 18px; }
    .news-card-title { font-size: 0.92rem; }
    .news-card-summary { font-size: 0.78rem; -webkit-line-clamp: 2; }
    .news-card-tag { font-size: 0.62rem; padding: 2px 6px; }
    .news-filter { flex-wrap: wrap; gap: 4px; }
    .news-filter-btn { padding: 6px 12px; font-size: 0.72rem; }
    .nm-hero { padding: 24px 18px 16px; }
    .nm-title { font-size: 1.1rem; line-height: 1.3; }
    .nm-meta { gap: 10px; font-size: 0.72rem; }
    .nm-content { padding: 20px 18px; }
    .nm-content h3 { font-size: 0.95rem; }
    .nm-content p { font-size: 0.82rem; line-height: 1.65; }
    .nm-data-strip { grid-template-columns: 1fr 1fr; }
    .nm-share-bar { padding: 14px 18px 20px; }
    .nm-share-label { width: 100%; margin-bottom: 4px; }
    .news-teaser-grid { grid-template-columns: 1fr; }
    .ins-stats-bar { grid-template-columns: 1fr; gap: 12px; padding: 18px 16px; }
    .ins-stat::after { display: none; }
    .ins-stat-num { font-size: 1.4rem; }
}

/* ================================================================
   25. Data Center — 全面移动端优化
   涵盖: 标签栏 / 行情条 / 图表 / 表格 / 实时引擎组件
   ================================================================ */

/* ---- 1024px 平板: 两列网格 ---- */
@media (max-width: 1024px) {
    .risk-type-grid { grid-template-columns: repeat(2, 1fr); }
    .rt-toast-container { max-width: 340px; }
    .dc-grid-3 { grid-template-columns: repeat(2, 1fr); }
    .dc-grid-3 > .card[style*="span 2"] { grid-column: span 2 !important; }
}

/* ---- 768px 手机: 全面适配 ---- */
@media (max-width: 768px) {

    /* === 标签栏 — 水平滚动优化 === */
    .dc-tabs-wrap {
        top: var(--header-h);
        position: sticky;
        overflow: hidden;
    }
    .dc-tabs {
        padding: 6px 12px;
        gap: 2px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
        scroll-padding-left: 12px;
        position: relative;
    }
    .dc-tab {
        padding: 7px 12px;
        font-size: 0.74rem;
        scroll-snap-align: start;
        min-height: 34px;
        display: inline-flex;
        align-items: center;
    }
    /* 标签栏左右渐变指示器 */
    .dc-tabs-wrap::before,
    .dc-tabs-wrap::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        width: 24px;
        z-index: 2;
        pointer-events: none;
    }
    .dc-tabs-wrap::before {
        left: 0;
        background: linear-gradient(to right, var(--green-mist, #ecfdf5), transparent);
    }
    .dc-tabs-wrap::after {
        right: 0;
        background: linear-gradient(to left, var(--green-mist, #ecfdf5), transparent);
    }

    /* === 行情滚动条 === */
    .dc-ticker-bar { padding: 4px 0; }
    .dc-ticker-track { gap: 20px; padding: 5px 0; }
    .ticker-item { font-size: 0.68rem; gap: 3px; padding: 0 8px; }
    .ticker-item .ticker-name { font-size: 0.68rem; }
    .ticker-item .ticker-price { font-size: 0.7rem; }
    .ticker-item .ticker-change { font-size: 0.64rem; }

    /* === 实时状态栏 — 紧凑型 === */
    .rt-status-bar {
        padding: 4px 12px;
        font-size: 0.64rem;
        gap: 4px;
        flex-wrap: nowrap;
        overflow: hidden;
    }
    .rt-status-left { gap: 6px; flex: 1; min-width: 0; }
    .rt-status-right { gap: 6px; flex-shrink: 0; }
    .rt-update-count { display: none; }
    .rt-time { display: none; }
    .rt-live-text { font-size: 0.66rem; }
    .rt-risk-badge { padding: 2px 8px; font-size: 0.66rem; }
    .rt-opp-badge { padding: 2px 8px; font-size: 0.66rem; }

    /* === Toast 通知 — 全宽底部弹出 === */
    .rt-toast-container {
        right: 8px;
        left: 8px;
        max-width: none;
        top: auto;
        bottom: 16px;
        z-index: 10000;
    }
    .rt-toast {
        padding: 10px 12px;
        border-radius: 10px;
        align-items: flex-start;
    }
    .rt-toast-icon { font-size: 1.2rem; }
    .rt-toast-level { font-size: 0.64rem; }
    .rt-toast-msg { font-size: 0.76rem; line-height: 1.35; }
    .rt-toast-time { font-size: 0.64rem; }
    .rt-toast-close { font-size: 1rem; }

    /* === 指标卡片 — 2列网格 === */
    .dc-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-bottom: 12px;
    }
    .dc-metric-card {
        min-width: 0 !important;
        padding: 10px 12px;
        border-radius: 8px;
    }
    .dc-metric-label { font-size: 0.64rem; margin-bottom: 4px; }
    .dc-metric-value { font-size: 0.92rem; }

    /* === 图表卡片 === */
    .dc-chart-card { border-radius: 10px; }
    .dc-card-head { padding: 10px 12px; }
    .dc-card-head h3 { font-size: 0.84rem; }
    .dc-tag { font-size: 0.58rem; padding: 2px 6px; }
    .dc-chart-body { padding: 10px; }
    .dc-chart-card canvas {
        max-height: 220px !important;
    }

    /* === 热力图 — 2列 === */
    .heatmap-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
    .heatmap-cell { padding: 8px 6px; border-radius: 6px; }
    .heatmap-cell .hm-name { font-size: 0.66rem; }
    .heatmap-cell .hm-val { font-size: 0.74rem; }

    /* === 涨跌排行 — 2列 === */
    .movers-grid { grid-template-columns: 1fr 1fr !important; gap: 8px; }
    .movers-title { font-size: 0.66rem; margin-bottom: 4px; }
    .mover-row { padding: 4px 0; font-size: 0.72rem; }
    .mover-name { font-size: 0.72rem; }
    .mover-price { font-size: 0.72rem; }
    .mover-change { font-size: 0.72rem; }

    /* === KPI 卡片 === */
    .dc-kpi-card { padding: 12px; border-radius: 8px; }
    .dc-kpi-val { font-size: 1.2rem; }
    .dc-kpi-label { font-size: 0.66rem; }
    .dc-kpi-sub { font-size: 0.62rem; }

    /* === 产品选择器 — 自动换行 === */
    .dc-selector {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: 10px;
    }
    .dc-selector label,
    .dc-selector .prod-chip {
        font-size: 0.72rem;
        padding: 6px 10px;
        border-radius: 16px;
    }

    /* === 数据表格 — 紧凑型横向滚动 === */
    .dc-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 -10px;
        padding: 0 10px;
    }
    .dc-table,
    .dc-data-table {
        min-width: 420px;
        font-size: 0.72rem;
    }
    .dc-table th, .dc-table td,
    .dc-data-table th, .dc-data-table td { padding: 6px 8px; }
    .dc-table .prod-name, .dc-data-table .prod-name { font-size: 0.72rem; }

    /* 价格表: 隐藏成交量和日内最高/最低列 */
    .dc-data-table th:nth-child(4),
    .dc-data-table td:nth-child(4),
    .dc-data-table th:nth-child(5),
    .dc-data-table td:nth-child(5),
    .dc-data-table th:nth-child(6),
    .dc-data-table td:nth-child(6) {
        display: none;
    }

    /* === 套利表 — 紧凑 === */
    .dc-arb-table { font-size: 0.68rem; }
    .dc-arb-table th { padding: 6px 6px; font-size: 0.64rem; }
    .dc-arb-table td { padding: 6px 6px; }
    .arb-route { font-size: 0.64rem; }
    .arb-badge { font-size: 0.62rem; padding: 2px 6px; }
    /* 套利表隐藏运费列 */
    #rt-arb-table th:nth-child(5),
    #rt-arb-table td:nth-child(5),
    #arb-table th:nth-child(5),
    #arb-table td:nth-child(5) {
        display: none;
    }

    /* === 周期仪表 — 垂直堆叠 === */
    .cycle-gauge-wrap { flex-direction: column; gap: 12px; }
    .sentiment-bar { height: 8px; }

    /* === 风险仪表盘 === */
    .risk-type-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .risk-type-card { padding: 12px 8px; border-radius: 8px; }
    .rt-icon { font-size: 1.4rem; margin-bottom: 4px; }
    .rt-name { font-size: 0.72rem; margin-bottom: 4px; }
    .rt-status { font-size: 0.62rem; padding: 2px 8px; }
    .rt-detail { font-size: 0.6rem; }
    .rt-live-val { font-size: 0.62rem; }

    .risk-overview {
        padding: 10px 14px;
        gap: 10px;
        border-radius: 8px;
        margin-bottom: 10px;
    }
    .risk-level-indicator { width: 32px; height: 32px; }
    .risk-overview-label { font-size: 0.66rem; }
    .risk-overview-value { font-size: 1rem; }

    .risk-list { gap: 4px; }
    .risk-item { padding: 8px 10px; gap: 8px; }
    .risk-item-msg { font-size: 0.72rem; }
    .risk-item-time { font-size: 0.62rem; }

    /* === 商机雷达 === */
    .opp-score-bar {
        flex-wrap: wrap;
        padding: 10px 12px;
        gap: 8px;
        border-radius: 8px;
        margin-bottom: 10px;
    }
    .opp-score-label { font-size: 0.72rem; }
    .opp-score-value { font-size: 1.3rem; }
    .opp-score-bar-bg { width: 100%; height: 8px; }

    .opp-list { gap: 6px; }
    .opp-item { padding: 10px; gap: 8px; border-radius: 6px; }
    .opp-item-icon { font-size: 1.1rem; }
    .opp-item-msg { font-size: 0.74rem; line-height: 1.3; }
    .opp-badge { font-size: 0.6rem; padding: 2px 6px; }

    /* === 告警日志 === */
    .alert-log-list { gap: 2px; }
    .alert-log-item {
        padding: 6px 8px;
        gap: 6px;
        font-size: 0.7rem;
        border-radius: 4px;
    }
    .alert-log-icon { font-size: 0.8rem; }
    .alert-log-msg {
        font-size: 0.7rem;
        white-space: normal;
        line-height: 1.3;
    }
    .alert-log-time { font-size: 0.6rem; }
    .alert-log-stats {
        flex-wrap: wrap;
        gap: 6px;
        padding-top: 8px;
        font-size: 0.66rem;
    }

    /* === 全球市场 === */
    .dc-world-map {
        aspect-ratio: 1.4 / 1;
        max-height: 260px;
        padding: 10px;
    }
    .global-region-grid { grid-template-columns: 1fr; gap: 10px; }
    .dc-region-card { padding: 14px; border-radius: 10px; }
    .dc-region-card .dcr-header { margin-bottom: 10px; }
    .dc-region-card .dcr-name { font-size: 0.88rem; }
    .dc-region-card .dcr-price-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
    .dc-region-card .dcr-price-item { padding: 6px 8px; }
    .dc-region-card .dcr-pname { font-size: 0.62rem; }
    .dc-region-card .dcr-pval { font-size: 0.74rem; }
    .dc-region-card .dcr-pchange { font-size: 0.6rem; }

    /* 市场状态条 */
    .market-status-strip {
        flex-wrap: wrap;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 10px;
    }
    .market-status-strip .mss-item { font-size: 0.66rem; }
    .market-status-strip .mss-label { font-size: 0.58rem; }
    .market-status-strip .mss-value { font-size: 0.72rem; }

    /* 全球区域价格卡片 */
    .global-region-card { padding: 12px; border-radius: 8px; }
    .gr-header { margin-bottom: 8px; }
    .gr-name { font-size: 0.84rem; font-weight: 700; }
    .gr-flag { font-size: 1.1rem; }
    .gr-prices { display: flex; flex-direction: column; gap: 4px; }
    .gr-price-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 4px 0;
        border-bottom: 1px solid rgba(0,0,0,0.03);
    }
    .gr-pname { font-size: 0.68rem; }
    .gr-pprice { font-size: 0.74rem; font-weight: 700; }
    .gr-pchange { font-size: 0.66rem; }

    /* === 信息横幅 — 紧凑 === */
    .dc-info-banner {
        padding: 10px 12px;
        gap: 8px;
        border-radius: 8px;
    }
    .dc-info-banner .dc-info-icon { font-size: 1rem; }
    .dc-info-banner strong { font-size: 0.76rem; }
    .dc-info-banner p { font-size: 0.68rem; line-height: 1.4; }

    /* === 免责声明 — 紧凑 === */
    .dc-disclaimer {
        padding: 10px 12px;
        gap: 8px;
        border-radius: 8px;
    }
    .dc-disclaimer .dc-disclaimer-icon { font-size: 1rem; }
    .dc-disclaimer strong { font-size: 0.76rem; }
    .dc-disclaimer p { font-size: 0.68rem; line-height: 1.4; }

    /* === 页面横幅 — 减小 === */
    .page-banner { padding: 24px 0 16px !important; }
    .page-banner h1 { font-size: 1.2rem; }
    .page-banner .lead { font-size: 0.76rem; }
    .page-banner .tag { font-size: 0.56rem; }

    /* === 内容区域 === */
    .dc-content { padding: 12px 0 24px; }
    .dc-grid-2 { grid-template-columns: 1fr; gap: 12px; }
    .dc-grid-3 { grid-template-columns: 1fr; gap: 12px; }
    .dc-grid-3 > .card[style*="span 2"] { grid-column: span 1 !important; }

    /* 返回顶部按钮避开toast */
    .back-to-top { bottom: 80px; }
}

/* ---- 480px 小屏手机: 极致压缩 ---- */
@media (max-width: 480px) {
    /* 指标卡片 — 单列 */
    .dc-row { grid-template-columns: 1fr; }
    .dc-metric-card { min-width: 0 !important; }

    /* 标签更紧凑 */
    .dc-tab { padding: 6px 10px; font-size: 0.7rem; }

    /* 图表高度 */
    .dc-chart-card canvas { max-height: 180px !important; }

    /* 热力图 — 单列 */
    .heatmap-grid { grid-template-columns: 1fr; }

    /* 涨跌排行 — 单列 */
    .movers-grid { grid-template-columns: 1fr !important; }

    /* 风险类型 — 单列 */
    .risk-type-grid { grid-template-columns: 1fr; }

    /* Toast 更小 */
    .rt-toast-icon { font-size: 1rem; }
    .rt-toast-level { font-size: 0.6rem; }
    .rt-toast-msg { font-size: 0.72rem; }
    .rt-toast { padding: 8px 10px; }

    /* 套利表更紧凑 */
    .dc-arb-table { font-size: 0.64rem; }
    .dc-arb-table th, .dc-arb-table td { padding: 4px 4px; }
    /* 隐藏买价列 */
    #rt-arb-table th:nth-child(3),
    #rt-arb-table td:nth-child(3),
    #arb-table th:nth-child(3),
    #arb-table td:nth-child(3) {
        display: none;
    }

    /* 商机雷达 */
    .opp-score-value { font-size: 1.1rem; }
    .opp-item { padding: 8px; }
    .opp-item-msg { font-size: 0.7rem; }

    /* 全球市场 */
    .dc-world-map { aspect-ratio: 1.2 / 1; max-height: 200px; padding: 6px; }
    .dc-region-card .dcr-price-grid { grid-template-columns: 1fr; }

    /* 表格最小宽度减小 */
    .dc-table, .dc-data-table { min-width: 320px; }

    /* 信息横幅 */
    .dc-info-banner { padding: 8px 10px; }
    .dc-info-banner .dc-info-icon { font-size: 0.9rem; }
    .dc-info-banner strong { font-size: 0.72rem; }
    .dc-info-banner p { font-size: 0.64rem; }
}

/* ---- 横屏适配 ---- */
@media (max-width: 768px) and (orientation: landscape) {
    .dc-chart-card canvas { max-height: 200px !important; }
    .dc-world-map { max-height: 220px; }
    .dc-row { grid-template-columns: 1fr 1fr 1fr; }
    .risk-type-grid { grid-template-columns: repeat(3, 1fr); }
    .heatmap-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---- 触控优化 ---- */
@media (hover: none) and (pointer: coarse) {
    .dc-tab { min-height: 36px; }
    .risk-type-card { min-height: 44px; }
    .opp-item { min-height: 44px; }
    .alert-log-item { min-height: 36px; }
    .mover-row { min-height: 32px; }
    .rt-toast-close { min-width: 36px; min-height: 36px; display: flex; align-items: center; justify-content: center; }
}

/* ---- 安全区域 ---- */
@supports (padding: max(0px)) {
    @media (max-width: 768px) {
        .rt-toast-container {
            bottom: calc(16px + env(safe-area-inset-bottom));
        }
        .dc-tabs-wrap {
            top: calc(var(--header-h) + env(safe-area-inset-top));
        }
    }
}
