 :root{
    --color-bg-primary:#0e1621;
    --color-bg-secondary:#17212b;
    --color-bg-tertiary:#242f3d;
    --color-bg-hover:rgba(255,255,255,0.05);
    --color-text-primary:#ffffff;
    --color-text-secondary:#708499;
    --color-text-tertiary:#9ca3af;
    --color-border:var(--line-soft);
    --color-accent:#3390ec;
    --color-accent-hover:#2481cc;
    --color-success:#22c55e;
    --color-error:#f97373;
    --color-warning:#fbbf24;
    --spacing-xs:4px;
    --spacing-sm:8px;
    --spacing-md:12px;
    --spacing-lg:16px;
    --spacing-xl:20px;
    --spacing-2xl:24px;
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:20px;
    --radius-full:999px;
    --font-family:"IRANYekan",Tahoma,"Segoe UI",sans-serif;
    --font-family-ui-mixed:"Roboto","IRANYekan",Tahoma,"Segoe UI",sans-serif;
    --transition-fast:0.1s;
    --transition-base:0.15s;
    --transition-slow:0.3s;
    --vh:1vh;
    --surface-nav:var(--color-bg-secondary);
    --surface-card:var(--color-bg-secondary);
    --surface-overlay:rgba(0,0,0,0.5);
    --surface-menu:var(--color-bg-secondary);
    --surface-input:var(--color-bg-tertiary);
    --surface-muted:rgba(255,255,255,0.05);
    --private-bubble-out-bg:var(--color-accent-hover);
    --private-bubble-in-bg:var(--surface-input);
    --private-bubble-out-text:var(--text-title);
    --private-bubble-in-text:var(--text-title);
    --private-bubble-out-meta:var(--private-bubble-out-text);
    --private-bubble-in-meta:var(--private-bubble-in-text);
    --private-bubble-out-size:15px;
    --private-bubble-in-size:15px;
    --text-title:#ffffff;
    --text-muted:#9ca3af;
    --line-soft:var(--line-soft);
    --line-strong:var(--btn-ghost-hover);
    --btn-ghost-bg:var(--btn-ghost-bg);
    --btn-ghost-hover:var(--btn-ghost-hover);
    --status-success:#22c55e;
    --status-danger:#ef4444;
    --status-warning:#fbbf24;
    --theme-color-meta:#1e293b;
    --media-surface:#000000;
    --media-overlay-gradient:linear-gradient(to top, rgba(0,0,0,0.72), rgba(0,0,0,0.22));
    --media-control-icon-filter:invert(1);
    --elev-shadow-soft:0 3px 8px var(--elev-shadow-soft);
    --elev-shadow-menu:0 10px 25px rgba(15,23,42,0.25);
    --elev-shadow-dialog:0 20px 50px rgba(2,6,23,0.35);
    --elev-shadow-widget:0 8px 24px rgba(0,0,0,0.2);
    --elev-shadow-media:0 18px 48px rgba(0,0,0,0.35);
    --elev-shadow-card:0 10px 30px var(--elev-shadow-soft);
    --legacy-shell-gradient-chat:radial-gradient(circle at top left,#1d4ed8 0,var(--legacy-surface-dark) 55%);
    --legacy-shell-gradient-private:radial-gradient(circle at top left,#a855f7 0,var(--legacy-surface-dark) 55%);
    --legacy-sidebar-gradient-private:radial-gradient(circle at top left,#1e293b 0,var(--legacy-surface-dark) 60%);
    --legacy-chat-window-bg:#020617;
    --legacy-panel-bg-strong:rgba(15,23,42,0.96);
    --legacy-panel-bg-strong-2:rgba(15,23,42,0.97);
    --legacy-danger-soft:rgba(248,113,113,0.08);
    --legacy-danger-mid:rgba(248,113,113,0.12);
    --legacy-danger-border:rgba(248,113,113,0.5);
    --legacy-danger-bg:rgba(127,29,29,0.3);
    --legacy-info-soft:var(--legacy-info-soft);
    --legacy-info-border:var(--legacy-info-border);
    --legacy-accent-border:rgba(129,140,248,0.6);
    --legacy-accent-border-strong:rgba(129,140,248,0.9);
    --legacy-teal-soft:rgba(15,118,110,0.15);
    --legacy-teal-border:rgba(34,197,164,0.4);
    --legacy-indigo-soft:rgba(30,64,175,0.25);
    --legacy-gradient-primary:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));
    --legacy-gradient-chat-primary:linear-gradient(135deg,var(--color-accent),#4f46e5);
    --legacy-gradient-success:linear-gradient(135deg,#059669,#14b8a6);
    --legacy-gradient-violet:linear-gradient(135deg,#4f46e5,#8b5cf6);
    --legacy-gradient-pink:linear-gradient(135deg,#8b5cf6,#ec4899);
    --legacy-accent-glow:0 0 0 1px rgba(59,130,246,0.6);
    --legacy-accent-glow-2:0 0 0 2px rgba(59,130,246,0.3);
    --legacy-violet-glow:0 0 0 1px rgba(139,92,246,0.4);
    --legacy-violet-glow-2:0 0 0 2px rgba(139,92,246,0.3);
    --legacy-btn-shadow-primary:0 14px 30px rgba(37,99,235,0.6);
    --legacy-btn-shadow-primary-hover:0 18px 36px rgba(37,99,235,0.7);
    --legacy-btn-shadow-primary-active:0 10px 22px rgba(37,99,235,0.6);
    --legacy-btn-shadow-primary-2:0 10px 20px rgba(37,99,235,0.6);
    --legacy-btn-shadow-primary-2-hover:0 12px 24px rgba(37,99,235,0.7);
    --legacy-btn-shadow-primary-2-active:0 8px 16px rgba(37,99,235,0.6);
    --legacy-btn-shadow-success:0 2px 8px rgba(5,150,105,0.3);
    --legacy-btn-shadow-accent:0 2px 8px rgba(37,99,235,0.3);
    --legacy-btn-shadow-violet:0 10px 20px rgba(139,92,246,0.6);
    --legacy-status-glow:0 0 12px rgba(34,197,94,0.9);
    --legacy-status-glow-soft:0 0 8px rgba(34,197,94,0.8);
    --legacy-border-dark:#374151;
    --legacy-border-dark-2:#4b5563;
    --legacy-border-dark-3:#1f2937;
    --legacy-text-soft:#d1d5db;
    --legacy-text-soft-2:#e5e7eb;
    --legacy-text-muted-2:#6b7280;
    --legacy-text-accent-soft:#a5b4fc;
    --legacy-text-success-soft:#6ee7b7;
    --legacy-text-danger-soft:#f97373;
    --legacy-text-info-soft:#bfdbfe;
    --legacy-text-danger-pale:#fecaca;
    --legacy-surface-dark:#020617;
}

:root[data-theme="light"]{
    --color-bg-primary:#f3f6fb;
    --color-bg-secondary:#ffffff;
    --color-bg-tertiary:#e9eef6;
    --color-bg-hover:rgba(15,23,42,0.06);
    --color-text-primary:#0f172a;
    --color-text-secondary:#475569;
    --color-text-tertiary:#64748b;
    --color-border:rgba(15,23,42,0.12);
    --color-accent:#2563eb;
    --color-accent-hover:#1d4ed8;
    --surface-nav:#ffffff;
    --surface-card:#ffffff;
    --surface-overlay:var(--surface-overlay);
    --surface-menu:#ffffff;
    --surface-input:#f1f5f9;
    --surface-muted:rgba(15,23,42,0.04);
    --private-bubble-out-bg:#eeffde;
    --private-bubble-in-bg:#f1f5f9;
    --private-bubble-out-text:#000000;
    --private-bubble-in-text:#0f172a;
    --private-bubble-out-meta:#000000;
    --private-bubble-in-meta:#0f172a;
    --private-bubble-out-size:15px;
    --private-bubble-in-size:15px;
    --text-title:#0f172a;
    --text-muted:#64748b;
    --line-soft:rgba(15,23,42,0.1);
    --line-strong:rgba(15,23,42,0.16);
    --btn-ghost-bg:rgba(15,23,42,0.06);
    --btn-ghost-hover:rgba(15,23,42,0.12);
    --status-success:#16a34a;
    --status-danger:#dc2626;
    --status-warning:#ca8a04;
    --theme-color-meta:#ffffff;
    --media-surface:#0f172a;
    --media-overlay-gradient:linear-gradient(to top, rgba(15,23,42,0.72), rgba(15,23,42,0.22));
    --media-control-icon-filter:invert(1);
    --elev-shadow-soft:0 3px 8px rgba(15,23,42,0.18);
    --elev-shadow-menu:0 10px 25px rgba(15,23,42,0.16);
    --elev-shadow-dialog:0 20px 50px rgba(15,23,42,0.2);
    --elev-shadow-widget:0 8px 24px rgba(15,23,42,0.14);
    --elev-shadow-media:0 18px 48px rgba(15,23,42,0.22);
    --elev-shadow-card:0 10px 30px rgba(15,23,42,0.2);
    --legacy-shell-gradient-chat:radial-gradient(circle at top left,#dbeafe 0,#f8fbff 55%);
    --legacy-shell-gradient-private:radial-gradient(circle at top left,#ede9fe 0,#f8fbff 55%);
    --legacy-sidebar-gradient-private:radial-gradient(circle at top left,#eef2ff 0,#f8fbff 60%);
    --legacy-chat-window-bg:#ffffff;
    --legacy-panel-bg-strong:rgba(255,255,255,0.96);
    --legacy-panel-bg-strong-2:rgba(255,255,255,0.97);
    --legacy-danger-soft:rgba(220,38,38,0.08);
    --legacy-danger-mid:rgba(220,38,38,0.12);
    --legacy-danger-border:rgba(220,38,38,0.4);
    --legacy-danger-bg:rgba(220,38,38,0.12);
    --legacy-info-soft:rgba(15,23,42,0.06);
    --legacy-info-border:rgba(15,23,42,0.16);
    --legacy-accent-border:rgba(37,99,235,0.35);
    --legacy-accent-border-strong:rgba(37,99,235,0.45);
    --legacy-teal-soft:rgba(5,150,105,0.1);
    --legacy-teal-border:rgba(5,150,105,0.3);
    --legacy-indigo-soft:rgba(79,70,229,0.1);
    --legacy-gradient-primary:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));
    --legacy-gradient-chat-primary:linear-gradient(135deg,var(--color-accent),#4f46e5);
    --legacy-gradient-success:linear-gradient(135deg,#059669,#14b8a6);
    --legacy-gradient-violet:linear-gradient(135deg,#4f46e5,#8b5cf6);
    --legacy-gradient-pink:linear-gradient(135deg,#8b5cf6,#ec4899);
    --legacy-accent-glow:0 0 0 1px rgba(37,99,235,0.35);
    --legacy-accent-glow-2:0 0 0 2px var(--legacy-accent-border);
    --legacy-violet-glow:0 0 0 1px rgba(139,92,246,0.3);
    --legacy-violet-glow-2:0 0 0 2px rgba(139,92,246,0.2);
    --legacy-btn-shadow-primary:0 14px 30px rgba(37,99,235,0.35);
    --legacy-btn-shadow-primary-hover:0 18px 36px rgba(37,99,235,0.4);
    --legacy-btn-shadow-primary-active:0 10px 22px rgba(37,99,235,0.35);
    --legacy-btn-shadow-primary-2:0 10px 20px rgba(37,99,235,0.35);
    --legacy-btn-shadow-primary-2-hover:0 12px 24px rgba(37,99,235,0.4);
    --legacy-btn-shadow-primary-2-active:0 8px 16px rgba(37,99,235,0.35);
    --legacy-btn-shadow-success:0 2px 8px rgba(5,150,105,0.2);
    --legacy-btn-shadow-accent:0 2px 8px var(--legacy-accent-border);
    --legacy-btn-shadow-violet:0 10px 20px rgba(139,92,246,0.35);
    --legacy-status-glow:0 0 12px rgba(22,163,74,0.5);
    --legacy-status-glow-soft:0 0 8px rgba(22,163,74,0.4);
    --legacy-border-dark:rgba(15,23,42,0.2);
    --legacy-border-dark-2:rgba(15,23,42,0.24);
    --legacy-border-dark-3:rgba(15,23,42,0.18);
    --legacy-text-soft:var(--color-text-secondary);
    --legacy-text-soft-2:var(--color-text-primary);
    --legacy-text-muted-2:var(--text-muted);
    --legacy-text-accent-soft:var(--color-accent);
    --legacy-text-success-soft:var(--status-success);
    --legacy-text-danger-soft:var(--status-danger);
    --legacy-text-info-soft:var(--color-accent);
    --legacy-text-danger-pale:var(--status-danger);
    --legacy-surface-dark:#ffffff;
}

@font-face{
    font-family:"IRANYekan";
    src:url("../fonts/Woff2/IRANYekanXFaNum-Regular.woff2") format("woff2");
    font-weight:400;
    font-display:swap;
}
@font-face{
    font-family:"IRANYekan";
    src:url("../fonts/Woff2/IRANYekanXFaNum-Bold.woff2") format("woff2");
    font-weight:700;
    font-display:swap;
}
@font-face{
    font-family:"IRANYekan";
    src:url("../fonts/Woff2/IRANYekanXFaNum-Medium.woff2") format("woff2");
    font-weight:500;
    font-display:swap;
}
@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto/Roboto-Regular.ttf") format("truetype");
    font-weight:400;
    font-style:normal;
    font-display:swap;
    unicode-range:U+0000-05FF,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-22FF,U+2300-23FF,U+25A0-25FF,U+2700-27BF,U+FEFF,U+FFFD;
}
@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto/Roboto-Italic.ttf") format("truetype");
    font-weight:400;
    font-style:italic;
    font-display:swap;
    unicode-range:U+0000-05FF,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-22FF,U+2300-23FF,U+25A0-25FF,U+2700-27BF,U+FEFF,U+FFFD;
}
@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto/Roboto-Medium.ttf") format("truetype");
    font-weight:500;
    font-style:normal;
    font-display:swap;
    unicode-range:U+0000-05FF,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-22FF,U+2300-23FF,U+25A0-25FF,U+2700-27BF,U+FEFF,U+FFFD;
}
@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto/Roboto-SemiBold.ttf") format("truetype");
    font-weight:600;
    font-style:normal;
    font-display:swap;
    unicode-range:U+0000-05FF,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-22FF,U+2300-23FF,U+25A0-25FF,U+2700-27BF,U+FEFF,U+FFFD;
}
@font-face{
    font-family:"Roboto";
    src:url("../fonts/roboto/Roboto-Bold.ttf") format("truetype");
    font-weight:700;
    font-style:normal;
    font-display:swap;
    unicode-range:U+0000-05FF,U+1E00-1EFF,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2150-218F,U+2190-22FF,U+2300-23FF,U+25A0-25FF,U+2700-27BF,U+FEFF,U+FFFD;
}

*{box-sizing:border-box;margin:0;padding:0}
body,html{
    font-family:var(--font-family);
}
*,*::before,*::after{
    font-family:inherit;
}
input,textarea,select,button{
    font-family:var(--font-family);
}
