html {
	overflow-y: scroll; 
    margin: 0;
    min-height: 100vh;
}

body {
    min-height: 100vh;
	margin: 0;
	font-family: system-ui, -apple-system, sans-serif;
	background-color: var(--bg-color);
	color: var(--text-color);
	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}

/* ===== Схема default (светлая) ===== */
.scheme-default {
	--bg-color: #ffffff;
	--bg-secondary: #f9fafb;
	--bg-tertiary: #f3f4f6;
	--bg-hover: #f3f4f6;
	--disabled-bg: #e5e7eb;
	--text-color: #111827;
	--text-secondary: #374151;
	--text-muted: #6b7280;
	--primary-color: #3b82f6;
	--primary-hover: #2563eb;
	--link-color: #3b82f6;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #e5e7eb;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(59, 130, 246, 0.5);
	--avatar-bg: #d1d5db;
}
.scheme-default[data-theme='dark'] {
	--bg-color: #111827;
	--bg-secondary: #1f2937;
	--bg-tertiary: #374151;
	--bg-hover: #374151;
	--disabled-bg: #374151;
	--text-color: #f9fafb;
	--text-secondary: #d1d5db;
	--text-muted: #9ca3af;
	--primary-color: #60a5fa;
	--primary-hover: #3b82f6;
	--link-color: #60a5fa;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #374151;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(96, 165, 250, 0.5);
	--avatar-bg: #4b5563;
}

/* ===== Схема spells ===== */
.scheme-spells {
	--bg-color: #0a0a0f;
	--bg-secondary: #14141f;
	--bg-tertiary: #1e1e2e;
	--bg-hover: #1e1e2e;
	--disabled-bg: #1e1e2e;
	--text-color: #f0e6ff;
	--text-secondary: #c4b5fd;
	--text-muted: #8b7cb8;
	--primary-color: #7c3aed;
	--primary-hover: #6d28d9;
	--link-color: #7c3aed;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #2d1b69;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.4);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(124, 58, 237, 0.5);
	--avatar-bg: #4c1d95;
}

/* ===== Схема ocean ===== */
.scheme-ocean {
	--bg-color: #f0f9ff;
	--bg-secondary: #e0f2fe;
	--bg-tertiary: #bae6fd;
	--bg-hover: #bae6fd;
	--disabled-bg: #bae6fd;
	--text-color: #0c4a6e;
	--text-secondary: #075985;
	--text-muted: #38bdf8;
	--primary-color: #0ea5e9;
	--primary-hover: #0284c7;
	--link-color: #0ea5e9;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #7dd3fc;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(14, 165, 233, 0.5);
	--avatar-bg: #38bdf8;
}
.scheme-ocean[data-theme='dark'] {
	--bg-color: #082f49;
	--bg-secondary: #0c4a6e;
	--bg-tertiary: #075985;
	--bg-hover: #075985;
	--disabled-bg: #075985;
	--text-color: #e0f2fe;
	--text-secondary: #bae6fd;
	--text-muted: #7dd3fc;
	--primary-color: #38bdf8;
	--primary-hover: #0ea5e9;
	--link-color: #38bdf8;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #0ea5e9;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(56, 189, 248, 0.5);
	--avatar-bg: #0c4a6e;
}

/* ===== Схема sunset ===== */
.scheme-sunset {
	--bg-color: #fff7ed;
	--bg-secondary: #ffedd5;
	--bg-tertiary: #fed7aa;
	--bg-hover: #fed7aa;
	--disabled-bg: #fed7aa;
	--text-color: #7c2d12;
	--text-secondary: #9a3412;
	--text-muted: #ea580c;
	--primary-color: #f97316;
	--primary-hover: #ea580c;
	--link-color: #f97316;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #fdba74;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(249, 115, 22, 0.5);
	--avatar-bg: #fdba74;
}
.scheme-sunset[data-theme='dark'] {
	--bg-color: #1c0a00;
	--bg-secondary: #2c1200;
	--bg-tertiary: #431a00;
	--bg-hover: #431a00;
	--disabled-bg: #431a00;
	--text-color: #ffedd5;
	--text-secondary: #fed7aa;
	--text-muted: #fb923c;
	--primary-color: #fb923c;
	--primary-hover: #f97316;
	--link-color: #fb923c;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #7c2d12;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(251, 146, 60, 0.5);
	--avatar-bg: #7c2d12;
}

