@import "tailwindcss";
@plugin "tailwindcss-animate";
@plugin "@tailwindcss/typography";

@import 'highlight.js/styles/a11y-dark.css';

:root {
  --idle: oklch(1 0 0);
  --idle-muted: oklch(0.965 0 0);
  --idle-text: oklch(0.25 0 0);
  --idle-desc: oklch(0.65 0 0);

  --primary: oklch(0.65 0.16 265);
  --primary-muted: oklch(0.965 0.024 265);
  --primary-text: oklch(1 0 0);
  --primary-desc: oklch(0.65 0 0);

  --secondary: oklch(0.965 0 0);
  --secondary-text: oklch(0.25 0 0);

  --accent: oklch(0.769 0.188 70.08);
  --accent-text: oklch(0.985 0.002 247.839);

  --plain: oklch(0.65 0 0);

  --done: oklch(0.65 0.16 145);
  --done-text: oklch(1 0 0);
  --done-muted: oklch(0.965 0.024 145);

  --warn: oklch(0.72 0.16 55);
  --warn-text: oklch(1 0 0);
  --warn-muted: oklch(0.965 0.024 55);

  --fail: oklch(0.65 0.16 25);
  --fail-text: oklch(1 0 0);
  --fail-muted: oklch(0.965 0.024 25);

  --card: oklch(1 0 0);
  --card-text: oklch(0.25 0 0);

  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.25 0 0);
  --border: oklch(0.928 0.006 264.531);
  --input: oklch(0.928 0.006 264.531);
  --ring: oklch(0.882 0.059 254.128);
  --chart-1: oklch(0.646 0.222 41.116);
  --chart-2: oklch(0.6 0.118 184.704);
  --chart-3: oklch(0.398 0.07 227.392);
  --chart-4: oklch(0.828 0.189 84.429);
  --chart-5: oklch(0.769 0.188 70.08);
  --sidebar: oklch(0.985 0.002 247.839);
  --sidebar-foreground: oklch(0.25 0 0);
  --sidebar-primary: oklch(0.21 0.034 264.665);
  --sidebar-primary-foreground: oklch(0.985 0.002 247.839);
  --sidebar-accent: oklch(0.967 0.003 264.542);
  --sidebar-accent-foreground: oklch(0.21 0.034 264.665);
  --sidebar-border: oklch(0.928 0.006 264.531);
  --sidebar-ring: oklch(0.707 0.022 261.325);
}

/* 颜色 */
@theme inline {
  --color-background: var(--idle);
  --color-foreground: var(--idle-text);
  --color-weak: var(--idle-desc);
  --color-muted: var(--idle-muted);
  --color-muted-foreground: var(--idle-text);

  --color-primary: var(--primary);
  --color-primary-muted: var(--primary-muted);
  --color-primary-foreground: var(--primary-text);
  --color-primary-weak: var(--primary-desc);

  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-text);

  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-text);

  --color-plain: var(--plain);

  --color-done: var(--done);
  --color-done-foreground: var(--done-text);
  --color-done-muted: var(--done-muted);

  --color-warn: var(--warn);
  --color-warn-foreground: var(--warn-text);
  --color-warn-muted: var(--warn-muted);

  --color-fail: var(--fail);
  --color-fail-foreground: var(--fail-text);
  --color-fail-muted: var(--fail-muted);

  --color-card: var(--card);
  --color-card-foreground: var(--card-text);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-destructive: var(--fail);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-chart-1: var(--chart-1);
  --color-chart-2: var(--chart-2);
  --color-chart-3: var(--chart-3);
  --color-chart-4: var(--chart-4);
  --color-chart-5: var(--chart-5);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
}

/* 动画 */
@theme inline {
  --default-transition-timing-function: ease-in-out;
  --animate-fadein: fadein var(--default-transition-duration) var(--default-transition-timing-function);
  --animate-fadeout: fadeout var(--default-transition-duration) var(--default-transition-timing-function);

  @keyframes fadein {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  @keyframes fadeout {
    from {
      opacity: 1;
    }

    to {
      opacity: 0;
    }
  }
}

/* 默认样式覆盖 */
@layer base {
  * {
    @apply border-border outline-ring/50;
  }

  body {
    @apply bg-background text-foreground;
  }

  th {
    @apply font-normal;
  }
}

/* highlight.js 样式覆盖 */
pre code.hljs {
    background: inherit;
    padding: 0;
}
