:root {
  --color-primary: #e24668;
  --color-primary-hover: #c93d5b;
  --color-primary-light: rgba(226, 70, 104, 0.12);
  --color-primary-rgb: 226, 70, 104;
  --color-accent: #079aa2;
  --color-accent-hover: #067a80;
  --color-bg: #FAFAF8;
  --color-sidebar: #ffffff;
  --color-sidebar-hover: rgba(var(--color-primary-rgb), 0.06);
  --color-sidebar-active: rgba(var(--color-primary-rgb), 0.10);
  --color-card: #ffffff;
  --color-border: #e4e6e8;
  --color-text: #384551;
  --color-text-primary: #384551;
  --color-text-secondary: #646e78;
  --color-text-tertiary: #767a86;
  --color-text-muted: rgb(115, 113, 108);
  --color-text-faint: rgb(143, 142, 138);
  --color-text-inverted: #ffffff;
  --color-success: #22c55e;
  --color-success-text: #065f46;
  --color-success-light: rgba(34, 197, 94, 0.12);
  --color-warning: #ffab00;
  --color-warning-text: #a67200;
  --color-warning-light: rgba(255, 171, 0, 0.12);
  --color-error: #ff3e1d;
  --color-error-hover: #e0371a;
  --color-error-light: rgba(255, 62, 29, 0.12);
  --color-danger: #b91c1c;
  --color-danger-hover: #991b1b;
  --color-blue: #3b82f6;
  --color-blue-light: rgba(59, 130, 246, 0.12);
  --color-purple: #8b5cf6;
  --color-purple-light: rgba(139, 92, 246, 0.12);
  --color-info: #03c3ec;
  --color-info-light: rgba(3, 195, 236, 0.12);
  --color-google-blue: #4285F4;
  --color-google-blue-hover: #3367d6;
  --color-selection: #1a73e8;
  --color-selection-light: #f0f6ff;
  --color-pin-star: #f5a623;
  --cal-event-bg: #EEF2FF;
  --cal-event-text: #6366F1;
  --color-overlay: rgba(0, 0, 0, 0.5);
  --color-overlay-light: rgba(0, 0, 0, 0.35);
  --color-hover: rgba(0, 0, 0, 0.04);
  --color-hover-strong: rgba(0, 0, 0, 0.08);
  --color-surface: rgba(255, 255, 255, 0.92);
  --color-surface-solid: #ffffff;
  --color-divider: rgba(31, 31, 30, 0.12);

  --font-family: 'Nunito Sans', 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji';
  --font-mono: 'SF Mono', 'SFMono-Regular', Monaco, 'Cascadia Code', Consolas, monospace;
  --font-size-xs: 12px;
  --font-size-sm: 13px;
  --font-size-base: 15px;
  --font-size-md: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 30px;

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.6;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;

  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-full: 50%;
  --radius-pill: 50rem;

  --shadow-sm: 0 1px 3px rgba(34, 48, 62, 0.1);
  --shadow-card: 0 3px 8px 0 rgba(34, 48, 62, 0.1);
  --shadow-hover: 0 4px 12px 0 rgba(34, 48, 62, 0.16);
  --shadow-modal: 0 8px 24px rgba(34, 48, 62, 0.2);
  --shadow-sidebar: 0 2px 6px rgba(34, 48, 62, 0.08);
  --shadow-bubble: 0 1px 2px rgba(34, 48, 62, 0.06);
  --shadow-popup: 0 4px 16px rgba(34, 48, 62, 0.14);
  --shadow-mobile-nav: 0 -4px 20px rgba(34, 48, 62, 0.08);
  --shadow-panel: -4px 0 16px rgba(34, 48, 62, 0.12);
  --shadow-dropdown: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-elevated: 0 20px 48px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.06);

  --sidebar-width: 260px;
  --sidebar-collapsed: 80px;
  --header-height: 0px;
  --transition: 200ms ease;
  --transition-slow: 400ms ease;

  color-scheme: light;
}

[data-theme="dark"] {
  color-scheme: dark;
  --color-bg: #1c1b18;
  --color-card: #2b2a27;
  --color-sidebar: #232220;
  --color-sidebar-hover: rgba(255, 255, 255, 0.06);
  --color-sidebar-active: rgba(255, 255, 255, 0.10);
  --color-border: rgba(255, 255, 255, 0.12);
  --color-text: #e8e6e1;
  --color-text-primary: #e8e6e1;
  --color-text-secondary: #a3a19b;
  --color-text-tertiary: #7a7872;
  --color-text-muted: #7a7872;
  --color-text-faint: #5c5a55;
  --color-text-inverted: #ffffff;
  --color-primary: #e8607e;
  --color-primary-hover: #e24668;
  --color-primary-light: rgba(226, 70, 104, 0.16);
  --color-primary-rgb: 232, 96, 126;
  --color-sidebar-hover: rgba(var(--color-primary-rgb), 0.10);
  --color-sidebar-active: rgba(var(--color-primary-rgb), 0.14);
  --color-overlay: rgba(0, 0, 0, 0.7);
  --color-overlay-light: rgba(0, 0, 0, 0.5);
  --color-hover: rgba(255, 255, 255, 0.06);
  --color-hover-strong: rgba(255, 255, 255, 0.10);
  --color-surface: rgba(43, 42, 39, 0.95);
  --color-surface-solid: #2b2a27;
  --color-divider: rgba(255, 255, 255, 0.12);
  --color-success: #34d399;
  --color-success-light: rgba(74, 222, 128, 0.15);
  --color-warning: #fbbf24;
  --color-warning-light: rgba(251, 191, 36, 0.15);
  --color-warning-text: #fbbf24;
  --color-error: #f87171;
  --color-error-hover: #ef4444;
  --color-error-light: rgba(248, 113, 113, 0.15);
  --color-danger: #ef4444;
  --color-danger-hover: #dc2626;
  --color-blue: #60a5fa;
  --color-blue-light: rgba(96, 165, 250, 0.15);
  --color-purple: #a78bfa;
  --color-purple-light: rgba(167, 139, 250, 0.15);
  --color-selection: #4da3ff;
  --color-selection-light: rgba(26, 115, 232, 0.08);
  --color-pin-star: #fbbf24;
  --cal-event-bg: rgba(99, 102, 241, 0.12);
  --cal-event-text: #818cf8;
  --shadow-card: 0 4px 16px rgba(0, 0, 0, 0.3);
  --shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.35);
  --shadow-sidebar: 0 0 20px rgba(0, 0, 0, 0.25);
  --shadow-bubble: 0 1px 3px rgba(0, 0, 0, 0.25);
  --shadow-popup: 0 4px 16px rgba(0, 0, 0, 0.4);
  --shadow-mobile-nav: 0 -4px 20px rgba(0, 0, 0, 0.35);
  --shadow-panel: -4px 0 16px rgba(0, 0, 0, 0.3);
  --shadow-dropdown: 0 2px 8px rgba(0, 0, 0, 0.25);
  --shadow-elevated: 0 20px 48px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="light"] {
  color-scheme: light;
}