/* ===== Схема forest ===== */
.scheme-forest {
	--bg-color: #f0fdf4;
	--bg-secondary: #dcfce7;
	--bg-tertiary: #bbf7d0;
	--bg-hover: #bbf7d0;
	--disabled-bg: #bbf7d0;
	--text-color: #14532d;
	--text-secondary: #166534;
	--text-muted: #22c55e;
	--primary-color: #16a34a;
	--primary-hover: #15803d;
	--link-color: #16a34a;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #86efac;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(22, 163, 74, 0.5);
	--avatar-bg: #86efac;
}
.scheme-forest[data-theme='dark'] {
	--bg-color: #052e16;
	--bg-secondary: #14532d;
	--bg-tertiary: #166534;
	--bg-hover: #166534;
	--disabled-bg: #166534;
	--text-color: #dcfce7;
	--text-secondary: #bbf7d0;
	--text-muted: #4ade80;
	--primary-color: #4ade80;
	--primary-hover: #22c55e;
	--link-color: #4ade80;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #166534;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(74, 222, 128, 0.5);
	--avatar-bg: #14532d;
}

/* ===== Схема rose ===== */
.scheme-rose {
	--bg-color: #fff1f2;
	--bg-secondary: #ffe4e6;
	--bg-tertiary: #fecdd3;
	--bg-hover: #fecdd3;
	--disabled-bg: #fecdd3;
	--text-color: #881337;
	--text-secondary: #9f1239;
	--text-muted: #fb7185;
	--primary-color: #e11d48;
	--primary-hover: #be123c;
	--link-color: #e11d48;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #fda4af;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(225, 29, 72, 0.5);
	--avatar-bg: #fda4af;
}
.scheme-rose[data-theme='dark'] {
	--bg-color: #1f0713;
	--bg-secondary: #4c0519;
	--bg-tertiary: #881337;
	--bg-hover: #881337;
	--disabled-bg: #881337;
	--text-color: #ffe4e6;
	--text-secondary: #fecdd3;
	--text-muted: #fb7185;
	--primary-color: #fb7185;
	--primary-hover: #f43f5e;
	--link-color: #fb7185;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #881337;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(251, 113, 133, 0.5);
	--avatar-bg: #881337;
}

/* ===== Схема coffee ===== */
.scheme-coffee {
	--bg-color: #faf7f2;
	--bg-secondary: #f0e9df;
	--bg-tertiary: #e3d6c4;
	--bg-hover: #e3d6c4;
	--disabled-bg: #e3d6c4;
	--text-color: #3e2723;
	--text-secondary: #5d4037;
	--text-muted: #8d6e63;
	--primary-color: #795548;
	--primary-hover: #5d4037;
	--link-color: #795548;
	--error-color: #d32f2f;
	--success-color: #388e3c;
	--warning-color: #f57c00;
	--border-color: #d7ccc8;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(121, 85, 72, 0.5);
	--avatar-bg: #bcaaa4;
}
.scheme-coffee[data-theme='dark'] {
	--bg-color: #1e1512;
	--bg-secondary: #2d211c;
	--bg-tertiary: #3e2d26;
	--bg-hover: #3e2d26;
	--disabled-bg: #3e2d26;
	--text-color: #f0e9df;
	--text-secondary: #d7ccc8;
	--text-muted: #a1887f;
	--primary-color: #a1887f;
	--primary-hover: #8d6e63;
	--link-color: #a1887f;
	--error-color: #ef5350;
	--success-color: #66bb6a;
	--warning-color: #ffa726;
	--border-color: #4e342e;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(161, 136, 127, 0.5);
	--avatar-bg: #4e342e;
}

/* ===== Схема nord ===== */
.scheme-nord {
	--bg-color: #eceff4;
	--bg-secondary: #e5e9f0;
	--bg-tertiary: #d8dee9;
	--bg-hover: #d8dee9;
	--disabled-bg: #d8dee9;
	--text-color: #2e3440;
	--text-secondary: #3b4252;
	--text-muted: #4c566a;
	--primary-color: #5e81ac;
	--primary-hover: #4c6a8a;
	--link-color: #5e81ac;
	--error-color: #bf616a;
	--success-color: #a3be8c;
	--warning-color: #ebcb8b;
	--border-color: #d8dee9;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(94, 129, 172, 0.5);
	--avatar-bg: #b8c5d6;
}
.scheme-nord[data-theme='dark'] {
	--bg-color: #2e3440;
	--bg-secondary: #3b4252;
	--bg-tertiary: #434c5e;
	--bg-hover: #434c5e;
	--disabled-bg: #434c5e;
	--text-color: #eceff4;
	--text-secondary: #e5e9f0;
	--text-muted: #d8dee9;
	--primary-color: #88c0d0;
	--primary-hover: #81a1c1;
	--link-color: #88c0d0;
	--error-color: #bf616a;
	--success-color: #a3be8c;
	--warning-color: #ebcb8b;
	--border-color: #4c566a;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(136, 192, 208, 0.5);
	--avatar-bg: #4c566a;
}

