/* 虛擬網紅工作台 — generated from tokens.json */
:root, [data-theme="light"] {
  --bg: oklch(0.967 0 0);
  --surface: oklch(1 0 0);
  --surface-muted: oklch(0.977 0 0);
  --surface-hover: oklch(0.95 0 0);
  --line: oklch(0.912 0 0);
  --line-strong: oklch(0.84 0 0);
  --ink: oklch(0.205 0 0);
  --ink-muted: oklch(0.45 0 0);
  --ink-subtle: oklch(0.52 0 0);
  --primary: oklch(0.205 0 0);
  --primary-hover: oklch(0.32 0 0);
  --on-primary: oklch(0.985 0 0);
  --accent: oklch(0.205 0 0);
  --on-accent: oklch(0.985 0 0);
  --focus: var(--accent);
  --scrim: rgba(0, 0, 0, 0.4);
  --status-neutral: oklch(0.45 0 0);
  --status-neutral-soft: oklch(0.94 0 0);
  --status-neutral-dot: oklch(0.62 0 0);
  --status-amber: oklch(0.48 0.1 65);
  --status-amber-soft: oklch(0.955 0.045 85);
  --status-amber-dot: oklch(0.75 0.15 75);
  --status-green: oklch(0.46 0.1 150);
  --status-green-soft: oklch(0.955 0.035 155);
  --status-green-dot: oklch(0.62 0.14 150);
  --status-red: oklch(0.5 0.16 27);
  --status-red-soft: oklch(0.955 0.025 20);
  --status-red-dot: oklch(0.6 0.19 27);
  --lighttable: oklch(0.48 0 0);
  --lighttable-tile: oklch(0.43 0 0);
  --lighttable-line: oklch(0.56 0 0);
  --lighttable-ink: oklch(0.98 0 0);
  --lighttable-ink-muted: oklch(0.9 0 0);
  --lighttable-select: oklch(0.985 0 0);
  --lighttable-on-select: oklch(0.205 0 0);
  --shadow-pop: 0 8px 24px rgba(0, 0, 0, 0.10), 0 1px 2px rgba(0, 0, 0, 0.06);
}
[data-theme="dark"] {
  --bg: oklch(0.165 0 0);
  --surface: oklch(0.205 0 0);
  --surface-muted: oklch(0.185 0 0);
  --surface-hover: oklch(0.25 0 0);
  --line: oklch(0.285 0 0);
  --line-strong: oklch(0.38 0 0);
  --ink: oklch(0.925 0 0);
  --ink-muted: oklch(0.72 0 0);
  --ink-subtle: oklch(0.64 0 0);
  --primary: oklch(0.925 0 0);
  --primary-hover: oklch(0.84 0 0);
  --on-primary: oklch(0.18 0 0);
  --accent: oklch(0.925 0 0);
  --on-accent: oklch(0.18 0 0);
  --focus: var(--accent);
  --scrim: rgba(0, 0, 0, 0.6);
  --status-neutral: oklch(0.74 0 0);
  --status-neutral-soft: oklch(0.27 0 0);
  --status-neutral-dot: oklch(0.6 0 0);
  --status-amber: oklch(0.83 0.12 80);
  --status-amber-soft: oklch(0.29 0.05 70);
  --status-amber-dot: oklch(0.78 0.14 75);
  --status-green: oklch(0.8 0.12 155);
  --status-green-soft: oklch(0.28 0.045 155);
  --status-green-dot: oklch(0.72 0.15 152);
  --status-red: oklch(0.76 0.14 25);
  --status-red-soft: oklch(0.29 0.06 25);
  --status-red-dot: oklch(0.68 0.18 27);
  --shadow-pop: 0 8px 24px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.06);
  color-scheme: dark;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 999px;
  --sidebar-w: 216px;
  --filter-w: 232px;
  --control-h: 32px;
  --control-h-sm: 28px;
  --touch-min: 44px;
  --tabbar-h: 56px;
  --font-sans: Inter, "PingFang TC", "Noto Sans TC", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
.title-lg { font-family: var(--font-sans); font-size: 20px; line-height: 28px; font-weight: 600; }
.title { font-family: var(--font-sans); font-size: 16px; line-height: 24px; font-weight: 600; }
.body { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 400; }
.body-strong { font-family: var(--font-sans); font-size: 14px; line-height: 22px; font-weight: 500; }
.label { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 500; }
.meta { font-family: var(--font-sans); font-size: 12px; line-height: 18px; font-weight: 400; }
.num { font-family: var(--font-mono); font-size: 13px; line-height: 20px; font-weight: 400; }
.num-sm { font-family: var(--font-mono); font-size: 12px; line-height: 16px; font-weight: 400; }
