/**
 * @author Telegram @okgeceo
 */

:root {
  --background: oklch(1 0 0);
  --foreground: oklch(0.147 0.004 49.3);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.147 0.004 49.3);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.147 0.004 49.3);
  --primary: oklch(0.214 0.009 43.1);
  --primary-foreground: oklch(0.986 0.002 67.8);
  --secondary: oklch(0.96 0.002 17.2);
  --secondary-foreground: oklch(0.214 0.009 43.1);
  --muted: oklch(0.96 0.002 17.2);
  --muted-foreground: oklch(0.547 0.021 43.1);
  --accent: oklch(0.96 0.002 17.2);
  --accent-foreground: oklch(0.214 0.009 43.1);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.986 0.002 67.8);
  --border: oklch(0.922 0.005 34.3);
  --input: oklch(0.922 0.005 34.3);
  --ring: oklch(0.714 0.014 41.2);
  --success: oklch(0.627 0.194 149.214);
  --success-foreground: oklch(0.986 0.002 67.8);
  --warning: oklch(0.769 0.188 70.08);
  --warning-foreground: oklch(0.147 0.004 49.3);
  --info: oklch(0.546 0.191 262.049);
  --info-foreground: oklch(0.985 0.002 67.8);
  --support-accent: oklch(0.66 0.13 220);
  --support-accent-foreground: oklch(0.985 0.01 220);

  /* 强调色调：渐变/衬底/装饰图标（非 success/info/warning 等语义色，全站可复用） */
  --tone-h-warm: 43.1;
  --tone-h-cool: 252;
  --tone-emphasis-warm: oklch(0.48 0.062 var(--tone-h-warm));
  --tone-emphasis-cool: oklch(0.46 0.055 var(--tone-h-cool));
  --tone-emphasis-warm-muted: oklch(0.92 0.028 var(--tone-h-warm));
  --tone-emphasis-cool-muted: oklch(0.91 0.024 var(--tone-h-cool));
  --tone-canvas: oklch(0.996 0.002 var(--tone-h-warm));
  --tone-bloom-warm: oklch(0.91 0.028 var(--tone-h-warm));
  --tone-bloom-cool: oklch(0.9 0.024 var(--tone-h-cool));
  --tone-bloom-apex: oklch(0.94 0.018 var(--tone-h-warm));
  --tone-panel-edge: oklch(0.88 0.012 var(--tone-h-warm));
  --tone-panel-base: oklch(0.975 0.008 var(--tone-h-warm));
  --tone-panel-mid: oklch(0.96 0.014 var(--tone-h-warm));
  --tone-panel-deep: oklch(0.945 0.016 var(--tone-h-cool));
  --tone-glow-warm: oklch(0.88 0.032 var(--tone-h-warm));
  --tone-glow-cool: oklch(0.89 0.028 var(--tone-h-cool));
  --tone-glass: oklch(1 0 0 / 0.38);
  --tone-glass-border: oklch(1 0 0 / 0.48);
  --tone-grid-ink: oklch(0.84 0.01 var(--tone-h-warm));
  --tone-chip-a-fg: oklch(0.42 0.028 var(--tone-h-warm));
  --tone-chip-a-bg: oklch(0.972 0.008 var(--tone-h-warm));
  --tone-chip-a-border: oklch(0.9 0.012 var(--tone-h-warm));
  --tone-chip-b-fg: oklch(0.43 0.024 var(--tone-h-cool));
  --tone-chip-b-bg: oklch(0.97 0.008 var(--tone-h-cool));
  --tone-chip-b-border: oklch(0.89 0.012 var(--tone-h-cool));
  --tone-chip-c-fg: oklch(0.44 0.02 var(--tone-h-warm));
  --tone-chip-c-bg: oklch(0.975 0.006 var(--tone-h-warm));
  --tone-chip-c-border: oklch(0.91 0.01 var(--tone-h-warm));

  --badge-success-bg: #dcfce7;
  --badge-success-fg: #166534;
  --badge-success-border: #86efac;
  --badge-warning-bg: #fef3c7;
  --badge-warning-fg: #92400e;
  --badge-warning-border: #fcd34d;
  --badge-info-bg: #dbeafe;
  --badge-info-fg: #1e40af;
  --badge-info-border: #93c5fd;
  --badge-destructive-bg: #fee2e2;
  --badge-destructive-fg: #b91c1c;
  --badge-destructive-border: #fca5a5;
  --badge-neutral-bg: #f1f5f9;
  --badge-neutral-fg: #64748b;
  --badge-neutral-border: #cbd5e1;
  --badge-outline-bg: #ffffff;
  --badge-outline-fg: #334155;
  --badge-outline-border: #e2e8f0;
  --chart-1: oklch(0.879 0.169 91.605);
  --chart-2: oklch(0.769 0.188 70.08);
  --chart-3: oklch(0.666 0.179 58.318);
  --chart-4: oklch(0.555 0.163 48.998);
  --chart-5: oklch(0.473 0.137 46.201);
  --sidebar: oklch(0.986 0.002 67.8);
  --sidebar-foreground: oklch(0.147 0.004 49.3);
  --sidebar-primary: oklch(0.214 0.009 43.1);
  --sidebar-primary-foreground: oklch(0.986 0.002 67.8);
  --sidebar-accent: oklch(0.96 0.002 17.2);
  --sidebar-accent-foreground: oklch(0.214 0.009 43.1);
  --sidebar-border: oklch(0.922 0.005 34.3);
  --sidebar-ring: oklch(0.714 0.014 41.2);

  --radius: 1rem;
  --radius-sm: 0.625rem;
  --radius-md: 0.875rem;
  --radius-lg: 1rem;
  --radius-xl: 1.25rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;

  --shadow-sm: 0 1px 2px 0 oklch(0 0 0 / 0.04);
  --shadow-md: 0 2px 8px -2px oklch(0 0 0 / 0.08), 0 1px 2px -1px oklch(0 0 0 / 0.04);
  --shadow-lg: 0 8px 24px -6px oklch(0 0 0 / 0.12), 0 2px 6px -2px oklch(0 0 0 / 0.05);
  --shadow-card: none;
  --shadow-xs: inset 0 1px 0 0 oklch(1 0 0 / 0.04);

  --surface: oklch(0.985 0.002 67.8);
  --surface-elevated: oklch(1 0 0);

  --bg-texture-dot: oklch(0 0 0 / 0.075);
  --bg-texture-glow: color-mix(in oklch, var(--muted) 36%, transparent);
  --bg-texture-dot-size: 1rem;

  --font-sans: "Inter", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Segoe UI", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: "Cascadia Mono", "Cascadia Code", ui-monospace, Consolas, "Liberation Mono", Menlo, Monaco, "Courier New", "Microsoft YaHei UI", monospace;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;

  --container-max: 1280px;
  --header-h: 4rem;

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-snappy: cubic-bezier(0.5, 0.85, 0.25, 1.1);
  --ease-spring: cubic-bezier(0.34, 1.35, 0.64, 1);
  --duration-fast: 150ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-enter: 420ms;
  --stagger-step: 40ms;
}

