@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-300-normal.woff2') format('woff2')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2')}:root{--primary:#6C5CE7;--primary-light:#A29BFE;--primary-dark:#5A4BD1;--primary-glow:rgba(108, 92, 231, 0.25);--secondary:#00CEC9;--secondary-light:#81ECEC;--secondary-dark:#00B5B0;--accent:#FD79A8;--accent-light:#FDCB6E;--accent-orange:#E17055;--bg:#F8F9FE;--bg-card:#FFFFFF;--bg-input:#F1F0F7;--bg-chat-ai:#EEE8FF;--bg-chat-user:var(--primary);--text:#2D3436;--text-light:#636E72;--text-muted:#B2BEC3;--text-on-primary:#FFFFFF;--success:#00B894;--success-light:#D5F5E3;--error:#E74C3C;--error-light:#FADBD8;--warning:#F39C12;--warning-light:#FEF5E7;--radius:16px;--radius-sm:10px;--radius-lg:24px;--radius-round:50px;--shadow-sm:0 2px 8px rgba(45, 52, 54, 0.06);--shadow:0 4px 20px rgba(45, 52, 54, 0.08);--shadow-lg:0 8px 40px rgba(45, 52, 54, 0.12);--shadow-primary:0 4px 20px rgba(108, 92, 231, 0.3);--shadow-success:0 4px 20px rgba(0, 184, 148, 0.3);--shadow-error:0 4px 20px rgba(231, 76, 60, 0.3);--transition:0.3s cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:0.5s cubic-bezier(0.34, 1.56, 0.64, 1);--max-width:1100px;--header-height:70px}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-40px)}}@keyframes scaleIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}100%{opacity:1;transform:scale(1)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes typing{0%,100%,60%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}@keyframes xpPop{0%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-50px) scale(1.5)}}@keyframes streakPulse{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}.section{display:none;animation:slideInRight .4s cubic-bezier(.4,0,.2,1)}.section.active{display:block}.header{background:var(--bg-card);padding:0 24px;height:var(--header-height);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.logo-image{width:42px;height:42px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow-primary)}.logo-text{font-size:1.6rem;font-weight:700;background:linear-gradient(135deg,var(--primary),#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:0}.header-slogan{display:none;font-size:.95rem;color:var(--text-light);font-weight:500;text-align:center;flex:1}@media (min-width:800px){.header-slogan{display:block}}.header-right{display:flex;align-items:center;gap:12px}.header-action-btn{width:36px;height:36px;background:var(--bg-input);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);font-size:1.1rem;box-shadow:var(--shadow-sm);box-sizing:border-box}.header-action-btn:hover{background:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px var(--primary-glow)}.header-xp{display:flex;align-items:center;gap:8px;background:var(--bg-input);height:36px;padding:0 16px;border-radius:var(--radius-round);font-weight:600;font-size:.95rem;color:var(--primary-dark);box-sizing:border-box}.header-xp .xp-icon{font-size:1.1rem}.header-lives{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#ffe0e6,#ffd6dc);height:36px;padding:0 16px;border-radius:var(--radius-round);font-weight:700;font-size:.95rem;color:#e74c3c;position:relative;transition:var(--transition);box-sizing:border-box}.header-lives .lives-label{font-size:1.1rem}.header-lives.life-gained-anim{animation:lifeGainedPulse .8s ease}@keyframes lifeGainedPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(231,76,60,.4)}30%{transform:scale(1.15);box-shadow:0 0 20px 8px rgba(231,76,60,.3)}50%{transform:scale(1.05)}70%{transform:scale(1.1);box-shadow:0 0 15px 4px rgba(231,76,60,.15)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(231,76,60,0)}}.floating-heart{position:absolute;top:-10px;left:50%;transform:translateX(-50%);font-size:1.5rem;animation:floatHeartUp 1.5s ease forwards;pointer-events:none;z-index:10}@keyframes floatHeartUp{0%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}50%{opacity:.8;transform:translateX(-50%) translateY(-30px) scale(1.3)}100%{opacity:0;transform:translateX(-50%) translateY(-60px) scale(.8)}}.streak-badge{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;padding:8px 14px;border-radius:var(--radius-round);font-weight:700;font-size:.95rem;box-shadow:0 2px 12px rgba(255,107,53,.3)}.streak-badge.pulse{animation:streakPulse .4s ease}.container{max-width:var(--max-width);margin:0 auto;padding:32px 20px 60px}.hero{text-align:center;padding:40px 20px 24px;animation:fadeInUp .7s ease}.hero-emoji{font-size:3.5rem;margin-bottom:10px;animation:float 3s ease-in-out infinite}.hero h1{font-size:3.2rem;font-weight:800;background:linear-gradient(135deg,var(--primary),#3b82f6,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:0;margin-bottom:8px}.hero .subtitle{font-size:1.1rem;color:var(--text-light);font-weight:400;max-width:500px;margin:0 auto 6px;line-height:1.5}.hero .acronym{font-size:.85rem;color:var(--text-muted);font-weight:500}.setup-form{display:flex;flex-direction:column;gap:18px;max-width:480px;margin:0 auto;animation:fadeInUp .7s ease .2s both}.form-card{background:var(--bg-card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);transition:var(--transition);border:2px solid transparent}.form-card:focus-within{border-color:var(--primary-light);box-shadow:var(--shadow),0 0 0 4px var(--primary-glow)}.form-card .card-label{display:flex;align-items:center;gap:10px;font-weight:600;font-size:1rem;color:var(--text);margin-bottom:10px}.form-card .card-label .label-icon{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.label-icon.subject{background:#eee8ff}.label-icon.level{background:#e8fff8}.form-card input,.form-card select{width:100%;padding:13px 16px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;color:var(--text);background:var(--bg-input);transition:var(--transition);outline:0}.form-card input::placeholder{color:var(--text-muted)}.form-card input:focus,.form-card select:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.form-card select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23636E72' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}.history-section{max-width:480px;margin:32px auto 0}.history-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);padding:12px 16px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:.88rem;animation:fadeInUp .3s ease}.history-item .hi-info{display:flex;flex-direction:column;gap:2px}.history-item .hi-subject{font-weight:600;color:var(--text)}.history-item .hi-meta{color:var(--text-muted);font-size:.78rem}.history-item .hi-score{font-weight:700;font-size:1rem;color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border:none;border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;font-weight:700;cursor:pointer;transition:var(--transition);text-decoration:none;position:relative;overflow:hidden}.btn::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.15),transparent);pointer-events:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--text-on-primary);box-shadow:var(--shadow-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px rgba(108,92,231,.4)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--primary);border:2px solid var(--primary-light);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:#f3f0ff;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,var(--success),#009e7f);color:var(--text-on-primary);box-shadow:var(--shadow-success)}.btn-success:hover{transform:translateY(-2px)}.btn-block{width:100%}.btn-lg{padding:17px 36px;font-size:1.15rem;border-radius:var(--radius)}.btn-sm{padding:10px 22px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.mission-header{text-align:center;margin-bottom:28px;animation:fadeInUp .5s ease}.mission-header h2{font-size:1.8rem;font-weight:700;color:var(--text);margin-bottom:4px}.mission-header .mission-topic{color:var(--primary);font-weight:600;font-size:1.05rem}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px;animation:fadeInUp .6s ease .15s both}.mission-card{background:var(--bg-card);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow);cursor:pointer;transition:var(--transition);border:2px solid transparent;text-align:center;position:relative;overflow:hidden}.mission-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;border-radius:var(--radius) var(--radius) 0 0}.mission-card.card-blue::before{background:#3b82f6}.mission-card.card-green::before{background:var(--success)}.mission-card.card-orange::before{background:var(--accent-orange)}.mission-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.mission-card.card-blue:hover{border-color:rgba(59,130,246,.4)}.mission-card.card-green:hover{border-color:rgba(0,184,148,.4)}.mission-card.card-orange:hover{border-color:rgba(225,112,85,.4)}.mission-icon{font-size:2.6rem;margin-bottom:10px;display:block}.mission-card h3{font-size:1.1rem;font-weight:700;margin-bottom:6px}.mission-card p{font-size:.85rem;color:var(--text-light);line-height:1.5;margin-bottom:14px}.mission-card .btn{padding:9px 22px;font-size:.88rem}.game-area{animation:fadeIn .5s ease}.game-info-bar{display:flex;align-items:center;justify-content:space-between;background:var(--bg-card);border-radius:var(--radius);padding:14px 22px;box-shadow:var(--shadow-sm);margin-bottom:18px;flex-wrap:wrap;gap:10px}.game-info-item{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.93rem}.game-info-item .info-icon{font-size:1.15rem}.game-info-item .info-value{color:var(--primary);font-weight:700}.progress-container{margin-bottom:22px}.progress-bar{width:100%;height:12px;background:var(--bg-input);border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:10px;transition:width .6s cubic-bezier(.4, 0, .2, 1);position:relative}.progress-fill::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.progress-label{text-align:center;margin-top:5px;font-size:.83rem;color:var(--text-light);font-weight:500}.question-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:34px 28px;box-shadow:var(--shadow);text-align:center;margin-bottom:18px;animation:scaleIn .4s ease}.question-card.correct-flash{animation:none;box-shadow:var(--shadow),0 0 0 3px var(--success)}.question-card.wrong-flash{animation:shake .4s ease;box-shadow:var(--shadow),0 0 0 3px var(--error)}.question-number{display:inline-block;background:var(--primary-glow);color:var(--primary);font-weight:700;font-size:.83rem;padding:4px 14px;border-radius:var(--radius-round);margin-bottom:14px}.question-text{font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.5;margin-bottom:22px}.answer-input-group{display:flex;gap:12px;max-width:500px;margin:0 auto}.answer-input{flex:1;padding:15px 18px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;color:var(--text);background:var(--bg-input);transition:var(--transition);outline:0}.answer-input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.question-type-badge{display:inline-block;font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:var(--radius-round);margin-left:8px;vertical-align:middle;letter-spacing:.02em}.question-type-badge.type-vrai_faux{background:linear-gradient(135deg,#d5f5e3,#e8f8f5);color:#27ae60}.question-type-badge.type-qcm{background:linear-gradient(135deg,#eee8ff,#ddd6fe);color:var(--primary)}.question-type-badge.type-libre{background:linear-gradient(135deg,#fef9e7,#fef3cd);color:#e67e22}.answer-vf-group{display:flex;gap:16px;justify-content:center;max-width:460px;margin:0 auto}.btn-vf{flex:1;padding:20px 28px;font-size:1.15rem;font-weight:700;border:3px solid transparent;border-radius:var(--radius);cursor:pointer;transition:var(--transition-bounce);font-family:'Plus Jakarta Sans',sans-serif;position:relative;overflow:hidden}.btn-vf::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.15),transparent);pointer-events:none}.btn-vrai{background:linear-gradient(135deg,#00b894,#00a381);color:#fff;box-shadow:0 4px 18px rgba(0,184,148,.3)}.btn-vrai:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 8px 28px rgba(0,184,148,.45)}.btn-faux{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 4px 18px rgba(231,76,60,.3)}.btn-faux:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 8px 28px rgba(231,76,60,.45)}.btn-vf:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-vf.correct-choice{border-color:var(--success)!important;box-shadow:0 0 0 4px rgba(0,184,148,.25),var(--shadow-success)!important;animation:pulse .4s ease}.btn-vf.wrong-choice{border-color:var(--error)!important;box-shadow:0 0 0 4px rgba(231,76,60,.25),var(--shadow-error)!important;animation:shake .4s ease;opacity:.7}.answer-qcm-group{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:540px;margin:0 auto}.btn-qcm{display:flex;align-items:center;gap:10px;padding:16px 18px;background:var(--bg-card);border:2px solid var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;font-weight:600;color:var(--text);transition:var(--transition);text-align:left;position:relative}.btn-qcm:hover:not(:disabled){border-color:var(--primary-light);background:#f5f3ff;transform:translateY(-2px);box-shadow:var(--shadow)}.btn-qcm:active:not(:disabled){transform:translateY(0)}.qcm-letter{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--primary-glow);color:var(--primary);border-radius:8px;font-weight:700;font-size:.85rem;flex-shrink:0}.btn-qcm:disabled{cursor:not-allowed;transform:none!important}.btn-qcm.correct-choice{border-color:var(--success)!important;background:var(--success-light)!important;color:#1a7f5a;box-shadow:0 0 0 3px rgba(0,184,148,.2);animation:pulse .4s ease}.btn-qcm.correct-choice .qcm-letter{background:var(--success);color:#fff}.btn-qcm.wrong-choice{border-color:var(--error)!important;background:var(--error-light)!important;color:#a93226;box-shadow:0 0 0 3px rgba(231,76,60,.2);animation:shake .4s ease}.btn-qcm.wrong-choice .qcm-letter{background:var(--error);color:#fff}.btn-intrus{display:flex;align-items:center;padding:16px 20px;background:var(--bg-card);border:2px solid var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:500;color:var(--text);transition:var(--transition);text-align:left;position:relative;width:100%}.btn-intrus:hover:not(:disabled){border-color:var(--primary-light);background:#f5f3ff;transform:translateY(-2px);box-shadow:var(--shadow)}.btn-intrus.intrus-answer{border-color:#e67e22!important;background:#fef3e2!important;color:#b35c00;box-shadow:0 0 0 3px rgba(230,126,34,.25);animation:pulse .4s ease}.btn-intrus.intrus-picked{border-color:#3b82f6!important;background:#eff6ff!important;color:#1e40af;box-shadow:0 0 0 3px rgba(59,130,246,.2);animation:shake .4s ease}.wrong-answer-banner{margin-top:20px;padding:18px 22px;background:linear-gradient(135deg,#fff8e1,#fff3cd);border:2px solid #f0c040;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease}.wrong-answer-banner.visible{opacity:1;transform:translateY(0)}.wrong-answer-banner.exiting{opacity:0;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease}.wrong-answer-content{display:flex;align-items:center;gap:12px;text-align:left;width:100%}.wrong-answer-icon{font-size:1.8rem;flex-shrink:0}.wrong-answer-text{display:flex;flex-direction:column;gap:4px;font-size:.95rem;color:#5a4e00}.wrong-answer-text strong{font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:#8a7200}.wrong-answer-correct{font-size:1.08rem;font-weight:700;color:#2d6b22}.wrong-answer-next{align-self:flex-end;padding:10px 24px!important;font-size:.95rem!important}.paire-colonne{display:flex;flex-direction:column;gap:10px;flex:1;max-width:300px}.paire-item{padding:14px 18px;background:var(--bg-card);border:2px solid var(--bg-input);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;text-align:center;transition:var(--transition);user-select:none}.paire-item:hover:not(.matched){border-color:var(--primary-light);background:#f5f3ff}.paire-item.selected{border-color:var(--primary);background:var(--primary-glow);color:var(--primary-dark);box-shadow:var(--shadow-primary)}.paire-item.matched{border-color:var(--success);background:var(--success-light);color:var(--success);cursor:default;opacity:.8}.paire-item.error-shake{animation:shake .4s ease;border-color:var(--error);background:var(--error-light);color:var(--error)}.answer-textarea{width:100%;padding:15px 18px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:1.05rem;color:var(--text);background:var(--bg-input);transition:var(--transition);outline:0;resize:vertical}.answer-textarea:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.explique-feedback{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);text-align:left;border-left:4px solid var(--primary)}.explique-feedback h4{color:var(--primary);margin-bottom:10px;font-size:1.1rem}.explique-feedback .score{font-weight:700;font-size:1.2rem;margin-bottom:10px;color:var(--text)}.explique-feedback ul{padding-left:20px;margin-bottom:10px}.explique-feedback .encouragement{font-style:italic;color:var(--text-light)}.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:200;pointer-events:none}.feedback-badge{font-size:4rem;animation:bounceIn .5s ease}.timer-display{font-variant-numeric:tabular-nums}.timer-display.warning{color:var(--warning)!important}.timer-display.danger{color:var(--error)!important}.chat-container{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;height:60vh;min-height:420px;overflow:hidden;animation:fadeInUp .5s ease}.chat-messages{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:5px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:10px}.chat-bubble{max-width:80%;padding:13px 18px;border-radius:var(--radius);line-height:1.6;font-size:.95rem;animation:scaleIn .3s ease}.chat-bubble.ai{align-self:flex-start;background:var(--bg-chat-ai);color:var(--text);border-bottom-left-radius:4px}.chat-bubble.user{align-self:flex-end;background:var(--bg-chat-user);color:var(--text-on-primary);border-bottom-right-radius:4px}.chat-bubble .sender-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;opacity:.7}.typing-indicator{display:flex;gap:5px;padding:13px 18px;align-self:flex-start;background:var(--bg-chat-ai);border-radius:var(--radius);border-bottom-left-radius:4px}.typing-dot{width:8px;height:8px;background:var(--primary-light);border-radius:50%;animation:typing 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.chat-input-area{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--bg-input);background:var(--bg)}.chat-input{flex:1;padding:13px 16px;border:2px solid var(--bg-input);border-radius:var(--radius-round);font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;color:var(--text);background:var(--bg-card);outline:0;transition:var(--transition)}.chat-input:focus{border-color:var(--primary)}.chat-input::placeholder{color:var(--text-muted)}.chat-send-btn{width:46px;height:46px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--text-on-primary);font-size:1.15rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-primary);flex-shrink:0}.chat-send-btn:hover{transform:scale(1.08)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.score-screen{text-align:center;animation:bounceIn .6s ease;will-change:transform;transform:translateZ(0);-webkit-font-smoothing:antialiased;padding:16px 0}.score-trophy{font-size:5rem;margin-bottom:10px;animation:float 3s ease-in-out infinite}.score-title{font-size:2rem;font-weight:700;color:var(--text);margin-bottom:6px}.score-value{font-size:3.2rem;font-weight:800;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:18px}.score-details{background:var(--bg-card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);max-width:460px;margin:0 auto 22px;text-align:left}.score-detail-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--bg-input)}.score-detail-row:last-child{border-bottom:none}.score-detail-row .detail-label{color:var(--text-light);font-weight:500}.score-detail-row .detail-value{font-weight:700;color:var(--text)}.bilan-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow-lg);width:100%;margin:0 auto 30px;text-align:left;will-change:transform;transform:translateZ(0)}.bilan-card h3{font-size:1.3rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:10px}.bilan-card p,.bilan-card ul{color:var(--text);font-size:1.05rem;line-height:1.8;margin-bottom:15px;font-weight:400}.bilan-card h4{color:var(--primary);font-size:1.15rem;font-weight:700;margin:20px 0 10px}.bilan-card ul{padding-left:25px}.bilan-card ul li{margin-bottom:8px}.badges-container{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}.badge{background:var(--bg-card);border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow);text-align:center;min-width:110px;animation:bounceIn .5s ease;border:2px solid transparent}.badge.earned{border-color:var(--accent-light);background:linear-gradient(135deg,#fff9e6,#fff3cd)}.badge .badge-icon{font-size:1.8rem;margin-bottom:4px}.badge .badge-name{font-size:.78rem;font-weight:700;color:var(--text)}.badge .badge-desc{font-size:.68rem;color:var(--text-muted)}.score-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.xp-pop{position:fixed;font-size:1.3rem;font-weight:700;color:var(--success);pointer-events:none;z-index:300;animation:xpPop 1s ease forwards}.loader{text-align:center;padding:60px 20px;animation:fadeIn .3s ease}.spinner{width:48px;height:48px;border:4px solid var(--bg-input);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.loader p{color:var(--text-light);font-weight:500}.gamia-loader{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72vh;padding:40px 24px;overflow:hidden;animation:fadeIn .4s ease}.gamia-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.gamia-particle{position:absolute;font-size:1.5rem;opacity:0;animation:particleFloat var(--dur,3s) ease-in-out var(--delay,0s) infinite;user-select:none}@keyframes particleFloat{0%{opacity:0;transform:translateY(0) rotate(0) scale(.6)}15%{opacity:.85}70%{opacity:.6}100%{opacity:0;transform:translateY(-180px) rotate(360deg) scale(1.1)}}.gamia-scene{position:relative;width:180px;height:180px;display:flex;align-items:center;justify-content:center;margin-bottom:32px;z-index:1}.gamia-rocket{position:relative;font-size:4.5rem;z-index:2;animation:rocketShake .18s ease-in-out infinite alternate,rocketBob 3s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(108, 92, 231, .45));line-height:1;display:flex;flex-direction:column;align-items:center}@keyframes rocketShake{0%{transform:translateX(-2px) rotate(-3deg)}100%{transform:translateX(2px) rotate(3deg)}}@keyframes rocketBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.rocket-flames{display:flex;gap:2px;font-size:1.3rem;margin-top:-6px}.flame{animation:flicker .12s ease-in-out infinite alternate;transform-origin:top center;display:inline-block;opacity:.9}.flame-2{animation-delay:40ms;font-size:1.6rem}.flame-3{animation-delay:80ms}@keyframes flicker{0%{transform:scaleY(1) skewX(-4deg);opacity:.9}100%{transform:scaleY(.7) skewX(4deg);opacity:1}}.gamia-orbit{position:absolute;inset:0;border-radius:50%;animation:orbitSpin var(--orbit-dur,4s) linear infinite;transform-origin:center center}.gamia-orbit-1{--orbit-dur:3.2s;width:130px;height:130px;margin:auto}.gamia-orbit-2{--orbit-dur:4.5s;width:158px;height:158px;margin:auto;animation-direction:reverse}.gamia-orbit-3{--orbit-dur:6s;width:178px;height:178px;margin:auto}.gamia-orbit-4{--orbit-dur:2.8s;width:114px;height:114px;margin:auto;animation-direction:reverse}@keyframes orbitSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}.orbit-item{position:absolute;top:-14px;left:50%;transform:translateX(-50%);font-size:1.5rem;animation:orbitCounter var(--orbit-dur,4s) linear infinite;filter:drop-shadow(0 0 6px rgba(108,92,231,.4))}.gamia-orbit-2 .orbit-item,.gamia-orbit-4 .orbit-item{animation-direction:reverse}@keyframes orbitCounter{from{transform:translateX(-50%) rotate(0)}to{transform:translateX(-50%) rotate(-360deg)}}.gamia-loader-title{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:10px;z-index:1;text-align:center}.gamia-loader-msg{font-size:1rem;color:var(--text-light);font-weight:500;text-align:center;min-height:1.6em;margin-bottom:28px;z-index:1;transition:opacity .35s ease;padding:0 20px;line-height:1.5}.gamia-loader-msg.fade-out{opacity:0}.gamia-loader-msg.fade-in{opacity:1}.gamia-progress-track{width:min(340px,85vw);height:8px;background:var(--bg-input);border-radius:100px;overflow:hidden;z-index:1}.gamia-progress-bar{height:100%;width:0%;border-radius:100px;background:linear-gradient(90deg,var(--primary),var(--secondary,#00cec9),var(--primary));background-size:200% 100%;animation:progressShimmer 1.5s linear infinite;transition:width .4s ease}@keyframes progressShimmer{0%{background-position:200% center}100%{background-position:0 center}}#confettiCanvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:250}.hidden{display:none!important}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-2{margin-bottom:16px}.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--text-light);text-decoration:none;font-weight:600;font-size:.9rem;padding:8px 0;cursor:pointer;transition:var(--transition);background:0 0;border:none;font-family:'Plus Jakarta Sans',sans-serif;margin-bottom:14px}.back-btn:hover{color:var(--primary)}.game-mode-label{display:inline-block;background:linear-gradient(135deg,var(--primary-glow),rgba(0,206,201,.15));color:var(--primary);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:var(--radius-round);margin-bottom:12px}.lives-display{display:flex;gap:4px;align-items:center}.life-heart{font-size:1.3rem;transition:var(--transition)}.life-heart.lost{opacity:.2;transform:scale(.8)}.player-profile{display:flex;align-items:center;gap:8px;background:#fff;height:36px;padding:0 16px;border-radius:var(--radius-round);font-weight:700;font-size:.9rem;color:var(--primary-dark);border:1px solid var(--primary-light);box-sizing:border-box;box-shadow:0 4px 10px rgba(0,0,0,.05);transition:var(--transition)}.player-profile:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(0,0,0,.1);border-color:var(--primary)}.player-avatar{font-size:1.2rem}.player-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.challenger-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:20px}.challenger-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:40px 36px;box-shadow:var(--shadow-lg);text-align:center;max-width:460px;width:100%;animation:scaleIn .5s ease;border:2px solid transparent;position:relative;overflow:hidden}.challenger-card::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent-orange),var(--accent),var(--primary))}.challenger-emoji{font-size:3rem;margin-bottom:8px;animation:float 3s ease-in-out infinite}.challenger-card h2{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:18px}.challenger-avatar{font-size:4rem;margin-bottom:8px;animation:bounceIn .6s ease .2s both}.challenger-name{font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--accent-orange),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px}.challenger-stats{display:flex;justify-content:center;gap:16px;margin-bottom:18px}.challenger-stats .stat{display:flex;align-items:center;gap:6px;background:var(--bg-input);padding:10px 18px;border-radius:var(--radius-round);font-weight:700;font-size:1rem;color:var(--text)}.challenger-stats .stat-icon{font-size:1.15rem}.challenger-dare{font-size:1.05rem;color:var(--text-light);font-weight:500;margin-bottom:24px;line-height:1.5}.player-name-input{margin-bottom:20px}.player-name-input label{display:block;font-weight:600;font-size:.95rem;color:var(--text);margin-bottom:8px}.player-name-input input{width:100%;padding:13px 16px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;color:var(--text);background:var(--bg-input);transition:var(--transition);outline:0;text-align:center}.player-name-input input:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.preload-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.85rem;color:var(--text-muted);font-weight:500}.mini-spinner{width:16px;height:16px;border:2px solid var(--bg-input);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.challenger-timer{font-variant-numeric:tabular-nums}.challenger-timer.time-exceeded{color:var(--error)!important;animation:pulse 1s ease infinite}.challenger-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease}.challenger-overlay.hidden{display:none}.challenger-overlay-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:40px 36px;max-width:460px;width:90%;text-align:center;box-shadow:var(--shadow-lg);animation:bounceIn .5s ease}.challenger-overlay-content .overlay-emoji{font-size:4rem;margin-bottom:12px;display:block}.challenger-overlay-content .overlay-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:10px}.challenger-overlay-content .overlay-message{font-size:1rem;color:var(--text-light);line-height:1.6;margin-bottom:24px}.challenger-overlay-content .overlay-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@keyframes challengerVictoryPulse{0%{box-shadow:var(--shadow-lg),0 0 0 0 rgba(0,184,148,.5)}50%{box-shadow:var(--shadow-lg),0 0 0 15px rgba(0,184,148,0)}100%{box-shadow:var(--shadow-lg),0 0 0 0 rgba(0,184,148,0)}}.challenger-overlay-content.victory{border:3px solid var(--success);animation:bounceIn .5s ease,challengerVictoryPulse 1.5s ease .5s 2}.challenger-overlay-content.time-up{border:3px solid var(--warning)}.mission-done-badge{position:absolute;top:10px;right:10px;background:linear-gradient(135deg,var(--success),#009e7f);color:#fff;padding:4px 10px;border-radius:var(--radius-round);font-size:.75rem;font-weight:700;animation:bounceIn .4s ease}.mission-card.mission-completed{border-color:var(--success)!important;opacity:.85}.mission-card.mission-completed::after{content:'';position:absolute;inset:0;background:rgba(0,184,148,.05);border-radius:var(--radius);pointer-events:none}.mission-progress-container{background:var(--bg-card);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-top:18px;animation:fadeInUp .5s ease .3s both}.mission-progress-title{font-size:1rem;font-weight:700;margin-bottom:14px}.mission-progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.mission-progress-item{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;transition:var(--transition)}.mission-progress-item.done{background:var(--success-light);color:var(--success)}.mission-progress-item.pending{background:var(--bg-input);color:var(--text-muted)}.mp-icon{font-size:1.1rem}.mp-label{flex:1}.mp-status{font-weight:700;font-size:.8rem}.mission-progress-total{text-align:center;padding:12px;background:linear-gradient(135deg,#eee8ff,#ddd6fe);border-radius:var(--radius-sm);font-size:.95rem;color:var(--primary-dark)}.app-footer{text-align:center;padding:24px;font-size:.85rem;color:var(--text-light);border-top:1px solid rgba(0,0,0,.05);margin-top:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;align-items:center;background-color:transparent}.app-footer a{color:var(--primary);text-decoration:none;font-weight:500;transition:var(--transition)}.app-footer a:hover{color:var(--primary-dark);text-decoration:underline}.app-footer .separator{color:var(--text-light)}.modes-container{display:flex;flex-direction:column;gap:30px;animation:fadeInUp .6s ease .15s both}.mode-panel{background:var(--bg-card);border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow);border:2px solid transparent}.revision-panel{border-color:rgba(108,92,231,.15)}.mission-panel{border-color:rgba(253,121,168,.2);background:linear-gradient(to bottom right,#fff,#fff5f8)}.panel-title{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:5px}.panel-desc{font-size:.95rem;color:var(--text-light);margin-bottom:8px}.panel-desc-sub{font-size:.85rem;color:var(--primary);font-weight:600;margin-bottom:16px;opacity:.85}.mission-panel-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-bottom:20px}.global-lives-tracker{background:var(--bg-card);padding:10px 20px;border-radius:var(--radius-round);font-size:1.2rem;font-weight:700;color:var(--error);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:8px;border:2px solid var(--error-light)}.mini-games-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:25px}.mini-card{padding:20px 15px}.mini-card h4{font-size:1.05rem;margin-bottom:5px}.card-status{display:inline-block;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-sm);margin-top:10px}.status-todo{background:var(--bg-input);color:var(--text-muted)}.status-success{background:var(--success-light);color:var(--success)}.status-failed{background:var(--error-light);color:var(--error)}.final-challenge-box{background:#fff;border:2px solid var(--accent);border-radius:var(--radius);padding:25px;text-align:center;box-shadow:var(--shadow-sm)}.final-challenge-box h3{color:var(--accent);font-size:1.4rem;margin-bottom:10px}.final-challenge-box p{color:var(--text-light);font-size:.95rem;margin-bottom:20px}.flashcard-container{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.flashcard{perspective:1000px;width:100%;max-width:500px;height:250px}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s cubic-bezier(.4, 0, .2, 1);transform-style:preserve-3d}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-back,.flashcard-front{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-lg);padding:30px;box-shadow:var(--shadow)}.flashcard-front{background:linear-gradient(135deg,var(--bg-card),var(--bg-input));border:2px solid var(--primary-light)}.flashcard-back{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;transform:rotateY(180deg)}.flashcard-icon{font-size:2.5rem;margin-bottom:15px}.flashcard-front p{font-size:1.25rem;font-weight:700;color:var(--text)}.flashcard-back p{font-size:1.5rem;font-weight:700;margin-bottom:15px}.flashcard-result-msg{font-size:1.1rem;font-weight:600;background:rgba(255,255,255,.2);padding:5px 15px;border-radius:var(--radius-sm)}.flashcard-input-group{display:flex;gap:12px;width:100%;max-width:500px}.profile-bilans-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.bilans-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;text-align:center;color:var(--text-muted);background:rgba(255,255,255,.03);border-radius:var(--radius);border:1px dashed rgba(255,255,255,.12)}.bilans-empty-icon{font-size:2.4rem;display:block}.bilans-empty p{font-size:.9rem;line-height:1.6;margin:0}.bilan-history-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);overflow:hidden;transition:border-color .2s}.bilan-history-card:hover{border-color:rgba(255,255,255,.22)}.bilan-history-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 16px;cursor:pointer;user-select:none;transition:background .15s}.bilan-history-header:hover{background:rgba(255,255,255,.05)}.bilan-history-meta{display:flex;flex-direction:column;gap:3px}.bilan-history-sujet{font-weight:700;font-size:.95rem;color:var(--text-primary)}.bilan-history-mode{font-size:.75rem;color:var(--primary);font-weight:600;background:rgba(var(--primary-rgb,99,102,241),.12);padding:2px 8px;border-radius:20px;width:fit-content}.bilan-history-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bilan-history-score{font-size:.85rem;font-weight:600;color:#fbbf24}.bilan-history-date{font-size:.78rem;color:var(--text-muted)}.bilan-history-chevron{font-size:1rem;color:var(--text-muted);transition:transform .25s;display:inline-block;flex-shrink:0}.bilan-history-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.bilan-history-card.open .bilan-history-body{max-height:1000px}.bilan-history-card.open .bilan-history-chevron{transform:rotate(180deg)}.bilan-history-content{padding:0 16px 16px;font-size:.88rem;line-height:1.7;color:var(--text-secondary);border-top:1px solid rgba(255,255,255,.07);padding-top:14px;margin-top:0}.bilan-history-content h4{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:10px 0 6px}.bilan-history-content ul{padding-left:18px;margin:6px 0}.bilan-history-content li{margin-bottom:4px}.bilan-history-content blockquote{border-left:3px solid var(--primary);padding-left:12px;margin:8px 0;color:var(--text-muted);font-style:italic}.ai-warning-content{max-width:480px}.ai-warning-body{text-align:left;margin-bottom:20px}.ai-warning-highlight{margin-top:12px;font-weight:700;color:var(--primary);padding:12px;background:var(--primary-glow);border-radius:var(--radius-sm)}.ai-warning-checkbox-wrapper{display:flex;align-items:flex-start;gap:12px;margin-bottom:24px;text-align:left;background:var(--bg-input);padding:16px;border-radius:var(--radius-sm);border:2px solid transparent;transition:var(--transition)}.ai-warning-checkbox-wrapper input[type=checkbox]{width:24px;height:24px;cursor:pointer;margin-top:2px;flex-shrink:0}.ai-warning-checkbox-wrapper label{cursor:pointer;font-size:.95rem;line-height:1.4;font-weight:600}.ai-warning-checkbox-wrapper:has(input:checked){border-color:var(--primary-light);background:#fff}@media (min-width:450px) and (max-width:700px){.mission-grid{grid-template-columns:repeat(2,1fr)}.mini-games-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.hero h1{font-size:2.4rem}.question-text{font-size:1.1rem}.answer-input-group{flex-direction:column}.flashcard-input-group{flex-direction:column}.answer-qcm-group{grid-template-columns:1fr}.answer-vf-group{flex-direction:column;gap:10px}.btn-vf{padding:16px 20px;font-size:1.05rem}.score-value{font-size:2.5rem}.score-actions{flex-direction:column}.mission-progress-grid{grid-template-columns:1fr}.challenger-stats{flex-direction:column;gap:8px}.container{padding:20px 16px 40px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.game-info-bar{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;padding:10px 14px}.game-info-item{font-size:.82rem;gap:4px}.flashcard{height:180px;max-width:100%}.flashcard-back,.flashcard-front{padding:18px 16px}.flashcard-icon{font-size:1.8rem;margin-bottom:8px}.flashcard-front p{font-size:1.05rem}.flashcard-back p{font-size:1.15rem;margin-bottom:10px}.flashcard-result-msg{font-size:.9rem;padding:4px 10px}.flashcard-container{gap:12px}.chat-container{height:55dvh;min-height:300px;max-height:calc(100dvh - 220px)}.chat-messages{padding:14px;gap:10px}.chat-bubble{max-width:88%;padding:10px 14px;font-size:.9rem}.chat-input-area{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.chat-input{padding:11px 14px;font-size:.9rem}.chat-send-btn{width:42px;height:42px;font-size:1rem}.answer-paires-group{flex-direction:column!important;gap:12px!important}.paire-colonne{max-width:100%}.paire-colonne:first-child::after{content:'⬇ Associe avec ⬇';display:block;text-align:center;padding:6px 0;color:var(--text-muted);font-size:.8rem;font-weight:600}.paire-item{padding:12px 14px;font-size:.9rem}.question-card{padding:22px 18px;border-radius:var(--radius)}.question-number{font-size:.78rem;padding:3px 12px;margin-bottom:10px}.wrong-answer-banner{padding:14px 16px;gap:10px}.wrong-answer-icon{font-size:1.4rem}.wrong-answer-text{font-size:.88rem}.header{padding:0 12px;height:auto;min-height:56px;flex-wrap:nowrap;gap:8px}.logo-image{width:32px;height:32px}.logo-text{font-size:1.25rem}.header-right{gap:5px;flex-shrink:0}.header-xp{padding:6px 10px;font-size:.82rem;gap:4px}.header-lives{padding:6px 10px;font-size:.82rem;gap:4px}.streak-badge{padding:6px 9px;font-size:.82rem;gap:3px}.header-action-btn{width:34px;height:34px;font-size:1rem;border-radius:10px}.player-name{display:none}.player-profile{gap:0;padding:0 10px}.player-avatar{font-size:1.4rem}.mode-panel{padding:20px 16px}.panel-title{font-size:1.25rem}.final-challenge-box{padding:18px}.final-challenge-box h3{font-size:1.15rem}.bilan-card{padding:20px 16px}.bilan-card h3{font-size:1.1rem}.bilan-card p,.bilan-card ul{font-size:.95rem;line-height:1.6}.app-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.score-trophy{font-size:3.5rem}.score-title{font-size:1.6rem}.score-details{padding:16px}.modal-content{width:95%;padding:24px 18px;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-title{font-size:1.2rem}.modal-text{font-size:.9rem}#aiWarningCheckboxContainer{padding:12px!important;gap:8px!important;margin-bottom:16px!important}#aiWarningCheckboxContainer label{font-size:.85rem!important}.ai-warning-highlight{padding:10px!important;font-size:.85rem!important;margin-top:8px!important}.ai-warning-body{margin-bottom:12px!important}#aiWarningCheckbox{width:20px!important;height:20px!important;flex-shrink:0}.profile-modal-content{max-height:90dvh;overflow-y:auto}.tutorial-modal-content{padding:20px 16px;max-height:90dvh;overflow-y:auto}.profile-header{padding:20px 16px}.profile-avatar-large{width:90px;height:90px;font-size:60px;border-radius:18px}.pseudo-input-wrapper input{font-size:1.5rem}}@media (max-width:449px){.mission-grid{grid-template-columns:1fr}.mini-games-row{grid-template-columns:1fr}}@media (max-width:400px){.hero h1{font-size:2rem}.container{padding:14px 10px 32px}.question-card{padding:18px 14px}#aiWarningModal .modal-content{padding:16px 14px!important}#aiWarningModal .modal-icon{font-size:2.5rem!important;margin-bottom:8px!important}#aiWarningModal .btn-lg{padding:12px 20px!important;font-size:1rem!important}#aiWarningCheckboxContainer label{font-size:.8rem!important}.flashcard{height:150px}.flashcard-front p{font-size:.95rem}.flashcard-back p{font-size:1rem}.header{padding:6px 8px;gap:4px;flex-wrap:wrap;height:auto;min-height:auto}.logo{flex-shrink:0}.logo-text{font-size:1.1rem}.header-right{flex:1;justify-content:flex-end;gap:4px}.header-lives .lives-label+*{display:none}.header-xp{padding:5px 8px;font-size:.78rem}.header-lives{padding:5px 8px;font-size:.78rem}.header-action-btn{width:30px;height:30px;font-size:.9rem;border-radius:8px}.chat-container{height:50dvh;min-height:260px}.chat-bubble{max-width:92%;padding:8px 12px;font-size:.85rem}}@media (max-width:700px){.answer-input-group .answer-input:focus,.answer-textarea:focus,.chat-input:focus,.flashcard-input-group .answer-input:focus{scroll-margin-bottom:20px}.game-area{overflow-y:visible}#btnNextFlashcard{margin-bottom:16px;scroll-margin-bottom:20px}.game-mode-label{font-size:.75rem;padding:4px 12px;margin-bottom:8px}.progress-bar{height:8px}.progress-label{font-size:.78rem}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}#gamiaModal{z-index:2000}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:30px;max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-lg);transform:scale(.9);transition:transform .3s cubic-bezier(.34, 1.56, .64, 1)}.modal-overlay.active .modal-content{transform:scale(1)}.modal-icon{font-size:3.5rem;margin-bottom:15px;animation:bounceIn .6s ease}.modal-title{font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:10px}.modal-text{font-size:1rem;color:var(--text-light);margin-bottom:20px;line-height:1.5}.life-heart{font-size:1.2rem;margin-left:3px;display:inline-block;transition:transform .3s var(--transition-bounce);vertical-align:middle}.life-heart.lost{opacity:.4;filter:grayscale(1);transform:scale(.9)}.profile-modal-content{max-width:800px;width:95%;max-height:90vh;padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--bg-card);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:scaleIn .3s ease-out}.profile-header{padding:30px;background:linear-gradient(135deg,#fff,#f8faff);border-bottom:2px solid #f1f5f9;flex-shrink:0}.profile-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.profile-user-data{flex:1}.profile-user-data .form-group{margin-bottom:5px}.profile-user-data label{display:block;font-weight:800;font-size:.75rem;color:var(--primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.pseudo-input-wrapper{position:relative;display:flex;align-items:center}.pseudo-input-wrapper input{width:100%;font-size:2rem;font-weight:800;color:var(--text);background:0 0;border:1px solid transparent;padding:5px 40px 5px 0;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;transition:var(--transition)}.pseudo-input-wrapper input:focus{background:#fff;border-color:var(--primary-light);padding-left:10px;box-shadow:var(--shadow-sm);outline:0}.edit-icon{position:absolute;right:10px;font-size:1.2rem;opacity:.5;pointer-events:none}.profile-subtitle{color:var(--text-light);font-size:.95rem;font-weight:500}.profile-avatar-container{position:relative;cursor:pointer;transition:var(--transition);flex-shrink:0}.profile-avatar-container:hover .profile-avatar-large{transform:scale(1.05);box-shadow:var(--shadow-lg);border-color:var(--primary-light)}.profile-avatar-large{font-size:80px;background:linear-gradient(135deg,var(--bg-input),#fff);width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:24px;box-shadow:var(--shadow);border:4px solid #fff;transition:var(--transition)}.avatar-edit-hint{position:absolute;bottom:-8px;right:-8px;background:var(--primary);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(108,92,231,.4);border:3px solid #fff;font-size:1.1rem;transition:var(--transition-bounce)}.profile-avatar-container:hover .avatar-edit-hint{transform:scale(1.2) rotate(15deg)}.profile-header-footer{display:flex;justify-content:flex-end;margin-top:15px}.emoji-picker-container{margin-top:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:inset 0 2px 4px rgba(0,0,0,.02);animation:slideInUp .3s ease-out}@keyframes slideInUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.picker-header label{font-weight:700;font-size:.85rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.picker-close{background:0 0;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-muted);line-height:1}.emoji-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px}.emoji-btn{font-size:1.4rem;background:#fff;border:1px solid #e2e8f0;width:38px;height:38px;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.emoji-btn:hover{transform:translateY(-2px);border-color:var(--primary);background:var(--primary-glow)}.emoji-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.profile-badges-section{padding:25px;border-bottom:1px solid #e2e8f0}.profile-badges-section h3{margin-top:0;margin-bottom:5px;font-size:18px;color:var(--text-main);text-align:center}.badges-hint{font-size:12px;color:var(--text-light);text-align:center;margin-bottom:20px}.profile-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:15px}.badge-item{background:#f8fafc;border-radius:12px;padding:15px 10px;text-align:center;transition:var(--transition);border:2px solid transparent;opacity:.5;filter:grayscale(1)}.badge-item.earned{opacity:1;filter:none;background:#fff;border-color:#e2e8f0;box-shadow:0 4px 6px -1px rgba(0,0,0,.05)}.badge-item:hover.earned{transform:translateY(-3px);border-color:var(--primary)}.badge-icon-large{font-size:32px;margin-bottom:8px}.badge-name-small{font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:4px}.badge-status{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;color:var(--text-light)}.badge-item.earned .badge-status{color:#10b981}.profile-info-section{padding:25px;background:#f1f5f9}.profile-info-section h3{margin-top:0;margin-bottom:15px;font-size:18px;color:var(--text-main)}.badge-rules{margin:0;padding-left:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.badge-rules li{font-size:13px;color:var(--text-main);position:relative;padding-left:15px}.badge-rules li::before{content:'→';position:absolute;left:0;color:var(--primary);font-weight:700}@media (max-width:600px){.badge-rules{grid-template-columns:1fr}}.modal-close-btn{position:absolute;top:15px;right:15px;background:rgba(0,0,0,.05);border:none;font-size:24px;width:32px;height:32px;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.modal-close-btn:hover{background:var(--error);color:#fff}.profile-modal-body{padding:25px;overflow-y:auto;flex:1}.profile-modal-body::-webkit-scrollbar{width:8px}.profile-modal-body::-webkit-scrollbar-track{background:#f1f5f9}.profile-modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.profile-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.btn-toggle-rules{background:0 0;border:none;color:var(--primary);font-weight:600;cursor:pointer;padding:10px 0;display:block;width:100%;text-align:left}.hidden{display:none}.profile-section{margin-bottom:30px}.profile-section h3{font-size:1.1rem;margin-bottom:20px;color:var(--primary-dark)}.pseudo-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.pseudo-input-wrapper input{transition:var(--transition)}.emoji-picker{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.emoji-btn{font-size:1.5rem;width:44px;height:44px;border:2px solid transparent;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4, 0, .2, 1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.06)}.emoji-btn:hover{transform:translateY(-2px);background:#f8fafc;border-color:#e2e8f0}.emoji-btn.active{border-color:var(--primary);background:var(--primary-glow);box-shadow:0 4px 12px var(--primary-glow);transform:translateY(-2px) scale(1.05)}.profile-badges-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.badge-item{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius);padding:15px 10px;text-align:center;transition:var(--transition);position:relative;overflow:hidden}.badge-item.locked{background:#f1f5f9;filter:grayscale(1);opacity:.7}.badge-item.earned{border-color:#fbbf24;background:linear-gradient(135deg,#fffbeb,#fef3c7);box-shadow:0 4px 12px rgba(251,191,36,.1)}.badge-icon-large{font-size:2.2rem;margin-bottom:8px}.badge-name-small{font-weight:700;font-size:.8rem;color:var(--text);margin-bottom:4px}.badge-status{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.badge-item.earned .badge-status{color:#d97706}.btn-toggle-rules{background:0 0;border:none;color:var(--primary);font-weight:700;font-size:.9rem;cursor:pointer;padding:10px;width:100%}.btn-toggle-rules:hover{text-decoration:underline}@media (max-width:600px){.profile-badges-grid{grid-template-columns:repeat(2,1fr)}}.tutorial-modal-content{max-width:650px;padding:30px;max-height:90vh;overflow-y:auto}.tutorial-header{text-align:center;margin-bottom:25px}.tutorial-icon-large{font-size:3rem;margin-bottom:10px;animation:float 3s ease-in-out infinite}.tutorial-subtitle{color:var(--text-light);font-size:.95rem}.tutorial-section{margin-bottom:28px;text-align:left}.tutorial-section h3{font-size:1.15rem;margin-bottom:15px;display:flex;align-items:center;gap:10px;color:var(--primary-dark)}.tutorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.tutorial-card{background:var(--bg-input);padding:16px;border-radius:var(--radius-sm);border:1px solid rgba(0,0,0,.05)}.tutorial-card h4{font-size:.95rem;margin-bottom:8px;color:var(--text)}.tutorial-card p{font-size:.85rem;color:var(--text-light);line-height:1.5}.tutorial-card.highlight{background:linear-gradient(135deg,#fff5f7,#ffe8ec);border:1.5px solid var(--accent)}.legend-container{display:flex;flex-direction:column;gap:12px}.legend-item{display:flex;align-items:flex-start;gap:15px}.legend-color{width:24px;height:24px;border-radius:6px;flex-shrink:0;margin-top:4px}.legend-text strong{display:block;font-size:.95rem;margin-bottom:2px}.legend-text p{font-size:.85rem;color:var(--text-light);line-height:1.4}.legend-color.card-blue{background:#3b82f6}.legend-color.card-green{background:var(--success)}.legend-color.card-orange{background:var(--accent-orange)}.tutorial-tip{margin-top:20px;background:var(--warning-light);padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;border-left:4px solid var(--warning)}@media (max-width:500px){.tutorial-grid{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.back-btn:focus-visible,.btn-toggle-rules:focus-visible,.btn:focus-visible,.chat-send-btn:focus-visible,.emoji-btn:focus-visible,.header-action-btn:focus-visible,.mission-card:focus-visible,.modal-close-btn:focus-visible,.picker-close:focus-visible,.player-profile:focus-visible,[role=button]:focus-visible{outline:3px solid var(--primary);outline-offset:3px;box-shadow:0 0 0 6px var(--primary-glow)!important}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}#aiWarningCheckbox{appearance:none;background-color:#fff;margin:0;font:inherit;color:var(--primary);min-width:24px;width:24px;height:24px;border:2px solid var(--text-muted);border-radius:6px;display:grid;place-content:center;transition:var(--transition);cursor:pointer}#aiWarningCheckbox::before{content:"";width:14px;height:14px;transform:scale(0);transition:120ms transform ease-in-out;box-shadow:inset 1em 1em var(--primary);background-color:CanvasText;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}#aiWarningCheckbox:checked::before{transform:scale(1)}#aiWarningCheckbox:checked{border-color:var(--primary);background:#fff}#aiWarningCheckbox:focus{box-shadow:0 0 0 3px var(--primary-glow)}.bilan-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 20px;text-align:center}.robot-head{font-size:4rem;margin-bottom:15px;animation:robotBounce 1.5s infinite alternate ease-in-out;transform-origin:bottom center}.bilan-loader-text{font-size:1.1rem;color:var(--primary);font-weight:700;animation:pulseText 2.5s infinite ease-in-out}@keyframes robotBounce{0%{transform:translateY(0) rotate(-8deg)}100%{transform:translateY(-20px) rotate(8deg)}}@keyframes pulseText{0%,100%{opacity:.6;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}.setup-choices{display:flex;flex-direction:column;gap:18px;max-width:480px;margin:0 auto}.setup-choices .setup-form{max-width:none;width:100%;margin:0}.setup-divider{display:flex;align-items:center;gap:14px;color:var(--text-muted);font-weight:600;font-size:.9rem}.setup-divider::after,.setup-divider::before{content:'';flex:1;height:2px;background:var(--bg-input)}@media (min-width:800px){.setup-choices{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;max-width:1000px}.setup-choices .form-card{flex:1 0 auto}.setup-divider{flex-direction:column;gap:10px}.setup-divider::after,.setup-divider::before{width:2px;height:auto}}.label-icon.code{background:#fff3e0}.setup-main{margin-top:20px}.setup-submit{display:flex;max-width:480px;margin:22px auto 0}.code-join-row{display:flex;gap:10px;align-items:stretch}.code-join-row input{flex:1;min-width:0}#inputCode,#profOpenCode,#profOpenToken{text-transform:uppercase;letter-spacing:.15em;font-weight:700}#inputCode::placeholder,#profOpenCode::placeholder,#profOpenToken::placeholder{letter-spacing:normal;font-weight:400;text-transform:none}.code-join-row .btn{padding:12px 20px;flex-shrink:0}.code-help{margin-top:10px;font-size:.85rem;color:var(--text-light)}.prof-entry{max-width:480px;margin:18px auto 0;text-align:center}.prof-entry-btn{background:0 0;border:none;color:var(--primary);font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px}.prof-entry-btn:hover{color:var(--primary-dark)}.pack-banner{background:linear-gradient(135deg,#fff8e1,#fff3e0);border:2px solid #ffd180;border-radius:var(--radius);padding:18px 22px;margin-bottom:24px;display:flex;flex-direction:column;gap:10px;animation:fadeInUp .5s ease both}.pack-banner-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.pack-badge{font-weight:700;color:#8a5a00}.pack-meta{font-size:.85rem;font-weight:600;color:#8a5a00;background:rgba(255,255,255,.7);padding:4px 12px;border-radius:var(--radius-round)}.pack-consigne{font-size:1rem;color:var(--text)}.pack-notions{font-size:.95rem;color:var(--text)}.pack-notions ul{margin:6px 0 0 20px}.pack-banner .btn{align-self:flex-start}.pack-ai-note{font-size:.9rem;font-weight:600;color:#5a4e00}.pack-profile-tip{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:center;background:rgba(255,255,255,.8);border:2px dashed var(--primary-light);border-radius:var(--radius-sm);padding:12px 14px;font-size:.92rem}.pack-profile-tip-icon{font-size:1.6rem}.pack-profile-tip-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.wrong-answer-feedback{margin-top:4px;font-size:.95rem;color:#5a4e00;font-weight:500}.flashcard-feedback{margin-top:14px;padding:12px 16px;background:#fff8e1;border:2px solid #ffd180;border-radius:var(--radius-sm);color:#5a4e00;font-size:.95rem}#gamiaModalText{white-space:pre-line}.prof-space{max-width:820px;margin:0 auto}.prof-hero{margin-bottom:22px}.prof-hero h2{font-size:1.7rem;font-weight:800;margin-bottom:6px}.prof-hero p{color:var(--text-light)}.prof-card{margin-bottom:20px}.prof-card h3{font-size:1.15rem;margin-bottom:14px}.prof-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.prof-field label,.prof-field legend{font-weight:600;font-size:.9rem;color:var(--text)}.prof-optional{font-weight:400;color:var(--text-light)}.prof-field-row{display:grid;grid-template-columns:2fr 1fr;gap:14px}.prof-space input[type=password],.prof-space input[type=text],.prof-space select,.prof-space textarea{width:100%;padding:11px 14px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:.95rem;color:var(--text);background:var(--bg-input);outline:0;transition:var(--transition)}.prof-space textarea{resize:vertical;line-height:1.5}.prof-space input[type=password]:focus,.prof-space input[type=text]:focus,.prof-space select:focus,.prof-space textarea:focus{border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px var(--primary-glow)}.prof-games-choice{border:none;padding:0}.prof-games-checks{display:flex;flex-wrap:wrap;gap:8px}.prof-check,.prof-radio,.prof-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:.9rem}.prof-check{background:var(--bg-input);padding:8px 14px;border-radius:var(--radius-round)}.prof-check input,.prof-choice-row input[type=radio],.prof-radio input,.prof-toggle input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.prof-hint{font-size:.85rem;color:var(--text-light);margin-top:8px}.prof-empty{color:var(--text-light);font-style:italic;padding:10px 0}.prof-gen-status{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:6px}.prof-gen-status li{padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;background:var(--bg-input)}.prof-gen-status li.is-ok{background:var(--success-light);color:#00785f}.prof-gen-status li.is-error{background:var(--error-light);color:var(--error)}.prof-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.prof-danger{color:var(--error);border-color:var(--error-light)}.prof-danger:hover{background:var(--error-light)}.prof-jeux-list{display:flex;flex-direction:column;gap:12px}.prof-jeu-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px;background:var(--bg);border-radius:var(--radius-sm)}.prof-jeu-row .prof-row-actions{margin-top:0}.prof-jeu-info{display:flex;flex-direction:column;min-width:0}.prof-jeu-meta{font-size:.85rem;color:var(--text-light)}.prof-nuage p{margin-bottom:10px}.prof-nuage a:not(.btn){color:var(--primary-dark)}.prof-nuage-flow{margin:12px 0;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-input)}.prof-nuage-flow .prof-row-actions{margin-top:8px}.prof-nuage-manual{margin:12px 0;padding:12px 14px;border:2px solid var(--bg-input);border-radius:var(--radius-sm)}.prof-nuage-manual summary{cursor:pointer;font-weight:600;font-size:.9rem}.prof-nuage-manual form{margin-top:12px}.prof-nuage-ids{grid-template-columns:1fr 1fr}.prof-nuage-remember{margin:6px 0 10px}.prof-nuage-error{padding:8px 14px;border-radius:var(--radius-sm);background:var(--error-light);color:#b03a2e;font-weight:600;font-size:.9rem}.prof-nuage-who{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-weight:600;overflow-wrap:anywhere}.prof-nuage-subtitle{font-size:1rem;margin:14px 0 10px}.prof-nuage-status{margin-top:12px;padding:8px 14px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;background:var(--bg-input)}.prof-nuage-status.is-ok{background:var(--success-light);color:#00785f}.prof-nuage-status.is-error{background:var(--error-light);color:#b03a2e}.prof-nuage-dossier{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.9rem}.prof-nuage-dossier strong,.prof-nuage-resultat strong{overflow-wrap:anywhere}.prof-nuage-choix{margin:12px 0;padding:12px 14px;border:2px solid var(--bg-input);border-radius:var(--radius-sm)}.prof-nuage-choix .prof-nuage-subtitle{margin-top:0}.prof-nuage-fil{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;margin-bottom:8px;font-size:.9rem}.prof-nuage-fil button{padding:2px 6px;border:none;border-radius:4px;background:0 0;color:var(--primary-dark);font:inherit;text-decoration:underline;cursor:pointer}.prof-nuage-fil button[aria-current]{color:inherit;font-weight:700;text-decoration:none;cursor:default}.prof-nuage-dossiers{max-height:240px;overflow-y:auto;margin:0 0 10px;padding:0;list-style:none;border:1px solid var(--bg-input);border-radius:var(--radius-sm)}.prof-nuage-dossiers li+li{border-top:1px solid var(--bg-input)}.prof-nuage-dossiers .prof-empty{padding:8px 12px}.prof-nuage-dossier-btn{display:block;width:100%;padding:8px 12px;border:none;background:0 0;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}.prof-nuage-dossier-btn:focus-visible,.prof-nuage-dossier-btn:hover{background:var(--bg-input)}.prof-nuage-nouveau{display:flex;gap:8px;margin-bottom:10px}.prof-nuage-nouveau input{flex:1;min-width:0}.prof-nuage-resultat{font-size:.9rem}.prof-nuage-deplacer{margin:4px 0 8px}.prof-nuage-choix .prof-nuage-error{margin-bottom:10px}.prof-infos summary{font-weight:700;font-size:1.05rem;cursor:pointer;margin-bottom:14px}.prof-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.prof-tab{flex-shrink:0;padding:10px 16px;border:2px solid var(--bg-input);background:var(--bg-card);border-radius:var(--radius-round);font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:.9rem;color:var(--text-light);cursor:pointer;transition:var(--transition)}.prof-tab:hover{border-color:var(--primary-light);color:var(--primary)}.prof-tab.active{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.prof-tab.inactive{opacity:.55;text-decoration:line-through}.prof-tab.inactive.active{opacity:.8}.prof-panel-head{padding-bottom:14px;margin-bottom:14px;border-bottom:2px solid var(--bg-input)}.prof-items{display:flex;flex-direction:column;gap:14px}.prof-item{border:2px solid var(--bg-input);border-radius:var(--radius);padding:16px;background:var(--bg)}.prof-item.prof-item-invalid{border-color:#ffd180}.prof-item .prof-field:last-child{margin-bottom:0}.prof-item-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.prof-item-num{font-weight:700;color:var(--primary)}.prof-item-status{flex:1;font-size:.85rem;font-weight:600;color:var(--success)}.prof-item-status.is-error{color:#b26a00}.prof-item-head .btn{padding:6px 12px;font-size:.8rem}.prof-vf-group{display:flex;gap:20px;margin-bottom:14px}.prof-choice-row,.prof-pair-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.prof-choice-row input[type=text],.prof-pair-row input[type=text]{flex:1;min-width:0}.prof-pair-link{color:var(--text-muted);font-weight:700}.prof-pair-row .btn{padding:6px 10px}.prof-item>.btn{margin:4px 0 14px}.prof-panel-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.prof-more{margin-left:auto}.prof-actions-bar{position:sticky;bottom:0;z-index:50;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:14px 0;background:linear-gradient(to top,var(--bg) 70%,rgba(248,249,254,0))}.prof-published{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.prof-published .prof-field{width:100%;text-align:left}.prof-published-icon{font-size:3rem}.prof-published-name{font-weight:600;color:var(--text-light)}.prof-label{margin-top:10px;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light)}.prof-code-display{font-size:2.6rem;font-weight:800;letter-spacing:.25em;color:var(--primary);background:#f3f0ff;border:3px dashed var(--primary-light);border-radius:var(--radius);padding:10px 24px 10px calc(24px + .25em);font-variant-numeric:tabular-nums}.prof-token-box{width:100%;margin-top:16px;padding:16px;background:var(--warning-light);border-radius:var(--radius-sm);text-align:left}.prof-token-box code{display:inline-block;font-size:1.05rem;font-weight:700;letter-spacing:.08em;white-space:nowrap}.prof-token-box .btn{margin-top:8px}.prof-published .prof-row-actions{justify-content:center;margin-top:18px}.prof-share{width:100%;margin-top:16px;display:flex;flex-direction:column;gap:16px}.prof-share-qr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.prof-qr-canvas{width:220px;max-width:100%;height:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);image-rendering:pixelated}.prof-share .prof-field{text-align:left}.prof-share .prof-field>.btn{align-self:flex-start}.prof-iframe-code{width:100%;padding:10px 12px;border:2px solid var(--bg-input);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;resize:vertical;margin-bottom:8px}.prof-share-modal{max-width:560px;max-height:90vh;overflow-y:auto}@media (max-width:600px){.prof-field-row{grid-template-columns:1fr;gap:0}.prof-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.prof-hero h2{font-size:1.4rem}.prof-more{margin-left:0}.prof-actions-bar{flex-wrap:nowrap;padding:10px 0}.prof-actions-bar .btn{flex:1 1 0;padding:12px 10px;font-size:.9rem;line-height:1.25}.prof-code-display{font-size:2rem;letter-spacing:.18em;padding:8px 16px}.prof-jeu-row{flex-direction:column;align-items:stretch}.prof-pair-row{flex-wrap:wrap}.prof-pair-row input[type=text]{flex:1 1 40%}.code-join-row{flex-direction:column}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lien-evitement{position:absolute;left:8px;top:-60px;z-index:10000;padding:10px 16px;background:#1e1b4b;color:#fff;border-radius:8px;font-weight:700;text-decoration:none}.lien-evitement:focus{top:8px}main#contenu:focus{outline:0}.app-footer .pied-saut{flex-basis:100%;height:0}.ai-warning-niveau{font-size:.85rem;color:var(--text-light);margin:4px 0 16px;text-align:left}main .mentions-content,main .politique-content{overflow-wrap:anywhere}@media (max-width:600px){main .mentions-content,main .politique-content{padding:20px;margin:16px auto}}