/* ===== Схема dracula ===== */
.scheme-dracula {
	--bg-color: #f8f8f2;
	--bg-secondary: #ececf1;
	--bg-tertiary: #dcdce6;
	--bg-hover: #dcdce6;
	--disabled-bg: #dcdce6;
	--text-color: #282a36;
	--text-secondary: #44475a;
	--text-muted: #6272a4;
	--primary-color: #bd93f9;
	--primary-hover: #a679e0;
	--link-color: #bd93f9;
	--error-color: #ff5555;
	--success-color: #50fa7b;
	--warning-color: #f1fa8c;
	--border-color: #dcdce6;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(189, 147, 249, 0.5);
	--avatar-bg: #c9b6f0;
}
.scheme-dracula[data-theme='dark'] {
	--bg-color: #282a36;
	--bg-secondary: #343746;
	--bg-tertiary: #44475a;
	--bg-hover: #44475a;
	--disabled-bg: #44475a;
	--text-color: #f8f8f2;
	--text-secondary: #e0e0e0;
	--text-muted: #6272a4;
	--primary-color: #bd93f9;
	--primary-hover: #ff79c6;
	--link-color: #bd93f9;
	--error-color: #ff5555;
	--success-color: #50fa7b;
	--warning-color: #f1fa8c;
	--border-color: #44475a;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(189, 147, 249, 0.5);
	--avatar-bg: #44475a;
}

/* ===== Схема solarized ===== */
.scheme-solarized {
	--bg-color: #fdf6e3;
	--bg-secondary: #f5efdc;
	--bg-tertiary: #eee8d5;
	--bg-hover: #eee8d5;
	--disabled-bg: #eee8d5;
	--text-color: #073642;
	--text-secondary: #586e75;
	--text-muted: #93a1a1;
	--primary-color: #268bd2;
	--primary-hover: #1f6fa8;
	--link-color: #268bd2;
	--error-color: #dc322f;
	--success-color: #859900;
	--warning-color: #b58900;
	--border-color: #d9d2be;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(38, 139, 210, 0.5);
	--avatar-bg: #c9c2ae;
}
.scheme-solarized[data-theme='dark'] {
	--bg-color: #002b36;
	--bg-secondary: #073642;
	--bg-tertiary: #0a4a5a;
	--bg-hover: #0a4a5a;
	--disabled-bg: #0a4a5a;
	--text-color: #fdf6e3;
	--text-secondary: #eee8d5;
	--text-muted: #93a1a1;
	--primary-color: #2aa198;
	--primary-hover: #268bd2;
	--link-color: #2aa198;
	--error-color: #dc322f;
	--success-color: #859900;
	--warning-color: #b58900;
	--border-color: #0a4a5a;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(42, 161, 152, 0.5);
	--avatar-bg: #0a4a5a;
}

/* ===== Схема mono ===== */
.scheme-mono {
	--bg-color: #ffffff;
	--bg-secondary: #f5f5f5;
	--bg-tertiary: #e5e5e5;
	--bg-hover: #e5e5e5;
	--disabled-bg: #e5e5e5;
	--text-color: #171717;
	--text-secondary: #404040;
	--text-muted: #737373;
	--primary-color: #404040;
	--primary-hover: #171717;
	--link-color: #404040;
	--error-color: #404040;
	--success-color: #404040;
	--warning-color: #737373;
	--border-color: #d4d4d4;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.06);
	--overlay-color: rgba(0, 0, 0, 0.45);
	--focus-ring-color: rgba(64, 64, 64, 0.5);
	--avatar-bg: #d4d4d4;
}
.scheme-mono[data-theme='dark'] {
	--bg-color: #0a0a0a;
	--bg-secondary: #171717;
	--bg-tertiary: #262626;
	--bg-hover: #262626;
	--disabled-bg: #262626;
	--text-color: #fafafa;
	--text-secondary: #d4d4d4;
	--text-muted: #a3a3a3;
	--primary-color: #d4d4d4;
	--primary-hover: #fafafa;
	--link-color: #d4d4d4;
	--error-color: #d4d4d4;
	--success-color: #d4d4d4;
	--warning-color: #a3a3a3;
	--border-color: #404040;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.4);
	--overlay-color: rgba(0, 0, 0, 0.7);
	--focus-ring-color: rgba(212, 212, 212, 0.5);
	--avatar-bg: #404040;
}

