/* ── Themes via CSS custom properties ────────────────────────────── */

:root, [data-theme="warm"] {
  --bg:           #faf7f2;
  --bg-card:      #ffffff;
  --bg-subtle:    #f3ede3;
  --bg-hover:     #ede5d6;
  --border:       #e2d9cc;
  --border-focus: #c07a5f;
  --text:         #3d3530;
  --text-muted:   #8a7a70;
  --text-light:   #b5a99e;
  --accent:       #c07a5f;
  --accent-hover: #a8634a;
  --accent-text:  #ffffff;
  --accent-soft:  #f5e8e3;
  --success:      #4a7c59;
  --success-soft: #e8f2ec;
  --warning:      #c9882a;
  --warning-soft: #fef3e2;
  --danger:       #b94040;
  --danger-soft:  #fdeaea;
  --shadow:       0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.10);
  --radius:       10px;
  --radius-sm:    6px;
  --radius-lg:    16px;
}

[data-theme="slate"] {
  --bg:           #f0f2f5;
  --bg-card:      #ffffff;
  --bg-subtle:    #e8ecf1;
  --bg-hover:     #dde3ea;
  --border:       #cbd3dc;
  --border-focus: #4a7fa8;
  --text:         #2c3441;
  --text-muted:   #6b7a8d;
  --text-light:   #a0adb9;
  --accent:       #4a7fa8;
  --accent-hover: #3a6a8f;
  --accent-text:  #ffffff;
  --accent-soft:  #e3edf5;
  --success:      #3a7a56;
  --success-soft: #e6f2ec;
  --warning:      #b87a20;
  --warning-soft: #fdf3e0;
  --danger:       #a83838;
  --danger-soft:  #fde8e8;
  --shadow:       0 1px 3px rgba(0,0,0,0.09), 0 1px 2px rgba(0,0,0,0.05);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.11);
}

[data-theme="forest"] {
  --bg:           #f2f4f0;
  --bg-card:      #ffffff;
  --bg-subtle:    #e8ede4;
  --bg-hover:     #dce4d6;
  --border:       #c8d4c0;
  --border-focus: #5a7a4a;
  --text:         #2e3a28;
  --text-muted:   #697a60;
  --text-light:   #9aaa90;
  --accent:       #5a7a4a;
  --accent-hover: #476038;
  --accent-text:  #ffffff;
  --accent-soft:  #e5ede0;
  --success:      #4a7a4a;
  --success-soft: #e6f0e6;
  --warning:      #9a7a2a;
  --warning-soft: #f8f2e0;
  --danger:       #9a4040;
  --danger-soft:  #f8e8e8;
  --shadow:       0 1px 3px rgba(0,0,0,0.07);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.09);
}

[data-theme="ocean"] {
  --bg:           #f0f5f7;
  --bg-card:      #ffffff;
  --bg-subtle:    #e3edf2;
  --bg-hover:     #d5e4ea;
  --border:       #bfd0da;
  --border-focus: #3a7a8a;
  --text:         #1a3040;
  --text-muted:   #527080;
  --text-light:   #8aa0ad;
  --accent:       #3a7a8a;
  --accent-hover: #2a6070;
  --accent-text:  #ffffff;
  --accent-soft:  #ddeef2;
  --success:      #3a7a5a;
  --success-soft: #e0f0ea;
  --warning:      #9a7a2a;
  --warning-soft: #f8f2e0;
  --danger:       #9a3a4a;
  --danger-soft:  #f8e0e5;
  --shadow:       0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.10);
}

[data-theme="rose"] {
  --bg:           #fdf5f5;
  --bg-card:      #ffffff;
  --bg-subtle:    #f7ecec;
  --bg-hover:     #f0e0e0;
  --border:       #e8d0d0;
  --border-focus: #c07080;
  --text:         #3d2428;
  --text-muted:   #8a6068;
  --text-light:   #b89098;
  --accent:       #c07080;
  --accent-hover: #a85868;
  --accent-text:  #ffffff;
  --accent-soft:  #f7e8ec;
  --success:      #5a7a5a;
  --success-soft: #eaf2ea;
  --warning:      #c0882a;
  --warning-soft: #fef4e0;
  --danger:       #b84050;
  --danger-soft:  #fde8ec;
  --shadow:       0 1px 3px rgba(0,0,0,0.07);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.09);
}

[data-theme="lavender"] {
  --bg:           #f4f2fa;
  --bg-card:      #ffffff;
  --bg-subtle:    #ece8f5;
  --bg-hover:     #e0daf0;
  --border:       #d0c8e8;
  --border-focus: #8070c0;
  --text:         #2c2840;
  --text-muted:   #706880;
  --text-light:   #a098b8;
  --accent:       #8070c0;
  --accent-hover: #6858a8;
  --accent-text:  #ffffff;
  --accent-soft:  #ece8f5;
  --success:      #5a7a60;
  --success-soft: #eaf2ec;
  --warning:      #c08830;
  --warning-soft: #fef4e0;
  --danger:       #b84050;
  --danger-soft:  #fde8ec;
  --shadow:       0 1px 3px rgba(0,0,0,0.07);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.09);
}

[data-theme="midnight"] {
  --bg:           #111827;
  --bg-card:      #1f2937;
  --bg-subtle:    #374151;
  --bg-hover:     #4b5563;
  --border:       #374151;
  --border-focus: #6080c0;
  --text:         #e5e7eb;
  --text-muted:   #9ca3af;
  --text-light:   #6b7280;
  --accent:       #6080c0;
  --accent-hover: #4e68a8;
  --accent-text:  #ffffff;
  --accent-soft:  #1e2a40;
  --success:      #3a8a5a;
  --success-soft: #162a20;
  --warning:      #c08830;
  --warning-soft: #2a2010;
  --danger:       #c04040;
  --danger-soft:  #2a1010;
  --shadow:       0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.4);
}

[data-theme="sand"] {
  --bg:           #faf6ee;
  --bg-card:      #ffffff;
  --bg-subtle:    #f2ebe0;
  --bg-hover:     #e8dfd0;
  --border:       #ddd0bc;
  --border-focus: #c09048;
  --text:         #3d3020;
  --text-muted:   #8a7858;
  --text-light:   #b5a888;
  --accent:       #c09048;
  --accent-hover: #a87830;
  --accent-text:  #ffffff;
  --accent-soft:  #f5edd8;
  --success:      #5a7a4a;
  --success-soft: #eaf2e4;
  --warning:      #c08830;
  --warning-soft: #fef3e0;
  --danger:       #b84040;
  --danger-soft:  #fde8e8;
  --shadow:       0 1px 3px rgba(0,0,0,0.07);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.09);
}

[data-theme="catppuccin-frappe-pink"] {
  --bg:           #303446;
  --bg-card:      #414559;
  --bg-subtle:    #51576d;
  --bg-hover:     #626880;
  --border:       #51576d;
  --border-focus: #f4b8e4;
  --text:         #c6d0f5;
  --text-muted:   #a5adce;
  --text-light:   #737994;
  --accent:       #f4b8e4;
  --accent-hover: #eaa8d8;
  --accent-text:  #303446;
  --accent-soft:  #4a3d50;
  --success:      #a6d189;
  --success-soft: #2a3828;
  --warning:      #e5c890;
  --warning-soft: #3a3020;
  --danger:       #e78284;
  --danger-soft:  #3a2020;
  --shadow:       0 1px 3px rgba(0,0,0,0.25), 0 1px 2px rgba(0,0,0,0.18);
  --shadow-md:    0 4px 12px rgba(0,0,0,0.35);
}
