*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;min-height:100dvh;text-rendering:optimizeSpeed;line-height:1.5;background-color:var(--app-background);color:var(--text-primary)}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:inherit}ul,ol{list-style-position:inside}:root{--color-white: #ffffff;--color-black: #000000;--color-primary-30: #ecf2ff;--color-primary-50: #e0eaff;--color-primary-100: #c6d8ff;--color-primary-200: #a8c5ff;--color-primary-300: #8ab3ff;--color-primary-400: #71a5ff;--color-primary-500: #6797ff;--color-primary-600: #5591e6;--color-primary-700: #4580d4;--color-primary-800: #3670c2;--color-primary-900: #2860b0;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-200: #fde68a;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-warning-900: #78350f;--color-danger-50: #fef2f2;--color-danger-100: #fecaca;--color-danger-200: #fca5a5;--color-danger-300: #f87171;--color-danger-400: #f56565;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-700: #b91c1c;--color-danger-800: #991b1b;--color-danger-900: #7f1d1d;--color-info-50: #f0f9ff;--color-info-100: #e0f2fe;--color-info-200: #bae6fd;--color-info-300: #7dd3fc;--color-info-400: #38bdf8;--color-info-500: #0ea5e9;--color-info-600: #0284c7;--color-info-700: #0369a1;--color-info-800: #075985;--color-info-900: #0c4a6e;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-text-inverse: var(--color-white);--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-bg-app: #f8f9fc;--color-bg-overlay: rgba(0, 0, 0, .5);--color-bg-overlay-light: rgba(0, 0, 0, .3);--color-border-light: var(--color-gray-200);--color-border-medium: var(--color-gray-300);--color-border-strong: var(--color-gray-400);--color-border-focus: var(--color-primary-500);--color-purple-50: #faf5ff;--color-purple-100: #f3e8ff;--color-purple-200: #e9d5ff;--color-purple-300: #d8b4fe;--color-purple-400: #c084fc;--color-purple-500: #a855f7;--color-purple-600: #9333ea;--color-purple-700: #7e22ce;--color-purple-800: #6b21a8;--color-purple-900: #581c87;--color-teal-50: #f0fdfa;--color-teal-100: #ccfbf1;--color-teal-200: #99f6e4;--color-teal-300: #5eead4;--color-teal-400: #2dd4bf;--color-teal-500: #14b8a6;--color-teal-600: #0d9488;--color-teal-700: #0f766e;--color-teal-800: #115e59;--color-teal-900: #134e4a;--color-orange-50: #fff7ed;--color-orange-100: #ffedd5;--color-orange-200: #fed7aa;--color-orange-300: #fdba74;--color-orange-400: #fb923c;--color-orange-500: #f97316;--color-orange-600: #ea580c;--color-orange-700: #c2410c;--color-orange-800: #9a3412;--color-orange-900: #7c2d12;--color-rose-50: #fff1f2;--color-rose-100: #ffe4e6;--color-rose-200: #fecdd3;--color-rose-300: #fda4af;--color-rose-400: #fb7185;--color-rose-500: #f43f5e;--color-rose-600: #e11d48;--color-rose-700: #be123c;--color-rose-800: #9f1239;--color-rose-900: #881337;--color-emerald-50: #ecfdf5;--color-emerald-100: #d1fae5;--color-emerald-200: #a7f3d0;--color-emerald-300: #6ee7b7;--color-emerald-400: #34d399;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-emerald-700: #047857;--color-emerald-800: #065f46;--color-emerald-900: #064e3b;--color-yellow-light-1: #fdf4e1;--color-yellow-light-2: #ffe3ab;--color-yellow-medium: #ffd689;--color-yellow-strong: #ffc856;--color-orphan-bg: #f3f4f6;--color-orphan-border: #d1d5db;--color-orphan-text: #6b7280;--color-chatbot-title: #da0000;--primary-color: var(--color-primary-400);--primary-dark: var(--color-primary-600);--primary-light: var(--color-primary-100);--primary: var(--color-primary-400);--success-color: var(--color-success-500);--success-light: var(--color-success-100);--warning-color: var(--color-warning-500);--warning-light: var(--color-warning-100);--danger-color: var(--color-danger-500);--danger-light: var(--color-danger-50);--error-color: var(--color-danger-500);--quasi-black: #2e2f32;--texte-minus: var(--color-gray-500);--bg-secondary: var(--color-bg-secondary);--bg-tertiary: var(--color-bg-tertiary);--border-color: var(--color-border-light);--input-border-color: var(--color-border-light);--input-focus-border-color: var(--color-border-focus);--purple-color: var(--color-purple-500);--purple-light: var(--color-purple-100);--orange-color: var(--color-orange-500);--orange-light: var(--color-orange-50);--teal-color: var(--color-teal-500);--teal-light: var(--color-teal-50);--secondary-site-color: #ffc107;--surface: #f8f9fa;--fond-jaune-clair: var(--color-yellow-light-1);--fond-jaune-moyen: var(--color-yellow-light-2);--fond-jaune-fort: var(--color-yellow-medium);--jaune-franc: var(--color-yellow-strong);--titre-chatbot: var(--color-chatbot-title);--menu-text-color: #585b60;--menu-icon-color: var(--color-primary-400);--menu-bg-color: #f7fbff;--menu-button-hover-color: var(--color-gray-200);--button-hover-color: var(--color-primary-600);--button-bg-color: var(--color-primary-500);--forum-primary-color: var(--color-primary-500);--forum-primary-dark: var(--color-primary-600);--forum-primary-light: var(--color-primary-100);--forum-secondary-color: var(--secondary-color);--forum-success-color: var(--color-success-500);--forum-warning-color: var(--color-warning-500);--forum-danger-color: var(--color-danger-500);--forum-text-primary: var(--color-text-primary);--forum-text-secondary: var(--color-text-secondary);--forum-text-light: var(--color-text-tertiary);--forum-border-color: var(--color-border-light);--forum-background: var(--color-bg-app);--exercice-primary: var(--color-primary-500);--exercice-primary-dark: var(--color-primary-600);--exercice-primary-light: var(--color-primary-100);--exercice-secondary: var(--secondary-color);--exercice-success: var(--color-success-500);--exercice-success-light: var(--color-success-200);--exercice-warning: var(--color-warning-500);--exercice-danger: var(--color-danger-500);--exercice-text: var(--color-text-primary);--exercice-text-secondary: var(--color-text-secondary);--exercice-text-light: var(--color-text-tertiary);--exercice-border: var(--color-border-light);--exercice-background: var(--color-bg-app);--exercice-accent-purple: var(--color-purple-500);--exercice-accent-purple-light: var(--color-purple-200);--exercice-accent-teal: var(--color-teal-500);--exercice-accent-teal-light: var(--color-teal-100);--exercice-accent-orange: var(--color-orange-500);--exercice-accent-orange-light: var(--color-orange-200);--exercice-accent-emerald: var(--color-emerald-600);--exercice-accent-emerald-light: var(--color-emerald-100);--exercice-accent-rose: var(--color-rose-600);--exercice-accent-rose-light: var(--color-rose-200);--exercice-orphan-primary: var(--color-orphan-text);--exercice-orphan-light: var(--color-orphan-bg);--exercice-orphan-border: var(--color-orphan-border);--exercice-orphan-text: var(--color-orphan-text);--exercice-orphan-warning: var(--color-warning-500);--qcm-eleve-primary: var(--color-primary-500);--qcm-eleve-primary-dark: var(--color-primary-600);--qcm-eleve-primary-light: var(--color-primary-100);--qcm-eleve-secondary: var(--secondary-color);--qcm-eleve-success: var(--color-success-500);--qcm-eleve-success-light: var(--color-success-200);--qcm-eleve-warning: var(--color-warning-500);--qcm-eleve-danger: var(--color-danger-500);--qcm-eleve-danger-light: var(--color-danger-100);--qcm-eleve-text: var(--color-text-primary);--qcm-eleve-text-secondary: var(--color-text-secondary);--qcm-eleve-text-light: var(--color-text-tertiary);--qcm-eleve-border: var(--color-border-light);--qcm-eleve-background: var(--color-bg-app);--audit-primary: var(--color-primary-500);--audit-primary-dark: var(--color-primary-600);--audit-primary-light: var(--color-primary-100);--audit-secondary: var(--secondary-color);--audit-success: var(--color-success-500);--audit-warning: var(--color-warning-500);--audit-error: var(--color-danger-500);--audit-neutral: var(--color-gray-500);--audit-background: var(--color-bg-app);--audit-surface: var(--color-white);--audit-border: var(--color-border-light);--audit-text-primary: var(--color-text-primary);--audit-text-secondary: var(--color-text-secondary);--audit-text-light: var(--color-text-tertiary);--loading-primary-main: var(--color-primary-500);--loading-primary-light: var(--color-primary-50);--loading-light-main: var(--color-gray-500);--loading-light-light: var(--color-gray-200);--loading-white-main: var(--color-white);--loading-white-light: rgba(255, 255, 255, .3);--color-primary: var(--color-primary-500);--color-primary-light: var(--color-primary-400);--color-secondary: var(--color-gray-600);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-border: var(--border-color);--color-background: var(--app-background);--secondary: var(--color-primary-30);--secondary-dark: #ffb300}:root{--primary: var(--color-primary-500);--primary-color: var(--color-primary-500);--primary-dark: var(--color-primary-600);--primary-light: var(--color-primary-100);--secondary-color: var(--color-primary-30);--tertiary-color:var(--color-primary-30);--success: var(--color-success-500);--success-dark: var(--color-success-600);--success-light: var(--color-success-100);--warning: var(--color-warning-500);--warning-dark: var(--color-warning-600);--warning-light: var(--color-warning-100);--danger: var(--color-danger-500);--danger-color: var(--color-danger-500);--danger-dark: var(--color-danger-600);--danger-light: var(--color-danger-100);--text: var(--color-gray-900);--text-primary: var(--color-gray-800);--text-secondary: var(--color-gray-500);--text-tertiary: var(--color-gray-400);--text-light: var(--color-gray-400);--border: var(--color-gray-200);--border-color: var(--color-gray-200);--border-neutral: 1px solid #e9ecef;--border-focus-color: #3b82f6;--background: var(--color-gray-50);--app-background: var(--color-gray-50);--white: #ffffff;--alert-warning-bg: #fffbeb;--alert-warning-border: #fde68a;--alert-warning-text: #78350f;--alert-warning-icon: #ca8a04;--alert-error-bg: #fef2f2;--alert-error-border: #fecaca;--alert-error-text: #b91c1c;--alert-error-icon: #ef4444;--alert-success-bg: #ecfdf5;--alert-success-border: #a7f3d0;--alert-success-text: #047857;--alert-success-icon: #10b981;--alert-info-bg: #eff6ff;--alert-info-border: #bfdbfe;--alert-info-text: #1e40af;--alert-info-icon: #3b82f6;--row-stripe: var(--color-gray-50);--row-hover: var(--color-gray-100);--row-unread: rgba(103, 151, 255, .06);--row-unread-hover: rgba(103, 151, 255, .13);--row-selected: rgba(103, 151, 255, .14);--row-selected-hover: rgba(103, 151, 255, .2);--row-accent: var(--color-primary-500);--row-accent-ink: var(--color-primary-700);--band-bg: var(--color-gray-100);--band-border: var(--color-gray-200);--chip-hover-bg: var(--color-gray-100);--chip-hover-border: var(--color-gray-200);--chip-hover-ink: var(--color-primary-700);--chip-accent-bg: var(--color-primary-50);--chip-accent-border: var(--color-primary-100);--segment-track: var(--secondary-color);--segment-ink: var(--text-secondary);--segment-active-bg: var(--white);--segment-active-ink: var(--text-primary);--segment-active-shadow: 0 1px 3px rgba(15, 23, 42, .08);--card-shadow: 0 2px 8px rgba(0, 0, 0, .08);--hover-shadow: 0 8px 24px rgba(103, 151, 255, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-primary: 0 2px 8px rgba(59, 130, 246, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--border-radius: var(--border-radius-sm);--card-border-radius: var(--border-radius-sm);--border-radius-sm: 8px;--border-radius-n: 10px;--border-radius-lg: 16px}:root{--theme-dark-text-primary: var(--color-gray-50);--theme-dark-text-secondary: var(--color-gray-300);--theme-dark-text-tertiary: var(--color-gray-400);--theme-dark-text-disabled: var(--color-gray-500);--theme-dark-text-inverse: var(--color-gray-900);--theme-dark-bg-primary: #0f172a;--theme-dark-bg-secondary: #1e293b;--theme-dark-bg-tertiary: #334155;--theme-dark-bg-app: #0b1120;--theme-dark-bg-overlay: rgba(0, 0, 0, .7);--theme-dark-bg-overlay-light: rgba(0, 0, 0, .5);--theme-dark-border-light: #334155;--theme-dark-border-medium: #475569;--theme-dark-border-strong: #64748b;--theme-dark-shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--theme-dark-shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--theme-dark-card-shadow: 0 2px 8px rgba(0, 0, 0, .4)}@media(prefers-color-scheme:dark){html:not([data-theme=light]){--color-text-primary: var(--theme-dark-text-primary);--color-text-secondary: var(--theme-dark-text-secondary);--color-text-tertiary: var(--theme-dark-text-tertiary);--color-text-disabled: var(--theme-dark-text-disabled);--color-text-inverse: var(--theme-dark-text-inverse);--color-bg-primary: var(--theme-dark-bg-primary);--color-bg-secondary: var(--theme-dark-bg-secondary);--color-bg-tertiary: var(--theme-dark-bg-tertiary);--color-bg-app: var(--theme-dark-bg-app);--color-bg-overlay: var(--theme-dark-bg-overlay);--color-bg-overlay-light: var(--theme-dark-bg-overlay-light);--color-border-light: var(--theme-dark-border-light);--color-border-medium: var(--theme-dark-border-medium);--color-border-strong: var(--theme-dark-border-strong);--text: var(--theme-dark-text-primary);--text-primary: var(--theme-dark-text-primary);--text-secondary: var(--theme-dark-text-secondary);--text-tertiary: var(--theme-dark-text-tertiary);--text-light: var(--theme-dark-text-tertiary);--background: var(--theme-dark-bg-app);--app-background: var(--theme-dark-bg-app);--surface: var(--theme-dark-bg-secondary);--border: var(--theme-dark-border-light);--border-color: var(--theme-dark-border-light);--white: var(--theme-dark-bg-primary);--card-shadow: var(--theme-dark-card-shadow);--shadow-sm: var(--theme-dark-shadow-sm);--shadow-md: var(--theme-dark-shadow-md);--alert-warning-bg: rgba(251, 191, 36, .12);--alert-warning-border: rgba(251, 191, 36, .35);--alert-warning-text: #fde68a;--alert-warning-icon: #fbbf24;--alert-error-bg: rgba(239, 68, 68, .13);--alert-error-border: rgba(239, 68, 68, .38);--alert-error-text: #fca5a5;--alert-error-icon: #f87171;--alert-success-bg: rgba(16, 185, 129, .13);--alert-success-border: rgba(16, 185, 129, .38);--alert-success-text: #6ee7b7;--alert-success-icon: #34d399;--alert-info-bg: rgba(96, 165, 250, .14);--alert-info-border: rgba(96, 165, 250, .38);--alert-info-text: #93c5fd;--alert-info-icon: #60a5fa;--row-stripe: rgba(255, 255, 255, .025);--row-hover: rgba(255, 255, 255, .07);--row-unread: rgba(96, 165, 250, .1);--row-unread-hover: rgba(96, 165, 250, .16);--row-selected: rgba(96, 165, 250, .18);--row-selected-hover: rgba(96, 165, 250, .24);--row-accent: #60a5fa;--row-accent-ink: #93c5fd;--band-bg: rgba(255, 255, 255, .055);--band-border: var(--theme-dark-border-light);--chip-hover-bg: rgba(255, 255, 255, .06);--chip-hover-border: rgba(255, 255, 255, .12);--chip-hover-ink: #93c5fd;--chip-accent-bg: rgba(96, 165, 250, .15);--chip-accent-border: rgba(96, 165, 250, .4);--segment-track: rgba(255, 255, 255, .06);--segment-active-bg: rgba(255, 255, 255, .16);--segment-active-shadow: 0 1px 2px rgba(0, 0, 0, .45);--color-primary-30: rgba(103, 151, 255, .1);--color-primary-50: rgba(103, 151, 255, .14);--color-primary-100: rgba(103, 151, 255, .2);--secondary-color: rgba(103, 151, 255, .1);--tertiary-color: rgba(103, 151, 255, .1);color-scheme:dark}}html[data-theme=dark]{--color-text-primary: var(--theme-dark-text-primary);--color-text-secondary: var(--theme-dark-text-secondary);--color-text-tertiary: var(--theme-dark-text-tertiary);--color-text-disabled: var(--theme-dark-text-disabled);--color-text-inverse: var(--theme-dark-text-inverse);--color-bg-primary: var(--theme-dark-bg-primary);--color-bg-secondary: var(--theme-dark-bg-secondary);--color-bg-tertiary: var(--theme-dark-bg-tertiary);--color-bg-app: var(--theme-dark-bg-app);--color-bg-overlay: var(--theme-dark-bg-overlay);--color-bg-overlay-light: var(--theme-dark-bg-overlay-light);--color-border-light: var(--theme-dark-border-light);--color-border-medium: var(--theme-dark-border-medium);--color-border-strong: var(--theme-dark-border-strong);--text: var(--theme-dark-text-primary);--text-primary: var(--theme-dark-text-primary);--text-secondary: var(--theme-dark-text-secondary);--text-tertiary: var(--theme-dark-text-tertiary);--text-light: var(--theme-dark-text-tertiary);--background: var(--theme-dark-bg-app);--app-background: var(--theme-dark-bg-app);--surface: var(--theme-dark-bg-secondary);--border: var(--theme-dark-border-light);--border-color: var(--theme-dark-border-light);--white: var(--theme-dark-bg-primary);--card-shadow: var(--theme-dark-card-shadow);--shadow-sm: var(--theme-dark-shadow-sm);--shadow-md: var(--theme-dark-shadow-md);--alert-warning-bg: rgba(251, 191, 36, .12);--alert-warning-border: rgba(251, 191, 36, .35);--alert-warning-text: #fde68a;--alert-warning-icon: #fbbf24;--alert-error-bg: rgba(239, 68, 68, .13);--alert-error-border: rgba(239, 68, 68, .38);--alert-error-text: #fca5a5;--alert-error-icon: #f87171;--alert-success-bg: rgba(16, 185, 129, .13);--alert-success-border: rgba(16, 185, 129, .38);--alert-success-text: #6ee7b7;--alert-success-icon: #34d399;--alert-info-bg: rgba(96, 165, 250, .14);--alert-info-border: rgba(96, 165, 250, .38);--alert-info-text: #93c5fd;--alert-info-icon: #60a5fa;--row-stripe: rgba(255, 255, 255, .025);--row-hover: rgba(255, 255, 255, .07);--row-unread: rgba(96, 165, 250, .1);--row-unread-hover: rgba(96, 165, 250, .16);--row-selected: rgba(96, 165, 250, .18);--row-selected-hover: rgba(96, 165, 250, .24);--row-accent: #60a5fa;--row-accent-ink: #93c5fd;--band-bg: rgba(255, 255, 255, .055);--band-border: var(--theme-dark-border-light);--chip-hover-bg: rgba(255, 255, 255, .06);--chip-hover-border: rgba(255, 255, 255, .12);--chip-hover-ink: #93c5fd;--chip-accent-bg: rgba(96, 165, 250, .15);--chip-accent-border: rgba(96, 165, 250, .4);--segment-track: rgba(255, 255, 255, .06);--segment-active-bg: rgba(255, 255, 255, .16);--segment-active-shadow: 0 1px 2px rgba(0, 0, 0, .45);--color-primary-30: rgba(103, 151, 255, .1);--color-primary-50: rgba(103, 151, 255, .14);--color-primary-100: rgba(103, 151, 255, .2);--secondary-color: rgba(103, 151, 255, .1);--tertiary-color: rgba(103, 151, 255, .1);color-scheme:dark}:root{--spacing-0: 0;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--spacing-40: 10rem;--spacing-compact-x: var(--spacing-2);--spacing-compact-y: var(--spacing-1);--spacing-component-xs: var(--spacing-2);--spacing-component-sm: var(--spacing-3);--spacing-component-md: var(--spacing-4);--spacing-component-lg: var(--spacing-6);--spacing-component-xl: var(--spacing-8);--spacing-section-xs: var(--spacing-4);--spacing-section-sm: var(--spacing-6);--spacing-section-md: var(--spacing-8);--spacing-section-lg: var(--spacing-12);--spacing-section-xl: var(--spacing-16);--spacing-container-sm: var(--spacing-4);--spacing-container-md: var(--spacing-6);--spacing-container-lg: var(--spacing-8);--spacing-layout-gap: var(--spacing-6);--spacing-layout-padding: var(--spacing-8);--dimension-sidebar-width: 260px;--dimension-sidebar-collapsed: 60px;--dimension-header-height: 64px;--dimension-footer-height: 123px;--dimension-card-height: 465px;--dimension-card-image-height: 195px;--dimension-card-content-height: 147px;--dimension-nav-btn-size: 60px;--sidebar-width: var(--dimension-sidebar-width);--card-height: var(--dimension-card-height);--footer-height: var(--dimension-footer-height);--image-height: var(--dimension-card-image-height);--content-height: var(--dimension-card-content-height);--nav-btn-size: var(--dimension-nav-btn-size);--ecran-largeur-max: 1400px;--ecran-gouttiere: 3rem;--ecran-retrait-haut: 1.75rem}:root{--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2rem;--font-size-5xl: 2.25rem;--font-size-6xl: 3rem;--font-size-7xl: 3.75rem;--font-size-8xl: 4.5rem;--font-weight-thin: 100;--font-weight-extralight: 200;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "Monaco", "Courier New", "Courier", monospace;--font-family-dyslexic: "OpenDyslexic", var(--font-family-sans);--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--font-page-title-size: 1.75rem;--font-page-title-weight: var(--font-weight-bold);--font-page-title-line-height: 1.2;--font-page-title-tracking: -.02em;--font-heading-1-size: var(--font-size-4xl);--font-heading-1-weight: var(--font-weight-bold);--font-heading-1-line-height: var(--line-height-tight);--font-heading-2-size: var(--font-size-3xl);--font-heading-2-weight: var(--font-weight-bold);--font-heading-2-line-height: var(--line-height-tight);--font-heading-3-size: var(--font-size-2xl);--font-heading-3-weight: var(--font-weight-semibold);--font-heading-3-line-height: var(--line-height-snug);--font-heading-4-size: var(--font-size-xl);--font-heading-4-weight: var(--font-weight-semibold);--font-heading-4-line-height: var(--line-height-snug);--font-heading-5-size: var(--font-size-lg);--font-heading-5-weight: var(--font-weight-medium);--font-heading-5-line-height: var(--line-height-normal);--font-heading-6-size: var(--font-size-base);--font-heading-6-weight: var(--font-weight-medium);--font-heading-6-line-height: var(--line-height-normal);--font-body-lg-size: var(--font-size-lg);--font-body-lg-weight: var(--font-weight-normal);--font-body-lg-line-height: var(--line-height-relaxed);--font-body-size: var(--font-size-base);--font-body-weight: var(--font-weight-normal);--font-body-line-height: var(--line-height-normal);--font-body-sm-size: var(--font-size-sm);--font-body-sm-weight: var(--font-weight-normal);--font-body-sm-line-height: var(--line-height-normal);--font-caption-size: var(--font-size-xs);--font-caption-weight: var(--font-weight-normal);--font-caption-line-height: var(--line-height-normal);--font-button-size: var(--font-size-sm);--font-button-weight: var(--font-weight-medium);--font-button-line-height: var(--line-height-none);--font-input-size: var(--font-size-base);--font-input-weight: var(--font-weight-normal);--font-input-line-height: var(--line-height-normal);--font-label-size: var(--font-size-sm);--font-label-weight: var(--font-weight-medium);--font-label-line-height: var(--line-height-normal);--font-code-size: var(--font-size-sm);--font-code-weight: var(--font-weight-normal);--font-code-line-height: var(--line-height-normal)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-sans);font-size:var(--font-body-size);font-weight:var(--font-body-weight);line-height:var(--font-body-line-height);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-heading-1-size);font-weight:var(--font-heading-1-weight)}h2{font-size:var(--font-heading-2-size);font-weight:var(--font-heading-2-weight)}h3{font-size:var(--font-heading-3-size);font-weight:var(--font-heading-3-weight)}h4{font-size:var(--font-heading-4-size);font-weight:var(--font-heading-4-weight)}h5{font-size:var(--font-heading-5-size);font-weight:var(--font-heading-5-weight)}h6{font-size:var(--font-heading-6-size);font-weight:var(--font-heading-6-weight)}small{font-size:var(--font-caption-size)}strong,b{font-weight:var(--font-weight-semibold)}code,pre{font-family:var(--font-family-mono);font-size:var(--font-code-size)}:root{--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-base: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.5rem;--radius-3xl: 2rem;--radius-full: 9999px;--radius-circle: 50%;--radius-button: var(--radius-md);--radius-button-sm: var(--radius-sm);--radius-button-lg: var(--radius-base);--radius-button-rounded: var(--radius-full);--radius-card: var(--radius-lg);--radius-card-sm: var(--radius-base);--radius-card-lg: var(--radius-xl);--radius-input: var(--radius-md);--radius-input-sm: var(--radius-sm);--radius-modal: var(--radius-lg);--radius-modal-lg: var(--radius-xl);--radius-badge: var(--radius-full);--radius-tooltip: var(--radius-sm);--radius-dropdown: var(--radius-base);--radius-avatar: var(--radius-circle);--border-width-0: 0;--border-width-1: 1px;--border-width-2: 2px;--border-width-4: 4px;--border-width-8: 8px;--border-width-default: var(--border-width-1);--border-width-thick: var(--border-width-2);--border-style-solid: solid;--border-style-dashed: dashed;--border-style-dotted: dotted;--border-style-none: none;--border-default: var(--border-width-1) solid var(--color-border-light);--border-medium: var(--border-width-1) solid var(--color-border-medium);--border-strong: var(--border-width-1) solid var(--color-border-strong);--border-thick: var(--border-width-2) solid var(--color-border-medium);--border-focus: var(--border-width-2) solid var(--color-border-focus);--border-success: var(--border-width-2) solid var(--color-success-500);--border-warning: var(--border-width-2) solid var(--color-warning-500);--border-danger: var(--border-width-2) solid var(--color-danger-500);--border-info: var(--border-width-2) solid var(--color-info-500);--border-dashed: var(--border-width-2) dashed var(--color-border-medium);--border-radius: var(--radius-base);--border-radius-md: var(--radius-base);--border-radius-lg: var(--radius-lg);--card-border-radius: var(--radius-card);--card-radius: var(--radius-card);--button-border-radius: var(--radius-button-lg);--forum-card-border-radius: 8px;--exercice-border-radius: var(--radius-card);--qcm-eleve-border-radius: var(--radius-base);--audit-radius-sm: var(--radius-md);--audit-radius-md: var(--radius-base);--audit-radius-lg: var(--radius-lg);--flashcard-border-radius: var(--radius-xl)}:root{--shadow-none: none;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .16);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .2);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .25);--shadow-hover: 0 8px 24px rgba(91, 99, 245, .15);--shadow-hover-strong: 0 6px 16px rgba(103, 151, 255, .17);--shadow-focus: 0 0 0 3px rgba(103, 151, 255, .1);--shadow-focus-visible: 0 0 0 4px rgba(103, 151, 255, .2);--shadow-active: inset 0 2px 4px rgba(0, 0, 0, .1);--shadow-success: 0 4px 12px rgba(34, 197, 94, .2);--shadow-success-strong: 0 8px 24px rgba(34, 197, 94, .3);--shadow-warning: 0 4px 12px rgba(245, 158, 11, .2);--shadow-warning-strong: 0 8px 24px rgba(245, 158, 11, .3);--shadow-danger: 0 4px 12px rgba(239, 68, 68, .2);--shadow-danger-strong: 0 8px 24px rgba(239, 68, 68, .3);--shadow-info: 0 4px 12px rgba(14, 165, 233, .2);--shadow-info-strong: 0 8px 24px rgba(14, 165, 233, .3);--shadow-inner-sm: inset 0 1px 2px rgba(0, 0, 0, .05);--shadow-inner-md: inset 0 2px 4px rgba(0, 0, 0, .08);--shadow-inner-lg: inset 0 4px 8px rgba(0, 0, 0, .12);--shadow-text: 0 2px 4px rgba(0, 0, 0, .5);--shadow-text-strong: 0 4px 8px rgba(0, 0, 0, .8);--shadow-floating: 0 8px 16px rgba(0, 0, 0, .15), 0 4px 8px rgba(0, 0, 0, .1);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .05);--shadow-flashcard: 0 12px 30px rgba(0, 0, 0, .15);--shadow-flashcard-hover: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow: var(--shadow-sm);--hover-shadow: var(--shadow-hover);--focus-shadow: var(--shadow-focus);--shadow-card: var(--shadow-sm);--shadow-hover: var(--shadow-hover-strong);--forum-card-shadow: 0 1px 3px rgba(0, 0, 0, .06);--forum-hover-shadow: var(--shadow-hover);--exercice-card-shadow: var(--shadow-md);--exercice-hover-shadow: var(--shadow-hover);--qcm-eleve-card-shadow: var(--shadow-md);--qcm-eleve-hover-shadow: var(--shadow-hover);--audit-shadow-sm: var(--shadow-sm);--audit-shadow-md: var(--shadow-md);--audit-shadow-lg: var(--shadow-hover);--flashcard-shadow: var(--shadow-flashcard);--flashcard-shadow-hover: var(--shadow-flashcard-hover)}:root{--z-base: 0;--z-raised: 1;--z-sticky: 100;--z-header: 100;--z-nav: 100;--z-dropdown: 300;--z-popover: 350;--z-overlay: 1000;--z-modal: 1050;--z-modal-important: 1100;--z-drawer: 1100;--z-notification: 1300;--z-toast: 1300;--z-snackbar: 1350;--z-tooltip: 1500;--z-helper: 1500;--z-debug: 9000;--z-chat-window: var(--z-modal);--z-chat-input: var(--z-raised);--z-forum-sticky-header: var(--z-sticky);--z-forum-dropdown: var(--z-dropdown);--z-exercice-navigator: var(--z-sticky);--z-exercice-modal: var(--z-modal);--z-flashcard-controls: var(--z-raised);--z-audio-modal: var(--z-modal-important);--z-audio-controls: var(--z-raised);--z-mobile-menu: var(--z-drawer);--z-search-overlay: var(--z-overlay);--z-search-results: var(--z-dropdown);--z-loading-overlay: var(--z-overlay);--z-loading-spinner: calc(var(--z-overlay) + 1)}:root{--duration-instant: 0ms;--duration-fastest: 50ms;--duration-fast: .15s;--duration-normal: .2s;--duration-moderate: .3s;--duration-slow: .4s;--duration-slower: .5s;--duration-slowest: .7s;--ease-linear: linear;--ease: ease;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-in-quad: cubic-bezier(.55, .085, .68, .53);--ease-in-cubic: cubic-bezier(.55, .055, .675, .19);--ease-in-quart: cubic-bezier(.895, .03, .685, .22);--ease-in-quint: cubic-bezier(.755, .05, .855, .06);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-material: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic: cubic-bezier(.175, .885, .32, 1.275);--transition-fastest: all var(--duration-fast) var(--ease-out-quad);--transition-fast: all var(--duration-normal) var(--ease-out-quad);--transition: all var(--duration-moderate) var(--ease-smooth);--transition-standard: all var(--duration-moderate) var(--ease-smooth);--transition-slow: all var(--duration-slow) var(--ease-in-out-cubic);--transition-slowest: all var(--duration-slowest) var(--ease-in-out-quart);--transition-transform: transform var(--duration-moderate) var(--ease-smooth);--transition-transform-fast: transform var(--duration-fast) var(--ease-out-quad);--transition-opacity: opacity var(--duration-moderate) var(--ease-smooth);--transition-opacity-fast: opacity var(--duration-fast) var(--ease-out-quad);--transition-colors: color var(--duration-normal) var(--ease-out-quad), background-color var(--duration-normal) var(--ease-out-quad), border-color var(--duration-normal) var(--ease-out-quad);--transition-shadow: box-shadow var(--duration-moderate) var(--ease-smooth);--transition-expansion: max-height var(--duration-slow) var(--ease-in-out-cubic), opacity var(--duration-moderate) var(--ease-smooth);--transition-slide: transform var(--duration-moderate) var(--ease-out-cubic), opacity var(--duration-fast) var(--ease-linear);--transition-fade: opacity var(--duration-moderate) var(--ease-in-out-quad);--transition-fade-fast: opacity var(--duration-normal) var(--ease-out-quad);--transition-scale: transform var(--duration-moderate) var(--ease-out-back);--transition-scale-fast: transform var(--duration-normal) var(--ease-out-cubic);--transition-bounce: transform var(--duration-slow) var(--ease-bounce);--transition-smooth: var(--transition);--forum-transition: var(--transition);--module-transition: var(--transition);--exercice-transition: var(--transition);--qcm-eleve-transition: var(--transition);--audit-transition: var(--transition);--audit-transition-fast: var(--transition-fast);--flashcard-transition: var(--transition);--chat-transition: var(--transition);--edit-transition: var(--transition);--importeleves-transition: var(--transition);--rename-transition: var(--transition);--students-accounts-transition: var(--transition)}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fastest: 0ms;--duration-fast: 0ms;--duration-normal: 0ms;--duration-moderate: 0ms;--duration-slow: 0ms;--duration-slower: 0ms;--duration-slowest: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInDown{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}@keyframes slideUp{0%{max-height:1000px;opacity:1}to{max-height:0;opacity:0}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes scaleOut{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes rotateIn{0%{transform:rotate(-180deg);opacity:0}to{transform:rotate(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseOpacity{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseGlow{0%,to{box-shadow:0 0 rgba(103,151,255,.4)}50%{box-shadow:0 0 20px 10px rgba(103,151,255,0)}}@keyframes heartbeat{0%,to{transform:scale(1)}10%{transform:scale(1.1)}20%{transform:scale(1)}30%{transform:scale(1.1)}40%{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes shakeVertical{0%,to{transform:translateY(0)}10%,30%,50%,70%,90%{transform:translateY(-10px)}20%,40%,60%,80%{transform:translateY(10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes skeletonLoading{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes progressIndeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes modalSlideIn{0%{transform:translate(-50%,-48%) scale(.95);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes modalSlideOut{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-48%) scale(.95);opacity:0}}@keyframes toastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes typing{0%,to{opacity:0}50%{opacity:1}}@keyframes dots1{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes dots2{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes dots3{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes underlineAppear{0%{width:0}to{width:100%}}@keyframes borderDraw{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes tada{0%,to{transform:scale(1) rotate(0)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}}@keyframes pulseRecording{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}@keyframes audioWave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}.animate-fade-in{animation:fadeIn var(--duration-moderate) var(--ease-smooth)}.animate-fade-in-up{animation:fadeInUp var(--duration-moderate) var(--ease-smooth)}.animate-slide-in-left{animation:slideInLeft var(--duration-moderate) var(--ease-out-cubic)}.animate-slide-in-right{animation:slideInRight var(--duration-moderate) var(--ease-out-cubic)}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s infinite}.animate-shake{animation:shake .5s ease-in-out}.animate-pop{animation:pop var(--duration-moderate) var(--ease-bounce)}:root{--c1b-light-surface: #ffffff;--c1b-light-surface-muted: #fcfcfb;--c1b-light-surface-subtle: #f1f1f0;--c1b-light-text: #0f172a;--c1b-light-text-2: #475569;--c1b-light-text-3: #94a3b8;--c1b-light-border: #e2e8f0;--c1b-light-border-strong: #cbd5e1;--c1b-light-bubble-assistant-bg: #ffffff;--c1b-light-bubble-user-bg: #f0f0ef;--c1b-light-bubble-system-bg: #f8fafc;--c1b-light-bubble-system-border: #cbd5e1;--c1b-light-bubble-system-text: #334155;--c1b-light-bubble-error-bg: #fef2f2;--c1b-light-bubble-error-border: #fca5a5;--c1b-light-bubble-error-text: #991b1b;--c1b-light-bubble-shadow: 0 2px 8px rgba(0, 0, 0, .06);--c1b-light-composer-shadow: 0 1px 2px rgba(15, 23, 42, .04);--c1b-light-action-color: #94a3b8;--c1b-light-action-color-hover: #475569;--c1b-light-action-bg-hover: rgba(0, 0, 0, .05);--c1b-light-drawer-overlay: rgba(15, 23, 42, .4);--c1b-light-accent-default: #6797ff;--c1b-light-accent-default-soft: #ecf2ff;--c1b-light-accent-default-strong: #4580d4;--c1b-light-accent-default-border: #a8c5ff;--c1b-light-accent-chatmd: #8b5cf6;--c1b-light-accent-chatmd-soft: #f3e8ff;--c1b-light-accent-chatmd-strong: #7c3aed;--c1b-light-accent-chatmd-border: #ddd6fe;--c1b-light-accent-exercice: #b45309;--c1b-light-accent-exercice-soft: #fef3c7;--c1b-light-accent-exercice-strong: #92400e;--c1b-light-accent-exercice-border: #fde68a;--c1b-dark-surface: #1e293b;--c1b-dark-surface-muted: #0f172a;--c1b-dark-surface-subtle: #1e293b;--c1b-dark-text: #f8fafc;--c1b-dark-text-2: #cbd5e1;--c1b-dark-text-3: #64748b;--c1b-dark-border: #334155;--c1b-dark-border-strong: #475569;--c1b-dark-bubble-assistant-bg: #1e293b;--c1b-dark-bubble-user-bg: #1e293b;--c1b-dark-bubble-system-bg: #1e293b;--c1b-dark-bubble-system-border: #475569;--c1b-dark-bubble-system-text: #cbd5e1;--c1b-dark-bubble-error-bg: #2a0f0f;--c1b-dark-bubble-error-border: #b91c1c;--c1b-dark-bubble-error-text: #fca5a5;--c1b-dark-bubble-shadow: 0 2px 8px rgba(0, 0, 0, .5);--c1b-dark-composer-shadow: 0 1px 2px rgba(0, 0, 0, .4);--c1b-dark-action-color: #64748b;--c1b-dark-action-color-hover: #cbd5e1;--c1b-dark-action-bg-hover: rgba(255, 255, 255, .08);--c1b-dark-drawer-overlay: rgba(0, 0, 0, .6);--c1b-dark-accent-default: #8ab3ff;--c1b-dark-accent-default-soft: #1e2a4a;--c1b-dark-accent-default-strong: #c6d8ff;--c1b-dark-accent-default-border: #354c7d;--c1b-dark-accent-chatmd: #a78bfa;--c1b-dark-accent-chatmd-soft: #2e1065;--c1b-dark-accent-chatmd-strong: #c4b5fd;--c1b-dark-accent-chatmd-border: #4c1d95;--c1b-dark-accent-exercice: #fbbf24;--c1b-dark-accent-exercice-soft: #2a1c05;--c1b-dark-accent-exercice-strong: #fcd34d;--c1b-dark-accent-exercice-border: #573a08;--c1b-surface: var(--c1b-light-surface);--c1b-surface-muted: var(--c1b-light-surface-muted);--c1b-surface-subtle: var(--c1b-light-surface-subtle);--c1b-text: var(--c1b-light-text);--c1b-text-2: var(--c1b-light-text-2);--c1b-text-3: var(--c1b-light-text-3);--c1b-border: var(--c1b-light-border);--c1b-border-strong: var(--c1b-light-border-strong);--c1b-accent: var(--c1b-light-accent-default);--c1b-accent-soft: var(--c1b-light-accent-default-soft);--c1b-accent-strong: var(--c1b-light-accent-default-strong);--c1b-accent-border: var(--c1b-light-accent-default-border);--c1b-accent-on: #ffffff;--c1b-bubble-radius: 1rem;--c1b-bubble-pad-y: var(--spacing-4);--c1b-bubble-pad-x: var(--spacing-5);--c1b-bubble-pad-y-compact: var(--spacing-3);--c1b-bubble-pad-x-compact: var(--spacing-4);--c1b-bubble-pad-y-dense: .625rem;--c1b-bubble-pad-x-dense: .875rem;--c1b-bubble-max-width: min(760px, 85%);--c1b-bubble-shadow: var(--c1b-light-bubble-shadow);--c1b-bubble-filter: drop-shadow(0 0 .5px var(--c1b-border-strong)) drop-shadow(0 1px 2px rgba(0, 0, 0, .05));--c1b-bubble-gap: var(--spacing-8);--c1b-messages-pad-x: var(--spacing-6);--c1b-bubble-assistant-bg: var(--c1b-light-bubble-assistant-bg);--c1b-bubble-assistant-text: var(--c1b-text);--c1b-bubble-user-bg: var(--c1b-light-bubble-user-bg);--c1b-bubble-user-text: var(--c1b-text);--c1b-bubble-system-bg: var(--c1b-light-bubble-system-bg);--c1b-bubble-system-border: var(--c1b-light-bubble-system-border);--c1b-bubble-system-text: var(--c1b-light-bubble-system-text);--c1b-bubble-error-bg: var(--c1b-light-bubble-error-bg);--c1b-bubble-error-border: var(--c1b-light-bubble-error-border);--c1b-bubble-error-text: var(--c1b-light-bubble-error-text);--c1b-message-font-size: 14px;--c1b-message-line-height: 1.55;--c1b-message-font-size-compact: 13px;--c1b-message-line-height-compact: 1.5;--c1b-prose-font-size: 15px;--c1b-prose-line-height: 1.7;--c1b-prose-font-size-compact: 14px;--c1b-prose-line-height-compact: 1.6;--c1b-thread-max-width: 46rem;--c1b-composer-bg: var(--c1b-surface);--c1b-composer-border: var(--c1b-border);--c1b-composer-radius: var(--radius-base);--c1b-composer-pad: var(--spacing-3) var(--spacing-4);--c1b-composer-shadow: var(--c1b-light-composer-shadow);--c1b-composer-shadow-focus: 0 0 0 3px var(--c1b-accent-soft);--c1b-composer-min-height: 44px;--c1b-composer-max-height: 200px;--chatmd-option-padding-y: 7px;--chatmd-option-padding-x: 16px;--chatmd-option-font-size: 14px;--chatmd-option-radius: 20px;--chatmd-option-gap: 8px;--c1b-suggestion-bg: var(--c1b-surface);--c1b-suggestion-border: var(--c1b-border);--c1b-suggestion-radius: var(--radius-full);--c1b-suggestion-pad: var(--spacing-2) var(--spacing-4);--c1b-suggestion-gap: var(--spacing-2);--c1b-suggestion-hover-bg: var(--c1b-accent-soft);--c1b-suggestion-hover-border: var(--c1b-accent);--c1b-action-size: 32px;--c1b-action-size-compact: 28px;--c1b-action-icon: 18px;--c1b-action-icon-compact: 16px;--c1b-action-radius: var(--radius-md);--c1b-action-color: var(--c1b-light-action-color);--c1b-action-color-hover: var(--c1b-light-action-color-hover);--c1b-action-bg-hover: var(--c1b-light-action-bg-hover);--c1b-action-gap: var(--spacing-1);--c1b-sidebar-width: 280px;--c1b-topbar-height: 56px;--c1b-drawer-overlay: var(--c1b-light-drawer-overlay);--c1b-bp-sm: 480px;--c1b-bp-md: 720px;--c1b-bp-lg: 1024px;--c1b-transition: all .2s ease;--c1b-transition-fast: all .15s ease;--c1b-z-drawer-overlay: 55;--c1b-z-drawer: 60;--c1b-z-floating-action: 40}[data-chatbot-mode=chatmd]{--c1b-accent: var(--c1b-light-accent-chatmd);--c1b-accent-soft: var(--c1b-light-accent-chatmd-soft);--c1b-accent-strong: var(--c1b-light-accent-chatmd-strong);--c1b-accent-border: var(--c1b-light-accent-chatmd-border)}[data-chatbot-mode=exercice]{--c1b-accent: var(--c1b-light-accent-exercice);--c1b-accent-soft: var(--c1b-light-accent-exercice-soft);--c1b-accent-strong: var(--c1b-light-accent-exercice-strong);--c1b-accent-border: var(--c1b-light-accent-exercice-border)}[data-theme=dark]{--c1b-surface: var(--c1b-dark-surface);--c1b-surface-muted: var(--c1b-dark-surface-muted);--c1b-surface-subtle: var(--c1b-dark-surface-subtle);--c1b-text: var(--c1b-dark-text);--c1b-text-2: var(--c1b-dark-text-2);--c1b-text-3: var(--c1b-dark-text-3);--c1b-border: var(--c1b-dark-border);--c1b-border-strong: var(--c1b-dark-border-strong);--c1b-accent: var(--c1b-dark-accent-default);--c1b-accent-soft: var(--c1b-dark-accent-default-soft);--c1b-accent-strong: var(--c1b-dark-accent-default-strong);--c1b-accent-border: var(--c1b-dark-accent-default-border);--c1b-bubble-shadow: var(--c1b-dark-bubble-shadow);--c1b-bubble-filter: drop-shadow(0 0 .5px var(--c1b-border-strong)) drop-shadow(0 2px 4px rgba(0, 0, 0, .4));--c1b-bubble-assistant-bg: var(--c1b-dark-bubble-assistant-bg);--c1b-bubble-user-bg: var(--c1b-dark-bubble-user-bg);--c1b-bubble-system-bg: var(--c1b-dark-bubble-system-bg);--c1b-bubble-system-border: var(--c1b-dark-bubble-system-border);--c1b-bubble-system-text: var(--c1b-dark-bubble-system-text);--c1b-bubble-error-bg: var(--c1b-dark-bubble-error-bg);--c1b-bubble-error-border: var(--c1b-dark-bubble-error-border);--c1b-bubble-error-text: var(--c1b-dark-bubble-error-text);--c1b-composer-shadow: var(--c1b-dark-composer-shadow);--c1b-action-color: var(--c1b-dark-action-color);--c1b-action-color-hover: var(--c1b-dark-action-color-hover);--c1b-action-bg-hover: var(--c1b-dark-action-bg-hover);--c1b-drawer-overlay: var(--c1b-dark-drawer-overlay)}[data-theme=dark] [data-chatbot-mode=chatmd]{--c1b-accent: var(--c1b-dark-accent-chatmd);--c1b-accent-soft: var(--c1b-dark-accent-chatmd-soft);--c1b-accent-strong: var(--c1b-dark-accent-chatmd-strong);--c1b-accent-border: var(--c1b-dark-accent-chatmd-border)}[data-theme=dark] [data-chatbot-mode=exercice]{--c1b-accent: var(--c1b-dark-accent-exercice);--c1b-accent-soft: var(--c1b-dark-accent-exercice-soft);--c1b-accent-strong: var(--c1b-dark-accent-exercice-strong);--c1b-accent-border: var(--c1b-dark-accent-exercice-border)}:root{--mode-discussion: #6797ff;--mode-discussion-soft: rgba(103, 151, 255, .1);--mode-discussion-strong: #4580d4;--mode-discussion-shadow: rgba(103, 151, 255, .18);--mode-exercice: #f59e0b;--mode-exercice-soft: rgba(245, 158, 11, .1);--mode-exercice-strong: #d97706;--mode-exercice-shadow: rgba(245, 158, 11, .18);--mode-chatmd: #8b5cf6;--mode-chatmd-soft: rgba(139, 92, 246, .1);--mode-chatmd-strong: #7c3aed;--mode-chatmd-shadow: rgba(139, 92, 246, .18)}.active-primary{background-color:var(--color-primary-500);color:var(--color-white)}.active-secondary{background-color:var(--color-gray-100);color:var(--color-gray-900)}.selected{background-color:var(--color-primary-100);color:var(--color-primary-700);border:var(--border-width-2) solid var(--color-primary-500);box-shadow:var(--shadow-focus)}.selected-multi{background-color:var(--color-primary-50);border-inline-start:var(--border-width-4) solid var(--color-primary-500)}.btn .disabled{cursor:not-allowed;pointer-events:none}.disabled-visible{background-color:var(--color-gray-100);color:var(--color-text-disabled);cursor:not-allowed;opacity:1}.disabled-interactive{opacity:.6;cursor:not-allowed;pointer-events:none}.loading{position:relative;pointer-events:none;opacity:.6}.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay-light);display:flex;align-items:center;justify-content:center}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 0%,var(--color-gray-100) 50%,var(--color-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-base)}.skeleton-text{height:1em;margin-bottom:var(--spacing-2)}.skeleton-circle{border-radius:var(--radius-circle)}.success{background-color:var(--alert-success-bg);color:var(--alert-success-text);border-color:var(--color-success-500)}.success-text{color:var(--color-success-600)}.success-bg{background-color:var(--alert-success-bg)}.success-border{border-color:var(--color-success-500)}.warning{background-color:var(--alert-warning-bg);color:var(--alert-warning-text);border-color:var(--color-warning-500)}.warning-text{color:var(--color-warning-700)}.warning-bg{background-color:var(--alert-warning-bg)}.warning-border{border-color:var(--color-warning-500)}.error,.danger{background-color:var(--alert-error-bg);color:var(--alert-error-text);border-color:var(--color-danger-500)}.error-text,.danger-text{color:var(--color-danger-600)}.error-bg,.danger-bg{background-color:var(--alert-error-bg)}.error-border,.danger-border{border-color:var(--color-danger-500)}.info{background-color:var(--alert-info-bg);color:var(--alert-info-text);border-color:var(--color-info-500)}.info-text{color:var(--color-info-700)}.info-bg{background-color:var(--alert-info-bg)}.info-border{border-color:var(--color-info-500)}.hidden{display:none!important}.invisible{visibility:hidden;opacity:0}.visible{visibility:visible;opacity:1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.focus-visible:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible);border-color:var(--color-border-focus)}.focus-ring:focus{outline:none;box-shadow:var(--shadow-focus)}.hoverable{transition:var(--transition-fast)}.hoverable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.hover-underline:hover{text-decoration:underline}.hover-opacity:hover{opacity:.8}.hover-bg:hover{background-color:var(--color-gray-100)}.valid{border-color:var(--color-success-500)}.valid:focus{box-shadow:0 0 0 3px var(--color-success-100)}.invalid{border-color:var(--color-danger-500)}.invalid:focus{box-shadow:0 0 0 3px var(--color-danger-100)}.required:after{content:" *";color:var(--color-danger-500)}.expandable{overflow:hidden;max-height:0;opacity:0;transition:var(--transition-expansion)}.expandable.expanded{max-height:1000px;opacity:1}.expandable.collapsed{max-height:0;opacity:0;overflow:hidden}.online{position:relative}.online:before{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-success-500);border-radius:var(--radius-circle);top:0;right:0}.offline{position:relative;opacity:.5}.offline:before{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-gray-400);border-radius:var(--radius-circle);top:0;right:0}.has-notification{position:relative}.has-notification:after{content:"";position:absolute;width:8px;height:8px;background-color:var(--color-danger-500);border-radius:var(--radius-circle);border:2px solid var(--color-white);top:-2px;right:-2px;animation:pulse 2s ease-in-out infinite}.badge-count{position:relative}.badge-count:after{content:attr(data-count);position:absolute;min-width:18px;height:18px;padding:0 var(--spacing-1);background-color:var(--color-danger-500);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;top:-8px;right:-8px}.empty-icon{font-size:var(--font-size-6xl);opacity:.3;margin-bottom:var(--spacing-4)}.empty-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2)}.empty-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.draggable{cursor:grab}.draggable:active{cursor:grabbing}.dragging{opacity:.5}.drop-zone{border:var(--border-dashed);background-color:var(--color-gray-50);transition:var(--transition-fast)}.drop-zone-active{border-color:var(--color-primary-500);background-color:var(--color-primary-50)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-family:var(--font-family-sans);font-size:var(--font-button-size);font-weight:var(--font-button-weight);line-height:var(--font-button-line-height);text-align:center;text-decoration:none;white-space:nowrap;border-radius:var(--border-radius-sm);border:1px solid transparent;background-color:var(--color-gray-100);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-fast);user-select:none;position:relative;overflow:hidden}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible)}.btn-primary{background-color:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-600);border-color:var(--color-primary-600);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-active)}.btn-secondary{background-color:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-200);border-color:var(--color-gray-400)}.btn-success{background-color:var(--color-success-500);border-color:var(--color-success-500);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:var(--color-success-600);transform:translateY(-2px);box-shadow:var(--shadow-success-strong)}.btn-warning{background-color:var(--color-warning-500);border-color:var(--color-warning-500);color:var(--color-white)}.btn-warning:hover:not(:disabled){background-color:var(--color-warning-600);transform:translateY(-2px);box-shadow:var(--shadow-warning-strong)}.btn-danger{background-color:var(--color-danger-500);border-color:var(--color-danger-500);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-600);transform:translateY(-2px);box-shadow:var(--shadow-danger-strong)}.btn-white{background-color:var(--white);border-color:var(--border-color);color:var(--text-primary)}.btn-white:hover:not(:disabled){background-color:var(--secondary-color);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--hover-shadow)}.btn-outlined{background-color:transparent;border-color:var(--color-primary-500);color:var(--color-primary-600)}.btn-outlined:hover:not(:disabled){background-color:var(--color-primary-500);color:var(--color-white)}.btn-outlined-secondary{background-color:transparent;border-color:var(--color-border-medium);color:var(--color-text-primary)}.btn-outlined-secondary:hover:not(:disabled){background-color:var(--color-gray-100);border-color:var(--color-gray-400)}.btn-outlined-danger{background-color:transparent;border-color:var(--color-danger-500);color:var(--color-danger-600)}.btn-outlined-danger:hover:not(:disabled){background-color:var(--color-danger-500);color:var(--color-white)}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-primary-600)}.btn-ghost:hover:not(:disabled){background-color:var(--color-primary-50)}.btn-link{background-color:transparent;border-color:transparent;color:var(--color-primary-600);text-decoration:underline;padding:0}.btn-link:hover:not(:disabled){color:var(--color-primary-700);text-decoration:none}.btn-cancel{background-color:transparent;border-color:var(--color-border-medium);color:var(--color-text-primary)}.btn-cancel:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-strong)}.btn-xs{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);border-radius:var(--radius-button-sm)}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);border-radius:var(--border-radius-sm)}.btn-md{padding:var(--spacing-3) var(--spacing-6)}.btn-lg{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg);border-radius:var(--radius-button-lg)}.btn-xl{padding:var(--spacing-5) var(--spacing-10);font-size:var(--font-size-xl);border-radius:var(--radius-button-lg)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn.loading{position:relative;color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-inline-start:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:var(--radius-circle);border-top-color:transparent;animation:spin .6s linear infinite}.btn.active{background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-white)}.btn-block{width:100%;display:flex}.btn-icon{padding:var(--spacing-3);width:40px;height:40px}.btn-icon.btn-sm{width:32px;height:32px;padding:var(--spacing-2)}.btn-icon.btn-lg{width:48px;height:48px;padding:var(--spacing-4)}.btn-rounded{border-radius:var(--radius-button-rounded)}.btn-circle{border-radius:var(--radius-circle);padding:var(--spacing-3);width:40px;height:40px}.btn-group{display:inline-flex;gap:0}.btn-group .btn{border-radius:0;border-inline-end-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-button);border-start-start-radius:var(--radius-button);border-bottom-left-radius:var(--radius-button);border-end-start-radius:var(--radius-button)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-button);border-start-end-radius:var(--radius-button);border-bottom-right-radius:var(--radius-button);border-end-end-radius:var(--radius-button);border-inline-end-width:2px}.btn-group .btn.active{z-index:1}.btn-fab{position:fixed;bottom:var(--spacing-8);right:var(--spacing-8);width:56px;height:56px;padding:0;border-radius:var(--radius-circle);box-shadow:var(--shadow-floating);z-index:var(--z-raised)}.btn-fab:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:scale(1.1)}.btn-lg svg{width:20px;height:20px}.btn-sm svg{width:14px;height:14px}@media(max-width:768px){.btn-responsive{width:100%}.btn-fab{bottom:var(--spacing-6);right:var(--spacing-6)}.btn-group{flex-direction:column}.btn-group .btn{border-radius:0;border-inline-end-width:2px;border-bottom-width:0}.btn-group .btn:first-child{border-top-left-radius:var(--radius-button);border-start-start-radius:var(--radius-button);border-top-right-radius:var(--radius-button);border-start-end-radius:var(--radius-button);border-bottom-left-radius:0;border-end-start-radius:0}.btn-group .btn:last-child{border-bottom-left-radius:var(--radius-button);border-end-start-radius:var(--radius-button);border-bottom-right-radius:var(--radius-button);border-end-end-radius:var(--radius-button);border-top-right-radius:0;border-start-end-radius:0;border-bottom-width:2px}}@media(prefers-reduced-motion:reduce){.btn:hover{transform:none}.btn.loading:after{animation:none}.btn-fab:hover{transform:none}}.form{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-section{display:flex;flex-direction:column;gap:var(--spacing-4)}.form-section-title{font-size:var(--font-heading-5-size);font-weight:var(--font-heading-5-weight);color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--font-label-size);font-weight:var(--font-label-weight);color:var(--color-text-primary);display:flex;align-items:center;gap:var(--spacing-1)}.form-label.required:after{content:"*";color:var(--color-danger-500)}.form-input,.form-textarea,.form-select{padding:var(--spacing-3) var(--spacing-4);border:var(--border-default);border-radius:var(--radius-input);background-color:var(--color-bg-primary);font-size:var(--font-input-size);font-family:var(--font-family-sans);color:var(--color-text-primary);transition:var(--transition-fast);width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-disabled)}.form-input:hover,.form-textarea:hover,.form-select:hover{border-color:var(--color-border-medium)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.form-input.valid,.form-textarea.valid,.form-select.valid{border-color:var(--color-success-500)}.form-input.valid:focus,.form-textarea.valid:focus,.form-select.valid:focus{box-shadow:0 0 0 3px var(--color-success-100)}.form-input.invalid,.form-textarea.invalid,.form-select.invalid{border-color:var(--color-danger-500)}.form-input.invalid:focus,.form-textarea.invalid:focus,.form-select.invalid:focus{box-shadow:0 0 0 3px var(--color-danger-100)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-gray-100);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.form-textarea{min-height:100px;resize:none;line-height:var(--line-height-relaxed)}.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-4) center;padding-inline-end:var(--spacing-10);-webkit-appearance:none;appearance:none}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer}.form-checkbox-label,.form-radio-label{font-size:var(--font-body-size);color:var(--color-text-primary);cursor:pointer;user-select:none}.form-checkbox-group,.form-radio-group{display:flex;flex-direction:column;gap:var(--spacing-3)}.form-hint{font-size:var(--font-caption-size);color:var(--color-text-tertiary)}.form-error{font-size:var(--font-caption-size);font-weight:var(--font-weight-medium);color:var(--alert-error-text);padding:var(--spacing-2) var(--spacing-3);background-color:var(--alert-error-bg);border-radius:var(--radius-sm);border-inline-start:3px solid var(--color-danger-500)}.form-success{font-size:var(--font-caption-size);font-weight:var(--font-weight-medium);color:var(--alert-success-text);padding:var(--spacing-2) var(--spacing-3);background-color:var(--alert-success-bg);border-radius:var(--radius-sm);border-inline-start:3px solid var(--color-success-500)}.form-input-group{display:flex;gap:0}.form-input-group>.form-input:first-child{border-top-right-radius:0;border-start-end-radius:0;border-bottom-right-radius:0;border-end-end-radius:0}.form-input-group>.form-input:last-child{border-top-left-radius:0;border-start-start-radius:0;border-bottom-left-radius:0;border-end-start-radius:0;border-inline-start:none}.form-input-group>.form-input:not(:first-child):not(:last-child){border-radius:0;border-inline-start:none}.form-input-addon{padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-gray-100);border:var(--border-default);color:var(--color-text-secondary);font-size:var(--font-body-sm-size);display:flex;align-items:center;white-space:nowrap}.form-input-addon:first-child{border-top-left-radius:var(--radius-input);border-start-start-radius:var(--radius-input);border-bottom-left-radius:var(--radius-input);border-end-start-radius:var(--radius-input);border-inline-end:none}.form-input-addon:last-child{border-top-right-radius:var(--radius-input);border-start-end-radius:var(--radius-input);border-bottom-right-radius:var(--radius-input);border-end-end-radius:var(--radius-input);border-inline-start:none}@media(max-width:768px){.form-input-group{flex-direction:column}.form-input-group>.form-input,.form-input-addon{border-radius:var(--radius-input)!important;border:var(--border-default)!important}}.card{background-color:var(--color-bg-primary);border-radius:var(--radius-card);border:var(--border-default);box-shadow:var(--shadow-sm);transition:var(--transition-fast);display:flex;flex-direction:column;overflow:hidden}.card.interactive{cursor:pointer}.card.interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-primary-300)}.card.selected{border-color:var(--color-primary-500);box-shadow:var(--shadow-focus);background-color:var(--color-primary-50)}.card-flat{box-shadow:none;border:var(--border-default)}.card-elevated{box-shadow:var(--shadow-md)}.card-outlined{border:2px solid var(--color-border-medium);box-shadow:none}.card-sm{border-radius:var(--radius-card-sm)}.card-lg{border-radius:var(--radius-card-lg)}.card-header{padding:var(--spacing-6);border-bottom:var(--border-default);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.card-title{font-size:var(--font-heading-5-size);font-weight:var(--font-heading-5-weight);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-1)}.card-subtitle{font-size:var(--font-body-sm-size);color:var(--color-text-tertiary);margin-top:var(--spacing-1)}.card-actions{display:flex;gap:var(--spacing-2);align-items:center}.card-body{padding:var(--spacing-6);flex:1;color:var(--color-text-primary)}.card-body.no-padding{padding:0}.card-footer{padding:var(--spacing-6);background-color:var(--color-gray-50);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4)}.card-image{width:100%;height:200px;object-fit:cover}.card-image-container{position:relative;overflow:hidden}.card-image-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-4);background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:var(--color-white)}.card-meta{display:flex;gap:var(--spacing-4);font-size:var(--font-body-sm-size);color:var(--color-text-tertiary);flex-wrap:wrap}.card-meta-item{display:flex;align-items:center;gap:var(--spacing-1)}.card-badge{position:absolute;top:var(--spacing-4);right:var(--spacing-4);padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-primary-500);color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-full)}.card-badge.success{background-color:var(--color-success-500)}.card-badge.warning{background-color:var(--color-warning-500)}.card-badge.danger{background-color:var(--color-danger-500)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-6)}.cards-grid-sm{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.cards-grid-lg{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}@media(max-width:768px){.cards-grid,.cards-grid-sm,.cards-grid-lg{grid-template-columns:1fr}.card-header,.card-body,.card-footer{padding:var(--spacing-4)}.card-footer{flex-direction:column;align-items:stretch}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-overlay);backdrop-filter:blur(4px);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);animation:fadeIn var(--duration-moderate) var(--ease-smooth)}.modal-overlay.dismissible{cursor:pointer}.modal-overlay.dismissible .modal-content{cursor:default}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-modal);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:90vh;width:100%;max-width:600px;position:relative;animation:fadeInScale var(--duration-moderate) var(--ease-smooth)}.modal-content.modal-sm{max-width:400px}.modal-content.modal-md{max-width:600px}.modal-content.modal-lg{max-width:900px}.modal-content.modal-xl{max-width:1200px}.modal-content.modal-fullscreen{max-width:none;width:100%;height:100%;max-height:100vh;border-radius:0}.modal-header{padding:var(--spacing-6) var(--spacing-8);border-bottom:var(--border-default);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:var(--spacing-4)}.modal-title{font-size:var(--font-heading-4-size);font-weight:var(--font-heading-4-weight);line-height:var(--font-heading-4-line-height);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--spacing-2)}.modal-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-circle);transition:var(--transition-fast);width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close svg,.modal-close svg path{transition:var(--transition-fast)}.modal-close:hover{background-color:var(--surface);color:var(--color-primary-600)}.modal-close:hover svg path{fill:var(--color-primary-600)}.modal-close:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible)}.modal-back-btn{background:var(--white);border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);color:var(--text-secondary);flex-shrink:0;padding:0}.modal-back-btn:hover{background:var(--secondary-color);border-color:var(--primary-color)}.modal-back-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible)}.modal-header-content{display:flex;flex-direction:column;flex:1}.modal-title-with-helper{display:flex;align-items:center;gap:var(--spacing-3);align-self:flex-start}.modal-header-actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.modal-subtitle{font-size:var(--font-body-sm-size);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin:0}.modal-body{padding:var(--spacing-8);flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-4);color:var(--color-text-primary)}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.modal-body.no-padding{padding:0}.modal-body--compact{padding:1rem 1.25rem;gap:.75rem}.modal-body--scrollable{max-height:60vh;overflow-y:auto}.modal-body.settings-modal-body{gap:0}.modal-body.settings-modal-body .settings-panel,.modal-body.settings-modal-body .settings-content{height:auto;overflow:visible}.modal-footer{padding:var(--spacing-6) var(--spacing-8);border-top:var(--border-default);display:flex;gap:var(--spacing-4);justify-content:flex-end;flex-shrink:0;align-items:center}.modal-footer.centered{justify-content:center}.modal-footer.space-between{justify-content:space-between}.modal-message{padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-base);border-inline-start:4px solid;font-size:var(--font-body-sm-size);line-height:var(--line-height-relaxed)}.modal-message.info{background-color:var(--color-info-50);border-color:var(--color-info-500);color:var(--color-info-900)}.modal-message.success{background-color:var(--color-success-50);border-color:var(--color-success-500);color:var(--color-success-900)}.modal-message.warning{background-color:var(--color-warning-50);border-color:var(--color-warning-500);color:var(--color-warning-900)}.modal-message.error,.modal-message.danger{background-color:var(--color-danger-50);border-color:var(--color-danger-500);color:var(--color-danger-900)}@media(prefers-color-scheme:dark){html:not([data-theme=light]) .modal-message.info{background-color:rgba(96,165,250,.14);color:#93c5fd}html:not([data-theme=light]) .modal-message.success{background-color:rgba(74,222,128,.14);color:#86efac}html:not([data-theme=light]) .modal-message.warning{background-color:rgba(251,191,36,.14);color:#fcd34d}html:not([data-theme=light]) .modal-message.error,html:not([data-theme=light]) .modal-message.danger{background-color:rgba(248,113,113,.14);color:#fca5a5}}html[data-theme=dark] .modal-message.info{background-color:rgba(96,165,250,.14);color:#93c5fd}html[data-theme=dark] .modal-message.success{background-color:rgba(74,222,128,.14);color:#86efac}html[data-theme=dark] .modal-message.warning{background-color:rgba(251,191,36,.14);color:#fcd34d}html[data-theme=dark] .modal-message.error,html[data-theme=dark] .modal-message.danger{background-color:rgba(248,113,113,.14);color:#fca5a5}.modal-confirm .modal-body{text-align:center;padding:var(--spacing-10)}.modal-confirm-icon{font-size:var(--font-size-6xl);margin-bottom:var(--spacing-4)}.modal-confirm-icon.danger{color:var(--color-danger-500)}.modal-confirm-icon.warning{color:var(--color-warning-500)}.modal-confirm-icon.success{color:var(--color-success-500)}.modal-confirm-title{font-size:var(--font-heading-3-size);font-weight:var(--font-heading-3-weight);margin-bottom:var(--spacing-2);color:var(--color-text-primary)}.modal-confirm-description{font-size:var(--font-body-size);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.modal-content.loading{pointer-events:none}.modal-content.loading:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-bg-overlay-light);border-radius:var(--radius-modal);display:flex;align-items:center;justify-content:center;z-index:1}.modal-items-list{display:flex;flex-direction:column;gap:var(--spacing-2);min-height:200px;max-height:400px;overflow-y:auto}.modal-item{display:flex;align-items:center;padding:var(--spacing-3);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-base);transition:var(--transition-fast);cursor:pointer;gap:var(--spacing-3)}.modal-item:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.modal-item.selected{border-color:var(--color-primary-500);background-color:var(--color-primary-50);box-shadow:var(--shadow-focus)}.modal-item-checkbox{width:18px;height:18px;accent-color:var(--color-primary-500);cursor:pointer;flex-shrink:0;color-scheme:light}.modal-item-content{flex:1;min-width:0}.modal-item-title{font-weight:var(--font-weight-semibold);font-size:var(--font-body-size);color:var(--color-text-primary);margin-bottom:var(--spacing-0-5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-item-meta{font-size:var(--font-body-sm-size);color:var(--color-text-tertiary)}.modal-selection-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-bg-secondary);border-radius:var(--radius-base);border:var(--border-default);gap:var(--spacing-3)}.modal-selection-info{font-size:var(--font-body-sm-size);color:var(--color-text-secondary)}.modal-selection-count{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.select-all-btn.danger{color:var(--color-danger-600)}.select-all-btn.danger:hover{background-color:var(--alert-error-bg);border-color:var(--color-danger-300);color:var(--color-danger-700)}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}.modal-content.entering{animation:modalEnter var(--duration-moderate) var(--ease-out-cubic)}.modal-content.exiting{animation:modalExit var(--duration-moderate) var(--ease-in-cubic)}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:90vh;border-bottom-left-radius:0;border-end-start-radius:0;border-bottom-right-radius:0;border-end-end-radius:0;animation:slideInUp var(--duration-moderate) var(--ease-out-cubic)}.modal-content.modal-fullscreen{max-height:100vh;border-radius:0}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-4)}.modal-footer{flex-direction:column-reverse}.modal-footer>*{width:100%}.modal-selection-controls{flex-direction:column;align-items:stretch}.modal-item-meta{font-size:var(--font-size-xs)}}@media(max-width:1024px)and (min-width:769px){.modal-content.modal-lg{max-width:90vw}.modal-content.modal-xl{max-width:95vw}}@media(prefers-reduced-motion:reduce){.modal-overlay,.modal-content{animation:none}.modal-item:hover{transform:none}}.modal-close:focus-visible,.modal-item:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible)}.modal-content:focus{outline:none}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);margin-top:var(--spacing-4);flex-wrap:wrap}.pagination-btn{min-width:36px;height:36px;padding:var(--spacing-2);background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-base);color:var(--color-text-primary);font-size:var(--font-body-sm-size);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;user-select:none}.pagination-btn:hover:not(:disabled):not(.disabled){background-color:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-700)}.pagination-btn:active:not(:disabled):not(.disabled){transform:scale(.95)}.pagination-btn.active{background-color:var(--color-primary-500);border-color:var(--color-primary-600);color:var(--color-white);font-weight:var(--font-weight-semibold)}.pagination-btn.active:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-700);color:var(--color-white)}.pagination-btn:disabled,.pagination-btn.disabled{background-color:var(--color-gray-50);border-color:var(--color-border-light);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.5}.pagination-btn:first-child,.pagination-btn:last-child{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);background-color:transparent;border:1px solid transparent;color:var(--color-text-tertiary);min-width:40px}.pagination-btn:first-child:hover:not(:disabled):not(.disabled),.pagination-btn:last-child:hover:not(:disabled):not(.disabled){background-color:var(--color-gray-100);border-color:var(--color-gray-200);color:var(--color-text-secondary);transform:translate(0)}.pagination-btn:first-child:hover:not(:disabled):not(.disabled){transform:translate(-2px)}.pagination-btn:last-child:hover:not(:disabled):not(.disabled){transform:translate(2px)}.pagination-btn:first-child:disabled,.pagination-btn:first-child.disabled,.pagination-btn:last-child:disabled,.pagination-btn:last-child.disabled{background-color:transparent;border-color:transparent;color:var(--color-gray-300)}.pagination-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus-visible)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-text-tertiary);font-size:var(--font-body-sm-size);user-select:none;padding:0 var(--spacing-1)}.pagination.pagination-sm .pagination-btn{min-width:32px;height:32px;padding:var(--spacing-1);font-size:var(--font-size-sm)}.pagination.pagination-sm .pagination-ellipsis{min-width:32px;height:32px;font-size:var(--font-size-sm)}.pagination.pagination-lg .pagination-btn{min-width:44px;height:44px;padding:var(--spacing-3);font-size:var(--font-body-size)}.pagination.pagination-lg .pagination-ellipsis{min-width:44px;height:44px;font-size:var(--font-body-size)}.pagination.pagination-rounded .pagination-btn{border-radius:var(--radius-circle)}.pagination.pagination-borderless .pagination-btn{border:none;background-color:transparent}.pagination.pagination-borderless .pagination-btn:hover:not(:disabled):not(.disabled){background-color:var(--color-primary-50)}.pagination.pagination-borderless .pagination-btn.active{background-color:var(--color-primary-500);color:var(--color-white)}.pagination.pagination-left{justify-content:flex-start}.pagination.pagination-right{justify-content:flex-end}.pagination-info{font-size:var(--font-body-sm-size);color:var(--color-text-secondary);margin-top:var(--spacing-2);text-align:center}.pagination-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@media(max-width:768px){.pagination{gap:var(--spacing-1)}.pagination-btn{min-width:32px;height:32px;padding:var(--spacing-1);font-size:var(--font-size-sm)}.pagination-ellipsis{min-width:24px;font-size:var(--font-size-sm)}.pagination.pagination-mobile-compact .pagination-btn:not(.active):not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)){display:none}}@media(prefers-reduced-motion:reduce){.pagination-btn{transition:none}.pagination-btn:active:not(:disabled):not(.disabled){transform:none}}.pagination-btn:focus{outline:2px solid transparent}.pagination-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-200)}.tab-navigation{display:flex;align-items:center;flex-shrink:0;gap:var(--spacing-4);margin-bottom:.75rem;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-primary);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-gray-300) transparent}.tab-navigation::-webkit-scrollbar{height:4px}.tab-navigation::-webkit-scrollbar-track{background:transparent}.tab-navigation::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}.tab-item{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;font-size:.9rem;font-weight:400;text-decoration:none;white-space:nowrap;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;position:relative;transition:color .3s ease;user-select:none;flex-shrink:0;margin:0;line-height:1}.tab-item:hover{color:var(--color-primary-500);background:var(--tertiary-color)}.tab-item.active{color:var(--color-primary-500)}.tab-item:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.tab-item svg{width:16px;height:16px;flex-shrink:0}.tab-item:not(.active) *{filter:grayscale(.7);opacity:.9}.tab-item.active *,.tab-item:hover *{filter:grayscale(0);opacity:1}.tab-underline{position:absolute;bottom:0;left:0;width:100%;height:3px;background-color:var(--color-primary-500);border-radius:var(--radius-xs) var(--radius-xs) 0 0;animation:tab-underline-appear .3s cubic-bezier(.4,0,.2,1);transform-origin:left center}@keyframes tab-underline-appear{0%{transform:scaleX(0);opacity:.7}to{transform:scaleX(1);opacity:1}}.tab-navigation.compact{gap:var(--spacing-2)}.tab-navigation.compact .tab-item{padding:.5rem .5rem .9rem;font-size:var(--font-size-sm)}.tab-navigation.compact .tab-item svg{width:14px;height:14px}.tab-navigation.centered{justify-content:center}.tab-navigation.spaced{justify-content:space-evenly}.tab-navigation.rounded-top{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.tab-navigation.no-border{border-bottom:none}@media(max-width:768px){.tab-navigation{gap:var(--spacing-2)}.tab-item{padding:.6rem .75rem;font-size:.9rem}.tab-item svg{width:15px;height:15px}}@media(max-width:480px){.tab-navigation{gap:var(--spacing-1)}.tab-item{padding:.5rem .6rem;font-size:.85rem}}@media(max-width:590px){.tab-navigation.mobile-vertical{flex-direction:column;border-bottom:none;border-radius:var(--radius-base);padding:var(--spacing-2);border:1px solid var(--color-border-light);height:auto;align-items:stretch;gap:0}.tab-navigation.mobile-vertical .tab-item{justify-content:flex-start;padding:var(--spacing-3);border-radius:var(--radius-sm);height:auto}.tab-navigation.mobile-vertical .tab-underline{display:none}.tab-navigation.mobile-vertical .tab-item.active{background:var(--color-primary-50)}}@media(prefers-reduced-motion:reduce){.tab-item{transition:none}.tab-underline{animation:none}}.list-container{display:grid;gap:var(--spacing-2-5);width:100%}.list-container-grouped{display:grid;gap:0;width:100%;border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);overflow:hidden;background:var(--color-bg-primary)}.list-item{display:flex;align-items:center;padding:var(--spacing-4);background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-card);transition:var(--transition-fast);cursor:pointer;box-shadow:var(--shadow-sm)}.list-item:hover{border-color:var(--color-primary-300);transform:translateY(-1px);box-shadow:var(--shadow-md)}.list-item.selected{border-color:var(--color-primary-500);background:var(--color-primary-50);box-shadow:var(--shadow-md)}.list-item-compact{display:flex;align-items:center;padding:var(--spacing-3);background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);transition:var(--transition-fast);cursor:pointer;box-shadow:none}.list-item-compact:hover{border-color:var(--color-primary-300);background:var(--color-gray-50)}.list-item-compact.selected{border-color:var(--color-primary-500);background:var(--color-primary-50)}.list-item-grouped{display:flex;align-items:center;padding:var(--spacing-3);background:var(--color-bg-primary);border:none;border-bottom:1px solid var(--color-border-light);border-radius:0;transition:var(--transition-fast);cursor:pointer}.list-item-grouped:last-child{border-bottom:none}.list-item-grouped:hover{background:var(--color-bg-secondary)}.list-item-grouped.selected{background:var(--color-primary-50);position:relative}.list-item-grouped.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary-500)}.list-item-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0}.list-item-content-horizontal{flex:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-3);min-width:0}.list-item-content-grid{flex:1;display:grid;gap:var(--spacing-3);align-items:center;min-width:0}.list-item-content-grid.two-columns{grid-template-columns:1fr 1fr}.list-item-content-grid.three-columns{grid-template-columns:1fr 1fr auto}.list-item-content-grid.four-columns{grid-template-columns:1fr 1fr auto auto}.list-item-info{display:flex;flex-direction:column;gap:var(--spacing-0-5);min-width:0;flex:1}.list-item-title{font-weight:var(--font-weight-semibold);font-size:var(--font-body-size);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-title-inline{font-weight:var(--font-weight-semibold);font-size:var(--font-body-size);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.list-item-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-1);flex-wrap:wrap}.list-item-status{display:flex;align-items:center;gap:var(--spacing-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.list-item-status-dot{width:var(--spacing-2-5);height:var(--spacing-2-5);border-radius:var(--radius-circle);flex-shrink:0}.list-item-badge{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.list-item-badge.primary{background:var(--color-primary-100);color:var(--color-primary-700)}.list-item-badge.success{background:var(--alert-success-bg);color:var(--alert-success-text)}.list-item-badge.warning{background:var(--alert-warning-bg);color:var(--alert-warning-text)}.list-item-badge.danger{background:var(--alert-error-bg);color:var(--alert-error-text)}.list-item-actions{display:flex;align-items:center;gap:var(--spacing-2);margin-inline-start:var(--spacing-3)}.list-item-action-btn{padding:var(--spacing-1-5) var(--spacing-2-5);background:transparent;border:1px solid var(--color-border-light);border-radius:var(--radius-base);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.list-item-action-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-text-primary)}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-text-secondary)}.list-empty-icon{margin-bottom:var(--spacing-3);color:var(--color-gray-300)}.list-empty-message{font-size:var(--font-body-size);margin-bottom:var(--spacing-1)}.list-empty-hint{font-size:var(--font-body-sm-size);color:var(--color-text-tertiary)}.list-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8) var(--spacing-4);color:var(--color-text-secondary);font-size:var(--font-body-size);gap:var(--spacing-3)}.list-loading-spinner{width:28px;height:28px;border:3px solid var(--color-gray-100);border-top-color:var(--color-primary-500);border-radius:var(--radius-circle);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.list-item,.list-item-compact{padding:var(--spacing-2-5)}.list-item-content-grid.two-columns,.list-item-content-grid.three-columns,.list-item-content-grid.four-columns{grid-template-columns:1fr;gap:var(--spacing-1-5)}.list-item-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.list-item,.list-item-compact{transition:none}.list-item:hover{transform:none}}.list-item:focus,.list-item-compact:focus{outline:none;box-shadow:var(--shadow-focus-ring)}.search-section{background:var(--color-bg-primary);padding:var(--spacing-4) var(--spacing-6);border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-3);align-items:center;flex-shrink:0}.search-container{position:relative;flex:1}.search-input{width:100%;padding:var(--spacing-3) var(--spacing-4);padding-inline-start:var(--spacing-10);border:var(--border-default);border-radius:var(--radius-input);background-color:var(--color-bg-primary);font-size:var(--font-input-size);font-family:var(--font-family-sans);color:var(--color-text-primary);transition:var(--transition-fast);outline:none}.search-input::placeholder{color:var(--color-text-disabled)}.search-input:hover{border-color:var(--color-border-medium)}.search-input:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.search-icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none;display:flex;align-items:center;justify-content:center}.search-input-compact{width:100%;padding:var(--spacing-2) var(--spacing-3);padding-inline-start:var(--spacing-8);border:var(--border-default);border-radius:var(--radius-input);background-color:var(--color-bg-primary);font-size:var(--font-body-sm-size);font-family:var(--font-family-sans);color:var(--color-text-primary);transition:var(--transition-fast);outline:none}.search-input-compact::placeholder{color:var(--color-text-disabled)}.search-input-compact:hover{border-color:var(--color-border-medium)}.search-input-compact:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus)}.search-container-compact .search-icon{left:var(--spacing-2)}.filter-container{position:relative}.filter-btn{display:flex;align-items:center;gap:var(--spacing-1-5);padding:var(--spacing-3) var(--spacing-4);background:var(--color-white);border:1px dashed var(--color-gray-300);border-radius:var(--radius-input);font-size:var(--font-body-size);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);min-width:120px;justify-content:center;color:var(--color-text-primary);height:100%}.filter-btn:hover{background:var(--color-gray-50);border-color:var(--color-primary-500);color:var(--color-primary-500)}.filter-btn.active{border-style:solid;background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-white)}.filter-btn:focus{outline:none;box-shadow:var(--shadow-focus-ring)}.filter-btn-compact{display:flex;align-items:center;gap:var(--spacing-1-5);padding:var(--spacing-2) var(--spacing-3);background:var(--color-white);border:1px dashed var(--color-gray-300);border-radius:var(--radius-input);font-size:var(--font-body-sm-size);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);min-width:100px;justify-content:center;color:var(--color-text-primary)}.filter-btn-compact:hover{background:var(--color-gray-50);border-color:var(--color-primary-500);color:var(--color-primary-500)}.filter-btn-compact.active{border-style:solid;background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-white)}.filter-btn-compact:focus{outline:none;box-shadow:var(--shadow-focus-ring)}.filter-btn-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.filter-dropdown{position:absolute;top:100%;right:0;margin-top:var(--spacing-1-5);background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;min-width:280px;animation:fadeInDown .2s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-option{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);cursor:pointer;transition:var(--transition-fast);font-size:var(--font-body-size);border-bottom:1px solid var(--color-gray-100)}.filter-option:last-child{border-bottom:none}.filter-option:hover{background:var(--color-gray-50);color:var(--color-primary-500)}.filter-option.active{background:var(--color-primary-500);color:var(--color-white)}.filter-option-text{flex:1;display:flex;flex-direction:column;gap:var(--spacing-0-5)}.filter-option-label{font-weight:var(--font-weight-medium);line-height:1.2}.filter-option-description{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.3}.filter-option.active .filter-option-description{color:rgba(255,255,255,.8)}.filter-option-count{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-gray-100);padding:var(--spacing-0-5) var(--spacing-1-5);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);align-self:flex-start;margin-top:1px}.filter-option.active .filter-option-count{background:rgba(255,255,255,.2);color:var(--color-white)}.filter-option-dot{width:var(--spacing-2-5);height:var(--spacing-2-5);border-radius:var(--radius-circle);flex-shrink:0;margin-top:2px}.selection-controls{background:var(--color-bg-secondary);padding:var(--spacing-3) var(--spacing-6);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.selection-info{font-size:var(--font-body-sm-size);color:var(--color-text-secondary)}.selection-count{font-weight:var(--font-weight-semibold);color:var(--color-primary-500);margin:0 var(--spacing-1)}.selection-actions{display:flex;gap:var(--spacing-3);align-items:center}.select-all-btn{padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-primary);border:1px solid var(--color-border-light);color:var(--color-primary-600);border-radius:var(--radius-base);font-size:var(--font-body-sm-size);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.select-all-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-700)}.select-all-btn:active{transform:scale(.98)}.select-all-btn:focus{outline:none;box-shadow:var(--shadow-focus-ring)}@media(max-width:768px){.search-section{flex-direction:column;gap:var(--spacing-3);align-items:stretch;padding:var(--spacing-3) var(--spacing-4)}.search-container{max-width:none}.filter-btn{width:100%}.selection-controls{flex-direction:column;gap:var(--spacing-3);align-items:stretch;padding:var(--spacing-2-5) var(--spacing-4)}.selection-actions{flex-direction:column}.select-all-btn{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.filter-dropdown{animation:none}.select-all-btn:active{transform:none}}.ecran{width:100%;max-width:var(--ecran-largeur-max);margin:0 auto;padding:0 var(--ecran-gouttiere) 3rem var(--ecran-gouttiere);box-sizing:border-box}.ecran-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4);padding-top:var(--ecran-retrait-haut);margin-bottom:1.25rem}.ecran-entete-texte{min-width:0}.ecran-titre{margin:0;font-size:var(--font-page-title-size);font-weight:var(--font-page-title-weight);line-height:var(--font-page-title-line-height);letter-spacing:var(--font-page-title-tracking);color:var(--text-primary)}.ecran-sous-titre{margin:.4rem 0 0;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-secondary)}.ecran-portee{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap;margin:.4rem 0 0;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-secondary)}.ecran-portee-quitter{background:none;border:none;padding:0;font:inherit;color:var(--color-primary-500, #4580d4);cursor:pointer}.ecran-portee-quitter:hover{text-decoration:underline}.ecran-entete>.btn{flex-shrink:0}.ecran-chemin{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:0;font-size:var(--font-page-title-size);font-weight:var(--font-page-title-weight);line-height:var(--font-page-title-line-height);letter-spacing:var(--font-page-title-tracking)}.ecran-chemin-etape{background:none;border:none;padding:0;font:inherit;letter-spacing:inherit;color:var(--text-primary)}.ecran-chemin-retour{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-tertiary, #a3aab5);cursor:pointer;transition:color .15s ease}.ecran-chemin-retour:hover{color:var(--text-secondary);text-decoration:underline;text-underline-offset:4px}.ecran-chemin-sep{color:var(--border-color);font-weight:400}@media(max-width:768px){:root{--ecran-gouttiere: 1rem;--ecran-retrait-haut: 1rem;--font-page-title-size: 1.375rem}}@media(max-width:440px){.ecran-entete{flex-direction:column;align-items:stretch;gap:.75rem}.ecran-entete>.btn{width:100%;justify-content:center}}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-grid{display:inline-grid}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-stretch{justify-content:stretch}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-center{align-content:center}.content-between{align-content:space-between}.content-around{align-content:space-around}.content-stretch{align-content:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.gap-0{gap:var(--spacing-0)}.gap-0-5{gap:var(--spacing-0-5)}.gap-1{gap:var(--spacing-1)}.gap-1-5{gap:var(--spacing-1-5)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-7{gap:var(--spacing-7)}.gap-8{gap:var(--spacing-8)}.gap-10{gap:var(--spacing-10)}.gap-12{gap:var(--spacing-12)}.gap-16{gap:var(--spacing-16)}.gap-x-0{column-gap:var(--spacing-0)}.gap-x-0-5{column-gap:var(--spacing-0-5)}.gap-x-1{column-gap:var(--spacing-1)}.gap-x-1-5{column-gap:var(--spacing-1-5)}.gap-x-2{column-gap:var(--spacing-2)}.gap-x-3{column-gap:var(--spacing-3)}.gap-x-4{column-gap:var(--spacing-4)}.gap-x-5{column-gap:var(--spacing-5)}.gap-x-6{column-gap:var(--spacing-6)}.gap-x-8{column-gap:var(--spacing-8)}.gap-y-0{row-gap:var(--spacing-0)}.gap-y-0-5{row-gap:var(--spacing-0-5)}.gap-y-1{row-gap:var(--spacing-1)}.gap-y-1-5{row-gap:var(--spacing-1-5)}.gap-y-2{row-gap:var(--spacing-2)}.gap-y-3{row-gap:var(--spacing-3)}.gap-y-4{row-gap:var(--spacing-4)}.gap-y-5{row-gap:var(--spacing-5)}.gap-y-6{row-gap:var(--spacing-6)}.gap-y-8{row-gap:var(--spacing-8)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-flow-row-dense{grid-auto-flow:row dense}.grid-flow-col-dense{grid-auto-flow:column dense}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-full{grid-column:1 / -1}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-4{grid-row:span 4 / span 4}.row-span-5{grid-row:span 5 / span 5}.row-span-6{grid-row:span 6 / span 6}.row-span-full{grid-row:1 / -1}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-center{place-content:center}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.center{display:flex;align-items:center;justify-content:center}.header-layout{display:flex;align-items:center;justify-content:space-between}.stack{display:flex;flex-direction:column;gap:var(--spacing-4)}.stack-tight{display:flex;flex-direction:column;gap:var(--spacing-2)}.stack-loose{display:flex;flex-direction:column;gap:var(--spacing-6)}.inline-row{display:flex;align-items:center;gap:var(--spacing-3)}.inline-row-tight{display:flex;align-items:center;gap:var(--spacing-1)}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-6)}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-6)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.visible{visibility:visible}.invisible{visibility:hidden}.d-none{display:none!important}.d-block{display:block!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.align-start{align-items:flex-start!important}.align-center{align-items:center!important}.align-end{align-items:flex-end!important}.align-stretch{align-items:stretch!important}.flex-1{flex:1!important}.gap-0{gap:0!important}.gap-1{gap:var(--spacing-1)!important}.gap-2{gap:var(--spacing-2)!important}.gap-3{gap:var(--spacing-3)!important}.gap-4{gap:var(--spacing-4)!important}.gap-6{gap:var(--spacing-6)!important}.gap-8{gap:var(--spacing-8)!important}.m-0{margin:0!important}.m-auto{margin:auto!important}.mt-0{margin-top:0!important}.mt-2{margin-top:var(--spacing-2)!important}.mt-4{margin-top:var(--spacing-4)!important}.mt-6{margin-top:var(--spacing-6)!important}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:var(--spacing-2)!important}.mb-4{margin-bottom:var(--spacing-4)!important}.mb-6{margin-bottom:var(--spacing-6)!important}.ml-auto{margin-inline-start:auto!important}.mr-auto{margin-inline-end:auto!important}.p-0{padding:0!important}.p-2{padding:var(--spacing-2)!important}.p-4{padding:var(--spacing-4)!important}.p-6{padding:var(--spacing-6)!important}.p-8{padding:var(--spacing-8)!important}.text-left{text-align:start!important}.text-center{text-align:center!important}.text-right{text-align:end!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.font-normal{font-weight:var(--font-weight-normal)!important}.font-medium{font-weight:var(--font-weight-medium)!important}.font-semibold{font-weight:var(--font-weight-semibold)!important}.font-bold{font-weight:var(--font-weight-bold)!important}.text-xs{font-size:var(--font-size-xs)!important}.text-sm{font-size:var(--font-size-sm)!important}.text-base{font-size:var(--font-size-base)!important}.text-lg{font-size:var(--font-size-lg)!important}.text-xl{font-size:var(--font-size-xl)!important}.text-2xl{font-size:var(--font-size-2xl)!important}.text-primary{color:var(--color-text-primary)!important}.text-secondary{color:var(--color-text-secondary)!important}.text-tertiary{color:var(--color-text-tertiary)!important}.text-success{color:var(--color-success-600)!important}.text-warning{color:var(--color-warning-700)!important}.text-danger{color:var(--color-danger-600)!important}.bg-primary{background-color:var(--color-primary-500)!important}.bg-success{background-color:var(--color-success-500)!important}.bg-warning{background-color:var(--color-warning-500)!important}.bg-danger{background-color:var(--color-danger-500)!important}.bg-white{background-color:var(--color-white)!important}.bg-gray-50{background-color:var(--color-gray-50)!important}.bg-gray-100{background-color:var(--color-gray-100)!important}.w-full{width:100%!important}.w-auto{width:auto!important}.h-full{height:100%!important}.h-auto{height:auto!important}.relative{position:relative!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.sticky{position:sticky!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.cursor-pointer{cursor:pointer!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-default{cursor:default!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded{border-radius:var(--radius-base)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-full{border-radius:var(--radius-full)!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.show-mobile,.hide-desktop{display:none!important}}@media print{.no-print{display:none!important}}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}html{scrollbar-width:thin}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
