@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#20283d;background:#f5f7fb;font-synthesis:none;--blue:#3459e8;--orange:#da681e;--border:#e5e9f2}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #819aff;outline-offset:3px}header{height:88px;max-width:1500px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{font-family:Manrope,sans-serif;font-size:27px;font-weight:800;letter-spacing:-1px;color:inherit;text-decoration:none;display:flex;align-items:center}.logo{background:var(--blue);color:white;width:34px;height:36px;border-radius:10px;text-align:center;margin-right:11px;font-size:33px;line-height:24px}.brand-dot{color:var(--blue)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.7px;color:#7b849a}.quiet{border:1px solid var(--border);background:white;padding:10px 15px;border-radius:9px;color:#53617a;font-size:14px}main{max-width:1500px;margin:auto;padding:38px 48px 20px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}h1{font-family:Manrope,sans-serif;font-size:clamp(26px,2.7vw,38px);font-weight:800;letter-spacing:-1.4px;margin:10px 0}p{line-height:1.6}.intro p{margin:0;color:#7a8395;font-size:15px}.live-equation{text-align:right}.live-equation>span{font-size:10px;letter-spacing:1.7px;color:#7b849a;font-weight:700}.live-equation>div{font-family:Manrope,sans-serif;font-size:25px;font-weight:600;margin-top:8px;color:var(--blue)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.graph-card{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #24345b04}.graph-top{height:62px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);font-size:14px}.graph-top>span{display:flex;align-items:center;gap:9px}.legend-line{width:20px;height:3px;background:var(--blue);border-radius:3px}.graph-tools{display:flex;gap:5px}.graph-tools button{border:1px solid var(--border);background:white;border-radius:7px;height:31px;min-width:31px;color:#62708b;font-size:14px}.graph-tools button:last-child{padding:0 9px;margin-left:4px}#graph-wrap{height:520px;position:relative;overflow:hidden}#graph{display:block;width:100%;height:100%;touch-action:none;user-select:none}.vertex-badge{position:absolute;top:18px;left:20px;background:#fff5ec;border:1px solid #ffe2cb;color:#b45014;border-radius:8px;padding:8px 12px;font-weight:700;font-size:14px;pointer-events:none}.vertex-badge span{margin-left:7px;font-weight:500}.graph-bottom{min-height:55px;padding:14px 20px;display:flex;gap:10px;align-items:center;border-top:1px solid var(--border);font-size:12px;color:#7a8499}.hand{font-size:19px;color:#616f88}.axis-key{margin-left:auto;white-space:nowrap}.control-card{border:1px solid var(--border);border-radius:16px;padding:22px;background:white}.section-label{font-size:11px;font-weight:700;color:#a1aac0;letter-spacing:1px;display:flex;gap:10px}.section-label span{color:#727f96;font-size:10px}.tabs{display:flex;background:#f0f3f9;padding:4px;border-radius:9px;margin-top:18px}.tabs button{width:50%;border:0;border-radius:6px;background:none;color:#788397;font-size:14px;padding:10px 4px}.tabs button[aria-selected=true]{background:white;color:var(--blue);font-weight:700;box-shadow:0 2px 5px #2334500c}.mode-help{font-size:12px;color:#8490a4;margin:15px 0 20px}.param{margin-bottom:23px}.param:last-child{margin-bottom:0}.param-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.param label{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px}.param label span{font-size:12px;font-weight:400;color:#8a94a6}.param input[type=number]{width:80px;border:1px solid var(--border);background:#fafbfe;border-radius:7px;text-align:center;padding:7px 3px;font-weight:600;font-size:15px;color:#303f61}.param input[type=range]{width:100%;accent-color:var(--blue);height:16px;cursor:ew-resize;margin:0}.param[data-key=h] label{color:#3459e8}.param[data-key=k] label{color:#c76825}.param[data-key=k] input{accent-color:var(--orange)}.range-labels{display:flex;justify-content:space-between;font-size:10px;color:#a0a9ba;margin-top:4px}.forms{margin-top:26px}.forms>.section-label{margin:0 5px 12px}details{background:white;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:17px 20px}summary::-webkit-details-marker{display:none}summary strong{font-size:14px;font-weight:600}summary small{font-size:12px;color:#8a94a6;display:block;margin-top:4px}.chevron{color:#8290a9;font-size:23px;font-weight:400}details[open]>summary .chevron{transform:rotate(45deg)}.details-body{padding:0 20px 18px;border-top:1px solid #f1f3f8}.math{font-family:Manrope,sans-serif;font-size:19px;color:var(--blue);line-height:1.7;padding-top:15px;overflow-wrap:anywhere}.details-body p,.details-body>div:not(.math){font-size:13px}.hint{color:#8a94a6}.text-button{background:none;border:0;color:var(--blue);padding:3px 0;font-size:13px;font-weight:600}.nested{border:0;background:#f6f8fc;border-radius:7px}.nested summary{font-size:12px;padding:10px}.nested p{padding:0 10px}.notice{font-size:12px;background:#fff5ec;color:#b45014;padding:10px;border-radius:8px}footer{display:flex;justify-content:space-between;gap:15px;color:#929bad;font-size:11px;padding:25px 2px}button:hover{filter:brightness(.97)}.curve-hit,.vertex-hit{cursor:grab}.dragging .curve-hit,.dragging .vertex-hit{cursor:grabbing}.root-label{font-size:13px;font-weight:600;fill:#078679}.h-color{color:var(--blue)}.k-color{color:var(--orange)}@media(min-width:1350px){#graph-wrap{height:570px}}@media(max-width:1000px){header{padding:0 24px}main{padding:28px 24px}.workspace{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.live-equation>div{font-size:20px}#graph-wrap{height:520px}.axis-key{display:none}}@media(max-width:760px){header{height:72px;padding:0 18px}header>.eyebrow{display:none}main{padding:25px 16px}.intro{display:block;margin-bottom:20px}.intro .eyebrow{font-size:9px}.intro h1{letter-spacing:-.8px}.intro p{font-size:14px}.live-equation{text-align:left;margin-top:20px;background:#eaf0ff;padding:13px 16px;border-radius:10px}.live-equation>div{font-size:23px}.workspace{grid-template-columns:1fr}#graph-wrap{height:390px}.graph-top{padding:0 13px}.graph-bottom{font-size:12px;padding:10px 12px}.control-card{padding:20px}footer{flex-direction:column;font-size:11px;gap:6px}.forms{margin-top:22px}.param label span{font-size:14px}.section-label span{font-size:11px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,box-shadow .15s}}
.param label span{font-size:14px}.mode-help,.details-body p,.details-body>div:not(.math),.text-button,.graph-bottom,summary small{font-size:14px}.param label{gap:8px}.param-top{gap:8px}.param input[type=number]{flex-shrink:0;width:78px}.param label span{max-width:145px}.nested summary{font-size:14px}.details-body .hint{font-size:13px}.intro p{font-size:16px}.general-form{background:#f3f6ff;border:1px solid #e2e8ff;border-radius:10px;padding:14px;margin-bottom:22px}.general-form>span{font-size:10px;letter-spacing:1.3px;font-weight:700;color:#7180a2}.general-form>div{font-family:Manrope,sans-serif;font-size:23px;margin:7px 0;white-space:nowrap}.general-form small{font-size:12px;color:#7a859e}.coef-a,.param[data-key=a] label{color:#3459e8}.coef-b,.param[data-key=b] label{color:#078679}.coef-c,.param[data-key=c] label{color:#da681e}.param[data-key=b] input[type=range]{accent-color:#078679}.param[data-key=c] input[type=range]{accent-color:#da681e}
/* Folded course reminders, distinct from live calculations. */
.course-panel{background:#f4f0ff;border:1px solid #dacdf5;border-left:4px solid #8053bd;margin:16px 0;color:#473466}.course-panel>summary{padding:14px 16px;gap:12px}.course-panel>summary strong{display:block;color:#533582;font-size:15px;line-height:1.4}.course-tag{display:block;font-size:10px;font-weight:700;letter-spacing:1.3px;color:#77529f;margin-bottom:4px}.course-panel .chevron{color:#8053bd;flex-shrink:0}.course-body{padding:0 16px 16px;border-top:1px solid #e2d7f4}.course-body p,.details-body .course-body p{font-size:14px;line-height:1.65;margin:12px 0}.course-body p:last-child{margin-bottom:0}.course-body .course-formula{background:#ebe2fc;border-radius:8px;padding:12px;font-size:15px;color:#4e287f;line-height:1.85;overflow-wrap:anywhere}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.course-grid h2{font-size:16px;margin:18px 0 10px;color:#533582}#course-general{margin:0 0 24px}.nested .course-panel{margin:10px}.nested .course-panel summary{padding:12px}.nested .course-body p{padding:0}.nested .course-body .course-formula{padding:12px}@media(max-width:850px){.course-grid{grid-template-columns:1fr;gap:0}.course-grid section+section{border-top:1px solid #e2d7f4;margin-top:12px}}

.study-section{margin-top:28px}.study-section>p{font-size:14px;color:#65718a}.study-section select,.interval-controls input{font:inherit;padding:10px;border:1px solid #cdd5e6;border-radius:8px;background:white;color:#25385d}.table-scroll{overflow-x:auto;margin:18px 0;border:1px solid #dce3ef;border-radius:12px}.study-table{width:100%;border-collapse:collapse;min-width:560px;text-align:center;font-size:16px}.study-table th,.study-table td{padding:16px 12px;border-bottom:1px solid #e5e9f2}.study-table th{background:#f3f6fc;font-weight:600}.study-table th:first-child{width:100px;border-right:1px solid #dce3ef}.study-table caption{text-align:left;padding:12px 16px;color:#667389;font-size:14px}.positive{color:#08735a;background:#e6f7ef}.negative{color:#b13c31;background:#fff0ec}.study-table .zero{color:#3459e8;font-weight:700}.variation-arrow{display:block;font-size:40px;line-height:1.2;color:#3459e8}.variation-arrow small{display:block;font-size:12px;color:#62708b}.turning-value{background:#fff1e3;color:#a54b10;font-weight:700}.study-legend{display:flex;flex-wrap:wrap;gap:10px}.study-legend span{padding:6px 9px;border-radius:6px;font-size:13px}.solution-box{background:#eaf0ff;color:#2949a7;border-radius:10px;padding:16px;font-size:18px!important;overflow-wrap:anywhere}.solution-axis{width:100%;height:105px;display:block}.interval-controls{display:flex;gap:20px;flex-wrap:wrap}.interval-controls label{display:flex;align-items:center;gap:10px;font-size:14px}.interval-controls input{width:110px}.extrema-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.extrema-cards>div{padding:18px;border:1px solid #dde4ef;border-radius:10px;background:#f7f9fd}.extrema-cards strong{display:block;font-size:24px;color:#3459e8;margin:8px 0}.curriculum-note{font-size:12px!important;line-height:1.7}.curriculum-note a{color:#3459e8}.inequality-label{font-weight:600;margin-right:12px}@media(max-width:600px){.extrema-cards{grid-template-columns:1fr}.interval-controls{gap:12px}}
.solution-axis{min-width:560px}#solution-line{overflow-x:auto}
/* Responsive navigation and contextual lessons. */
html{scroll-padding-top:100px}.nav-section{scroll-margin-top:100px}.navigation-shell{position:sticky;top:0;z-index:20;background:#f5f7fb;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px max(24px,calc((100vw - 1404px)/2))}.equation-strip{min-width:0;display:flex;flex-direction:column;gap:3px}.equation-strip>span{font-size:9px;letter-spacing:1.3px;color:#667389}.equation-strip strong{font-size:16px;color:var(--blue);overflow-wrap:anywhere}.section-nav{display:flex;gap:5px;flex-shrink:0}.section-nav a{padding:12px 18px;color:#57647c;text-decoration:none;font-weight:600;font-size:14px;border-radius:9px}.section-nav a[aria-current]{color:#294bd3;background:#e7edff}.section-nav a:hover{background:#edf1fa}a:focus-visible,select:focus-visible{outline:3px solid #819aff;outline-offset:3px}.lesson-button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;margin:16px 0;background:#f4f0ff;border:1px solid #dacdf5;border-left:4px solid #8053bd;border-radius:10px;color:#533582;font-weight:600;font-size:14px}.lesson-button small{display:block;font-size:9px;letter-spacing:1.2px;margin-bottom:4px;color:#77529f}.lesson-button>span:last-child{margin-left:auto}.lesson-icon{font-size:24px}main>.lesson-button{margin:0 0 24px}.lesson-open{overflow:hidden}#lesson-dialog{width:min(760px,calc(100% - 40px));max-height:85dvh;padding:0;border:1px solid #dacdf5;border-radius:20px;background:#faf7ff;color:#473466;overscroll-behavior:contain}#lesson-dialog::backdrop{background:#17213c80;backdrop-filter:blur(3px)}.dialog-toolbar{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px;background:#f4f0ff;border-bottom:1px solid #dacdf5;z-index:1}.dialog-toolbar>span{font-size:11px;letter-spacing:1.2px;font-weight:700}.dialog-toolbar button{min-height:44px;border:1px solid #dacdf5;background:white;color:#533582;border-radius:8px;padding:8px 14px}#lesson-content{padding:4px 22px 24px}#lesson-content>h2{font-size:24px;letter-spacing:-.5px}#lesson-content .course-body{border:0;padding:0}#lesson-content .course-grid{grid-template-columns:1fr;gap:4px}#lesson-content section+section{border-top:1px solid #e2d7f4;padding-top:8px;margin-top:20px}#lesson-content h2{font-size:20px}.delta-calculation{padding:14px;background:#f3f6fc;border-radius:8px;overflow-wrap:anywhere}.study-section .nav-section{margin-bottom:16px}.graph-tools button{min-width:44px;min-height:44px}.graph-top{height:66px}.text-button{min-height:44px}.math,.live-equation>div{overflow-wrap:anywhere}.workspace>*{min-width:0}.param input[type=range]{height:26px}.table-scroll:focus-visible{outline:3px solid #819aff;outline-offset:3px}
@media(max-width:760px){
 header{height:64px}.navigation-shell{padding:9px 16px;min-height:55px}.equation-strip{width:100%}.equation-strip strong{font-size:16px}.section-nav{position:fixed;bottom:0;left:0;right:0;top:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dde4f1;box-shadow:0 -4px 24px #2334500b}.section-nav a{text-align:center;padding:14px 2px;font-size:13px;border-radius:9px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}main{padding:20px 14px}.intro .live-equation{display:none}.intro{margin-bottom:20px}.intro h1{font-size:27px}.intro .eyebrow{letter-spacing:1.2px}.intro p{font-size:14px}html{scroll-padding-top:75px}.nav-section{scroll-margin-top:75px}#graph-wrap{height:clamp(260px,45dvh,390px)}.graph-top{padding:0 10px}.graph-top>span{gap:5px;font-size:12px}.legend-line{width:12px}.graph-tools{gap:3px}.graph-tools button:last-child{font-size:12px;padding:0 6px;margin-left:0}.graph-bottom{font-size:12px}.control-card{padding:16px}.tabs{margin-top:12px}.mode-help{margin:12px 0}.general-form{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 12px;margin-bottom:16px}.general-form>span{width:100%}.general-form>div{font-size:22px;margin:0}.general-form small{font-size:11px}.param{margin-bottom:12px}.param-top{margin-bottom:2px}.param label span{font-size:12px;max-width:none}.param input[type=number]{min-height:42px;width:90px}.range-labels{display:none}.param input[type=range]{height:30px}.details-body{padding:0 12px 16px}summary{padding:16px 14px;gap:10px}summary small{font-size:12px}.chevron{flex-shrink:0}.study-table{min-width:0;table-layout:fixed;font-size:12px}.study-table th,.study-table td{padding:14px 2px;overflow-wrap:anywhere}.study-table th:first-child{width:38px}.study-table caption{font-size:12px;padding:10px}.variation-arrow{font-size:30px}.variation-arrow small{font-size:9px;overflow-wrap:normal;writing-mode:vertical-rl;margin:6px auto 0}.turning-value small{font-size:9px;overflow-wrap:anywhere}.solution-axis{min-width:0;height:auto}.interval-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.interval-controls label{display:block;font-size:12px}.interval-controls input{display:block;width:100%;margin-top:6px;min-height:44px}.extrema-cards{grid-template-columns:1fr 1fr;gap:8px}.extrema-cards>div{padding:12px;overflow-wrap:anywhere}.extrema-cards strong{font-size:20px}#lesson-dialog{width:100%;max-width:100%;max-height:88dvh;margin:auto 0 0;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom)}#lesson-content{padding:0 18px 24px}.dialog-toolbar{padding:10px 18px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
html{scroll-padding-top:0}
@media(max-width:760px){.variation-arrow small{display:none}.solution-axis text{font-size:22px}.solution-axis text:last-child{display:none}#solution-line::after{content:'Bleu : solutions · ● inclus · ○ exclu · axe non gradué';display:block;text-align:center;font-size:11px;line-height:1.5;color:#62708b;margin:-12px 0 14px}}
.method-bridge{background:#f4f0ff;border:1px solid #dacdf5;border-left:4px solid #8053bd;border-radius:10px;margin:18px 0;padding:16px;color:#473466}.method-bridge p{margin:10px 0;line-height:1.65}.method-bridge p:last-child{margin-bottom:0}.method-bridge .bridge-formula{font-family:Manrope,sans-serif;font-size:20px;color:#533582;overflow-wrap:anywhere}.bridge-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bridge-steps p{background:#ebe2fc;padding:12px;border-radius:8px}.study-table tr:last-child th,.study-table tr:last-child td{border-top:2px solid #c6cee0}#sign-table .study-table th:first-child{width:110px}@media(max-width:760px){.bridge-steps{grid-template-columns:1fr;gap:0}.bridge-steps p{margin:5px 0}.method-bridge{padding:12px}.method-bridge .bridge-formula{font-size:18px}#sign-table .study-table th:first-child{width:60px}}
