@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Libre+Baskerville&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap");

/* Elegant Luxury — tweakcn preset "elegant-luxury" */
:root {
  --background: #faf7f5;
  --foreground: #1a1a1a;
  --card: #faf7f5;
  --card-foreground: #1a1a1a;
  --popover: #faf7f5;
  --popover-foreground: #1a1a1a;
  --primary: #9b2c2c;
  --primary-foreground: #ffffff;
  --secondary: #fdf2d6;
  --secondary-foreground: #805500;
  --muted: #f0ebe8;
  --muted-foreground: #57534e;
  --accent: #fef3c7;
  --accent-foreground: #7f1d1d;
  --destructive: #991b1b;
  --destructive-foreground: #ffffff;
  --border: #f5e8d2;
  --input: #f5e8d2;
  --ring: #9b2c2c;
  --chart-1: #b91c1c;
  --chart-2: #9b2c2c;
  --chart-3: #7f1d1d;
  --chart-4: #b45309;
  --chart-5: #92400e;
  --sidebar: #f0ebe8;
  --sidebar-foreground: #1a1a1a;
  --sidebar-primary: #9b2c2c;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #fef3c7;
  --sidebar-accent-foreground: #7f1d1d;
  --sidebar-border: #f5e8d2;
  --sidebar-ring: #9b2c2c;
  --radius: 0.375rem;
  --font-sans: Poppins, sans-serif;
  --font-serif: Libre Baskerville, serif;
  --font-mono: IBM Plex Mono, monospace;
  --shadow-color: hsl(0 63% 18%);
  --shadow-opacity: 0.12;
  --shadow-blur: 16px;
  --shadow-spread: -2px;
  --shadow-offset-x: 1px;
  --shadow-offset-y: 1px;
  --shadow-2xs: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 6%, transparent);
  --shadow-xs: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 6%, transparent);
  --shadow-sm: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 1px 2px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 1px 2px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-md: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 2px 4px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-lg: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 4px 6px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-xl: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 8px 10px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-2xl: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 30%, transparent);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
}

.dark {
  --background: #1c1917;
  --foreground: #f5f5f4;
  --card: #292524;
  --card-foreground: #f5f5f4;
  --popover: #292524;
  --popover-foreground: #f5f5f4;
  --primary: #b91c1c;
  --primary-foreground: #faf7f5;
  --secondary: #92400e;
  --secondary-foreground: #fef3c7;
  --muted: #1f1c1a;
  --muted-foreground: #d6d3d1;
  --accent: #b45309;
  --accent-foreground: #fef3c7;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #44403c;
  --input: #44403c;
  --ring: #b91c1c;
  --chart-1: #f87171;
  --chart-2: #ef4444;
  --chart-3: #dc2626;
  --chart-4: #fbbf24;
  --chart-5: #f59e0b;
  --sidebar: #1c1917;
  --sidebar-foreground: #f5f5f4;
  --sidebar-primary: #b91c1c;
  --sidebar-primary-foreground: #faf7f5;
  --sidebar-accent: #b45309;
  --sidebar-accent-foreground: #fef3c7;
  --sidebar-border: #44403c;
  --sidebar-ring: #b91c1c;
  --radius: 0.375rem;
  --font-sans: Poppins, sans-serif;
  --font-serif: Libre Baskerville, serif;
  --font-mono: IBM Plex Mono, monospace;
  --shadow-color: hsl(0 63% 18%);
  --shadow-opacity: 0.12;
  --shadow-blur: 16px;
  --shadow-spread: -2px;
  --shadow-offset-x: 1px;
  --shadow-offset-y: 1px;
  --shadow-2xs: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 6%, transparent);
  --shadow-xs: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 6%, transparent);
  --shadow-sm: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 1px 2px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 1px 2px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-md: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 2px 4px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-lg: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 4px 6px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-xl: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent), 1px 8px 10px -3px color-mix(in srgb, hsl(0 63% 18%) 12%, transparent);
  --shadow-2xl: 1px 1px 16px -2px color-mix(in srgb, hsl(0 63% 18%) 30%, transparent);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
}

