/* 羽球助手 · 设计变量与重置（视觉规范见 docs/08 文档 §5） */
:root {
  --c-primary: #16a34a;
  --c-primary-dark: #15803d;
  --c-primary-soft: #dcfce7;
  --c-accent: #f97316;
  --c-accent-soft: #ffedd5;
  --c-danger: #dc2626;
  --c-danger-soft: #fee2e2;
  --c-warn: #d97706;
  --c-warn-soft: #fef3c7;
  --c-info: #2563eb;
  --c-info-soft: #dbeafe;

  --c-bg: #f6f7f9;
  --c-card: #ffffff;
  --c-text: #111827;
  --c-text-2: #6b7280;
  --c-text-3: #9ca3af;
  --c-line: #e5e7eb;
  --c-line-soft: #f3f4f6;

  --r-card: 14px;
  --r-btn: 12px;
  --r-pill: 999px;
  --shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);

  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --header-h: 52px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font: 16px/1.6 "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: none;
}

#app { min-height: 100dvh; }

h1, h2, h3, h4 { margin: 0; font-weight: 600; }
p { margin: 0; }
a { color: var(--c-primary); text-decoration: none; }
code { padding: 1px 6px; border-radius: 6px; background: var(--c-line-soft); font-size: .85em; }

/* 首屏加载态（Vue 挂载后被替换） */
.boot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 100dvh;
  color: var(--c-text-2);
  font-size: 14px;
}
.boot-logo { font-size: 56px; animation: boot-bounce 1.2s ease-in-out infinite; }
@keyframes boot-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
