@font-face {
  font-family: Vazirmatn;
  src: url('../fonts/vazirmatn/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Vazirmatn;
  src: url('../fonts/vazirmatn/Vazirmatn-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Vazirmatn;
  src: url('../fonts/vazirmatn/Vazirmatn-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --primary: var(--setting-primary, #0f4c5c);
  --accent: var(--setting-accent, #1a936f);
  --dark: #1a1a2e;
  --light: #f8f9fa;
  --border: #dee2e6;
  --warning: #e09f3e;
  --danger: #ae2012;
  --sidebar-width: 300px;
  --sidebar-scrollbar: 8px;
  --header-height: 56px;
  --radius: 0.75rem;
  --shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  --glass-bg: rgba(255, 255, 255, 0.78);
  --glass-border: rgba(15, 76, 92, 0.15);
  
  --setting-font-scale: 1;
  --setting-line-height: 1.8;
  --setting-letter-spacing: 0em;
  --setting-filter: none;
}

:root[data-theme="dark"] {
  --dark: #f8f9fa;
  --light: var(--setting-secondary, #121212);
  --border: #323546;
  --glass-bg: rgba(18, 18, 18, 0.85);
  --glass-border: rgba(255, 255, 255, 0.12);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Vazirmatn, Tahoma, 'Segoe UI', sans-serif;
  font-size: calc(1rem * var(--setting-font-scale));
  line-height: var(--setting-line-height);
  letter-spacing: var(--setting-letter-spacing);
  color: var(--dark);
  background: var(--light);
  overflow: hidden;
  height: 100vh;
  filter: var(--setting-filter);
  transition: background 0.3s, color 0.3s;
}

/* Reduced Motion Support */
:root[data-reduce-motion="true"] * {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

