:root {
  --background: 38 22% 94%;
  --foreground: 24 15% 8%;
  --primary: 12 91% 52%;
  --primary-foreground: 35 24% 96%;
  --secondary: 44 86% 62%;
  --secondary-foreground: 24 15% 8%;
  --muted: 35 18% 78%;
  --muted-foreground: 25 10% 34%;
  --destructive: 0 84% 55%;
  --destructive-foreground: 35 24% 96%;
  --border: 25 16% 72%;
  --card: 38 28% 88%;
  --shadow-sm: 0 1px 2px hsl(24 15% 8% / .12);
  --shadow-md: 0 12px 35px hsl(24 15% 8% / .16);
  --shadow-lg: 0 28px 80px hsl(24 15% 8% / .22);
  --transition-fast: 160ms ease;
  --transition-smooth: 420ms cubic-bezier(.2,.8,.2,1);
  --radius-sm: .5rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
}
.dark {
  --background: 24 15% 5%;
  --foreground: 36 30% 92%;
  --primary: 12 96% 58%;
  --primary-foreground: 24 15% 5%;
  --secondary: 43 93% 57%;
  --secondary-foreground: 24 15% 5%;
  --muted: 24 10% 18%;
  --muted-foreground: 34 14% 65%;
  --destructive: 0 82% 62%;
  --destructive-foreground: 24 15% 5%;
  --border: 24 10% 22%;
  --card: 24 13% 9%;
  --shadow-sm: 0 1px 2px hsl(0 0% 0% / .35);
  --shadow-md: 0 16px 50px hsl(0 0% 0% / .38);
  --shadow-lg: 0 30px 90px hsl(0 0% 0% / .55);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: inherit; text-decoration: none; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
input, textarea, select { font-size: max(16px, 1rem); }
.prose-prime p { margin: 0 0 1rem; color: hsl(var(--muted-foreground)); line-height: 1.8; }
.reveal-img { opacity: 0; transform: translateY(22px) scale(.985); transition: opacity var(--transition-smooth), transform var(--transition-smooth); }
.reveal-img.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { scrollbar-width: none; }
.type-outline { color: transparent; -webkit-text-stroke: 1px hsl(var(--foreground)); }
.range-prime { accent-color: hsl(var(--primary)); }
.bottom-safe { padding-bottom: calc(.7rem + env(safe-area-inset-bottom)); }
.top-safe { padding-top: env(safe-area-inset-top); }
.bg-1 { background: hsl(var(--background)); }
.bg-2 { background: hsl(var(--card)); }
.bg-3 { background: hsl(var(--muted)); }
.bg-4 { background: hsl(var(--primary)); }
.text-primary { color: hsl(var(--foreground)); }
.text-secondary { color: hsl(var(--muted-foreground)); }
.text-tertiary { color: hsl(var(--muted-foreground)); opacity: .78; }
.accent { color: hsl(var(--primary)); }
