/* Nihao Plan brand tokens v2. Light by default; dark via prefers-color-scheme or [data-theme="dark"]. */
:root {
  --bg: #ffffff;
  --surface: #f6f6f6;
  --line: #dfdfdf;
  --line-strong: #8a8a8a;
  --ink: #0f0f0f;
  --ink-muted: #5f5f5f;
  --nihao-red: #e30a03;
  --action: #e30a03;
  --action-hover: #c40800;
  --on-action: #ffffff;
  --on-red: #ffffff;
  --red-soft: #fdecea;
  --red-on-soft: #b00800;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-10: 40px;
  --space-20: 80px;
  --space-32: 128px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --radius-icon: 22%;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.06);
  --font-sans: Geist, "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-poster: Anton, "Helvetica Neue Condensed Black", Impact, sans-serif;
  --font-zh: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}
@media (prefers-color-scheme: dark) {
 :root:not([data-theme="light"]) {
    --bg: #0f0f0f;
    --surface: #1a1a1a;
    --line: #2a2a2a;
    --line-strong: #6a6a6a;
    --ink: #f5f5f5;
    --ink-muted: #a3a3a3;
    --action: #ff4a3d;
    --action-hover: #ff6b60;
    --on-action: #0f0f0f;
    --red-soft: #3a1110;
    --red-on-soft: #ff8a80;
    --shadow-card: 0 1px 2px rgba(0,0,0,0.5), 0 8px 24px rgba(0,0,0,0.4);
   color-scheme: dark;
 }
}
:root[data-theme="dark"] {
  --bg: #0f0f0f;
  --surface: #1a1a1a;
  --line: #2a2a2a;
  --line-strong: #6a6a6a;
  --ink: #f5f5f5;
  --ink-muted: #a3a3a3;
  --action: #ff4a3d;
  --action-hover: #ff6b60;
  --on-action: #0f0f0f;
  --red-soft: #3a1110;
  --red-on-soft: #ff8a80;
  --shadow-card: 0 1px 2px rgba(0,0,0,0.5), 0 8px 24px rgba(0,0,0,0.4);
  color-scheme: dark;
}
.t-poster { font-family: var(--font-poster); font-size: 200px; line-height: 0.9; font-weight: 400; letter-spacing: -0.01em; }
.t-h1 { font-family: var(--font-sans); font-size: 72px; line-height: 1.1; font-weight: 500; letter-spacing: -0.05em; }
.t-h2 { font-family: var(--font-sans); font-size: 48px; line-height: 1.2; font-weight: 500; letter-spacing: -0.04em; }
.t-h3 { font-family: var(--font-sans); font-size: 32px; line-height: 1.4; font-weight: 600; letter-spacing: -0.03em; }
.t-h4 { font-family: var(--font-sans); font-size: 24px; line-height: 1.4; font-weight: 600; letter-spacing: -0.02em; }
.t-lead { font-family: var(--font-sans); font-size: 18px; line-height: 1.7; font-weight: 400; }
.t-body { font-family: var(--font-sans); font-size: 16px; line-height: 1.7; font-weight: 400; }
.t-button { font-family: var(--font-sans); font-size: 16px; line-height: 1.2; font-weight: 500; }
.t-small { font-family: var(--font-sans); font-size: 14px; line-height: 1.7; font-weight: 400; letter-spacing: -0.02em; }
.t-zh-name { font-family: var(--font-zh); font-size: 28px; line-height: 1.3; font-weight: 700; }
.t-zh-inline { font-family: var(--font-zh); font-size: 16px; line-height: 1.7; font-weight: 500; }
