*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#0d0d1a;color:#e8e8f0;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.screen{display:none;width:100%;max-width:720px}.screen.active{display:block}.card{background:#13132a;border:1px solid #1e1e42;border-radius:20px;padding:44px 40px;box-shadow:0 24px 80px #0009}.logo{font-size:.75rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:#e94560;margin-bottom:12px}h1{font-size:2.1rem;font-weight:800;color:#fff;margin-bottom:8px;line-height:1.2}.subtitle{color:#888;margin-bottom:36px;font-size:.95rem;line-height:1.5}input[type=text]{width:100%;padding:15px 20px;border:2px solid #1e1e42;border-radius:10px;background:#0a0a18;color:#e8e8f0;font-size:1rem;margin-bottom:14px;transition:border-color .2s;outline:none}input[type=text]:focus{border-color:#e94560}input[type=text].error{border-color:#e94560}.btn{display:block;width:100%;padding:15px 24px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,opacity .2s;text-align:center;margin-top:10px}.btn:first-of-type{margin-top:0}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0);opacity:.85}.btn-red{background:linear-gradient(135deg,#e94560,#c0304e);color:#fff}.btn-blue{background:#0f2d5e;color:#fff}.btn-ghost{background:transparent;border:1px solid #2a2a50;color:#666}.btn-ghost:hover{color:#aaa;border-color:#444}.btn-icon{background:#0a0a18;border:1px solid #1e1e42;border-radius:8px;color:#888;font-size:1rem;padding:5px 10px;cursor:pointer;transition:color .15s,border-color .15s;line-height:1}.btn-icon:hover{color:#f5a623;border-color:#f5a623}.score-box{background:#0a0a18;border:1px solid #1e1e42;border-radius:12px;padding:24px;text-align:center;margin:28px 0}.score-box .label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:2px}.score-box .big{font-size:3rem;font-weight:800;color:#f5a623;line-height:1;margin:6px 0}.score-box .sub{font-size:.85rem;color:#666}.progress-bar{height:5px;background:#1e1e42;border-radius:3px;margin-bottom:28px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#e94560,#f5a623);border-radius:3px;transition:width .5s ease}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.q-counter{font-size:.85rem;color:#666}.score-pill{background:#0f2d5e;color:#f5a623;font-weight:700;font-size:.9rem;padding:5px 14px;border-radius:20px}.streak-row{display:flex;gap:7px;margin-bottom:22px;align-items:center}.streak-label{font-size:.75rem;color:#555;margin-right:4px}.dot{width:11px;height:11px;border-radius:50%;background:#1e1e42;transition:background .3s}.dot.lit{background:#e94560;box-shadow:0 0 8px #e94560}.question-en{font-size:1.15rem;font-weight:600;color:#fff;line-height:1.65;margin-bottom:8px}.question-fr{font-size:.88rem;color:#5a5a88;font-style:italic;margin-bottom:28px;padding-left:2px}.options{display:flex;flex-direction:column;gap:10px}.opt{width:100%;padding:14px 18px;background:#0a0a18;border:2px solid #1e1e42;border-radius:10px;color:#ccc;font-size:.97rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.opt:hover:not(:disabled){border-color:#3a3a7a;background:#12122a;color:#fff}.opt:disabled{cursor:default}.opt.correct{border-color:#2ecc71;background:#07200f;color:#2ecc71}.opt.wrong{border-color:#e94560;background:#200710;color:#e94560}.opt .letter{font-weight:700;margin-right:8px;opacity:.6}.overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;z-index:200;flex-direction:column;align-items:center;justify-content:center;padding:20px;cursor:pointer}.overlay.active{display:flex}.overlay img{max-width:min(90vw,500px);max-height:60vh;border-radius:16px;object-fit:contain;box-shadow:0 0 60px #000c}.overlay-text{margin-top:24px;font-size:1.5rem;font-weight:800;text-align:center}.overlay.win .overlay-text{color:#2ecc71}.overlay.lose .overlay-text{color:#e94560}.overlay.stop .overlay-text{color:#f5a623}.overlay-hint{margin-top:10px;font-size:.85rem;color:#555}.results-card{text-align:center}.trophy{font-size:3.5rem;margin-bottom:12px}.final-score{font-size:4rem;font-weight:900;color:#f5a623;margin:20px 0 8px}.final-pct{font-size:1rem;color:#555;margin-bottom:16px}.final-msg{background:#0a0a18;border:1px solid #1e1e42;border-radius:10px;padding:16px 20px;font-size:.95rem;color:#aaa;margin-bottom:24px;line-height:1.5}.lb-card{max-height:90vh;overflow-y:auto}.lb-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.legend{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#666;margin-bottom:24px}.leg-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.leg-dot.green{background:#2ecc71}.leg-dot.red{background:#e94560}.leg-dot.grey{background:#2a2a50}.lb-empty{text-align:center;color:#444;padding:40px 0;font-size:.95rem}.lb-row{background:#0a0a18;border:1px solid #1e1e42;border-radius:12px;padding:16px 18px;margin-bottom:10px;transition:border-color .2s}.lb-row.lb-active{border-color:#0f2d5e}.lb-row.lb-stopped{opacity:.55}.lb-info{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.lb-name{font-weight:700;color:#fff;font-size:1rem}.lb-score{background:#0f2d5e;color:#f5a623;font-weight:700;font-size:.82rem;padding:3px 10px;border-radius:20px}.lb-status{font-size:.78rem;color:#555;margin-left:auto}.lb-circles{display:flex;flex-wrap:wrap;gap:4px}.circle{width:14px;height:14px;border-radius:50%;flex-shrink:0;position:relative;cursor:default}.circle.green{background:#2ecc71;box-shadow:0 0 4px #2ecc7166}.circle.red{background:#e94560;box-shadow:0 0 4px #e9456066}.circle.grey{background:#1e1e42}.circle:hover:after{content:attr(data-q);position:absolute;bottom:18px;left:50%;transform:translate(-50%);background:#1e1e42;color:#aaa;font-size:.65rem;padding:2px 5px;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:10}#floaters{pointer-events:none}.floater{position:fixed;width:160px;height:160px;object-fit:cover;border-radius:20px;opacity:.55;z-index:0;box-shadow:0 8px 32px #00000080;transition:opacity .3s}@keyframes drift-a{0%{transform:translate(0) rotate(0)}20%{transform:translate(60px,-80px) rotate(8deg)}40%{transform:translate(-40px,-140px) rotate(-5deg)}60%{transform:translate(-90px,-60px) rotate(12deg)}80%{transform:translate(30px,40px) rotate(-8deg)}to{transform:translate(0) rotate(0)}}@keyframes drift-b{0%{transform:translate(0) rotate(0)}25%{transform:translate(-70px,90px) rotate(-10deg)}50%{transform:translate(50px,150px) rotate(6deg)}75%{transform:translate(100px,40px) rotate(-14deg)}to{transform:translate(0) rotate(0)}}@keyframes drift-c{0%{transform:translate(0) rotate(0)}30%{transform:translate(80px,70px) rotate(15deg)}55%{transform:translate(-50px,120px) rotate(-9deg)}80%{transform:translate(-80px,-30px) rotate(7deg)}to{transform:translate(0) rotate(0)}}@keyframes drift-d{0%{transform:translate(0) rotate(0)}20%{transform:translate(-60px,-90px) rotate(-12deg)}45%{transform:translate(70px,-110px) rotate(10deg)}70%{transform:translate(40px,60px) rotate(-6deg)}to{transform:translate(0) rotate(0)}}#fl0{animation:drift-a 18s ease-in-out infinite}#fl1{animation:drift-b 22s ease-in-out infinite}#fl2{animation:drift-c 16s ease-in-out infinite}#fl3{animation:drift-d 25s ease-in-out infinite}@media (max-width: 500px){.card{padding:32px 20px}h1{font-size:1.7rem}.circle{width:11px;height:11px}}