.dark {
  --background: oklch(0.147 0.004 49.3);
  --foreground: oklch(0.986 0.002 67.8);
  --card: oklch(0.214 0.009 43.1);
  --card-foreground: oklch(0.986 0.002 67.8);
  --popover: oklch(0.214 0.009 43.1);
  --popover-foreground: oklch(0.986 0.002 67.8);
  --primary: oklch(0.922 0.005 34.3);
  --primary-foreground: oklch(0.214 0.009 43.1);
  --secondary: oklch(0.268 0.011 36.5);
  --secondary-foreground: oklch(0.986 0.002 67.8);
  --muted: oklch(0.268 0.011 36.5);
  --muted-foreground: oklch(0.714 0.014 41.2);
  --accent: oklch(0.268 0.011 36.5);
  --accent-foreground: oklch(0.986 0.002 67.8);
  --destructive: oklch(0.704 0.191 22.216);
  --destructive-foreground: oklch(0.986 0.002 67.8);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.547 0.021 43.1);
  --success: oklch(0.723 0.191 149.214);
  --success-foreground: oklch(0.986 0.002 67.8);
  --warning: oklch(0.828 0.189 84.429);
  --warning-foreground: oklch(0.147 0.004 49.3);
  --info: oklch(0.714 0.152 262.049);
  --info-foreground: oklch(0.985 0.002 67.8);
  --support-accent: oklch(0.76 0.11 215);
  --support-accent-foreground: oklch(0.985 0.01 215);

  --tone-emphasis-warm: oklch(0.78 0.055 var(--tone-h-warm));
  --tone-emphasis-cool: oklch(0.76 0.05 var(--tone-h-cool));
  --tone-emphasis-warm-muted: oklch(0.3 0.032 var(--tone-h-warm));
  --tone-emphasis-cool-muted: oklch(0.28 0.028 var(--tone-h-cool));
  --tone-canvas: oklch(0.155 0.005 var(--tone-h-warm));
  --tone-bloom-warm: oklch(0.3 0.032 var(--tone-h-warm));
  --tone-bloom-cool: oklch(0.28 0.028 var(--tone-h-cool));
  --tone-bloom-apex: oklch(0.27 0.022 var(--tone-h-warm));
  --tone-panel-edge: oklch(0.38 0.014 var(--tone-h-warm));
  --tone-panel-base: oklch(0.22 0.01 var(--tone-h-warm));
  --tone-panel-mid: oklch(0.25 0.016 var(--tone-h-warm));
  --tone-panel-deep: oklch(0.24 0.018 var(--tone-h-cool));
  --tone-glow-warm: oklch(0.32 0.036 var(--tone-h-warm));
  --tone-glow-cool: oklch(0.3 0.032 var(--tone-h-cool));
  --tone-glass: oklch(1 0 0 / 0.04);
  --tone-glass-border: oklch(1 0 0 / 0.08);
  --tone-grid-ink: oklch(0.42 0.012 var(--tone-h-warm));
  --tone-chip-a-fg: oklch(0.82 0.04 var(--tone-h-warm));
  --tone-chip-a-bg: oklch(0.24 0.018 var(--tone-h-warm));
  --tone-chip-a-border: oklch(0.36 0.022 var(--tone-h-warm));
  --tone-chip-b-fg: oklch(0.8 0.034 var(--tone-h-cool));
  --tone-chip-b-bg: oklch(0.23 0.016 var(--tone-h-cool));
  --tone-chip-b-border: oklch(0.35 0.02 var(--tone-h-cool));
  --tone-chip-c-fg: oklch(0.78 0.024 var(--tone-h-warm));
  --tone-chip-c-bg: oklch(0.25 0.01 var(--tone-h-warm));
  --tone-chip-c-border: oklch(0.38 0.014 var(--tone-h-warm));

  --badge-success-bg: #14532d;
  --badge-success-fg: #bbf7d0;
  --badge-success-border: #166534;
  --badge-warning-bg: #451a03;
  --badge-warning-fg: #fde68a;
  --badge-warning-border: #92400e;
  --badge-info-bg: #1e3a8a;
  --badge-info-fg: #bfdbfe;
  --badge-info-border: #1d4ed8;
  --badge-destructive-bg: #450a0a;
  --badge-destructive-fg: #fecaca;
  --badge-destructive-border: #991b1b;
  --badge-neutral-bg: #334155;
  --badge-neutral-fg: #cbd5e1;
  --badge-neutral-border: #475569;
  --badge-outline-bg: #1e293b;
  --badge-outline-fg: #e2e8f0;
  --badge-outline-border: #475569;
  --chart-1: oklch(0.879 0.169 91.605);
  --chart-2: oklch(0.769 0.188 70.08);
  --chart-3: oklch(0.666 0.179 58.318);
  --chart-4: oklch(0.555 0.163 48.998);
  --chart-5: oklch(0.473 0.137 46.201);
  --sidebar: oklch(0.214 0.009 43.1);
  --sidebar-foreground: oklch(0.986 0.002 67.8);
  --sidebar-primary: oklch(0.922 0.005 34.3);
  --sidebar-primary-foreground: oklch(0.214 0.009 43.1);
  --sidebar-accent: oklch(0.268 0.011 36.5);
  --sidebar-accent-foreground: oklch(0.986 0.002 67.8);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.547 0.021 43.1);
  --surface: oklch(0.18 0.006 43.1);
  --surface-elevated: oklch(0.214 0.009 43.1);

  --bg-texture-dot: oklch(1 0 0 / 0.085);
  --bg-texture-glow: color-mix(in oklch, var(--muted) 24%, transparent);
}
