@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono&display=swap");

/* Modern Minimal — tweakcn preset "modern-minimal" */
:root {
  --background: #ffffff;
  --foreground: #333333;
  --card: #ffffff;
  --card-foreground: #333333;
  --popover: #ffffff;
  --popover-foreground: #333333;
  --primary: #3b82f6;
  --primary-foreground: #ffffff;
  --secondary: #f3f4f6;
  --secondary-foreground: #4b5563;
  --muted: #f9fafb;
  --muted-foreground: #6b7280;
  --accent: #e0f2fe;
  --accent-foreground: #1e3a8a;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #e5e7eb;
  --input: #e5e7eb;
  --ring: #3b82f6;
  --chart-1: #3b82f6;
  --chart-2: #2563eb;
  --chart-3: #1d4ed8;
  --chart-4: #1e40af;
  --chart-5: #1e3a8a;
  --sidebar: #f9fafb;
  --sidebar-foreground: #333333;
  --sidebar-primary: #3b82f6;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #e0f2fe;
  --sidebar-accent-foreground: #1e3a8a;
  --sidebar-border: #e5e7eb;
  --sidebar-ring: #3b82f6;
  --radius: 0.375rem;
  --font-sans: Inter, sans-serif;
  --font-serif: Source Serif 4, serif;
  --font-mono: JetBrains Mono, monospace;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0;
  --shadow-offset-y: 1px;
  --shadow-2xs: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 5%, transparent);
  --shadow-xs: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 5%, transparent);
  --shadow-sm: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 1px 2px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 1px 2px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-md: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 2px 4px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-lg: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 4px 6px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-xl: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 8px 10px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-2xl: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 25%, transparent);
  --tracking-normal: 0em;
  --spacing: 0.25rem;
}

.dark {
  --background: #171717;
  --foreground: #e5e5e5;
  --card: #262626;
  --card-foreground: #e5e5e5;
  --popover: #262626;
  --popover-foreground: #e5e5e5;
  --primary: #3b82f6;
  --primary-foreground: #ffffff;
  --secondary: #262626;
  --secondary-foreground: #e5e5e5;
  --muted: #1f1f1f;
  --muted-foreground: #a3a3a3;
  --accent: #1e3a8a;
  --accent-foreground: #bfdbfe;
  --destructive: #ef4444;
  --destructive-foreground: #ffffff;
  --border: #404040;
  --input: #404040;
  --ring: #3b82f6;
  --chart-1: #60a5fa;
  --chart-2: #3b82f6;
  --chart-3: #2563eb;
  --chart-4: #1d4ed8;
  --chart-5: #1e40af;
  --sidebar: #171717;
  --sidebar-foreground: #e5e5e5;
  --sidebar-primary: #3b82f6;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #1e3a8a;
  --sidebar-accent-foreground: #bfdbfe;
  --sidebar-border: #404040;
  --sidebar-ring: #3b82f6;
  --radius: 0.375rem;
  --font-sans: Inter, sans-serif;
  --font-serif: Source Serif 4, serif;
  --font-mono: JetBrains Mono, monospace;
  --shadow-color: oklch(0 0 0);
  --shadow-opacity: 0.1;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-offset-x: 0;
  --shadow-offset-y: 1px;
  --shadow-2xs: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 5%, transparent);
  --shadow-xs: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 5%, transparent);
  --shadow-sm: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 1px 2px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 1px 2px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-md: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 2px 4px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-lg: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 4px 6px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-xl: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 10%, transparent), 0 8px 10px -1px color-mix(in srgb, oklch(0 0 0) 10%, transparent);
  --shadow-2xl: 0 1px 3px 0px color-mix(in srgb, oklch(0 0 0) 25%, 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:not(.theme-btn):not([class*="icon"]), 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:not(.theme-btn):not([class*="icon"]), 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);
}
