/* HealSphere theme authority. Edit palette here; components consume semantic aliases.
   Light canvas: #F9F7F3. Dark canvas: existing warm neutral #241D1C. */
:root {
  --action-current: var(--action-primary);
  --action-primary: #B04A46;
  --action-primary-hover: #963B38;
  --action-secondary: var(--region-map-action);
  --action-secondary-hover: var(--region-map-hover);
  --ai-step-fill: #E8A98D;
  --badge-lilac-bg: var(--region-ai-field);
  --badge-lilac-text: var(--region-ai-ink);
  --badge-mint-bg: var(--region-connect-soft);
  --badge-mint-field: var(--region-connect-field);
  --badge-mint-text: var(--region-connect-ink);
  --badge-peach-bg: var(--region-journal-field);
  --badge-peach-text: var(--region-journal-ink);
  --badge-sun-bg: #F5EBCE;
  --badge-sun-text: #705514;
  --bg: var(--bg-body);
  --bg-body: #F9F7F3;
  --bg-card: #FFFFFF;
  --border: var(--border-color);
  --border-color: #E6E1DA;
  --brand-field: #F0E2DE;
  --brand-ink: var(--action-primary-hover);
  --card: var(--bg-card);
  --care-blue: var(--region-learn-soft);
  --care-canvas: var(--bg-body);
  --care-lilac: var(--region-ai-soft);
  --care-peach: var(--peach);
  --care-sage: var(--region-connect-soft);
  --care-shadow: none;
  --control-border: var(--control-stroke);
  --control-stroke: #C8C1B8;
  --coral: #E8A98D;
  --cream: var(--primary-light);
  --disabled-bg: #E9EDF2;
  --disabled-border: #B8C2D0;
  --disabled-text: #566477;
  --error-bg: #FFF0F2;
  --error-text: #922D43;
  --font-size-h1: 28px;
  --font-size-h2: 20px;
  --font-size-h3: 17px;
  --font-ui: "Be Vietnam Pro", "Inter", sans-serif;
  --green: var(--brand-ink);
  --hs-accent-field: var(--brand-field);
  --hs-accent-ink: var(--brand-ink);
  --hs-accent-soft: var(--primary-light);
  --hs-action-hover: var(--action-primary-hover);
  --hs-ease: cubic-bezier(.2,.7,.3,1);
  --hs-elevation: 0 1px 3px rgba(36, 29, 28, 0.04), 0 4px 12px rgba(36, 29, 28, 0.03);
  --hs-ink-muted: var(--text-muted-readable);
  --hs-ink-secondary: var(--text-secondary-readable);
  --hs-on-action: var(--on-primary-color);
  --hs-radius-control: 8px;
  --hs-radius-panel: 14px;
  --hs-support-beacon-angle: 0deg;
  --ink: var(--text-main);
  --line: var(--border-color);
  --mint-light: var(--primary-light);
  --mint-soft: var(--primary-light);
  --motion-duration: 180ms;
  --motion-easing: cubic-bezier(.2,.7,.3,1);
  --muted: var(--text-muted-readable);
  --on-primary-color: #FFFFFF;
  --peach: #F4D5C4;
  --platform-border: var(--border-color);
  --platform-ink: #2D3748;
  --platform-muted: #566477;
  --primary: var(--brand-ink);
  --primary-2: var(--action-primary-hover);
  --primary-color: var(--action-primary);
  --primary-dark: var(--action-primary-hover);
  --primary-hover: var(--action-primary-hover);
  --primary-light: #F6F0EC;
  --primary-soft: var(--primary-light);
  --red: #922D43;
  --region-ai-action: #634B7A;
  --region-ai-field: #E8E1F0;
  --region-ai-hover: #59446B;
  --region-ai-ink: #4F3A63;
  --region-ai-soft: #F3EFF8;
  --region-confession-action: #944A5B;
  --region-confession-field: #F2DFE4;
  --region-confession-hover: #824351;
  --region-confession-ink: #7A3948;
  --region-confession-soft: #F9EFF1;
  --region-connect-action: #2F6658;
  --region-connect-field: #DCECE6;
  --region-connect-hover: #2D5A4E;
  --region-connect-ink: #235044;
  --region-connect-soft: #EDF5F2;
  --region-journal-action: #8C5A36;
  --region-journal-field: #F2E4D5;
  --region-journal-hover: #7B5032;
  --region-journal-ink: #704628;
  --region-journal-soft: #F9F2EA;
  --region-learn-action: #35597A;
  --region-learn-field: #E3ECF3;
  --region-learn-hover: #324F6B;
  --region-learn-ink: #294763;
  --region-learn-soft: #EFF4F8;
  --region-map-action: #2B6270;
  --region-map-field: #DCECEF;
  --region-map-hover: #2A5763;
  --region-map-ink: #204D59;
  --region-map-soft: #EEF6F7;
  --secondary: var(--text-secondary-readable);
  --secondary-color: var(--region-map-action);
  --secondary-hover: var(--region-map-hover);
  --secondary-ink: var(--region-map-ink);
  --secondary-light: var(--region-map-soft);
  --surface: var(--bg-card);
  --text: var(--text-main);
  --text-link: var(--brand-ink);
  --text-main: #2D3748;
  --text-muted: #718096;
  --text-muted-readable: #566477;
  --text-on-coral: #61392D;
  --text-on-peach: var(--badge-peach-text);
  --text-primary: var(--text-main);
  --text-secondary: var(--text-secondary-readable);
  --text-secondary-readable: #536174;
  --ui-radius-control: 8px;
  --ui-radius-inner: 10px;
  --ui-radius-pill: 999px;
  --ui-radius-surface: 14px;
  --ui-space-1: 4px;
  --ui-space-2: 8px;
  --ui-space-3: 12px;
  --ui-space-4: 16px;
  --ui-space-5: 20px;
  --ui-space-6: 24px;
  --ui-space-8: 32px;
  --ux-accent: var(--action-current);
  --ux-accent-2: var(--hs-action-hover);
  --ux-accent-ink: var(--hs-on-action);
  --ux-accent-soft: var(--hs-accent-soft);
  --ux-danger: var(--error-text);
  --ux-ease: cubic-bezier(.2,.8,.2,1);
  --ux-glass: var(--surface);
  --ux-glass-line: var(--border);
  --ux-grad: linear-gradient(120deg,var(--primary),var(--hs-action-hover));
  --ux-ink: var(--text-primary);
  --ux-ink-2: var(--text-secondary);
  --ux-ink-3: var(--text-muted-readable);
  --ux-line: var(--border);
  --ux-line-2: var(--control-border);
  --ux-mint: var(--badge-mint-text);
  --ux-page: var(--bg-body);
  --ux-shadow: #3B343714;
  --ux-shadow-strong: #3B343733;
  --ux-spring: cubic-bezier(.22,1,.36,1);
  --ux-surface: var(--bg-card);
  --ux-surface-2: var(--hs-accent-soft);
  --ux-surface-3: var(--disabled-bg);
  --ux-warn: var(--badge-sun-text);
}
:root[data-theme=dark] {
  --action-primary: #DDB5B1;
  --action-primary-hover: #E1CAC6;
  --ai-step-fill: #EDBBA6;
  --badge-sun-bg: #3B321A;
  --badge-sun-text: #EAD397;
  --bg-body: #241D1C;
  --bg-card: #302625;
  --border-color: #514743;
  --brand-field: #422B2A;
  --control-stroke: #9E8880;
  --coral: #EDBBA6;
  --disabled-bg: #343E4D;
  --disabled-border: #68788F;
  --disabled-text: #C1CBDA;
  --error-bg: #492833;
  --error-text: #F4BFCA;
  --on-primary-color: #231820;
  --peach: #563F36;
  --platform-ink: #F2F4F8;
  --platform-muted: #B5C0D0;
  --primary-light: #392927;
  --red: #F4BFCA;
  --region-ai-action: #C0B6C5;
  --region-ai-field: #443A3B;
  --region-ai-hover: #CBC3CE;
  --region-ai-ink: #DCD7DB;
  --region-ai-soft: #3A3030;
  --region-confession-action: #D3B5B9;
  --region-confession-field: #473A3A;
  --region-confession-hover: #DBC2C5;
  --region-confession-ink: #E3D7D6;
  --region-confession-soft: #3B302F;
  --region-connect-action: #ACC0B8;
  --region-connect-field: #413C3A;
  --region-connect-hover: #BBCBC4;
  --region-connect-ink: #D5DBD5;
  --region-connect-soft: #39312F;
  --region-journal-action: #D0BBAB;
  --region-journal-field: #463B38;
  --region-journal-hover: #D8C7B9;
  --region-journal-ink: #E2D9D0;
  --region-journal-soft: #3B302E;
  --region-learn-action: #AFBBC5;
  --region-learn-field: #423B3B;
  --region-learn-hover: #BEC7CE;
  --region-learn-ink: #D6D9DB;
  --region-learn-soft: #393030;
  --region-map-action: #ABBEC1;
  --region-map-field: #413B3B;
  --region-map-hover: #BBC9CB;
  --region-map-ink: #D4DAD9;
  --region-map-soft: #393130;
  --text-main: #F2F4F8;
  --text-muted: #B5C0D0;
  --text-muted-readable: #B5C0D0;
  --text-secondary-readable: #D0D8E4;
  --ux-shadow: #00000033;
  --ux-shadow-strong: #00000066;
}
/* Each functional destination consumes its existing region's action family. */
:root[data-region=map] {
  --primary:var(--region-map-action);--primary-2:var(--region-map-hover);--primary-dark:var(--region-map-hover);
  --text-link:var(--region-map-action);--hs-action-hover:var(--region-map-hover);--action-current:var(--region-map-action);
  --hs-accent-soft:var(--region-map-soft);--hs-accent-field:var(--region-map-field);--hs-accent-ink:var(--region-map-ink);--primary-soft:var(--region-map-soft);
}
:root[data-region=connect] {
  --primary:var(--region-connect-action);--primary-2:var(--region-connect-hover);--primary-dark:var(--region-connect-hover);
  --text-link:var(--region-connect-action);--hs-action-hover:var(--region-connect-hover);--action-current:var(--region-connect-action);
  --hs-accent-soft:var(--region-connect-soft);--hs-accent-field:var(--region-connect-field);--hs-accent-ink:var(--region-connect-ink);--primary-soft:var(--region-connect-soft);
}
