:root {
  /* ===== Sharo Properties geometry ===== */
  --radius: 0.75rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);

  /* ===== Librya palette (warm ivory / forest green / gold) ===== */
  --background: oklch(0.982 0.012 90);          /* warm ivory page */
  --foreground: oklch(0.22 0.03 150);           /* deep forest text */

  --card: oklch(1 0 0);
  --card-foreground: oklch(0.22 0.03 150);

  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.22 0.03 150);

  --primary: oklch(0.38 0.09 152);              /* deep forest green */
  --primary-foreground: oklch(1 0 0);
  --primary-dark: oklch(0.29 0.07 152);
  --primary-soft: oklch(0.96 0.025 150);

  --secondary: oklch(0.965 0.012 90);
  --secondary-foreground: oklch(0.22 0.03 150);

  --muted: oklch(0.965 0.012 90);
  --muted-foreground: oklch(0.52 0.03 145);

  --accent: oklch(0.955 0.03 90);               /* soft gold wash */
  --accent-foreground: oklch(0.36 0.09 85);

  --gold: oklch(0.76 0.13 85);                  /* restrained gold */
  --gold-soft: oklch(0.94 0.05 90);

  --destructive: oklch(0.577 0.215 27.3);
  --destructive-foreground: oklch(1 0 0);
  --success: oklch(0.627 0.17 149.2);
  --warning: oklch(0.769 0.165 70.1);

  --border: oklch(0.92 0.02 100);
  --input: oklch(0.92 0.02 100);
  --ring: oklch(0.38 0.09 152);

  --gradient-hero:
    radial-gradient(
      ellipse at 20% 20%,
      color-mix(in oklab, var(--gold) 20%, transparent),
      transparent 55%
    ),
    radial-gradient(
      ellipse at 85% 15%,
      color-mix(in oklab, var(--primary) 15%, transparent),
      transparent 60%
    ),
    linear-gradient(180deg, var(--primary-soft), var(--background));

  --shadow-card:
    0 1px 2px color-mix(in oklab, var(--foreground) 6%, transparent);
  --shadow-elevated:
    0 20px 50px -20px color-mix(in oklab, var(--primary-dark) 35%, transparent);
  --shadow-book:
    0 30px 60px -25px rgba(20, 40, 30, 0.45),
    0 15px 30px -15px rgba(20, 40, 30, 0.25);

  --font-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: var(--font-sans);
  background: var(--background);
  color: var(--foreground);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4 { font-weight: 700; letter-spacing: -0.01em; margin: 0; }
a { color: inherit; text-decoration: none; }