:root{--ink:#132238;--blue:#183b6b;--blue2:#25589b;--gold:#f5b942;--pale:#eef4fb;--muted:#64748b}*{box-sizing:border-box}body{background:#f7f9fc;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.navbar{background:linear-gradient(120deg,#102b51,#1d4e89);box-shadow:0 8px 25px rgba(15,35,66,.18)}.brand-mark{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--gold);color:#102b51;margin-right:.4rem}.hero{background:radial-gradient(circle at 90% 10%,rgba(245,185,66,.28),transparent 28%),linear-gradient(135deg,#102b51,#285b98);color:white;border-radius:30px;padding:clamp(2rem,5vw,5rem);box-shadow:0 24px 70px rgba(16,43,81,.24)}.hero h1{font-size:clamp(2.2rem,5vw,4.2rem);letter-spacing:-.04em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.78rem;color:#8fb5e4}.card-soft,.course-card,.stat-card,.lesson-block,.paywall{background:#fff;border:1px solid #e6edf5;border-radius:20px;box-shadow:0 10px 28px rgba(15,34,56,.06)}.course-card{height:100%;transition:.2s transform,.2s box-shadow}.course-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(15,34,56,.1)}.course-domain{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--blue2)}.badge-premium{background:#fff0c8;color:#755000}.badge-free{background:#dff7e8;color:#176c3b}.progress{height:10px;background:#e8edf3}.lesson-block{padding:1.4rem 1.6rem;margin-bottom:1rem}.lesson-block h3{color:var(--blue);font-weight:800}.lesson-block h4{font-size:1.06rem;margin-top:1.3rem;font-weight:800}.lesson-block.example{border-left:5px solid var(--gold)}.formula-box{padding:1rem;background:#f5f8fc;border-radius:12px;border:1px solid #dce8f5;text-align:center}.paywall{padding:2rem;text-align:center;background:linear-gradient(180deg,#fff,#fff8e8)}.locked-fade{position:relative;max-height:420px;overflow:hidden}.locked-fade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(transparent,#fff)}.quiz-option{display:block;border:1px solid #dfe7f0;border-radius:14px;padding:.8rem 1rem;margin:.55rem 0;cursor:pointer;background:#fff}.quiz-option:hover{border-color:#8db0dc}.quiz-correct{background:#e7f8ed;border-color:#67b784}.quiz-wrong{background:#fff0f0;border-color:#d78383}.stat-card{padding:1.3rem}.stat-value{font-size:2rem;font-weight:900;color:var(--blue)}.site-footer{background:#102b51;color:white}.site-footer a{color:#d9e8fa;text-decoration:none}.admin-sidebar a{display:block;padding:.7rem 1rem;border-radius:10px;text-decoration:none;color:var(--ink)}.admin-sidebar a:hover{background:var(--pale)}.table td,.table th{vertical-align:middle}@media(max-width:768px){.hero{border-radius:22px}.navbar .btn{margin-top:.35rem}.lesson-block{padding:1rem}}

/* --- Composition mathématique MathJax --- */
mjx-container[jax="CHTML"]{line-height:1.25;max-width:100%}
mjx-container[jax="CHTML"][display="true"]{overflow-x:auto;overflow-y:hidden;margin:1.15rem 0!important;padding:.25rem .1rem}
.lesson-block mjx-container[jax="CHTML"]{font-size:1.06em}
.formula-box mjx-container[jax="CHTML"]{font-size:1.18em}
.quiz-option mjx-container[jax="CHTML"]{font-size:1.08em}
.quiz-option:has(input:checked){border-color:#5f8fc8;background:#f4f8fd}
@media(max-width:576px){mjx-container[jax="CHTML"][display="true"]{font-size:.95em}.lesson-block mjx-container[jax="CHTML"]{font-size:1em}}


/* --- v1.0.6 : pédagogie renforcée + portrait enseignant --- */
.teacher-avatar-wrap{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px}
.teacher-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center;border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 12px rgba(0,0,0,.2)}
.avatar-fallback{width:42px;height:42px;margin:0}
.beginner-note{background:#eef7ff;border-left:4px solid #4a90e2;padding:.9rem 1rem;border-radius:10px;margin:1rem 0}
.foundation-box{background:linear-gradient(180deg,#fffdf5,#fff);border-color:#f0dfac}
.foundation-links{padding-left:1.2rem}.foundation-links li{margin:.55rem 0}.foundation-link{font-weight:700;text-decoration:none}.foundation-link:hover{text-decoration:underline}
.step-card{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #edf2f7}.step-card:last-child{border-bottom:0}.step-number{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#183b6b;color:#fff;font-weight:900}.step-card h4{margin:.1rem 0 .45rem}
.examples-zone{background:#fbfcff}.guided-example{border:1px solid #dde8f4;border-radius:14px;padding:1rem;margin:1rem 0;background:#fff}.guided-example.standard{border-color:#f0cf78;background:#fffaf0}.example-label{font-weight:900;color:#25589b;margin-bottom:.5rem}.solution{background:#f3f8fd;border-radius:10px;padding:.8rem 1rem}.guided-example.standard .solution{background:#fff1c9}
.warning-box{border-left:5px solid #e39a40;background:#fffaf4}.mini-practice{background:#f6f8fb;border-radius:14px;padding:1rem}.mini-practice details{border-top:1px solid #dfe6ee;padding-top:.7rem}.mini-practice summary{cursor:pointer;font-weight:700;color:#183b6b}
.method-list li{margin-bottom:.55rem}.lesson-nav .btn{max-width:48%}
@media(max-width:576px){.teacher-avatar-wrap,.teacher-avatar{width:40px;height:40px;flex-basis:40px}.navbar-brand{font-size:1rem}.step-card{gap:.7rem}.lesson-nav .btn{font-size:.85rem}}

/* --- v1.0.8 : édition directe admin + schémas géométriques SVG --- */
.admin-course-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#102b51,#244f86);color:#fff;padding:1rem 1.2rem;border-radius:16px;box-shadow:0 10px 28px rgba(16,43,81,.16)}
.admin-course-toolbar .small{display:block;color:#d8e7f8;margin-top:.15rem}.admin-inline-editor{border:2px solid #f5b942}.course-html-editor{min-height:220px;line-height:1.45;font-size:.88rem}.admin-live-preview{border:1px dashed #9db5cf;background:#f8fbff;border-radius:14px;padding:1rem;min-height:120px;max-height:650px;overflow:auto}
.visual-zone{background:linear-gradient(180deg,#fbfdff,#f4f8fd)}.visual-tip{margin-top:1rem;background:#eef7ff;border-left:4px solid #4a90e2;border-radius:10px;padding:.85rem 1rem}.geometry-figure{margin:0}.geometry-title{font-weight:900;color:#183b6b;margin-bottom:.65rem}.geometry-canvas{background:#fff;border:1px solid #dbe7f3;border-radius:16px;padding:.65rem;overflow:hidden}.geometry-canvas svg{display:block;width:100%;height:auto;max-height:420px}.geometry-figure figcaption{font-size:.95rem;color:#526275;margin-top:.75rem;line-height:1.55}.svg-main,.svg-axis,.svg-vector,.svg-vector-alt,.svg-vector-third,.svg-accent,.svg-helper,.svg-helper-strong,.svg-dashed,.svg-dimension,.svg-right-angle,.svg-angle-arc{stroke-linecap:round;stroke-linejoin:round}.svg-main{stroke:#183b6b;stroke-width:4;fill:none}.svg-accent{stroke:#d28c19;stroke-width:4;fill:none}.svg-axis{stroke:#4d6078;stroke-width:2.5;fill:none}.svg-vector{stroke:#183b6b;stroke-width:5;fill:none}.svg-vector-alt{stroke:#d28c19;stroke-width:5;fill:none}.svg-vector-third{stroke:#4f7c63;stroke-width:5;fill:none}.svg-helper{stroke:#9fb2c6;stroke-width:2;fill:none}.svg-helper-strong{stroke:#6d8299;stroke-width:2.5;fill:none}.svg-dashed{stroke:#879bb0;stroke-width:2.5;stroke-dasharray:9 8;fill:none}.svg-dimension{stroke:#d28c19;stroke-width:2.5;fill:none}.svg-right-angle{stroke:#d28c19;stroke-width:3}.svg-angle-arc{stroke:#d28c19;stroke-width:3}.svg-shape{fill:rgba(37,88,155,.10);stroke:#183b6b;stroke-width:4}.svg-shape-alt{fill:rgba(245,185,66,.14);stroke:#d28c19;stroke-width:3.5}.svg-plane{fill:rgba(37,88,155,.10);stroke:#6e87a3;stroke-width:3}.svg-point{fill:#102b51}.svg-label{font:700 18px Inter,Arial,sans-serif;fill:#24364b}.svg-caption{font:600 16px Inter,Arial,sans-serif;fill:#607187}.svg-measure{font:700 16px Inter,Arial,sans-serif;fill:#455a72}.svg-angle{font:800 19px Inter,Arial,sans-serif;fill:#a96800}.svg-formula{font:700 17px Inter,Arial,sans-serif;fill:#183b6b}.svg-arrowhead{fill:#183b6b}.svg-arrowhead-gold{fill:#d28c19}.no-fill{fill:none}
@media(max-width:576px){.admin-course-toolbar{align-items:stretch}.admin-course-toolbar>div:last-child{width:100%}.admin-course-toolbar .btn{flex:1 1 auto}.geometry-canvas{padding:.25rem}.geometry-figure figcaption{font-size:.88rem}.svg-label,.svg-formula{font-size:16px}.svg-measure,.svg-caption{font-size:14px}}

/* --- v1.0.9 : approfondissements issus des fiches + préparation Bac --- */
.deep-course-zone{background:linear-gradient(180deg,#ffffff,#f8fbff)}
.deep-section{display:flex;gap:1rem;padding:1.15rem 0;border-top:1px solid #e7eef6}
.deep-section:first-of-type{border-top:0}
.deep-section-number{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#e7f0fb;color:#183b6b;font-weight:900}
.deep-section-body{min-width:0;flex:1}.deep-section-body h4{margin:.15rem 0 .65rem;color:#173a67}
.deep-formulas{display:grid;gap:.55rem;margin:.8rem 0}.deep-formula{background:#f5f8fc;border:1px solid #dbe7f3;border-radius:12px;padding:.6rem .8rem;text-align:center;overflow-x:auto}
.deep-bullets{margin:.7rem 0 0;padding-left:1.25rem}.deep-bullets li{margin:.4rem 0}
.deep-example{margin-top:.9rem;border:1px solid #dce8f5;border-radius:13px;padding:.9rem;background:#fff}
.deep-example-label{display:inline-block;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#25589b;background:#eaf2fb;padding:.25rem .55rem;border-radius:999px;margin-bottom:.55rem}
.course-code{background:#111c2d;color:#e9f2ff;border-radius:14px;padding:1rem;overflow:auto;font-size:.9rem;line-height:1.5}
.bac-focus-zone{border:2px solid #f0c664;background:linear-gradient(180deg,#fffaf0,#fff)}
.bac-focus-head{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}.bac-focus-head h3{margin:0}.bac-chip{display:inline-flex;align-items:center;justify-content:center;background:#173a67;color:#fff;font-weight:900;font-size:.72rem;letter-spacing:.12em;border-radius:999px;padding:.35rem .65rem}
.bac-skills ol{padding-left:1.35rem}.bac-skills li{margin:.45rem 0}.bac-strategy{background:#fff1c9;border-left:4px solid #e2a72f;border-radius:10px;padding:.9rem 1rem;margin:1rem 0}.bac-example{background:#fff;border:1px solid #ecd695;border-radius:14px;padding:1rem}.bac-example summary{cursor:pointer;font-weight:800;color:#183b6b}
@media(max-width:576px){.deep-section{gap:.65rem}.deep-section-number{width:32px;height:32px;flex-basis:32px}.deep-formula{padding:.45rem}.bac-focus-head{align-items:flex-start}}

/* v1.0.10 – préparation aux automatismes du DNB */
.brevet-focus-zone{border:1px solid rgba(35,117,79,.25);background:linear-gradient(145deg,#f1fbf5,#ffffff);}
.brevet-focus-head{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;}
.brevet-focus-head h3{margin:0;}
.brevet-chip{display:inline-flex;align-items:center;padding:.32rem .68rem;border-radius:999px;background:#23754f;color:#fff;font-weight:800;font-size:.78rem;letter-spacing:.04em;}
.brevet-skills{background:#fff;border:1px solid rgba(35,117,79,.16);border-radius:14px;padding:1rem 1.15rem;margin:.8rem 0;}
.brevet-skills h4{font-size:1rem;font-weight:800;margin-bottom:.65rem;}
.brevet-skills ul{margin-bottom:0;}
.brevet-strategy{border-left:4px solid #23754f;background:#e9f7ef;border-radius:8px;padding:.9rem 1rem;margin:1rem 0;}
.brevet-example{border:1px dashed rgba(35,117,79,.42);border-radius:14px;padding:1rem 1.15rem;background:#fff;}
.brevet-quiz-banner{border:1px solid rgba(35,117,79,.28);background:#eefaf3;border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.25rem;}
.brevet-timer{font-variant-numeric:tabular-nums;font-weight:900;font-size:1.25rem;color:#17623f;}

/* --- v1.0.12 : vidéos YouTube + scripts par cours --- */
.course-video-card{background:#fff;border:1px solid #e5eaf0;border-radius:20px;overflow:hidden;box-shadow:0 10px 28px rgba(15,34,56,.07)}
.course-video-head{padding:1rem 1.1rem;background:linear-gradient(180deg,#fff,#fbfcfe);border-bottom:1px solid #edf1f5}
.course-video-kicker{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#c4302b;margin-bottom:.25rem}
.course-video-frame{background:#0b0f15}
.course-video-frame iframe{border:0}
.course-video-placeholder{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.4rem;background:radial-gradient(circle at 50% 38%,rgba(220,53,69,.10),transparent 35%),linear-gradient(180deg,#fafbfc,#f4f6f8)}
.course-video-play{display:grid;place-items:center;width:66px;height:48px;border-radius:14px;background:#dc3545;color:white;font-size:1.4rem;padding-left:.15rem;box-shadow:0 8px 22px rgba(220,53,69,.25);margin-bottom:.8rem}
.youtube-script-editor{min-height:420px;line-height:1.48;font-size:.88rem}
@media(max-width:991.98px){.course-video-card{margin-top:.5rem}.course-video-placeholder{min-height:220px}}