/* PremiumCMS color-scheme base layer (zero-specificity; your own styles win) */
:where(html) { background: var(--background); color: var(--foreground); }
:where(body) { margin: 0; background: var(--background); color: var(--foreground); font-family: var(--font-sans); letter-spacing: var(--tracking-normal); line-height: 1.6; -webkit-font-smoothing: antialiased; }
:where(h1, h2, h3, h4, h5, h6) { color: var(--foreground); font-family: var(--font-sans); line-height: 1.2; }
:where(p, li) { max-width: 70ch; }
:where(a) { color: var(--primary); text-decoration-color: color-mix(in srgb, var(--primary) 40%, transparent); text-underline-offset: 0.15em; }
:where(a:hover) { text-decoration-color: var(--primary); }
:where(::selection) { background: var(--primary); color: var(--primary-foreground); }
:where(header) { background: var(--card); color: var(--card-foreground); border-bottom: 1px solid var(--border); }
:where(footer) { background: var(--card); color: var(--muted-foreground); border-top: 1px solid var(--border); }
:where(nav a) { color: var(--foreground); text-decoration: none; }
:where(nav a:hover, nav a[aria-current]) { color: var(--primary); }
:where(button, input[type="submit"], input[type="button"], .button, .btn, [role="button"]) { background: var(--primary); color: var(--primary-foreground); border: 1px solid transparent; border-radius: var(--radius); padding: 0.6rem 1rem; font: inherit; font-weight: 500; line-height: 1.2; cursor: pointer; box-shadow: var(--shadow-xs); }
:where(button, input[type="submit"], input[type="button"], .button, .btn, [role="button"]):hover { opacity: 0.92; }
:where(.secondary, button.secondary, .btn-secondary) { background: var(--secondary); color: var(--secondary-foreground); }
:where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]), textarea, select) { background: var(--background); color: var(--foreground); border: 1px solid var(--input); border-radius: var(--radius); padding: 0.6rem 0.75rem; font: inherit; }
:where(input, textarea, select)::placeholder { color: var(--muted-foreground); }
:where(a, button, input, textarea, select, [tabindex]):focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
:where(hr) { border: 0; border-top: 1px solid var(--border); }
:where(small, .muted, time) { color: var(--muted-foreground); }
:where(mark) { background: var(--accent); color: var(--accent-foreground); border-radius: calc(var(--radius) - 2px); padding: 0 0.2em; }
:where(code, kbd, samp) { font-family: var(--font-mono); background: var(--muted); color: var(--foreground); border-radius: calc(var(--radius) - 2px); padding: 0.1em 0.35em; font-size: 0.9em; }
:where(pre) { font-family: var(--font-mono); background: var(--muted); color: var(--foreground); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem; overflow: auto; }
:where(pre code) { background: none; padding: 0; font-size: inherit; }
:where(blockquote) { margin: 1.5rem 0; padding: 0.5rem 1.25rem; border-inline-start: 3px solid var(--primary); background: var(--muted); color: var(--muted-foreground); border-radius: 0 var(--radius) var(--radius) 0; }
:where(table) { border-collapse: collapse; width: 100%; }
:where(th, td) { border: 1px solid var(--border); padding: 0.5rem 0.75rem; text-align: start; }
:where(th) { background: var(--muted); color: var(--foreground); }
:where(img, video) { max-width: 100%; height: auto; border-radius: var(--radius); }
:where(.card, .ec-card, article.card) { background: var(--card); color: var(--card-foreground); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
:where(.ec-form-input, .ec-form-page select) { border-color: var(--input); border-radius: var(--radius); background: var(--background); color: var(--foreground); }
:where(.ec-form button[type="submit"]) { background: var(--primary); color: var(--primary-foreground); }


/* starter-theme bridge */
:root, .dark {
	--color-bg: var(--background);
	--color-bg-subtle: var(--muted);
	--color-surface: var(--card);
	--color-text: var(--foreground);
	--color-text-secondary: var(--muted-foreground);
	--color-muted: var(--muted-foreground);
	--color-border: var(--border);
	--color-border-subtle: var(--border);
	--color-brand: var(--primary);
	--color-brand-hover: var(--primary);
	--color-brand-ring: var(--ring);
	--color-on-brand: var(--primary-foreground);
	--font-body: var(--font-sans);
	--font-heading: var(--font-sans);
}
