:root { 
    --primary: #007AFF; 
    --bg: #F2F2F7; 
    --card: #FFFFFF; 
    --text-main: #000000; 
    --text-sub: #8E8E93; 
    --sep: #C6C6C8; 
    --warn: #FF3B30; 
    --success: #34C759; 
}
body { 
    font-family: -apple-system, "SF Pro Text", "PingFang SC", sans-serif; 
    background-color: var(--bg); 
    color: var(--text-main); 
    margin: 0; padding: 0; padding-bottom: 90px; 
    -webkit-tap-highlight-color: transparent; user-select: none; 
}

/* 公共头部 (带毛玻璃效果) */
header { 
    padding: calc(env(safe-area-inset-top) + 12px) 16px 16px; 
    background: rgba(242, 242, 247, 0.9); 
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); 
    position: sticky; top: 0; z-index: 100; 
    border-bottom: 0.5px solid rgba(0,0,0,0.1); 
    display: flex; flex-direction: column; gap: 14px; 
}
.header-title-row { display: flex; justify-content: space-between; align-items: center; height: 32px; }
.header-title-row h1 { font-size: 22px; font-weight: 700; margin: 0; letter-spacing: -0.5px; text-align: center; flex: 1; }
.back-btn { color: var(--primary); text-decoration: none; font-size: 17px; font-weight: 500; width: 70px; display: flex; align-items: center; }
.header-spacer { width: 70px; } /* 用于平衡标题居中 */

/* 搜索框 */
.search-wrapper { background: rgba(118, 118, 128, 0.12); border-radius: 10px; padding: 10px; display: flex; align-items: center; }
.search-wrapper span { color: var(--text-sub); margin-right: 6px; }
.search-wrapper input { border: none; background: transparent; outline: none; font-size: 17px; width: 100%; color: var(--text-main); }

/* 容器与卡片 */
.section-title { margin: 24px 20px 8px; font-size: 13px; color: var(--text-sub); text-transform: uppercase; }
.group-container { background: var(--card); margin: 0 16px; border-radius: 10px; overflow: hidden; }

/* Toast 提示 */
#toast { position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%) translateY(20px); background: rgba(0,0,0,0.8); color: #fff; padding: 10px 20px; border-radius: 25px; font-size: 13px; font-weight: 500; opacity: 0; visibility: hidden; transition: all 0.3s; z-index: 3000; box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
#toast.show { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
