@font-face {
    font-family: 'Vazirmatn';
    src: url('../fonts/Vazirmatn-RD-Regular.woff2') format('woff2');
    font-weight: normal; font-style: normal; font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('../fonts/Vazirmatn-RD-Bold.woff2') format('woff2');
    font-weight: bold; font-style: normal; font-display: swap;
}

:root {
    --bg-color: #121212;
    --card-bg-color: #1e1e1e;
    --border-color: rgba(255, 255, 255, 0.1);
    --text-color: #e2e8f0;
    --text-muted-color: #a0aec0;
    --primary-color: #6366f1;
    --primary-hover-color: #4f46e5;
    --primary-text-color: #ffffff;
    --secondary-color: #374151;
    --secondary-hover-color: #4b5563;
    --success-color: #10b981;
    --error-color: #ef4444;
    --warning-color: #f59e0b;
    --info-color: #3b82f6;
    --info-bg-color: rgba(59, 130, 246, 0.1);
    --font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --shadow-color: rgba(0, 0, 0, 0.25);
}

body.light-theme {
    --bg-color: #f1f5f9;
    --card-bg-color: #ffffff;
    --border-color: #e2e8f0;
    --text-color: #1e293b;
    --text-muted-color: #64748b;
    --info-bg-color: #eef2ff;
    --shadow-color: rgba(0, 0, 0, 0.1);
}

* { 
    box-sizing: border-box; 
}

html { 
    scroll-behavior: smooth; 
}

body {
    font-family: var(--font-family);
    background-color: var(--bg-color);
    color: var(--text-color);
    margin: 0;
    padding: 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 100vh;
    transition: background-color 0.3s, color 0.3s;
    overflow-y: auto;
}

button, select, input, textarea, option { 
    font-family: inherit; 
}

.hidden { 
    display: none !important; 
}