:root, html[data-ov-theme="default"], html:not([data-ov-theme]) {
  --ov-theme-color: #c2185b;
  --ov-primary: #c2185b;
  --ov-primary-hover: #ad1457;
  --ov-primary-pressed: #880e4f;
  --ov-accent: #ad1457;
  --ov-bg-page: #fce4ec;
  --ov-bg-elevated: #f6f6f8;
  --ov-bg-muted: #ececee;
  --ov-surface: #ffffff;
  --ov-on-primary: #ffffff;
  --ov-border-soft: #f0e0e6;
  --ov-border-input: #dddddd;
  --ov-border-strong: #d0d0d8;
  --ov-border-medium: #cccccc;
  --ov-text: #1a1a1a;
  --ov-text-secondary: #555555;
  --ov-text-muted: #888888;
  --ov-text-soft: #aaaaaa;
  --ov-day-muted: #cccccc;
  --ov-hairline: #eeeeee;
  --ov-badge-tint: #f6e9ed;
  --ov-next-mark-dark: #5c0f28;
  --ov-border-accent-soft: #c8a0ad;
  --ov-next-mark-bg: #f8bbd0;
  --ov-next-mark-text: #ad1457;
  --ov-ovulation-bg: #fce4ec;
  --ov-ovulation-ring: rgba(194, 24, 91, 0.14);
  --ov-danger: #c62828;
  --ov-danger-bg: #fff0f0;
  --ov-danger-border: #ffcdd2;
  --ov-danger-text: #a32020;
  --ov-overlay: rgba(0, 0, 0, 0.4);
  --ov-overlay-dark: rgba(26, 26, 26, 0.88);
  --ov-shadow: rgba(0, 0, 0, 0.1);
  --ov-shadow-tooltip: rgba(0, 0, 0, 0.15);
  --ov-toast-bg: #333333;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html[data-ov-theme="dark"] {
  --ov-theme-color: #f06292;
  --ov-primary: #f06292;
  --ov-primary-hover: #f48fb1;
  --ov-primary-pressed: #ec407a;
  --ov-accent: #f48fb1;
  --ov-bg-page: #0c0c0c;
  --ov-bg-elevated: #161616;
  --ov-bg-muted: #1e1e1e;
  --ov-surface: #1a1a1a;
  --ov-on-primary: #0a0a0a;
  --ov-border-soft: #2a2a2a;
  --ov-border-input: #3a3a3a;
  --ov-border-strong: #444444;
  --ov-border-medium: #505050;
  --ov-text: #f0f0f0;
  --ov-text-secondary: #c8c8c8;
  --ov-text-muted: #9a9a9a;
  --ov-text-soft: #707070;
  --ov-day-muted: #555555;
  --ov-hairline: #2a2a2a;
  --ov-badge-tint: #2a1620;
  --ov-next-mark-dark: #ffcdd2;
  --ov-border-accent-soft: #6d4c5a;
  --ov-next-mark-bg: #4a2a35;
  --ov-next-mark-text: #f8bbd0;
  --ov-ovulation-bg: #352830;
  --ov-ovulation-ring: rgba(240, 98, 146, 0.22);
  --ov-danger: #ef9a9a;
  --ov-danger-bg: #2a1515;
  --ov-danger-border: #5c2a2a;
  --ov-danger-text: #ffcdd2;
  --ov-overlay: rgba(0, 0, 0, 0.65);
  --ov-overlay-dark: rgba(0, 0, 0, 0.92);
  --ov-shadow: rgba(0, 0, 0, 0.45);
  --ov-shadow-tooltip: rgba(0, 0, 0, 0.55);
  --ov-toast-bg: #2a2a2a;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html[data-ov-theme="light"] {
  --ov-theme-color: #ad1457;
  --ov-primary: #ad1457;
  --ov-primary-hover: #880e4f;
  --ov-primary-pressed: #6a0f3c;
  --ov-accent: #c2185b;
  --ov-bg-page: #ffffff;
  --ov-bg-elevated: #f5f5f7;
  --ov-bg-muted: #ececf0;
  --ov-surface: #ffffff;
  --ov-on-primary: #ffffff;
  --ov-border-soft: #e8e8ec;
  --ov-border-input: #d0d0d8;
  --ov-border-strong: #c4c4cc;
  --ov-border-medium: #bbbbbb;
  --ov-text: #121212;
  --ov-text-secondary: #444444;
  --ov-text-muted: #666666;
  --ov-text-soft: #999999;
  --ov-day-muted: #cccccc;
  --ov-hairline: #eeeeee;
  --ov-badge-tint: #fce4ec;
  --ov-next-mark-dark: #5c0f28;
  --ov-border-accent-soft: #d8b8c4;
  --ov-next-mark-bg: #f8bbd0;
  --ov-next-mark-text: #880e4f;
  --ov-ovulation-bg: #fceaf2;
  --ov-ovulation-ring: rgba(173, 20, 87, 0.14);
  --ov-danger: #c62828;
  --ov-danger-bg: #ffebee;
  --ov-danger-border: #ffcdd2;
  --ov-danger-text: #8b1010;
  --ov-overlay: rgba(0, 0, 0, 0.35);
  --ov-overlay-dark: rgba(20, 20, 20, 0.85);
  --ov-shadow: rgba(0, 0, 0, 0.08);
  --ov-shadow-tooltip: rgba(0, 0, 0, 0.12);
  --ov-toast-bg: #333333;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html[data-ov-theme="ocean"] {
  --ov-theme-color: #00695c;
  --ov-primary: #00695c;
  --ov-primary-hover: #004d40;
  --ov-primary-pressed: #00352c;
  --ov-accent: #00897b;
  --ov-bg-page: #e0f2f1;
  --ov-bg-elevated: #f1faf9;
  --ov-bg-muted: #d5ebe8;
  --ov-surface: #ffffff;
  --ov-on-primary: #ffffff;
  --ov-border-soft: #c8e6e0;
  --ov-border-input: #b2dfdb;
  --ov-border-strong: #a0d0ca;
  --ov-border-medium: #90cbc4;
  --ov-text: #0d1f1d;
  --ov-text-secondary: #2e4a45;
  --ov-text-muted: #5a7a75;
  --ov-text-soft: #7a9a94;
  --ov-day-muted: #a8d5cf;
  --ov-hairline: #d0ebe6;
  --ov-badge-tint: #e8f5f3;
  --ov-next-mark-dark: #004d40;
  --ov-border-accent-soft: #80cbc4;
  --ov-next-mark-bg: #b2dfdb;
  --ov-next-mark-text: #004d40;
  --ov-ovulation-bg: #c8e6e0;
  --ov-ovulation-ring: rgba(0, 105, 92, 0.2);
  --ov-danger: #c62828;
  --ov-danger-bg: #ffebee;
  --ov-danger-border: #ffcdd2;
  --ov-danger-text: #8b1010;
  --ov-overlay: rgba(0, 40, 35, 0.35);
  --ov-overlay-dark: rgba(0, 30, 26, 0.88);
  --ov-shadow: rgba(0, 60, 50, 0.12);
  --ov-shadow-tooltip: rgba(0, 40, 35, 0.18);
  --ov-toast-bg: #004d40;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html[data-ov-theme="lavender"] {
  --ov-theme-color: #6a1b9a;
  --ov-primary: #6a1b9a;
  --ov-primary-hover: #4a148c;
  --ov-primary-pressed: #38006b;
  --ov-accent: #7b1fa2;
  --ov-bg-page: #f3e5f5;
  --ov-bg-elevated: #faf5fc;
  --ov-bg-muted: #e8d5ef;
  --ov-surface: #ffffff;
  --ov-on-primary: #ffffff;
  --ov-border-soft: #e1bee7;
  --ov-border-input: #d1c4e9;
  --ov-border-strong: #c5b8dc;
  --ov-border-medium: #b39ddb;
  --ov-text: #1a0d24;
  --ov-text-secondary: #4a2f5c;
  --ov-text-muted: #6d4b82;
  --ov-text-soft: #9575a3;
  --ov-day-muted: #ce93d8;
  --ov-hairline: #ede7f6;
  --ov-badge-tint: #ede7f6;
  --ov-next-mark-dark: #4a148c;
  --ov-border-accent-soft: #b39ddb;
  --ov-next-mark-bg: #e1bee7;
  --ov-next-mark-text: #4a148c;
  --ov-ovulation-bg: #ede7f6;
  --ov-ovulation-ring: rgba(106, 27, 154, 0.18);
  --ov-danger: #c62828;
  --ov-danger-bg: #ffebee;
  --ov-danger-border: #ffcdd2;
  --ov-danger-text: #8b1010;
  --ov-overlay: rgba(40, 0, 60, 0.35);
  --ov-overlay-dark: rgba(30, 0, 45, 0.88);
  --ov-shadow: rgba(60, 20, 90, 0.12);
  --ov-shadow-tooltip: rgba(40, 0, 70, 0.18);
  --ov-toast-bg: #4a148c;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
html[data-ov-theme="forest"] {
  --ov-theme-color: #33691e;
  --ov-primary: #33691e;
  --ov-primary-hover: #2e7d32;
  --ov-primary-pressed: #1b5e20;
  --ov-accent: #558b2f;
  --ov-bg-page: #f1f8e9;
  --ov-bg-elevated: #f9fbe7;
  --ov-bg-muted: #e8f5d7;
  --ov-surface: #ffffff;
  --ov-on-primary: #ffffff;
  --ov-border-soft: #dcedc8;
  --ov-border-input: #c5e1a5;
  --ov-border-strong: #aed581;
  --ov-border-medium: #9ccc65;
  --ov-text: #1b2612;
  --ov-text-secondary: #374d28;
  --ov-text-muted: #5a6e4a;
  --ov-text-soft: #7a8f6a;
  --ov-day-muted: #c5e1a5;
  --ov-hairline: #e8f5d7;
  --ov-badge-tint: #f0f4e8;
  --ov-next-mark-dark: #1b5e20;
  --ov-border-accent-soft: #aed581;
  --ov-next-mark-bg: #dcedc8;
  --ov-next-mark-text: #33691e;
  --ov-ovulation-bg: #e8f5e9;
  --ov-ovulation-ring: rgba(51, 105, 30, 0.2);
  --ov-danger: #b71c1c;
  --ov-danger-bg: #ffebee;
  --ov-danger-border: #ffcdd2;
  --ov-danger-text: #7f1010;
  --ov-overlay: rgba(30, 50, 15, 0.35);
  --ov-overlay-dark: rgba(20, 40, 10, 0.88);
  --ov-shadow: rgba(40, 70, 20, 0.12);
  --ov-shadow-tooltip: rgba(30, 55, 15, 0.18);
  --ov-toast-bg: #2e4a18;
  --ov-toast-fg: #ffffff;
  --ov-radius-pill: 40px;
  --ov-radius-pill-sm: 60px;
  --ov-radius-card: 32px;
  --ov-radius-card-md: 28px;
  --ov-radius-sm: 12px;
  --ov-radius-xs: 8px;
  --ov-font-sans: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

html { color-scheme: light; }
html[data-ov-theme="dark"] { color-scheme: dark; }
body { font-family: var(--ov-font-sans); background: var(--ov-bg-page); color: var(--ov-text); }
