/* ══════════════════════════════════════════════════════════════════
   تمِ مشترکِ همه‌ی صفحه‌های وب‌اپ — چهار پالت (ارغوان/نیلی/فیروزه/سرخابی)
   × روشن/تیره. تک‌منبع: صفحه‌ی چت هم همین را می‌خواند.

   data-theme (light/dark) و data-palette را /static/theme.js روی <html>
   می‌گذارد؛ انتخابِ کاربر روی سرور هم ذخیره می‌شود (GET/POST /api/me/theme).

   توکن‌ها: --app-bg (پس‌زمینه)، --surface/-2/-3 (کارت‌ها)، --border، --text،
   --text-dim، --text-faint، --accent، --accent-strong، --accent-soft،
   --on-accent، --danger، --danger-soft، --success، --warn، --shadow، --ring،
   --brand/--brand-2 (سرآیند)، --radius/--radius-sm.
   ══════════════════════════════════════════════════════════════════ */
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400 800;font-display:swap;src:url('/static/fonts/Vazirmatn-arabic.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400 800;font-display:swap;src:url('/static/fonts/Vazirmatn-latinext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400 800;font-display:swap;src:url('/static/fonts/Vazirmatn-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --danger:#e5484d;--radius:18px;--radius-sm:12px;--on-accent:#fff;
  --accent-grad:linear-gradient(180deg,var(--accent),var(--accent-strong));
  --bubble-them-tx:#fff;--bubble-me-tx:var(--text);--bubble-me-border:var(--border);
}
/* سطحِ تم (رنگ‌های مستقل از پالت) */
:root,:root[data-theme="light"]{--danger-soft:#fdecec;--scroll:oklch(0.86 0.02 305)}
:root[data-theme="dark"]{--danger:#f06a6f;--danger-soft:rgba(240,106,111,.16);--scroll:oklch(0.42 0.02 250)}
/* سایه‌های پیش‌فرضِ تیره (پالت‌های تیره همین را می‌گیرند مگر override کنند) */
:root[data-theme="dark"]{--shadow:0 24px 64px oklch(0 0 0/0.5);--shadow-sm:0 2px 10px oklch(0 0 0/0.35)}

/* ═══════════ پالت: ارغوان (بنفش) ═══════════ */
:root,:root[data-theme="light"],:root[data-theme="light"][data-palette="arghavan"]{
  --app-bg:linear-gradient(165deg,oklch(0.976 0.01 305),oklch(0.945 0.015 318));
  --surface:oklch(0.996 0.004 305);--surface-2:oklch(0.966 0.008 306);--surface-3:oklch(0.94 0.011 308);
  --border:oklch(0.905 0.012 308);--text:oklch(0.30 0.03 305);--text-dim:oklch(0.52 0.025 305);--text-faint:oklch(0.66 0.02 305);
  --accent:oklch(0.58 0.19 312);--accent-strong:oklch(0.50 0.20 318);--accent-soft:oklch(0.95 0.035 308);--bubble-me:oklch(1 0 0);
  --chat-bg:radial-gradient(640px 420px at 14% 4%,oklch(0.62 0.10 312/0.07),transparent 60%),radial-gradient(600px 520px at 90% 98%,oklch(0.66 0.09 300/0.07),transparent 62%),linear-gradient(165deg,oklch(0.983 0.008 308),oklch(0.962 0.011 318));
  --shadow:0 18px 50px oklch(0.34 0.07 318/0.16);--shadow-sm:0 3px 12px oklch(0.34 0.07 318/0.10);--ring:oklch(0.58 0.19 312/0.18);
  --brand:oklch(0.50 0.21 316);--brand-2:oklch(0.575 0.235 338);--brand-ring:oklch(0.52 0.22 326/0.34);
  --send:var(--accent);--send-2:var(--accent-strong);--send-ring:var(--ring);
}
:root[data-theme="dark"],:root[data-theme="dark"][data-palette="arghavan"]{
  --app-bg:linear-gradient(180deg,#1d2d46,#141f33);
  --surface:rgba(45,59,106,.84);--surface-2:rgba(56,69,137,.66);--surface-3:#47366d;--border:rgba(90,68,133,.5);
  --text:#eef1fb;--text-dim:#b7bfe0;--text-faint:#8189b0;
  --accent:#4a5aa8;--accent-strong:#384589;--accent-soft:#2d3b6a;--bubble-me:rgba(29,45,70,.68);
  --chat-bg:radial-gradient(1000px 560px at 50% -18%,rgba(90,68,133,.30),transparent 62%),radial-gradient(720px 640px at 93% 40%,rgba(56,69,137,.16),transparent 58%),linear-gradient(180deg,#1d2d46,#131e31);
  --ring:rgba(74,90,168,.35);--brand:#47366d;--brand-2:#5a4485;--brand-ring:rgba(71,54,109,.5);
  --send:#5865c8;--send-2:#4a5aa8;--send-ring:rgba(88,101,200,.35);
}
/* ═══════════ پالت: نیلی (آبیِ سرمه‌ای) ═══════════ */
:root[data-theme="light"][data-palette="nili"]{
  --app-bg:linear-gradient(165deg,oklch(0.985 0.01 80),oklch(0.955 0.014 72));
  --surface:oklch(0.997 0.004 80);--surface-2:oklch(0.968 0.009 75);--surface-3:oklch(0.945 0.012 72);
  --border:oklch(0.905 0.012 76);--text:oklch(0.31 0.028 285);--text-dim:oklch(0.53 0.022 285);--text-faint:oklch(0.67 0.018 283);
  --accent:oklch(0.585 0.135 283);--accent-strong:oklch(0.52 0.15 285);--accent-soft:oklch(0.95 0.028 285);--bubble-me:oklch(0.998 0.004 80);
  --chat-bg:radial-gradient(640px 420px at 14% 4%,oklch(0.66 0.08 283/0.06),transparent 60%),radial-gradient(600px 520px at 90% 98%,oklch(0.78 0.06 66/0.08),transparent 62%),linear-gradient(165deg,oklch(0.99 0.008 78),oklch(0.97 0.011 66));
  --shadow:0 18px 50px oklch(0.35 0.05 285/0.15);--shadow-sm:0 3px 12px oklch(0.35 0.05 285/0.10);--ring:oklch(0.585 0.135 283/0.16);
  --brand:oklch(0.50 0.17 286);--brand-2:oklch(0.57 0.19 300);--brand-ring:oklch(0.52 0.18 293/0.30);
  --send:var(--accent);--send-2:var(--accent-strong);--send-ring:var(--ring);
}
:root[data-theme="dark"][data-palette="nili"]{
  --app-bg:linear-gradient(180deg,#071a34,#04101f);
  --surface:rgba(11,28,62,.84);--surface-2:rgba(17,36,74,.66);--surface-3:#11244a;--border:rgba(34,58,98,.55);
  --text:#e9eefb;--text-dim:#a9b6d2;--text-faint:#75839f;
  --accent:#22508f;--accent-strong:#183d70;--accent-soft:#11244a;--bubble-me:rgba(11,28,62,.7);
  --chat-bg:radial-gradient(1000px 560px at 50% -18%,rgba(34,80,143,.26),transparent 62%),radial-gradient(720px 640px at 93% 42%,rgba(17,36,74,.18),transparent 58%),linear-gradient(180deg,#071a34,#040f1e);
  --ring:rgba(34,80,143,.35);--brand:#0b1c3e;--brand-2:#11244a;--brand-ring:rgba(11,28,62,.55);
  --send:#2a6fd0;--send-2:#1e5bb0;--send-ring:rgba(42,111,208,.35);
}
/* ═══════════ پالت: فیروزه ═══════════ */
:root[data-theme="light"][data-palette="firouzeh"]{
  --app-bg:linear-gradient(165deg,oklch(0.975 0.006 220),oklch(0.945 0.008 215));
  --surface:oklch(0.996 0.002 220);--surface-2:oklch(0.965 0.005 218);--surface-3:oklch(0.94 0.007 216);
  --border:oklch(0.90 0.008 218);--text:oklch(0.29 0.02 230);--text-dim:oklch(0.51 0.016 228);--text-faint:oklch(0.66 0.012 225);
  --accent:oklch(0.62 0.115 214);--accent-strong:oklch(0.55 0.125 213);--accent-soft:oklch(0.945 0.03 208);--bubble-me:oklch(1 0 0);
  --chat-bg:radial-gradient(640px 420px at 12% 4%,oklch(0.62 0.115 214/0.10),transparent 60%),radial-gradient(600px 520px at 92% 98%,oklch(0.70 0.10 188/0.13),transparent 62%),linear-gradient(165deg,oklch(0.975 0.008 216),oklch(0.94 0.011 205));
  --shadow:0 18px 50px oklch(0.30 0.04 225/0.15);--shadow-sm:0 3px 12px oklch(0.30 0.04 225/0.10);--ring:oklch(0.62 0.115 214/0.16);
  --brand:oklch(0.56 0.125 212);--brand-2:oklch(0.62 0.125 196);--brand-ring:oklch(0.58 0.125 204/0.30);
  --send:var(--accent);--send-2:var(--accent-strong);--send-ring:var(--ring);
}
:root[data-theme="dark"][data-palette="firouzeh"]{
  --app-bg:linear-gradient(180deg,#12262b,#0c1a1e);
  --surface:rgba(22,44,49,.84);--surface-2:rgba(32,58,64,.66);--surface-3:#244a50;--border:rgba(52,90,96,.55);
  --text:#e8f3f2;--text-dim:#a6c2c2;--text-faint:#728e8e;
  --accent:#2a7d7f;--accent-strong:#1f6467;--accent-soft:#183f42;--bubble-me:rgba(24,46,50,.7);
  --chat-bg:radial-gradient(1000px 560px at 50% -18%,rgba(42,160,150,.20),transparent 62%),radial-gradient(720px 640px at 93% 42%,rgba(32,58,64,.18),transparent 58%),linear-gradient(180deg,#12262b,#0b191d);
  --ring:rgba(42,125,127,.32);--brand:#183f45;--brand-2:#1c565a;--brand-ring:rgba(24,63,69,.5);
  --send:#2bb7ad;--send-2:#1f9a91;--send-ring:rgba(43,183,173,.32);
}
/* ═══════════ پالت: سرخابی (صورتیِ سرخ) ═══════════ */
:root[data-theme="light"][data-palette="sorkhabi"]{
  --app-bg:linear-gradient(165deg,oklch(0.982 0.008 335),oklch(0.955 0.012 345));
  --surface:oklch(0.996 0.004 335);--surface-2:oklch(0.966 0.008 336);--surface-3:oklch(0.94 0.011 338);
  --border:oklch(0.905 0.013 338);--text:oklch(0.30 0.035 330);--text-dim:oklch(0.52 0.028 332);--text-faint:oklch(0.66 0.022 333);
  --accent:oklch(0.55 0.22 348);--accent-strong:oklch(0.47 0.23 350);--accent-soft:oklch(0.95 0.04 345);--bubble-me:oklch(1 0 0);
  --chat-bg:radial-gradient(640px 420px at 14% 4%,oklch(0.64 0.10 340/0.07),transparent 60%),radial-gradient(600px 520px at 90% 98%,oklch(0.68 0.09 320/0.07),transparent 62%),linear-gradient(165deg,oklch(0.984 0.008 335),oklch(0.963 0.011 345));
  --shadow:0 18px 50px oklch(0.34 0.08 340/0.16);--shadow-sm:0 3px 12px oklch(0.34 0.08 340/0.10);--ring:oklch(0.55 0.22 348/0.18);
  --brand:oklch(0.40 0.17 318);--brand-2:oklch(0.55 0.25 350);--brand-ring:oklch(0.48 0.22 335/0.34);
  --send:oklch(0.83 0.185 128);--send-2:oklch(0.75 0.20 132);--send-ring:oklch(0.80 0.19 130/0.34);
}
:root[data-theme="dark"][data-palette="sorkhabi"]{
  --app-bg:linear-gradient(180deg,#1c1030,#130a22);
  --surface:rgba(40,24,64,.84);--surface-2:rgba(52,32,82,.66);--surface-3:#3a2456;--border:rgba(96,64,128,.5);
  --text:#f2eafb;--text-dim:#c3b2d8;--text-faint:#8a7aa0;
  --accent:#7a3f8f;--accent-strong:#63317a;--accent-soft:#3a2456;--bubble-me:rgba(40,24,64,.7);
  --chat-bg:radial-gradient(1000px 560px at 50% -18%,rgba(138,47,106,.24),transparent 62%),radial-gradient(720px 640px at 93% 42%,rgba(90,42,122,.20),transparent 58%),linear-gradient(180deg,#1c1030,#120920);
  --ring:rgba(122,63,143,.34);--brand:#5a2a7a;--brand-2:#8a2f6a;--brand-ring:rgba(90,42,122,.5);
  --send:#a6d92a;--send-2:#8fc21f;--send-ring:rgba(166,217,42,.34);
}

/* رنگ‌های معنایی که به پالت بستگی ندارند */
:root,:root[data-theme="light"]{--success:#16a34a;--success-soft:rgba(22,163,74,.12);--warn:#d97706;--warn-soft:rgba(217,119,6,.12)}
:root[data-theme="dark"]{--success:#4ade80;--success-soft:rgba(74,222,128,.14);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.14)}

html{background:var(--app-bg);background-attachment:fixed;min-height:100%}
body{font-family:'Vazirmatn','Segoe UI',Tahoma,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}

/* ── انتخابگرِ تم (دکمه‌ی [data-theme-picker] یا دکمه‌ی شناور) ── */
.thm-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;
  border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:17px;cursor:pointer;
  box-shadow:var(--shadow-sm);font-family:inherit;padding:0;flex:0 0 auto}
.thm-btn:hover{border-color:var(--accent)}
.thm-float{position:fixed;left:14px;bottom:14px;z-index:50}
.palette-menu{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);
  padding:8px;min-width:190px;display:none;z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
:root[data-theme="dark"] .palette-menu{background:var(--surface-3)}
.palette-menu.open{display:block}
.pm-modes{display:flex;gap:6px}
.pm-mode{flex:1;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);border-radius:10px;padding:8px 6px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:.14s}
.pm-mode:hover{background:var(--accent-soft)}
.pm-mode.sel{background:var(--accent);color:#fff;border-color:var(--accent)}
.pm-sep{height:1px;background:var(--border);margin:6px 8px}
.pal-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:11px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text);transition:.12s}
.pal-item:hover{background:var(--surface-2)}
.pal-item.sel{background:var(--accent-soft)}
.pal-sw{width:22px;height:22px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 2px rgba(255,255,255,.35),0 1px 3px rgba(0,0,0,.2)}
.pal-check{margin-inline-start:auto;color:var(--accent);font-weight:800;opacity:0}
.pal-item.sel .pal-check{opacity:1}
