:root {
  --bg:              #F8FAFC;   
  --surface-card:    #FFFFFF;   
  --surface-well:    #EEF2F7;   
  --border:          #C3CBD6;   
  --border-strong:   #A9B2C0;   
  --text-primary:       #121926;   
  --text-secondary:  #5D6675;   
  --text-subtle:     #636E82;   
  --text-disabled:   #A2AAB7;   
  --action-cta:       #121926;
  --action-cta-press: #2E3542;
  --text-on-cta:      #FFFFFF;  
  --brand-navy:   #261D82;   
  --brand-indigo: #5852E4;   
  --brand-purple: #BB48F8;   
  --brand-pink:   #F24C9A;   
  --brand-gold:   #FFB565;   
  --brand-lavender: #A780FE; 
  --brand-gold-100: #FFF3E7;
  --brand-gold-200: #FFE4CA;
  --brand-gold-300: #FFD5AC;
  --brand-gold-400: #FFC58B;
  --brand-gold-500: #FFB565;
  --brand-gold-600: #C98434;
  --brand-gold-700: #925802;
  --brand-gold-800: #583200;
  --brand-gold-900: #251000;
  --brand-pink-100: #FFF1F5;
  --brand-pink-200: #FFCCDE;
  --brand-pink-300: #FFA5C7;
  --brand-pink-400: #FF77B0;
  --brand-pink-500: #F24C9A;
  --brand-pink-600: #C62277;
  --brand-pink-700: #940155;
  --brand-pink-800: #600035;
  --brand-pink-900: #310018;
  --brand-lavender-100: #F6F3FF;
  --brand-lavender-200: #E0D8FF;
  --brand-lavender-300: #CCBCFE;
  --brand-lavender-400: #B99FFF;
  --brand-lavender-500: #A780FE;
  --brand-lavender-600: #825BD1;
  --brand-lavender-700: #5F37A5;
  --brand-lavender-800: #3E1079;
  --brand-lavender-900: #1D0043;
  --brand-purple-100: #F9F2FF;
  --brand-purple-200: #EACCFF;
  --brand-purple-300: #DBA5FF;
  --brand-purple-400: #CC79FF;
  --brand-purple-500: #BB48F8;
  --brand-purple-600: #971ECF;
  --brand-purple-700: #70019D;
  --brand-purple-800: #490068;
  --brand-purple-900: #250038;
  --brand-indigo-100: #F3F4FF;
  --brand-indigo-200: #C6CEFE;
  --brand-indigo-300: #9CA6FF;
  --brand-indigo-400: #777CF7;
  --brand-indigo-500: #5852E4;
  --brand-indigo-600: #4437C4;
  --brand-indigo-700: #321AA3;
  --brand-indigo-800: #22007C;
  --brand-indigo-900: #11004D;
  --brand-navy-100: #F2F4FF;
  --brand-navy-200: #B3BDF2;
  --brand-navy-300: #7E88CE;
  --brand-navy-400: #4D54A9;
  --brand-navy-500: #261D82;
  --brand-navy-600: #1E0E72;
  --brand-navy-700: #160061;
  --brand-navy-800: #0E0049;
  --brand-navy-900: #070032;
  --gradient-brand:        linear-gradient(135deg, #F24C9A 0%, #BB48F8 100%); 
  --gradient-brand-strong: linear-gradient(135deg, #C62277 0%, #971ECF 100%); 
  --gradient-celebration:  linear-gradient(135deg, #FFB565 0%, #F24C9A 100%); 
  --text-on-brand:   #FFFFFF;  
  --chip-selected-fill: var(--gradient-brand-strong);
  --chip-selected-text: var(--text-on-brand);
  --success-fill:    #3E9D6E;  
  --success-on-fill: #06301E;  
  --success-surface: #E4F3EB;  
  --success-text:    #1F7A50;  
  --danger-fill:     #C81E3A;  
  --danger-on-fill:  #FFFFFF;  
  --danger-surface:  #FBEAEC;  
  --danger-text:     #B02034;  
  --warning-fill:    var(--brand-gold-500);  
  --warning-on-fill: var(--brand-gold-900);  
  --warning-surface: var(--brand-gold-100);  
  --warning-text:    var(--brand-gold-700);  
  --info-fill:       var(--brand-indigo-600);  
  --info-on-fill:    #FFFFFF;                  
  --info-surface:    var(--brand-indigo-100);  
  --info-text:       var(--brand-indigo-600);  
  --verification:    #1D9BF0;  
  --on-verification: #FFFFFF;  
  --paper: var(--bg); --paper-raised: var(--surface-card); --paper-sunken: var(--surface-well);
  --surface: var(--bg); --surface-cool: #1D2432; --surface-cool-raised: #2A3346;
  --ink: var(--text-primary); --ink-70: var(--text-secondary); --ink-50: var(--text-subtle); --ink-30: var(--text-disabled);
  --line: var(--border); --line-strong: var(--border-strong);
  --border-subtle: var(--border);
  --text-muted: var(--text-secondary);
  --text-on-warm: var(--text-on-cta); --text-on-cool: #F4F1FF; --accent-on-fill: #121926;
  --bubble-sent-fill: var(--action-primary);   --bubble-sent-on-fill: var(--text-on-cta);
  --bubble-received-fill: var(--surface-card);  --bubble-received-on-fill: var(--text-primary);
  --bubble-timestamp: var(--text-subtle);       
  --bubble-status-read: var(--conversation-active); --bubble-status-failed: var(--danger);
  --text-on-gradient: #FFFFFF; --text-on-gradient-warm: var(--text-on-brand);
  --accent:          var(--brand-pink);
  --accent-press:    var(--brand-pink-600);  
  --accent-fg:       var(--text-on-cta);  
  --accent-tint:     var(--brand-pink-100);  
  --nav-active:      var(--brand-lavender-600);             
  --accent-tint-fg:  var(--brand-pink-800);             
  --avatar-ring-width: 3px;
  --avatar-ring-color: var(--gradient-brand);
  --focus-ring:      var(--accent);        
  --surface-input:   var(--surface-card);  
  --switch-track-off: #828B9C;
  --logo-wordmark:    var(--brand-navy);    
  --logo-tagline:     var(--brand-navy-400);
  --ink-fixed:        #121926;              
  --on-ink-fixed:     #FFFFFF;              
  --on-ink-fixed-muted: #9AA4B2;            
  --ink-fixed-edge: var(--neutral-400);
  --ink-fixed-hover: var(--neutral-800);
  --border-control: var(--neutral-600);
  --action-primary:       var(--action-cta);
  --action-primary-press: var(--action-cta-press);
  --action-primary-tint:  var(--accent-tint);
  --conversation-active:         #0D79AE;  
  --conversation-active-on-fill: #FFFFFF;  
  --conversation-active-surface: #E6F2F9;  
  --conversation-active-fg:      #0A5F89;  
  --other-person:       var(--conversation-active);
  --warm-apricot: var(--brand-gold); --warm-magenta: var(--brand-pink);
  --warm-apricot-logo: var(--brand-gold); --warm-magenta-logo: var(--brand-pink);
  --warm-50: var(--accent-tint); --warm-100: var(--brand-pink-200); --warm-200: var(--brand-pink-300);
  --warm-700: var(--accent-tint-fg); --warm-800: var(--brand-pink-800);
  --cool-lavender: var(--brand-lavender-600); --cool-violet: var(--brand-indigo-600); --cool-indigo: var(--brand-navy);
  --cool-lavender-logo: var(--brand-lavender);
  --cool-50: var(--brand-indigo-100); --cool-100: var(--brand-indigo-200); --cool-200: var(--brand-indigo-300);
  --cool-800: var(--brand-navy-800); --cool-900: var(--brand-navy-900);
  --gradient-warm: var(--gradient-celebration); 
  --gradient-cool: linear-gradient(120deg, #BB48F8 0%, #5852E4 100%); 
  --gradient-deltalk: var(--gradient-brand); 
  --gradient-warm-arm: linear-gradient(180deg, #FFB565 0%, #F24C9A 50%, #BB48F8 100%); 
  --gradient-cool-arm: linear-gradient(90deg, #A780FE 0%, #5852E4 54%, #261D82 100%);  
  --success: var(--success-fill); --success-tint: var(--success-surface);
  --danger: var(--danger-fill);   --danger-tint: var(--danger-surface);
  --warning: var(--warning-fill);
  --info: var(--info-fill);
  --premium:         var(--brand-pink-700);
  --premium-on-fill: #FFFFFF;   
  --scrim:       rgba(18, 25, 38, 0.46);
  --scrim-media: rgba(8, 6, 16, 0.60);
  --hover-veil: rgba(18, 25, 38, 0.06);
  --veil-on-media-weak:   rgba(255, 255, 255, 0.16);  
  --veil-on-media-medium: rgba(255, 255, 255, 0.20);  
  --veil-on-media-strong: rgba(255, 255, 255, 0.40);  
  --gradient-media-scrim: linear-gradient(to top, rgba(8,6,16,.86) 0%, rgba(8,6,16,.32) 36%, rgba(8,6,16,0) 58%); 
  --on-media-plate:       color-mix(in srgb, var(--bg) 70%, transparent);
  --on-media-ink:         var(--text-primary);
  --on-media-halo:        0 0 0 1px color-mix(in srgb, var(--text-primary) 55%, transparent),
                          0 2px 10px rgba(0, 0, 0, .5); 
  --on-media-plate-hover: color-mix(in srgb, var(--surface-card) 70%, transparent);
  --on-media-blur:        blur(6px); 
  --neutral-100: #FFFFFF;  
  --neutral-200: #F8FAFC;  
  --neutral-300: #EEF2F7;  
  --neutral-400: #C3CBD6;  
  --neutral-500: #A9B2C0;  
  --neutral-600: #828B9C;  
  --neutral-700: #6E7789;  
  --neutral-800: #454D5A;  
  --neutral-900: #121926;  
}
[data-theme="light"], .theme-light {
  --bg: #F8FAFC; --surface-card: #FFFFFF; --surface-well: #EEF2F7;
  --border: #C3CBD6; --border-strong: #A9B2C0;
  --text-primary: #121926; --text-secondary: #5D6675; --text-subtle: #636E82; --text-disabled: #A2AAB7;
  --action-cta: #121926; --action-cta-press: #2E3542; --text-on-cta: #FFFFFF;
  --gradient-brand: linear-gradient(135deg, #F24C9A 0%, #BB48F8 100%);  --text-on-brand: #FFFFFF;
  --chip-selected-fill: var(--gradient-brand-strong); --chip-selected-text: var(--text-on-brand); 
  --success-fill: #3E9D6E; --success-on-fill: #06301E; --success-surface: #E4F3EB; --success-text: #1F7A50;
  --danger-fill: #C81E3A; --danger-on-fill: #FFFFFF; --danger-surface: #FBEAEC; --danger-text: #B02034;
  --warning-fill: var(--brand-gold-500); --warning-on-fill: var(--brand-gold-900); --warning-surface: var(--brand-gold-100); --warning-text: var(--brand-gold-700);
  --info-fill: var(--brand-indigo-600); --info-on-fill: #FFFFFF; --info-surface: var(--brand-indigo-100); --info-text: var(--brand-indigo-600);
  --surface-cool: #1D2432; --surface-cool-raised: #2A3346; --text-on-cool: #F4F1FF;
  --nav-active: var(--brand-lavender-600);
  --accent: #F24C9A; --accent-press: var(--brand-pink-600); --accent-fg: #FFFFFF; --accent-tint: var(--brand-pink-100); --accent-tint-fg: var(--brand-pink-800);
  --focus-ring: var(--accent); --surface-input: #FFFFFF; --switch-track-off: #828B9C; --border-control: #828B9C;
  --logo-wordmark: var(--brand-navy-500);   
  --logo-tagline:  var(--brand-navy-400);   
  --action-primary: #121926; --action-primary-press: #2E3542; --action-primary-tint: var(--brand-pink-100);
  --other-person: #0D79AE; --conversation-active: #0D79AE;
  --conversation-active-on-fill: #FFFFFF; --conversation-active-surface: #E6F2F9; --conversation-active-fg: #0A5F89;
  --bubble-sent-fill: var(--action-primary);    --bubble-sent-on-fill: var(--text-on-cta);
  --bubble-received-fill: var(--surface-card);  --bubble-received-on-fill: var(--text-primary);
  --bubble-timestamp: var(--text-subtle);
  --bubble-status-read: var(--conversation-active); --bubble-status-failed: var(--danger);
  --warm-magenta: #F24C9A; --warm-700: var(--brand-pink-800); --warm-50: var(--brand-pink-100); --warm-100: #F9D2E4; --warm-200: #F4B6D2;
  --cool-violet: var(--brand-indigo-600); --cool-lavender: var(--brand-lavender-600); --cool-50: var(--brand-indigo-100);
  --success: #3E9D6E; --success-tint: #E4F3EB; --danger: #C81E3A; --danger-tint: #FBEAEC;
  --warning: var(--brand-gold-500); --info: var(--brand-indigo-600);
  --premium: var(--brand-pink-700); --premium-on-fill: #FFFFFF;
  --scrim:       rgba(18, 25, 38, 0.46);
  --scrim-media: rgba(8, 6, 16, 0.60);
  --hover-veil: rgba(18, 25, 38, 0.06);
  --shadow-xs: 0 1px 2px rgba(26,22,38,.05); --shadow-sm: 0 2px 8px rgba(26,22,38,.06);
  --shadow-md: 0 6px 20px rgba(26,22,38,.08); --shadow-lg: 0 16px 40px rgba(26,22,38,.12);
  --shadow-xl: 0 28px 64px rgba(26,22,38,.16);
  color-scheme: light;
  --paper: var(--bg); --paper-raised: var(--surface-card); --paper-sunken: var(--surface-well);
  --surface: var(--bg);
  --ink: var(--text-primary); --ink-70: var(--text-secondary); --ink-50: var(--text-subtle); --ink-30: var(--text-disabled);
  --line: var(--border); --line-strong: var(--border-strong); --border-subtle: var(--border);
  --text-muted: var(--text-secondary);
  --text-on-warm: var(--text-on-cta); --text-on-gradient-warm: var(--text-on-brand);
  --avatar-ring-color: var(--gradient-brand);
  --warm-apricot: var(--brand-gold); --cool-indigo: var(--brand-navy);
  --gradient-warm: var(--gradient-celebration); --gradient-deltalk: var(--gradient-brand);
  --on-media-plate:       color-mix(in srgb, var(--bg) 70%, transparent);
  --on-media-ink:         var(--text-primary);
  --on-media-halo:        0 0 0 1px color-mix(in srgb, var(--text-primary) 55%, transparent),
                          0 2px 10px rgba(0, 0, 0, .5); 
  --on-media-plate-hover: color-mix(in srgb, var(--surface-card) 70%, transparent);
  --on-media-blur:        blur(6px); 
}
[data-theme="dark"], .theme-dark {
  --bg:             #121926;
  --surface-card:   #1D2432;
  --surface-well:   #161D2A;
  --border:         #454D5A;    
  --border-strong:  #5C6473;
  --text-primary:      #F8FAFC;    
  --text-secondary: #9AA4B2;    
  --text-subtle:    #828C9E;    
  --text-disabled:  #5A6373;    
  --action-cta:       #F8FAFC;
  --action-cta-press: #E2E8F0;
  --text-on-cta:      #121926;  
  --gradient-brand:  linear-gradient(135deg, #F24C9A 0%, #BB48F8 100%); 
  --text-on-brand:   #FFFFFF;
  --chip-selected-fill: var(--gradient-brand);
  --chip-selected-text: var(--brand-navy-900);
  --success-fill:    #4FB985;  
  --success-on-fill: #06251A;  
  --success-surface: #17281F;
  --success-text:    #7FE3B0;  
  --danger-fill:     #FF6B5B;  
  --danger-on-fill:  #3A0C14;  
  --danger-surface:  #33161A;
  --danger-text:     #FFA9A0;  
  --warning-fill:    var(--brand-gold-500);    
  --warning-on-fill: var(--brand-gold-900);  
  --warning-surface: #2A2318;                
  --warning-text:    var(--brand-gold-300);  
  --info-fill:       var(--brand-lavender-400);  
  --info-on-fill:    var(--brand-navy-900);      
  --info-surface:    #1B2242;                    
  --info-text:       var(--brand-lavender-300);  
  --surface-cool: #0E1622; --surface-cool-raised: #222A3A; --text-on-cool: #E9ECF5;
  --accent:          #E481AF;            
  --accent-press:    #EE9CC1;            
  --accent-fg:       var(--text-on-cta); 
  --accent-tint:     #502B3C;            
  --accent-tint-fg:  #F4B6D2;            
  --focus-ring:      var(--accent);      
  --switch-track-off: #6E7789;           
  --logo-wordmark:   var(--brand-lavender-400);   
  --logo-tagline:    var(--brand-lavender-500);   
  --border-control:  #6E7789;            
  --surface-input:   var(--surface-card);
  --action-primary:       var(--action-cta);
  --action-primary-press: var(--action-cta-press);
  --action-primary-tint:  var(--accent-tint);
  --conversation-active:         #82C4FF;  
  --conversation-active-on-fill: #0A1F33;  
  --conversation-active-surface: #16283D;
  --conversation-active-fg:      #9FD3FF;  
  --other-person:        var(--conversation-active);
  --bubble-sent-fill: var(--action-primary);    --bubble-sent-on-fill: var(--text-on-cta);
  --bubble-received-fill: var(--surface-card);  --bubble-received-on-fill: var(--text-primary);
  --bubble-timestamp: var(--text-subtle);
  --bubble-status-read: var(--conversation-active); --bubble-status-failed: var(--danger);
  --warm-magenta: #F062B0; --warm-700: #F7A0C4;
  --warm-50: #2A1E28; --warm-100: #3A2632; --warm-200: #4A2E3C;
  --cool-violet: var(--brand-lavender-400); --cool-lavender: var(--brand-lavender-300); --cool-50: #1B2242;
  --success: var(--success-fill); --success-tint: var(--success-surface);
  --danger: var(--danger-fill);   --danger-tint: var(--danger-surface);
  --warning: var(--warning-fill);
  --info: var(--info-fill);
  --nav-active:      var(--brand-lavender-400);
  --premium:         var(--brand-pink-200);
  --premium-on-fill: var(--brand-pink-900);  
  --scrim:       rgba(4, 7, 12, 0.62);
  --scrim-media: rgba(4, 3, 9, 0.62);
  --hover-veil: rgba(255, 255, 255, 0.08);
  --shadow-xs: 0 1px 2px rgba(0,0,0,.4);
  --shadow-sm: 0 2px 8px rgba(0,0,0,.45);
  --shadow-md: 0 6px 20px rgba(0,0,0,.5);
  --shadow-lg: 0 16px 40px rgba(0,0,0,.55);
  --shadow-xl: 0 28px 64px rgba(0,0,0,.6);
  color-scheme: dark;
  --paper: var(--bg); --paper-raised: var(--surface-card); --paper-sunken: var(--surface-well);
  --surface: var(--bg);
  --ink: var(--text-primary); --ink-70: var(--text-secondary); --ink-50: var(--text-subtle); --ink-30: var(--text-disabled);
  --line: var(--border); --line-strong: var(--border-strong); --border-subtle: var(--border);
  --text-muted: var(--text-secondary);
  --text-on-warm: var(--text-on-cta); --text-on-gradient-warm: var(--text-on-brand);
  --avatar-ring-color: var(--gradient-brand);
  --warm-apricot: var(--brand-gold); --cool-indigo: var(--brand-navy);
  --gradient-warm: var(--gradient-celebration); --gradient-deltalk: var(--gradient-brand);
  --on-media-plate:       color-mix(in srgb, var(--bg) 70%, transparent);
  --on-media-ink:         var(--text-primary);
  --on-media-halo:        0 0 0 1px color-mix(in srgb, var(--text-primary) 55%, transparent),
                          0 2px 10px rgba(0, 0, 0, .5); 
  --on-media-plate-hover: color-mix(in srgb, var(--surface-card) 70%, transparent);
  --on-media-blur:        blur(6px); 
}
