/* ==================== 全局重置 & 变量 ==================== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

:root {
    --bg-page:       #f3f9fc;
    --bg-card:       #ffffff;
    --bg-input:      #f2f2f4;
    --bg-hover:      #ebebed;
    --border:        #e5e5ea;
    --border-strong: #d1d1d6;
    --text-primary:  #1c1c1e;
    --text-secondary:#6b7280;
    --text-muted:    #9ca3af;
    --accent-blue:   #3b82f6;
    --accent-green:  #22c55e;
    --accent-red:    #ef4444;
    --accent-amber:  #f59e0b;
    --accent-purple: #8b5cf6;
    --font-mono:     ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    --font-sans:     -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Noto Sans SC', system-ui, sans-serif;
    --radius-lg:     16px;
    --radius-md:     12px;
    --radius-sm:     8px;
    --shadow-card:   0 1px 3px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.03);
    --shadow-press:  0 2px 8px rgba(0,0,0,0.06);
}

body {
    font-family: var(--font-sans);
    background: var(--bg-page);
    color: var(--text-primary);
    min-height: 100vh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    padding-bottom: env(safe-area-inset-bottom);
}

/* 简单 SVG 图标颜色 */
svg.icon { stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
