@import"https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@600;700;800&family=Manrope:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--font-display: "Saira Condensed", "Impact", sans-serif;--font-body: "Manrope", "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;font-family:var(--font-body);line-height:1.5;font-weight:400;--bg-void: #e4e8f6;--bg-app: #eef1fb;--surface-1: #ffffff;--surface-2: #f3f5fd;--surface-3: #e8ecfa;--surface-4: #dde3f6;--bg-body: var(--bg-void);--bg-card: var(--surface-1);--bg-surface: var(--surface-2);--bg-subtle: var(--surface-3);--border-faint: #e9ecf6;--border: #dde1ee;--border-strong: #c7cde0;--border-light: var(--border-faint);--text-hi: #262c3f;--text-mid: #5a6178;--text-lo: #8b91a6;--text-faint: #adb3c5;--text-main: var(--text-hi);--text-secondary: var(--text-mid);--text-light: var(--text-lo);--text-muted: var(--text-faint);--accent: #3f74e0;--accent-bright: #5a8bef;--accent-dim: #2f60c8;--accent-ghost: rgba(63,116,224,.12);--accent-line: rgba(63,116,224,.4);--grad-accent: linear-gradient(180deg, #5a8bef, #3f74e0);--purple: #6c5ce7;--purple-bright: #7d6ef0;--purple-dim: #5847d8;--green: #22b57a;--green-bright: #2bc888;--green-dim: #1c9c67;--warn: #eab308;--danger: #e5484d;--on-accent: #ffffff;--primary: var(--accent);--primary-dark: var(--accent-dim);--primary-light: var(--accent-ghost);--primary-rgb: 63, 116, 224;--secondary: var(--purple);--secondary-dark: var(--purple-dim);--secondary-light: rgba(108,92,231,.1);--success: var(--green);--success-dark: var(--green-dim);--success-light: rgba(34,181,122,.12);--warning: var(--warn);--warning-dark: #c99a07;--warning-light: rgba(234,179,8,.12);--danger-dark: #d13438;--danger-light: rgba(229,72,77,.12);--accent-dark: var(--green-dim);--accent-light: var(--success-light);--palette-0: #4a7fe0;--palette-1: #7c5cfc;--palette-2: #22b57a;--palette-3: #f0913e;--palette-4: #e85c8a;--palette-5: #3fb6c9;--palette-6: #eab308;--palette-7: #e5484d;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--radius-xs: 6px;--radius: var(--radius-md);--radius-xl: var(--radius-lg);--radius-full: var(--radius-pill);--shadow-sm: 0 1px 2px rgba(30,40,80,.06);--shadow-card: 0 1px 2px rgba(30,40,80,.05), 0 6px 20px rgba(40,60,120,.08);--shadow-pop: 0 20px 50px rgba(40,60,120,.16);--glow-accent: 0 0 0 1.5px var(--accent-line), 0 6px 22px rgba(63,116,224,.2);--glow-ok: 0 0 0 1.5px rgba(34,181,122,.4), 0 6px 20px rgba(34,181,122,.18);--inset-track: inset 0 1px 2px rgba(30,40,80,.08);--shadow-xs: var(--shadow-sm);--shadow: var(--shadow-card);--shadow-lg: var(--shadow-card);--shadow-xl: var(--shadow-pop);--t-fast: all .15s ease;--t: all .25s ease;--t-slow: all .4s cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--ease-out: cubic-bezier(.2, 0, 0, 1);color-scheme:light;color:var(--text-hi);background-color:var(--bg-void);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow-x:hidden}body{position:relative;min-width:320px;min-height:100vh;background:var(--bg-void);background-attachment:fixed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes pulseMic{0%{box-shadow:0 0 #e5484d80}70%{box-shadow:0 0 0 14px #e5484d00}to{box-shadow:0 0 #e5484d00}}@keyframes pulseBlue{0%{box-shadow:0 0 #3f74e066}70%{box-shadow:0 0 0 12px #3f74e000}to{box-shadow:0 0 #3f74e000}}@keyframes socrateProgress{0%{transform:translate(-100%);width:60%}50%{transform:translate(80%);width:60%}to{transform:translate(200%);width:60%}}@keyframes bilanProgress{0%{transform:translate(-100%);width:55%}50%{transform:translate(90%);width:55%}to{transform:translate(220%);width:55%}}h1,h2,h3,h4,h5,h6{color:var(--text-hi);font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.1}h1{font-size:2.4em;font-weight:800}h2{font-size:1.5em;font-weight:700}h3{font-size:1.2em}h4{font-size:1em}p{color:var(--text-mid);line-height:1.7;font-family:var(--font-body)}a{color:var(--accent);text-decoration:none;font-weight:500;transition:var(--t-fast)}a:hover{color:var(--accent-bright)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.7em 1.4em;font-size:.95em;font-weight:600;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;background:var(--purple);color:var(--on-accent);cursor:pointer;transition:var(--t);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-card);filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{background:var(--surface-1);border:1.5px solid var(--border);color:var(--text-hi);border-radius:var(--radius-md);padding:.75em 1em;font-family:var(--font-body);font-size:1rem;transition:var(--t);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ghost)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}html.dark{--bg-void: #0C0F1A;--bg-app: #111525;--surface-1: #161C2D;--surface-2: #1A2035;--surface-3: #222940;--surface-4: #2A3347;--text-hi: #E2E8F0;--text-mid: #94A3B8;--text-lo: #64748B;--text-faint: #475569;--border-faint: #1E2437;--border: #2A3347;--border-strong: #3A4560;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-card: 0 2px 8px rgba(0,0,0,.4);--shadow-pop: 0 20px 60px rgba(0,0,0,.7);--accent-ghost: rgba(63, 116, 224, .15);--secondary-light: rgba(108, 92, 231, .12);--success-light: rgba(34, 181, 122, .12);--warning-light: rgba(234, 179, 8, .12);--danger-light: rgba(229, 72, 77, .12);color-scheme:dark;color:var(--text-hi);background-color:var(--bg-void)}html.dark body{background:var(--bg-void);color:var(--text-hi)}html.dark .navbar{background:var(--surface-1)!important;border-color:var(--border)!important;box-shadow:var(--shadow-card)!important}html.dark .sidebar{background:var(--surface-1)!important;border-color:var(--border)!important}html.dark .sidebar-item{color:var(--text-lo)!important}html.dark .sidebar-item:hover,html.dark .sidebar-item.active{background:var(--accent-ghost)!important;color:var(--accent)!important}html.dark .input-card{background:var(--surface-1)!important;box-shadow:var(--shadow-card)!important}html.dark .file-drop-area,html.dark textarea.text-input,html.dark input,html.dark select{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text-hi)!important}html.dark .quiz-header-card,html.dark .chat-bubble{background:var(--surface-1)!important;border-color:var(--border)!important}html.dark .user-bubble{background:#3f74e012!important}html.dark .action-bar{background:#161c2df5!important;border-color:var(--border)!important}html.dark .chat-zone{background:var(--surface-2)!important;border-color:var(--border)!important}html.dark .flashcard-front{background:var(--surface-1)!important;border-color:var(--border)!important}html.dark .flashcard-back{background:linear-gradient(135deg,#0d2419,#172e20)!important;border-color:#1a4a2a!important}html.dark .keyword-tag{background:var(--accent-ghost)!important;color:var(--accent)!important;border-color:#3f74e040!important}html.dark .modal-overlay{background:#000000bf!important}html.dark .app-container div[style*="background: white"],html.dark .app-container div[style*="background:white"],html.dark .app-container div[style*="background: '#fff'"],html.dark .app-container div[style*="backgroundColor: 'white'"]{background:var(--surface-1)!important;color:var(--text-hi)!important}html.dark .app-container>div>div>div[style]{border-color:var(--border)!important}html.dark h1,html.dark h2,html.dark h3,html.dark h4{color:var(--text-hi)}html.dark p{color:var(--text-mid)}html.dark .quiz-header{background:var(--surface-1)!important;border-color:var(--border)!important}@media(max-width:768px){h1{font-size:1.8em}h2{font-size:1.3em}button{padding:.6em 1.1em;font-size:.9em}}@keyframes bizPulse{0%,to{box-shadow:0 4px 16px #f59e0b24,0 0 #f59e0b4d}50%{box-shadow:0 4px 20px #f59e0b38,0 0 0 6px #f59e0b00;border-color:#eab308}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}}@keyframes pulse-mic{0%,to{box-shadow:0 4px 16px #e5484d73;transform:scale(1)}50%{box-shadow:0 4px 24px #e5484da6;transform:scale(1.03)}}@keyframes thinkingDots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.thinking-dots{display:inline-block;animation:blink 1.2s steps(3,end) infinite;letter-spacing:1px}@keyframes blink{0%{opacity:0}33%{opacity:1}66%{opacity:1}to{opacity:0}}.flashcard-scene{width:100%;height:clamp(220px,calc(100vh - 520px),420px);perspective:1200px;cursor:pointer;margin:0 auto}.flashcard-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);border-radius:var(--radius-lg)}.flashcard-card.is-flipped{transform:rotateY(180deg)}.flashcard-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px;box-sizing:border-box;text-align:center;box-shadow:var(--shadow-card)}.flashcard-front{background:var(--surface-1);border:1px solid var(--border-faint)}.flashcard-back{background:linear-gradient(135deg,#f0fdf9,#e8f5e9);border:1px solid rgba(34,181,122,.3);transform:rotateY(180deg);text-align:left;align-items:flex-start}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-void)}.navbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 28px;height:72px;background:#fff;border-bottom:1px solid var(--border-faint);z-index:1000;box-sizing:border-box;box-shadow:none;border-top:none;border-image:none}.logo{font-family:var(--font-display);font-size:1.3rem;font-weight:800;cursor:pointer;text-transform:uppercase;letter-spacing:-.01em;color:var(--text-hi);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.logo .logo-drill{color:var(--accent)}.account-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:var(--radius-pill);background:#ef5a78;color:#fff;font-family:var(--font-display);font-weight:800;font-size:.9rem;border:none;cursor:pointer;transition:var(--t-fast);box-shadow:none;padding:0 14px;text-transform:uppercase;letter-spacing:.04em}.account-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-container{width:100%;flex:1;margin-top:72px;margin-left:0;padding:32px 28px;box-sizing:border-box;display:flex;justify-content:center;align-items:flex-start;height:calc(100vh - 72px);height:calc(100dvh - 72px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.app-container::-webkit-scrollbar{display:none}.welcome-section{width:100%;max-width:960px;margin:0 auto;animation:fadeInUp .5s ease-out}.welcome-section h1{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:3rem;line-height:.98;letter-spacing:-.01em;color:var(--accent);background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset;margin-bottom:8px}.subtitle{font-family:var(--font-mono);font-size:.85rem;color:var(--text-lo);letter-spacing:.06em;text-transform:uppercase;margin-bottom:24px}.input-card{background:var(--surface-1);padding:28px;border-radius:var(--radius-md);box-shadow:var(--shadow-card);border:1px solid var(--border-faint);text-align:left;transition:box-shadow .2s ease;animation:scaleIn .4s ease-out}.input-card:hover{box-shadow:var(--shadow-card)}.input-group{margin-bottom:22px}.input-group label{display:block;font-family:var(--font-display);font-weight:700;margin-bottom:8px;color:var(--text-hi);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase}.file-drop-area{border:2px dashed var(--border);padding:36px 20px;text-align:center;border-radius:var(--radius-md);background:var(--surface-2);transition:var(--t);position:relative;overflow:hidden;cursor:pointer;z-index:1}.file-drop-area:hover{border-color:var(--accent);background:var(--accent-ghost)}textarea.text-input{width:100%;padding:18px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-body);min-height:140px;box-sizing:border-box;transition:var(--t);background:var(--surface-1);color:var(--text-hi);resize:vertical;line-height:1.6}textarea.text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ghost)}.generate-btn{width:100%;padding:15px;font-size:1rem;font-weight:700;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--on-accent);background:var(--purple);border:none;border-radius:var(--radius-md);cursor:pointer;margin-top:16px;box-shadow:0 4px 16px #6c5ce740;transition:var(--t);position:relative;z-index:50;display:flex;align-items:center;justify-content:center;gap:10px}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #6c5ce759;filter:brightness(1.08)}.generate-btn:disabled{opacity:.6;cursor:wait;transform:none}.quiz-header{display:flex;justify-content:center;gap:10px;margin-bottom:32px;flex-wrap:wrap}.quiz-header-card{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;background:var(--surface-1);border-radius:var(--radius-md);margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border-faint);gap:16px;flex-wrap:wrap;animation:slideInLeft .4s ease-out}.quiz-progress-info{display:flex;flex-direction:column;gap:4px}.quiz-progress-label{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--text-hi);text-transform:uppercase;letter-spacing:.02em}.quiz-progress-label span{color:var(--accent);font-family:var(--font-mono);font-size:1.35rem;font-weight:700}.quiz-theme-label{font-size:.84rem;color:var(--text-lo)}.quiz-theme-label strong{color:var(--text-mid);font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.quiz-scores{display:flex;gap:8px;align-items:center}.score-pill{padding:5px 14px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-weight:700;font-size:.88rem;min-width:40px;text-align:center;letter-spacing:.02em;transition:transform .15s ease}.score-pill:hover{transform:scale(1.08)}.score-pill.vert{background:var(--green);color:#fff}.score-pill.bleu{background:var(--accent);color:#fff}.score-pill.orange{background:var(--warn);color:#fff}.score-pill.rouge{background:var(--danger);color:#fff}.score-badge{padding:8px 16px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-weight:700;color:#fff;font-size:.88rem;box-shadow:var(--shadow-sm)}.chat-bubble{background:var(--surface-1);padding:28px 36px;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);text-align:left;margin-bottom:18px;border:1px solid var(--border-faint);border-left:3px solid transparent;position:relative;font-size:1rem;line-height:1.8;font-family:var(--font-body);animation:fadeInUp .35s ease-out}.user-bubble{background:var(--accent-ghost);border-left-color:var(--accent);border-color:#3f74e02e;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 3px}.ai-bubble{border-radius:var(--radius-lg) var(--radius-lg) 3px var(--radius-lg)}.bubble-label{font-family:var(--font-mono);font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-lo)}.current-question-box{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-faint)}.question-theme{font-family:var(--font-mono);font-size:.72rem;font-weight:700;color:var(--accent-bright);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.question-text{font-family:var(--font-display);font-size:1.45rem;font-weight:800;color:var(--text-hi);margin-top:6px;line-height:1.3;text-transform:uppercase;letter-spacing:-.01em}.themes-list{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.theme-tag{background:var(--accent-ghost);color:var(--accent);padding:5px 12px;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;border:1px solid rgba(63,116,224,.2)}.keyword-tag{background:var(--accent-ghost);color:var(--accent);padding:4px 12px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.78rem;font-weight:600;border:1px solid rgba(63,116,224,.2);box-shadow:none;transition:var(--t-fast);cursor:default}.keyword-tag:hover{background:var(--accent);color:#fff}.action-bar{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#fffffff5;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-faint);padding:10px 18px;border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);display:flex;gap:8px;align-items:center;z-index:1000}.navbar-nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.navbar-nav-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border:none;background:transparent;border-radius:var(--radius-md);color:var(--text-lo);font-family:var(--font-display);font-size:.9rem;font-weight:600;cursor:pointer;transition:var(--t-fast);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;box-shadow:none}.navbar-nav-btn:hover{background:var(--surface-2);color:var(--text-hi);transform:none;box-shadow:none}.navbar-nav-btn.active{background:var(--accent-ghost);color:var(--accent-bright);transform:none;box-shadow:none}.navbar-nav-icon{font-size:1.1rem;line-height:1}.logout-short{display:none}.logout-hover-btn{position:relative}.logout-hover-name{display:inline;transition:opacity .2s}.logout-hover-label,.logout-hover-btn:hover .logout-hover-name{display:none}.logout-hover-btn:hover .logout-hover-label{display:inline}@media(max-width:768px){.navbar-nav{margin-left:6px;gap:0}.navbar-nav-btn{padding:6px 8px}.navbar-nav-label{display:none}}.btn-action{padding:11px 22px;border-radius:var(--radius-md);border:none;font-family:var(--font-display);font-weight:700;font-size:.9rem;cursor:pointer;color:#fff;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:7px;background:var(--purple);box-shadow:0 3px 10px #6c5ce740;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.btn-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #6c5ce759;filter:brightness(1.08)}.btn-action:active:not(:disabled){transform:translateY(0)}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-speak{min-width:150px;background:var(--green);box-shadow:0 3px 10px #22b57a40}.btn-speak:hover:not(:disabled){box-shadow:0 6px 18px #22b57a61}.btn-speak.listening{background:var(--danger);animation:pulseMic 1.5s infinite;box-shadow:0 3px 10px #e5484d66}.btn-hint{background:var(--warn);box-shadow:0 3px 10px #eab30838}.btn-hint:hover:not(:disabled){box-shadow:0 6px 18px #eab30859}.btn-clear{background:var(--surface-1);color:var(--text-mid);border:1px solid var(--border);box-shadow:none;padding:11px 16px}.btn-clear:hover:not(:disabled){background:var(--surface-2);color:var(--text-hi);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-skip{background:var(--surface-1);color:var(--text-mid);border:1px solid var(--border);box-shadow:none;padding:11px 16px}.btn-skip:hover:not(:disabled){background:var(--surface-2);color:var(--text-hi);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-next{min-width:190px}.btn-start{min-width:190px;background:var(--green);box-shadow:0 3px 10px #22b57a47}.btn-start:hover:not(:disabled){box-shadow:0 6px 18px #22b57a66}.btn-xl{padding:13px 26px;font-size:.95rem}.spinner{display:inline-block;width:16px;height:16px;border:2.5px solid rgba(255,255,255,.4);border-radius:50%;border-top-color:#fff;animation:spin .7s linear infinite;margin-right:6px;flex-shrink:0}@media screen and (max-width:1023px){input,textarea,select{font-size:16px!important}}@media(max-width:1023px){.action-bar{bottom:16px;max-width:calc(100vw - 24px)}}@media(max-width:768px){.navbar{padding:0 12px;height:56px}.logo{font-size:.9rem}.app-container{margin-top:56px;padding:16px 12px 80px;height:calc(100vh - 56px);height:calc(100dvh - 56px)}.welcome-section h1{font-size:1.8em}.input-card{padding:20px}.action-bar{flex-wrap:wrap;gap:7px;padding:10px 14px;border-radius:var(--radius-lg)}.btn-action{padding:9px 14px;font-size:.82rem}.quiz-header-card{padding:14px 18px;flex-direction:column;align-items:flex-start;gap:10px}.chat-bubble{padding:18px 20px}.question-text{font-size:1.2rem}.navbar-user-info{display:none}.admin-metrics-detail{display:none!important}.credits-label,.logout-full{display:none}.logout-short{display:inline}.account-btn{padding:0 10px;font-size:.82rem;height:32px;min-width:32px}.home-section{padding:16px 12px!important;max-width:100%!important}.import-box{padding:16px!important}.home-section>div>div[style*=glow-accent]{flex-direction:column!important;align-items:stretch!important;gap:16px!important;padding:20px!important}.home-section>div>div[style*=glow-accent] button{width:100%!important;text-align:center!important}.home-section h1{font-size:2rem!important}.import-cards{flex-direction:column!important}.import-cards>div{min-width:0!important;width:100%!important;flex:none!important;box-sizing:border-box!important}.exercises-section,.stats-section,.profile-section,.settings-section,.mode-select-page{padding:16px 12px!important}}@media(max-width:1100px){.admin-metrics-detail{display:none!important}}.section-card{background:var(--surface-1)!important;border-radius:var(--radius-md)!important;padding:26px!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-faint)!important;margin-bottom:16px;transition:box-shadow .2s ease}.section-card:hover{box-shadow:var(--shadow-card)!important}.section-card h3{margin:0 0 16px!important;font-family:var(--font-display)!important;font-size:.82rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:var(--text-lo)!important;font-weight:700!important}.btn-difficulty{flex:1;padding:11px 8px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--surface-1);color:var(--text-lo);font-family:var(--font-display);font-weight:700;cursor:pointer;transition:var(--t);font-size:.88rem;box-shadow:none;text-transform:uppercase;letter-spacing:.03em}.btn-difficulty:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-difficulty.active-facile{border-color:var(--green)!important;background:var(--success-light)!important;color:var(--green)!important}.btn-difficulty.active-moyen{border-color:var(--warn)!important;background:var(--warning-light)!important;color:var(--warn)!important}.btn-difficulty.active-difficile{border-color:var(--danger)!important;background:var(--danger-light)!important;color:var(--danger)!important}.account-btn-danger{background:#ef5a78!important;color:#fff!important;border:none!important}.account-btn-danger:hover{filter:brightness(1.1)!important}.theme-pill{background:var(--surface-1)!important;color:var(--accent)!important;padding:10px 22px!important;border-radius:var(--radius-md)!important;font-family:var(--font-display)!important;font-size:1rem!important;font-weight:700!important;text-transform:uppercase!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-faint)!important;display:inline-block;animation:scaleIn .3s ease-out;transition:var(--t)}.theme-pill:hover{background:var(--surface-2)!important;transform:translateY(-1px);box-shadow:var(--shadow-card)!important}.followup-banner{background:#6c5ce714!important;border:1.5px solid rgba(108,92,231,.25)!important;border-radius:var(--radius-md)!important;padding:18px 22px!important;margin-bottom:18px;animation:scaleIn .3s ease-out}.followup-banner>div:first-child{font-family:var(--font-display)!important;font-size:1rem!important;font-weight:700!important;color:var(--purple)!important;text-transform:uppercase!important;margin-bottom:6px!important}.followup-banner>div:last-child{color:var(--text-mid)!important;font-size:.9rem!important}.exercise-card{background:var(--surface-1)!important;padding:18px 22px!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-faint)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:70px;transition:box-shadow .2s ease,border-color .2s ease}.exercise-card:hover{box-shadow:var(--shadow-card)!important;border-color:var(--border)!important}.stat-summary-item{background:var(--surface-1)!important;border-radius:var(--radius-md)!important;padding:20px!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-faint)!important;transition:box-shadow .2s ease}.stat-summary-item:hover{box-shadow:var(--shadow-card)!important}.stat-theme-card{background:var(--surface-1)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-faint)!important;overflow:hidden!important;transition:box-shadow .2s ease}.stat-theme-card:hover{box-shadow:var(--shadow-card)!important}.stat-theme-header{padding:16px 22px!important;background:var(--surface-2)!important;border-bottom:1px solid var(--border-faint)!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.fldr:hover{background:var(--surface-2)!important;border-color:var(--border)!important}.fldr:hover .fldr-go{color:var(--accent-bright)!important}.course-folder{background:var(--surface-1)!important;padding:14px 16px!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-faint)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;min-height:60px!important;transition:background .15s ease,border-color .15s ease!important}.course-folder:hover{background:var(--surface-2)!important;border-color:var(--border)!important}.profile-section>div[style],.settings-section>div[style]{background:var(--surface-1)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--border-faint)!important;transition:box-shadow .2s ease}.profile-section>div[style]:hover,.settings-section>div[style]:hover{box-shadow:var(--shadow-card)!important}.navbar-user-name{color:var(--text-hi)!important;font-family:var(--font-display)!important;font-weight:700!important;font-size:.92rem!important;text-transform:uppercase!important}.navbar-user-email{color:var(--text-lo)!important;font-size:.76rem!important}html.dark .section-card,html.dark .exercise-card,html.dark .stat-summary-item,html.dark .stat-theme-card{background:var(--surface-1)!important;border-color:var(--border)!important}html.dark .stat-theme-header{background:var(--surface-2)!important;border-color:var(--border)!important}html.dark .course-folder{background:var(--surface-1)!important;border-color:var(--border)!important}html.dark .theme-pill{background:var(--accent-ghost)!important;color:var(--accent)!important;border-color:#3f74e04d!important}html.dark .btn-difficulty{background:var(--surface-2)!important;border-color:var(--border)!important;color:var(--text-lo)!important}html.dark .followup-banner{background:#6c5ce71f!important;border-color:#6c5ce74d!important}html.dark .profile-section>div[style],html.dark .settings-section>div[style]{background:var(--surface-1)!important;border-color:var(--border)!important}.app-container h1,.app-container h2,.app-container h3,.app-container h4{color:var(--text-hi)!important}.app-container [style*="color: #7f8c8d"],.app-container [style*="color: #95a5a6"],.app-container [style*="color: #bdc3c7"]{color:var(--text-lo)!important}.app-container [style*="color: #3498db"]{color:var(--accent)!important}.app-container div[style*="background: white"],.app-container div[style*="background:white"],.app-container div[style*="background: '#fff'"],.app-container div[style*='background: "#fff"']{background:var(--surface-1)!important;border-color:var(--border-faint)!important}html.dark .app-container div[style*="background: white"],html.dark .app-container div[style*="background:white"]{background:var(--surface-1)!important;border-color:var(--border)!important;color:var(--text-hi)!important}.ex-tab-btn{padding:10px 25px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-lo);cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1rem;transition:var(--t);box-shadow:none;text-transform:uppercase;letter-spacing:.03em}.ex-tab-btn:hover:not(:disabled){background:var(--surface-1);color:var(--text-mid);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ex-tab-btn.active-qcm{background:var(--accent)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #3f74e04d!important}.ex-tab-btn.active-flashcards{background:var(--purple)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #6c5ce74d!important}.ex-tab-btn.active-cloze{background:var(--green)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #22b57a4d!important}.ex-tab-btn.active-correction{background:var(--warn)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #eab3084d!important}html.dark .ex-tab-btn{background:var(--surface-2)!important;color:var(--text-lo)!important;border-color:var(--border)!important}.generate-btn-purple{background:var(--purple)!important;box-shadow:0 4px 20px #6c5ce747!important}.generate-btn-purple:hover:not(:disabled){box-shadow:0 8px 28px #6c5ce76b!important}.app-container button[style*="border: 1px solid #3498db"],.app-container button[style*="border: '1px solid #3498db'"]{background:var(--surface-1)!important;border-color:var(--accent)!important;color:var(--accent)!important;border-radius:var(--radius-md)!important;box-shadow:none!important}.app-container button[style*="border: 1px solid #3498db"]:hover,.app-container button[style*="border: '1px solid #3498db'"]:hover{background:var(--accent-ghost)!important}.app-container button[style*="background: #3498db"]{background:var(--accent)!important;border-color:transparent!important;border-radius:var(--radius-md)!important;box-shadow:0 3px 10px #3f74e040!important}.app-container button[style*="background: #9b59b6"],.app-container button[style*="background: #8e44ad"]{background:var(--purple)!important;border-color:transparent!important;border-radius:var(--radius-md)!important;box-shadow:0 3px 10px #6c5ce740!important}.app-container button[style*="background: #27ae60"]{background:var(--green)!important;border-color:transparent!important;border-radius:var(--radius-md)!important}.app-container button[style*="background: #95a5a6"],.app-container button[style*="background: #34495e"],.app-container button[style*="backgroundColor: #34495e"]{background:var(--surface-2)!important;color:var(--text-mid)!important;border:1px solid var(--border)!important;box-shadow:none!important;border-radius:var(--radius-md)!important}.app-container button[style*="background: #e74c3c"]{background:var(--danger)!important;border-color:transparent!important;border-radius:var(--radius-md)!important;box-shadow:0 3px 10px #e5484d40!important}.app-container div[style*="background: #d4edda"]{background:var(--success-light)!important;border-color:var(--green)!important}.app-container div[style*="background: #f8d7da"]{background:var(--danger-light)!important;border-color:var(--danger)!important}.app-container div[style*="background: #ecf0f1"][style*="height: '6px'"],.app-container div[style*="background: #ecf0f1"][style*="height: 6px"]{background:var(--surface-3)!important}.app-container div[style*="background: #9b59b6"][style*="height: '100%'"],.app-container div[style*="background: #9b59b6"][style*="height: 100%"]{background:var(--accent)!important}.app-container div[style*="background: #e8f8f5"]{background:var(--success-light)!important;border-color:var(--green)!important}.app-container div[style*="background: #fef9e7"]{background:var(--warning-light)!important;border-color:var(--warn)!important}.app-container div[style*="background: #eaf3fb"]{background:var(--accent-ghost)!important;border-color:var(--accent)!important}[data-amplify-authenticator],.socrate-authenticator{width:100%;min-width:0}[data-amplify-router],.socrate-authenticator [data-amplify-router]{background-color:#fff!important}.amplify-authenticator__router{border-radius:var(--radius-lg)!important;border:1px solid var(--border-faint)!important;border-top:3px solid var(--accent)!important;box-shadow:var(--shadow-card)!important;background:#fff!important;overflow:hidden;min-width:min(480px,100%)}.amplify-tabs{border-bottom:1px solid var(--border-faint)!important}.amplify-tabs__item{font-family:var(--font-display)!important;font-weight:600!important;font-size:.9rem!important;color:var(--text-lo)!important;border-bottom:2px solid transparent!important;transition:var(--t)!important;text-transform:uppercase!important;letter-spacing:.04em!important}.amplify-tabs__item:hover{color:var(--accent)!important}.amplify-tabs__item[data-state=active],.amplify-tabs__item--active{color:var(--accent)!important;border-bottom-color:var(--accent)!important}.amplify-heading{font-family:var(--font-display)!important;font-weight:800!important;letter-spacing:.02em!important;color:var(--text-hi)!important;font-size:1.4rem!important;text-transform:uppercase!important}.amplify-label{font-family:var(--font-body)!important;font-weight:600!important;font-size:.88rem!important;color:var(--text-hi)!important}.amplify-input,.amplify-select{font-family:var(--font-body)!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-md)!important;background:var(--surface-1)!important;color:var(--text-hi)!important;font-size:1rem!important;transition:var(--t)!important}.amplify-input:focus,.amplify-select:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-ghost)!important;outline:none!important}.amplify-button--primary{font-family:var(--font-display)!important;font-weight:700!important;font-size:.97rem!important;border-radius:var(--radius-md)!important;border:none!important;background:var(--purple)!important;box-shadow:0 4px 16px #6c5ce740!important;transition:all .25s ease!important;letter-spacing:.04em!important;text-transform:uppercase!important}.amplify-button--primary:hover{background:var(--purple-dim)!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px #6c5ce759!important}.amplify-button--primary:active{transform:translateY(0)!important}.amplify-button--link{color:var(--accent)!important;font-family:var(--font-body)!important;font-weight:600!important;font-size:.88rem!important;background:transparent!important;box-shadow:none!important;padding:0!important}.amplify-button--link:hover{color:var(--accent-dim)!important;background:transparent!important;transform:none!important;box-shadow:none!important;text-decoration:underline!important}.amplify-text{font-family:var(--font-body)!important;color:var(--text-mid)!important;font-size:.9rem!important}.amplify-alert--error{background:var(--danger-light)!important;border-color:var(--danger)!important;border-radius:var(--radius-md)!important;color:var(--danger)!important;font-family:var(--font-body)!important;font-size:.9rem!important}.amplify-field{gap:6px!important}.amplify-field-group__outer-end .amplify-button{border-radius:0 var(--radius-md) var(--radius-md) 0!important;background:var(--surface-2)!important;border:1.5px solid var(--border)!important;border-left:none!important;color:var(--text-lo)!important;box-shadow:none!important}.amplify-field-group__outer-end .amplify-button:hover{background:var(--accent-ghost)!important;color:var(--accent)!important;transform:none!important;box-shadow:none!important}
