/* ================================================
   Entry Page — Apple 简约风格
   ================================================ */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: fixed;           /* 阻止移动端地址栏变化导致的视口跳动 */
    top: 0; left: 0;
    overscroll-behavior: none; /* 禁止下拉刷新 / 边缘滚动 */
    -webkit-overflow-scrolling: auto;
    background-color: #f5f5f7;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text',
                 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #1d1d1f;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
}

/* ============ 装饰背景 ============ */
.deco {
    position: fixed; inset: 0;
    pointer-events: none; z-index: 0;
    overflow: hidden;
}

.deco-circle {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
}

.deco-c1 {
    width: 360px; height: 360px;
    background: radial-gradient(circle, rgba(0,122,255,0.08) 0%, transparent 70%);
    top: -120px; right: -100px;
}

.deco-c2 {
    width: 280px; height: 280px;
    background: radial-gradient(circle, rgba(0,122,255,0.05) 0%, transparent 70%);
    bottom: 20%; left: -80px;
}

.deco-c3 {
    width: 200px; height: 200px;
    background: radial-gradient(circle, rgba(90,200,250,0.06) 0%, transparent 70%);
    bottom: 45%; right: -60px;
}

/* ============ 主容器 ============ */
.home-container {
    position: fixed;            /* 固定定位，不受文档流和地址栏影响 */
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    contain: layout style;      /* 隔离布局变化，防止影响外部 */
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px) + 20px);
}

/* ============ Tab 内容区域 ============ */
.tab-content-wrap {
    display: none;
    position: fixed; top: 0; left: 0; right: 0;
    bottom: 56px;
    bottom: calc(56px + env(safe-area-inset-bottom, 0px));
    z-index: 360;  /* > TabBar (350) 使内部 fixed 弹窗可以覆盖导航栏 */
    overflow: hidden;
    background: #f5f5f7;
}

.tab-panel {
    display: none;
    height: 100%;
    overflow: hidden;
}

.tab-panel.active {
    display: block;
}

/* ============ SPA 页面容器 ============ */
#pageView {
    display: none;
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    z-index: 50;
    background: #000;
    overflow: hidden;
}
#pageView.active { display: block; }



