:root{--bg: #f9f9f9;--text: #111;--accent: #4f46e5;--accent-light: #eef0ff;--card-bg: white;--card-border: #ccc;--danger: #d90429;--success: #198754;--logo-orange: #fda502;--text-blue: #237fff;--color-primary: #237FFF;--color-accent: #FBA400;--color-bg: #f9f9f9;--color-text: #1a1a1a;--radius-lg: 1.5rem;--radius-md: .75rem;--transition: .3s ease;--shadow-soft: 0 4px 10px rgba(0, 0, 0, .1)}@media (prefers-color-scheme: dark){:root{--bg: #111;--text: #f0f0f0;--accent: #818cf8;--accent-light: #1e1e2e;--card-bg: #1e1e1e;--card-border: #333;--logo-orange: #fda502;--text-blue: #237fff}}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}h1{margin-bottom:.2em}h2{text-align:center;font-size:3rem;font-weight:700;color:#fff;background:linear-gradient(to right,var(--logo-orange),#f78c1f);padding:1rem .5rem;border-radius:12px;margin:2rem auto;max-width:90%;box-shadow:0 4px 12px #0003;text-shadow:1px 1px 2px rgba(0,0,0,.4)}@media (prefers-color-scheme: dark){h2{background:linear-gradient(to right,var(--logo-orange),#b36b00);color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.6)}}header h2{font-size:1rem;font-weight:400;color:#ccc;background:none!important;padding:0!important;margin-top:.5rem;border-radius:0!important;box-shadow:none!important;text-shadow:none!important;max-width:none!important;text-align:center}h3{font-size:1.6rem;margin-top:2em;border-left:5px solid var(--accent);padding:.6em .8em;background:var(--accent-light);border-radius:6px;cursor:pointer;user-select:none;transition:background .3s}h3:hover{background:#ddd}.container{padding:1rem;max-width:700px;margin:0 auto}.definition{background:var(--accent-light);padding:.8em 1em;border-left:4px solid var(--accent);margin:1em 0;border-radius:5px}.video{margin:1em 0;display:flex;justify-content:center}.btn{display:inline-block;margin-top:2em;padding:.8em 1.4em;background:var(--accent);color:#fff;border-radius:8px;font-weight:700;text-align:center;transition:background .2s ease}.btn:hover{background:#3730a3}.boxed{background-color:#fdf6e3;border-left:6px solid #ffcc00;margin:1.5rem 0;padding:1rem;border-radius:8px;box-shadow:0 0 10px #0000000d;color:var(--text-blue)!important}@media (prefers-color-scheme: dark){.boxed{background-color:#333;border-left:6px solid #ffcc00;color:var(--text-blue)!important}.conditions{color:#ccc}}.formula{text-align:center;font-size:2rem;font-weight:700;margin-bottom:.5em}.formula .highlight{color:#fc0;font-weight:900}.conditions{text-align:center;font-size:.9rem;color:gray}.collapsible-section{display:none;padding:1rem 0;animation:fadeIn .3s ease-in}.collapsible-section.open{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}h3.section-title{display:flex;align-items:center;padding:.6em .8em;background:var(--accent-light);border-left:5px solid var(--accent);border-radius:6px;cursor:pointer;user-select:none;transition:background .3s;margin-top:2em}h3.section-title .arrow{display:inline-block;width:.75em;height:.75em;margin-right:.5em;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg);transition:transform .3s ease}h3.section-title.open .arrow{transform:rotate(45deg)}h3.section-title .cta{font-size:.8em;color:gray;margin-left:auto;transition:opacity .3s ease}h3.section-title.open .cta{opacity:0}h3.section-title .title-text{flex-grow:1}.link-buttons{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.pdf-button{display:block;background-color:#2563eb;color:#fff;padding:.75rem 1rem;border-radius:12px;text-align:center;text-decoration:none;font-weight:700;transition:background-color .2s ease;box-shadow:0 4px 6px #0000001a;font-size:1rem}.pdf-button:hover{background-color:#1d4ed8}.collapsible-section ul{padding:0 1rem}details summary{display:inline-block;background-color:#fda502;color:#fff;padding:.75rem 2rem .75rem 1rem;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .3s ease;box-shadow:0 2px 6px #0000001a;margin-bottom:.5rem;border:none;position:relative}details summary:hover{background-color:#e69200}details[open] summary:after{content:"▲"}details summary:after{content:"▼";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.9rem}.example-corrected,.training-links{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:1.5rem;margin:3rem auto;max-width:700px;box-shadow:0 1px 3px #0000000d;font-size:1rem;line-height:1.6;position:relative}.example-corrected:before,.training-links:before{content:attr(data-title);display:block;text-align:center;font-size:.95rem;font-weight:400;color:var(--accent);margin-bottom:1rem;letter-spacing:.5px;text-transform:uppercase}.example-corrected:before,.training-links:before{content:attr(data-title);display:block;text-align:center;font-size:.95rem;font-weight:500;color:var(--logo-orange);margin-bottom:1rem;letter-spacing:.4px;text-transform:uppercase}@media (prefers-color-scheme: dark){.example-corrected:before,.training-links:before{color:#ffb733}}.decorated-title{display:flex;align-items:center;justify-content:center;gap:1rem;margin:3rem 0 2rem}.decorated-title__text{font-size:1.5rem;font-weight:600;color:var(--text-color);white-space:nowrap}.decorated-title__line{flex:1;height:2px;background-color:var(--line-color);max-width:150px}@media (prefers-color-scheme: light){:root{--text-color: #222;--line-color: #ccc}}@media (prefers-color-scheme: dark){:root{--text-color: #f0f0f0;--line-color: #555}}.decorated-title{display:flex;align-items:center;justify-content:center;gap:1rem}.decorated-title__line{width:200px;height:2px;background-color:#ccc}.regles-cours{font-family:OpenDyslexic,Arial,Verdana,sans-serif;font-size:1.15rem;line-height:1.6;padding:.8rem 1rem}.regles-cours h4{font-size:1.25rem;margin-bottom:1rem}.regles-cours ul{list-style-type:disc;margin-left:1.5rem}.regles-cours li{margin-bottom:.8rem}.table-rangs{width:100%;border-collapse:collapse;margin-top:1rem;font-size:1.15rem;line-height:1.5;text-align:center;table-layout:fixed}.table-rangs th,.table-rangs td{border:2px solid #ccc;padding:.7rem .5rem;color:#111;white-space:normal;word-break:break-word}.table-rangs thead th{background-color:#e5e7eb;font-weight:700}.table-rangs tbody tr:nth-child(2n){background-color:#f9fafb}.badge{margin-left:6px;font-size:1.2rem}.math-btn{background-color:#3b82f6;color:#fff;border:none;padding:.7rem 1.5rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:1rem;font-family:system-ui,sans-serif;transition:background .2s}.math-btn:hover{background-color:#2563eb}.math-btn--success{background-color:#4caf50}.math-btn--success:hover{background-color:#3e8e41}.math-btn--warning{background-color:#ff9800}.math-btn--warning:hover{background-color:#e68a00}.math-btn--danger{background-color:#f44336}.math-btn--danger:hover{background-color:#d32f2f}.math-btn--secondary{background-color:#6b7280}.math-btn--secondary:hover{background-color:#4b5563}.input-answer{padding:5px;font-size:1em;width:120px;text-align:center;border:1px solid #ccc;border-radius:5px}.section-title{display:flex;align-items:center;gap:10px;padding:.45rem 0}.section-title .title-text{font-weight:700;font-size:1.05rem;white-space:nowrap}.section-progress{display:flex;align-items:center;gap:8px;min-width:140px;max-width:280px}.progress-bar{flex:1;height:10px;background-color:#e5e7eb;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000d}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:999px;transition:width .45s cubic-bezier(.2,.8,.2,1)}.progress-text{font-size:.9rem;font-weight:600;color:#374151;min-width:36px;text-align:right}#grand-master-msg{display:none;text-align:center;font-size:1.4rem;font-weight:700;margin:1rem 0;padding:.6rem 1rem;background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;color:#92400e}.site-header{background:linear-gradient(90deg,var(--color-primary),#3d8eff);color:#fff;padding:1.2rem 2rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-soft);position:sticky;top:0;z-index:100}.logo-container{display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit}.logo{width:85px;height:85px;border-radius:50%;object-fit:cover;box-shadow:0 4px 10px #ffffff4d;transition:transform var(--transition)}.logo:hover{transform:scale(1.07)}.site-title{font-size:2.2rem;font-weight:800;color:var(--color-accent);letter-spacing:-.5px}.site-slogan{font-size:1rem;color:#ffffffe6;margin-top:.2rem}@media (max-width: 600px){.site-header{padding:.8rem 1.2rem}.logo{width:60px;height:60px}.site-title{font-size:1.8rem}}
