:root{font-family:Inter,Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--primary: #5B8EFF;--primary-dark: #4070E8;--primary-light: #EEF3FF;--primary-rgb: 91, 142, 255;--secondary: #8B5CF6;--secondary-dark: #7C3AED;--secondary-light: #F5F3FF;--accent: #14B8A6;--accent-dark: #0D9488;--accent-light: #F0FDFA;--success: #22C55E;--success-dark: #16A34A;--success-light: #F0FDF4;--warning: #F59E0B;--warning-dark: #D97706;--warning-light: #FFFBEB;--danger: #F87171;--danger-dark: #EF4444;--danger-light: #FEF2F2;--bg-body: #EEF2FF;--bg-card: #FFFFFF;--bg-surface: #F5F7FF;--bg-subtle: #EDF1FF;--text-main: #1E293B;--text-secondary: #475569;--text-light: #94A3B8;--text-muted: #CBD5E1;--border: #E2E8F0;--border-light: #F1F5F9;--shadow-xs: 0 1px 3px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 2px 8px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.04);--shadow: 0 4px 16px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.04);--shadow-lg: 0 10px 30px rgba(15,23,42,.1), 0 4px 12px rgba(15,23,42,.06);--shadow-xl: 0 20px 60px rgba(15,23,42,.14), 0 8px 20px rgba(15,23,42,.08);--radius-xs: 6px;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--t-fast: all .15s ease;--t: all .25s ease;--t-slow: all .4s cubic-bezier(.4, 0, .2, 1);color-scheme:light;color:var(--text-main);background-color:var(--bg-body);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:radial-gradient(ellipse at 15% 10%,rgba(91,142,255,.1) 0%,transparent 45%),radial-gradient(ellipse at 85% 90%,rgba(139,92,246,.07) 0%,transparent 45%),radial-gradient(ellipse at 80% 10%,rgba(20,184,166,.05) 0%,transparent 40%),#eef2ff;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 #f8717180}70%{box-shadow:0 0 0 14px #f8717100}to{box-shadow:0 0 #f8717100}}@keyframes pulseBlue{0%{box-shadow:0 0 rgba(var(--primary-rgb),.4)}70%{box-shadow:0 0 0 12px rgba(var(--primary-rgb),0)}to{box-shadow:0 0 rgba(var(--primary-rgb),0)}}@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-main);font-weight:700;letter-spacing:-.4px;line-height:1.3}h1{font-size:2.8em;letter-spacing:-.8px}h2{font-size:1.9em;letter-spacing:-.5px}h3{font-size:1.4em}h4{font-size:1.15em}p{color:var(--text-secondary);line-height:1.7}a{color:var(--primary);text-decoration:none;font-weight:500;transition:var(--t-fast)}a:hover{color:var(--primary-dark)}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.7em 1.4em;font-size:.95em;font-weight:600;font-family:inherit;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;cursor:pointer;transition:var(--t);box-shadow:var(--shadow-sm)}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}button:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-xs)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{background:var(--bg-card);border:1.5px solid var(--border);color:var(--text-main);border-radius:var(--radius-sm);padding:.75em 1em;font-family:inherit;font-size:1rem;transition:var(--t);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5b8eff26}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}html.dark{--bg-body: #0C0F1A;--bg-card: #161C2D;--bg-surface: #111525;--bg-subtle: #1A2035;--text-main: #E2E8F0;--text-secondary: #94A3B8;--text-light: #64748B;--text-muted: #475569;--border: #2A3347;--border-light: #1E2437;--shadow-xs: 0 1px 3px rgba(0,0,0,.4);--shadow-sm: 0 2px 8px rgba(0,0,0,.4);--shadow: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 10px 30px rgba(0,0,0,.6);--shadow-xl: 0 20px 60px rgba(0,0,0,.7);--primary-light: rgba(91, 142, 255, .12);--secondary-light: rgba(139, 92, 246, .12);--accent-light: rgba(20, 184, 166, .12);--success-light: rgba(34, 197, 94, .12);--warning-light: rgba(245, 158, 11, .12);--danger-light: rgba(248, 113, 113, .12);color-scheme:dark;color:var(--text-main);background-color:var(--bg-body)}html.dark body{background:var(--bg-body);color:var(--text-main)}html.dark .navbar{background:var(--bg-card)!important;border-color:var(--border)!important;box-shadow:var(--shadow)!important}html.dark .sidebar{background:var(--bg-card)!important;border-color:var(--border)!important}html.dark .sidebar-item{color:var(--text-light)!important}html.dark .sidebar-item:hover{background:#5b8eff1a!important;color:var(--primary)!important}html.dark .sidebar-item.active{background:#5b8eff26!important;color:var(--primary)!important}html.dark .input-card{background:var(--bg-card)!important;box-shadow:var(--shadow)!important}html.dark .file-drop-area,html.dark textarea.text-input,html.dark input,html.dark select{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text-main)!important}html.dark .quiz-header-card,html.dark .chat-bubble{background:var(--bg-card)!important;border-color:var(--border)!important}html.dark .user-bubble{background:#5b8eff12!important}html.dark .action-bar{background:#1a1f2ef5!important;border-color:var(--border)!important}html.dark .chat-zone{background:var(--bg-surface)!important;border-color:var(--border)!important}html.dark .flashcard-front{background:var(--bg-card)!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:#5b8eff1f!important;color:var(--primary)!important;border-color:#5b8eff40!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(--bg-card)!important;color:var(--text-main)!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-main)}html.dark p{color:var(--text-secondary)}html.dark .quiz-header{background:var(--bg-card)!important;border-color:var(--border)!important}@media(max-width:768px){h1{font-size:2em}h2{font-size:1.5em}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:#f59e0b}}@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 #f8717173;transform:scale(1)}50%{box-shadow:0 4px 24px #f87171a6;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)}.flashcard-front{background:var(--bg-card);border:1.5px solid var(--border)}.flashcard-back{background:linear-gradient(135deg,#f0fdf9,#e8f5e9);border:1.5px solid #a7f3d0;transform:rotateY(180deg);text-align:left;align-items:flex-start}#root{width:100%;min-height:100vh;display:flex;flex-direction:column;background:var(--bg-body)}.navbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 32px;height:90px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:1000;box-sizing:border-box;box-shadow:var(--shadow-sm);border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent)) 1}.logo{font-size:1.15rem;font-weight:800;cursor:pointer;text-transform:uppercase;letter-spacing:3px;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.account-btn{background:var(--primary-light);color:var(--primary-dark);padding:8px 20px;border-radius:var(--radius-full);font-weight:600;font-size:.88rem;border:1.5px solid rgba(91,142,255,.22);cursor:pointer;transition:var(--t);box-shadow:none;letter-spacing:.2px}.account-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-container{width:100%;flex:1;margin-top:90px;margin-left:0;padding:40px 28px;box-sizing:border-box;display:flex;justify-content:center;align-items:flex-start;height:calc(100vh - 64px);height:calc(100dvh - 64px);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:860px;margin:0 auto;animation:fadeInUp .5s ease-out}.welcome-section h1{font-size:2.6rem;margin-bottom:8px;background:linear-gradient(135deg,var(--text-main),var(--primary-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.1rem;color:var(--text-light);margin-bottom:40px;line-height:1.7}.input-card{background:var(--bg-card);padding:36px;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);text-align:left;transition:box-shadow .3s ease;animation:scaleIn .4s ease-out}.input-card:hover{box-shadow:var(--shadow-lg)}.input-group{margin-bottom:22px}.input-group label{display:block;font-weight:700;margin-bottom:8px;color:var(--text-main);font-size:.9rem;letter-spacing:.2px}.file-drop-area{border:2px dashed var(--border);padding:36px 20px;text-align:center;border-radius:var(--radius);background:var(--bg-surface);transition:var(--t);position:relative;overflow:hidden;cursor:pointer;z-index:1}.file-drop-area:hover{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #5b8eff14}textarea.text-input{width:100%;padding:18px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:inherit;min-height:140px;box-sizing:border-box;transition:var(--t);background:var(--bg-card);color:var(--text-main);resize:vertical;line-height:1.6}textarea.text-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b8eff1f}.generate-btn{width:100%;padding:15px;font-size:1.05rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border:none;border-radius:var(--radius);cursor:pointer;margin-top:16px;box-shadow:0 4px 20px #5b8eff47;transition:var(--t);position:relative;z-index:50;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.3px}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #5b8eff61}.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(--bg-card);border-radius:var(--radius);margin-bottom:24px;box-shadow:var(--shadow-sm);border:1px solid var(--border);gap:16px;flex-wrap:wrap;animation:slideInLeft .4s ease-out}.quiz-progress-info{display:flex;flex-direction:column;gap:4px}.quiz-progress-label{font-weight:700;font-size:1.05rem;color:var(--text-main)}.quiz-progress-label span{color:var(--primary);font-size:1.35rem;font-weight:900}.quiz-theme-label{font-size:.84rem;color:var(--text-light)}.quiz-theme-label strong{color:var(--text-secondary);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-full);font-weight:700;font-size:.88rem;min-width:40px;text-align:center;letter-spacing:.2px;transition:transform .15s ease}.score-pill:hover{transform:scale(1.08)}.score-pill.vert{background:var(--success);color:#fff}.score-pill.bleu{background:var(--primary);color:#fff}.score-pill.orange{background:var(--warning);color:#fff}.score-pill.rouge{background:var(--danger-dark);color:#fff}.score-badge{padding:8px 16px;border-radius:var(--radius-full);font-weight:700;color:#fff;font-size:.88rem;box-shadow:var(--shadow-xs)}.chat-bubble{background:var(--bg-card);padding:28px 36px;border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:left;margin-bottom:18px;border:1px solid var(--border);border-left:4px solid transparent;position:relative;font-size:1rem;line-height:1.8;animation:fadeInUp .35s ease-out}.user-bubble{background:var(--primary-light);border-left-color:var(--primary);border-color:#5b8eff2e;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) 4px}.ai-bubble{border-radius:var(--radius-lg) var(--radius-lg) 4px var(--radius-lg)}.bubble-label{font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-size:.78rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-light)}.current-question-box{margin-top:22px;padding-top:18px;border-top:1.5px dashed var(--border)}.question-theme{font-size:.78rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:6px}.question-text{font-size:1.45rem;font-weight:800;color:var(--text-main);margin-top:6px;line-height:1.5;letter-spacing:-.3px}.themes-list{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.theme-tag{background:var(--primary-light);color:var(--primary-dark);padding:5px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid rgba(91,142,255,.2)}.keyword-tag{background:var(--primary-light);color:var(--primary-dark);padding:4px 12px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;border:1px solid rgba(91,142,255,.2);box-shadow:var(--shadow-xs);transition:var(--t-fast);cursor:default}.keyword-tag:hover{background:var(--primary);color:#fff}.action-bar{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#fffffff0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);padding:10px 18px;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;gap:8px;align-items:center;z-index:1000}.navbar-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}.navbar-nav-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-light);font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--t-fast);white-space:nowrap}.navbar-nav-btn:hover{background:var(--primary-light);color:var(--primary-dark)}.navbar-nav-btn.active{background:var(--primary-light);color:var(--primary)}.navbar-nav-icon{font-size: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-full);border:none;font-weight:700;font-size:.9rem;cursor:pointer;color:#fff;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 3px 10px #5b8eff40;letter-spacing:.2px;white-space:nowrap}.btn-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #5b8eff59}.btn-action:active:not(:disabled){transform:translateY(0)}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-speak{min-width:150px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 3px 10px #14b8a640}.btn-speak:hover:not(:disabled){box-shadow:0 6px 18px #14b8a661}.btn-speak.listening{background:linear-gradient(135deg,var(--danger),var(--danger-dark));animation:pulseMic 1.5s infinite;box-shadow:0 3px 10px #f8717166}.btn-hint{background:linear-gradient(135deg,var(--warning),var(--warning-dark));box-shadow:0 3px 10px #f59e0b38}.btn-hint:hover:not(:disabled){box-shadow:0 6px 18px #f59e0b59}.btn-clear{background:var(--bg-subtle);color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:none;padding:11px 16px}.btn-clear:hover:not(:disabled){background:var(--bg-card);color:var(--text-main);border-color:var(--text-light);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-skip{background:var(--bg-subtle);color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:none;padding:11px 16px}.btn-skip:hover:not(:disabled){background:var(--bg-card);color:var(--text-main);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-next{min-width:190px}.btn-start{min-width:190px;background:linear-gradient(135deg,var(--success),var(--accent));box-shadow:0 3px 10px #22c55e47}.btn-start:hover:not(:disabled){box-shadow:0 6px 18px #22c55e66}.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;letter-spacing:2px}.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:6px 10px;font-size:.82rem}.home-section{padding:16px 12px!important}.import-box{padding:16px!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(--bg-card)!important;border-radius:var(--radius-lg)!important;padding:26px!important;box-shadow:var(--shadow)!important;border:1px solid var(--border)!important;margin-bottom:16px;transition:box-shadow .2s ease}.section-card:hover{box-shadow:var(--shadow-lg)!important}.section-card h3{margin:0 0 16px!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:1.2px!important;color:var(--text-light)!important;font-weight:700!important}.btn-difficulty{flex:1;padding:11px 8px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--bg-card);color:var(--text-light);font-weight:700;cursor:pointer;transition:var(--t);font-size:.88rem;box-shadow:none}.btn-difficulty:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-difficulty.active-facile{border-color:var(--success-dark)!important;background:var(--success-light)!important;color:var(--success-dark)!important}.btn-difficulty.active-moyen{border-color:var(--warning-dark)!important;background:var(--warning-light)!important;color:var(--warning-dark)!important}.btn-difficulty.active-difficile{border-color:var(--danger-dark)!important;background:var(--danger-light)!important;color:var(--danger-dark)!important}.account-btn-danger{background:linear-gradient(135deg,var(--danger),var(--danger-dark))!important;color:#fff!important;border-color:transparent!important}.account-btn-danger:hover{background:var(--danger-dark)!important;box-shadow:0 4px 12px #ef44444d!important}.theme-pill{background:var(--bg-card)!important;color:var(--primary)!important;padding:10px 22px!important;border-radius:var(--radius-full)!important;font-size:1rem!important;font-weight:700!important;box-shadow:var(--shadow-sm)!important;border:1.5px solid rgba(91,142,255,.3)!important;display:inline-block;animation:scaleIn .3s ease-out;transition:var(--t)}.theme-pill:hover{background:var(--primary-light)!important;transform:translateY(-1px);box-shadow:var(--shadow)!important}.followup-banner{background:var(--secondary-light)!important;border:2px solid rgba(139,92,246,.4)!important;border-radius:var(--radius)!important;padding:18px 22px!important;margin-bottom:18px;animation:scaleIn .3s ease-out}.followup-banner>div:first-child{font-size:1rem!important;font-weight:700!important;color:var(--secondary-dark)!important;margin-bottom:6px!important}.followup-banner>div:last-child{color:var(--text-secondary)!important;font-size:.9rem!important}.exercise-card{background:var(--bg-card)!important;padding:18px 22px!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border)!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)!important;border-color:#5b8eff4d!important}.stat-summary-item{background:var(--bg-card)!important;border-radius:var(--radius)!important;padding:20px!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border)!important;transition:box-shadow .2s ease}.stat-summary-item:hover{box-shadow:var(--shadow)!important}.stat-theme-card{background:var(--bg-card)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border)!important;overflow:hidden!important;transition:box-shadow .2s ease}.stat-theme-card:hover{box-shadow:var(--shadow)!important}.stat-theme-header{padding:16px 22px!important;background:linear-gradient(135deg,var(--bg-subtle),var(--bg-surface))!important;border-bottom:1px solid var(--border)!important;display:flex!important;justify-content:space-between!important;align-items:center!important}.course-folder{background:var(--bg-card)!important;padding:18px 22px!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;min-height:72px!important;transition:box-shadow .2s ease,border-color .2s ease!important}.course-folder:hover{box-shadow:var(--shadow)!important;border-color:var(--primary)!important}.profile-section>div[style],.settings-section>div[style]{background:var(--bg-card)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow)!important;border:1px solid var(--border)!important;transition:box-shadow .2s ease}.profile-section>div[style]:hover,.settings-section>div[style]:hover{box-shadow:var(--shadow-lg)!important}.navbar-user-name{color:var(--text-main)!important;font-weight:700!important;font-size:.92rem!important}.navbar-user-email{color:var(--text-light)!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(--bg-card)!important;border-color:var(--border)!important}html.dark .stat-theme-header{background:linear-gradient(135deg,var(--bg-subtle),var(--bg-surface))!important;border-color:var(--border)!important}html.dark .course-folder{background:var(--bg-card)!important;border-color:var(--border)!important}html.dark .theme-pill{background:#5b8eff1a!important;color:var(--primary)!important;border-color:#5b8eff4d!important}html.dark .btn-difficulty{background:var(--bg-surface)!important;border-color:var(--border)!important;color:var(--text-light)!important}html.dark .followup-banner{background:#8b5cf61f!important;border-color:#8b5cf64d!important}html.dark .profile-section>div[style],html.dark .settings-section>div[style]{background:var(--bg-card)!important;border-color:var(--border)!important}.app-container h1,.app-container h2,.app-container h3,.app-container h4{color:var(--text-main)!important}.app-container [style*="color: #7f8c8d"],.app-container [style*="color: #95a5a6"],.app-container [style*="color: #bdc3c7"]{color:var(--text-light)!important}.app-container [style*="color: #3498db"]{color:var(--primary)!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(--bg-card)!important;border-color:var(--border)!important}html.dark .app-container div[style*="background: white"],html.dark .app-container div[style*="background:white"]{background:var(--bg-card)!important;border-color:var(--border)!important;color:var(--text-main)!important}.ex-tab-btn{padding:10px 25px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-light);cursor:pointer;font-weight:700;font-size:1rem;transition:var(--t);box-shadow:none}.ex-tab-btn:hover:not(:disabled){background:var(--bg-card);color:var(--text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ex-tab-btn.active-qcm{background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #5b8eff4d!important}.ex-tab-btn.active-flashcards{background:linear-gradient(135deg,var(--secondary),var(--secondary-dark))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #8b5cf64d!important}.ex-tab-btn.active-cloze{background:linear-gradient(135deg,#14b8a6,#0d9488)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #14b8a64d!important}.ex-tab-btn.active-correction{background:linear-gradient(135deg,#f59e0b,#d97706)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 3px 10px #f59e0b4d!important}html.dark .ex-tab-btn{background:var(--bg-surface)!important;color:var(--text-light)!important;border-color:var(--border)!important}.generate-btn-purple{background:linear-gradient(135deg,var(--secondary),var(--secondary-dark))!important;box-shadow:0 4px 20px #8b5cf647!important}.generate-btn-purple:hover:not(:disabled){box-shadow:0 8px 28px #8b5cf66b!important}.app-container button[style*="border: 1px solid #3498db"],.app-container button[style*="border: '1px solid #3498db'"]{background:var(--bg-card)!important;border-color:var(--primary)!important;color:var(--primary)!important;border-radius:var(--radius-sm)!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(--primary-light)!important}.app-container button[style*="background: #3498db"]{background:linear-gradient(135deg,var(--primary),var(--primary-dark))!important;border-color:transparent!important;border-radius:var(--radius-sm)!important;box-shadow:0 3px 10px #5b8eff40!important}.app-container button[style*="background: #9b59b6"],.app-container button[style*="background: #8e44ad"]{background:linear-gradient(135deg,var(--secondary),var(--secondary-dark))!important;border-color:transparent!important;border-radius:var(--radius-sm)!important;box-shadow:0 3px 10px #8b5cf640!important}.app-container button[style*="background: #27ae60"]{background:linear-gradient(135deg,var(--success),var(--accent))!important;border-color:transparent!important;border-radius:var(--radius-sm)!important}.app-container button[style*="background: #95a5a6"],.app-container button[style*="background: #34495e"],.app-container button[style*="backgroundColor: #34495e"]{background:var(--bg-subtle)!important;color:var(--text-secondary)!important;border:1.5px solid var(--border)!important;box-shadow:none!important;border-radius:var(--radius-sm)!important}.app-container button[style*="background: #e74c3c"]{background:linear-gradient(135deg,var(--danger),var(--danger-dark))!important;border-color:transparent!important;border-radius:var(--radius-sm)!important;box-shadow:0 3px 10px #ef444440!important}.app-container div[style*="background: #d4edda"]{background:var(--success-light)!important;border-color:var(--success)!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(--border)!important}.app-container div[style*="background: #9b59b6"][style*="height: '100%'"],.app-container div[style*="background: #9b59b6"][style*="height: 100%"]{background:linear-gradient(90deg,var(--secondary),var(--primary))!important}.app-container div[style*="background: #e8f8f5"]{background:var(--accent-light)!important;border-color:var(--accent)!important}.app-container div[style*="background: #fef9e7"]{background:var(--warning-light)!important;border-color:var(--warning)!important}.app-container div[style*="background: #eaf3fb"]{background:var(--primary-light)!important;border-color:var(--primary)!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:20px!important;border:1px solid rgba(139,92,246,.15)!important;border-top:4px solid #6366f1!important;box-shadow:0 8px 40px #6366f124,0 2px 8px #0000000f!important;background:#fff!important;overflow:hidden;min-width:min(480px,100%)}.amplify-tabs{border-bottom:1px solid var(--border)!important}.amplify-tabs__item{font-family:inherit!important;font-weight:600!important;font-size:.9rem!important;color:var(--text-light)!important;border-bottom:2px solid transparent!important;transition:var(--t)!important}.amplify-tabs__item:hover{color:var(--primary)!important}.amplify-tabs__item[data-state=active],.amplify-tabs__item--active{color:var(--primary)!important;border-bottom-color:var(--primary)!important}.amplify-heading{font-family:inherit!important;font-weight:800!important;letter-spacing:-.4px!important;color:var(--text-main)!important;font-size:1.4rem!important}.amplify-label{font-family:inherit!important;font-weight:600!important;font-size:.88rem!important;color:var(--text-main)!important}.amplify-input,.amplify-select{font-family:inherit!important;border:1.5px solid var(--border)!important;border-radius:var(--radius-sm)!important;background:var(--bg-card)!important;color:var(--text-main)!important;font-size:1rem!important;transition:var(--t)!important}.amplify-input:focus,.amplify-select:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #5b8eff26!important;outline:none!important}.amplify-button--primary{font-family:inherit!important;font-weight:700!important;font-size:.97rem!important;border-radius:var(--radius)!important;border:none!important;background:linear-gradient(135deg,var(--primary),var(--secondary))!important;box-shadow:0 4px 20px #5b8eff47!important;transition:all .25s ease!important;letter-spacing:.2px!important}.amplify-button--primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--secondary-dark))!important;transform:translateY(-2px)!important;box-shadow:0 8px 28px #5b8eff66!important}.amplify-button--primary:active{transform:translateY(0)!important}.amplify-button--link{color:var(--primary)!important;font-family:inherit!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(--primary-dark)!important;background:transparent!important;transform:none!important;box-shadow:none!important;text-decoration:underline!important}.amplify-text{font-family:inherit!important;color:var(--text-secondary)!important;font-size:.9rem!important}.amplify-alert--error{background:var(--danger-light)!important;border-color:var(--danger)!important;border-radius:var(--radius-sm)!important;color:var(--danger-dark)!important;font-family:inherit!important;font-size:.9rem!important}.amplify-field{gap:6px!important}.amplify-field-group__outer-end .amplify-button{border-radius:0 var(--radius-sm) var(--radius-sm) 0!important;background:var(--bg-surface)!important;border:1.5px solid var(--border)!important;border-left:none!important;color:var(--text-light)!important;box-shadow:none!important}.amplify-field-group__outer-end .amplify-button:hover{background:var(--primary-light)!important;color:var(--primary)!important;transform:none!important;box-shadow:none!important}
