@layer base {
:root {
  /* ── Orange warm design tokens (shadcn-style) ── */

  --background: 33 100% 98%;
  --foreground: 215 28% 17%;

  --card: 0 0% 100%;
  --card-foreground: 215 28% 17%;

  --popover: 0 0% 100%;
  --popover-foreground: 215 28% 17%;

  --primary: 25 95% 53%;
  --primary-foreground: 0 0% 100%;

  --secondary: 210 40% 96%;
  --secondary-foreground: 222 47% 11%;

  --muted: 210 40% 96%;
  --muted-foreground: 215 16% 47%;

  --accent: 210 40% 96%;
  --accent-foreground: 222 47% 11%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 100%;

  --success: 142 71% 45%;
  --success-foreground: 142 76% 12%;

  --warning: 38 92% 50%;
  --warning-foreground: 38 92% 15%;

  --info: 221 83% 53%;
  --info-foreground: 221 83% 95%;

  --border: 214 32% 91%;
  --input: 214 32% 91%;
  --ring: 25 95% 53%;

  --sidebar: 0 0% 98%;
  --sidebar-foreground: 215 28% 17%;
  --sidebar-primary: 25 95% 53%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 210 40% 96%;
  --sidebar-accent-foreground: 222 47% 11%;
  --sidebar-border: 220 13% 91%;
  --sidebar-ring: 25 95% 53%;

  --chart-1: 221 83% 53%;
  --chart-2: 142 71% 45%;
  --chart-3: 25 95% 53%;
  --chart-4: 258 90% 66%;
  --chart-5: 0 84% 60%;

  --radius: 0.5rem;
  --transition: .15s cubic-bezier(.4,0,.2,1);

  /* ── Derived tokens (used directly by components) ── */

  --clr-bg: hsl(var(--background));
  --clr-fg: hsl(var(--foreground));
  --clr-card: hsl(var(--card));
  --clr-card-fg: hsl(var(--card-foreground));
  --clr-popover: hsl(var(--popover));
  --clr-popover-fg: hsl(var(--popover-foreground));

  --clr-primary: hsl(var(--primary));
  --clr-primary-fg: hsl(var(--primary-foreground));
  --clr-primary-soft: hsl(var(--primary) / .08);
  --clr-primary-dark: hsl(25 95% 44%);

  --clr-secondary: hsl(var(--secondary));
  --clr-secondary-fg: hsl(var(--secondary-foreground));

  --clr-muted: hsl(var(--muted));
  --clr-muted-fg: hsl(var(--muted-foreground));

  --clr-accent: hsl(var(--accent));
  --clr-accent-fg: hsl(var(--accent-foreground));

  --clr-destructive: hsl(var(--destructive));
  --clr-destructive-fg: hsl(var(--destructive-foreground));
  --clr-destructive-soft: hsl(var(--destructive) / .08);

  --clr-success: hsl(var(--success));
  --clr-success-fg: hsl(var(--success-foreground));
  --clr-success-soft: hsl(var(--success) / .08);

  --clr-warning: hsl(var(--warning));
  --clr-warning-fg: hsl(var(--warning-foreground));
  --clr-warning-soft: hsl(var(--warning) / .08);

  --clr-info: hsl(var(--info));
  --clr-info-fg: hsl(var(--info-foreground));
  --clr-info-soft: hsl(var(--info) / .08);

  --clr-border: hsl(var(--border));
  --clr-border-light: hsl(var(--border) / .6);
  --clr-input: hsl(var(--input));
  --clr-ring: hsl(var(--ring));

  --clr-sidebar: hsl(var(--sidebar));
  --clr-sidebar-fg: hsl(var(--sidebar-foreground));

  --shadow: 0 1px 2px 0 hsl(var(--foreground) / .05);
  --shadow-sm: 0 1px 2px 0 hsl(var(--foreground) / .06);
  --shadow-md: 0 4px 6px -1px hsl(var(--foreground) / .08), 0 2px 4px -2px hsl(var(--foreground) / .05);
  --shadow-lg: 0 10px 15px -3px hsl(var(--foreground) / .08), 0 4px 6px -4px hsl(var(--foreground) / .05);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body {
  margin: 0; padding: 0;
  background: var(--clr-bg); color: var(--clr-fg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 14px; line-height: 1.6; -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
}
button { font-family: inherit; cursor: pointer; }
input, textarea { font-family: inherit; }
h2, h3 { margin: 0; }
::selection { background: hsl(var(--primary) / .15); color: var(--clr-fg); }

} /* end @layer base */