/* ===== Схема candy ===== */
.scheme-candy {
	--bg-color: #fdf2f8;
	--bg-secondary: #fce7f3;
	--bg-tertiary: #fbcfe8;
	--bg-hover: #fbcfe8;
	--disabled-bg: #fbcfe8;
	--text-color: #831843;
	--text-secondary: #9d174d;
	--text-muted: #f472b6;
	--primary-color: #ec4899;
	--primary-hover: #db2777;
	--link-color: #ec4899;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #f9a8d4;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(236, 72, 153, 0.5);
	--avatar-bg: #f9a8d4;
}
.scheme-candy[data-theme='dark'] {
	--bg-color: #2a0a1a;
	--bg-secondary: #4a1028;
	--bg-tertiary: #701a3a;
	--bg-hover: #701a3a;
	--disabled-bg: #701a3a;
	--text-color: #fce7f3;
	--text-secondary: #fbcfe8;
	--text-muted: #f472b6;
	--primary-color: #f472b6;
	--primary-hover: #ec4899;
	--link-color: #f472b6;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #701a3a;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(244, 114, 182, 0.5);
	--avatar-bg: #701a3a;
}

/* ===== Схема matrix ===== */
.scheme-matrix {
	--bg-color: #f0fff4;
	--bg-secondary: #dcffe4;
	--bg-tertiary: #b8ffc9;
	--bg-hover: #b8ffc9;
	--disabled-bg: #b8ffc9;
	--text-color: #003b00;
	--text-secondary: #005900;
	--text-muted: #00a000;
	--primary-color: #00c853;
	--primary-hover: #00a844;
	--link-color: #00c853;
	--error-color: #d32f2f;
	--success-color: #00c853;
	--warning-color: #f57c00;
	--border-color: #7dffa1;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(0, 200, 83, 0.5);
	--avatar-bg: #7dffa1;
}
.scheme-matrix[data-theme='dark'] {
	--bg-color: #000000;
	--bg-secondary: #0a1a0a;
	--bg-tertiary: #0f2f0f;
	--bg-hover: #0f2f0f;
	--disabled-bg: #0f2f0f;
	--text-color: #00ff41;
	--text-secondary: #00cc33;
	--text-muted: #009926;
	--primary-color: #00ff41;
	--primary-hover: #00cc33;
	--link-color: #00ff41;
	--error-color: #ff1744;
	--success-color: #00ff41;
	--warning-color: #ffea00;
	--border-color: #0f3f0f;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 255, 65, 0.1);
	--overlay-color: rgba(0, 0, 0, 0.8);
	--focus-ring-color: rgba(0, 255, 65, 0.5);
	--avatar-bg: #0f2f0f;
}

/* ===== Схема lavender ===== */
.scheme-lavender {
	--bg-color: #faf5ff;
	--bg-secondary: #f3e8ff;
	--bg-tertiary: #e9d5ff;
	--bg-hover: #e9d5ff;
	--disabled-bg: #e9d5ff;
	--text-color: #4c1d95;
	--text-secondary: #5b21b6;
	--text-muted: #a78bfa;
	--primary-color: #8b5cf6;
	--primary-hover: #7c3aed;
	--link-color: #8b5cf6;
	--error-color: #ef4444;
	--success-color: #22c55e;
	--warning-color: #f59e0b;
	--border-color: #d8b4fe;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.05);
	--overlay-color: rgba(0, 0, 0, 0.4);
	--focus-ring-color: rgba(139, 92, 246, 0.5);
	--avatar-bg: #d8b4fe;
}
.scheme-lavender[data-theme='dark'] {
	--bg-color: #1a0f2e;
	--bg-secondary: #2d1b4e;
	--bg-tertiary: #4c1d95;
	--bg-hover: #4c1d95;
	--disabled-bg: #4c1d95;
	--text-color: #f3e8ff;
	--text-secondary: #e9d5ff;
	--text-muted: #a78bfa;
	--primary-color: #a78bfa;
	--primary-hover: #8b5cf6;
	--link-color: #a78bfa;
	--error-color: #f87171;
	--success-color: #4ade80;
	--warning-color: #fbbf24;
	--border-color: #4c1d95;
	--border-radius: 0.375rem;
	--shadow-color: rgba(0, 0, 0, 0.3);
	--overlay-color: rgba(0, 0, 0, 0.6);
	--focus-ring-color: rgba(167, 139, 250, 0.5);
	--avatar-bg: #4c1d95;
}