/* Extension isolée du laboratoire des fonctions, sans changer le second degré. */
.functions-lab-page .math-lab-skip {clip-path:inset(50%);color:#fff}
.functions-lab-page .math-lab-skip:focus {clip-path:none;color:#fff}
.functions-lab-page .fn-instruments {grid-template-columns:minmax(0,1fr) 240px}
.functions-lab-page .fn-controls {display:block}
.functions-lab-page .fn-controls .obs-parameter {margin-bottom:14px}
.functions-lab-page .fn-coefficients {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-column:1/-1}
.functions-lab-page .fn-controls .fn-coefficients input[type=text] {width:65px;min-height:44px}
.functions-lab-page .fn-controls .fn-coefficients label {gap:4px}
.functions-lab-page .fn-controls input[type=text] {width:85px;min-height:40px;padding:6px;border:1px solid #8aa6aa;border-radius:6px}
.functions-lab-page .fn-controls [aria-invalid=true],.functions-lab-page .obs-step [aria-invalid=true] {border:2px solid #a74216}
.functions-lab-page .fn-family {display:block;font-size:13px;margin:0 0 16px}
.functions-lab-page .fn-family select {display:block;width:100%;min-height:44px;border:1px solid #8aa6aa;border-radius:6px;background:white;color:var(--ink);margin-top:5px;padding:7px}
.functions-lab-page .fn-presets {font-size:13px;margin:12px 0}
.functions-lab-page .fn-presets summary {min-height:38px;cursor:pointer}
.functions-lab-page .fn-derivative {margin-top:12px}
.functions-lab-page .fn-derivative svg {aspect-ratio:720/230;min-height:0}
.functions-lab-page .obs-graph svg {aspect-ratio:720/340}
.functions-lab-page .fn-derivative-curve {stroke:#536291;stroke-dasharray:9 3}
.functions-lab-page .fn-tangent {stroke:#a74216;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}
.functions-lab-page .fn-secant {stroke:#517497;stroke-width:2;stroke-dasharray:6 4;fill:none;vector-effect:non-scaling-stroke}
.functions-lab-page .fn-candidate {stroke:#8c3d7c;stroke-width:2.5;stroke-dasharray:2 5;fill:none;vector-effect:non-scaling-stroke}
.functions-lab-page .fn-cut {stroke:#8e6858;stroke-width:1.5;stroke-dasharray:3 5;fill:none;vector-effect:non-scaling-stroke}
.functions-lab-page .fn-point-a {fill:#006963;stroke:white;stroke-width:2;cursor:grab;touch-action:none}
.functions-lab-page .fn-point-a:focus-visible {stroke:#a74216;stroke-width:5;outline:none}
.functions-lab-page .fn-point-b {fill:#517497;stroke:white;stroke-width:2}
.functions-lab-page .fn-key {white-space:nowrap;margin-right:8px}
.functions-lab-page .fn-key:before {content:"";width:17px;border-top:2px solid #006963;display:inline-block;vertical-align:middle;margin-right:4px}
.functions-lab-page .fn-key-t:before {border-color:#a74216}
.functions-lab-page .fn-key-s:before {border-color:#517497;border-top-style:dashed}
.functions-lab-page .fn-key-c:before {border-color:#a74216;border-top-style:dashed}
.functions-lab-page .fn-invalid {font-size:12px;color:#8e3818}
.functions-lab-page .fn-question-link {display:inline-block;margin-top:8px;min-height:44px;padding:8px 0;font-size:13px;font-weight:650}
.functions-lab-page .fn-variations {padding-left:18px;font-size:13px}
.functions-lab-page .fn-variations li {margin-bottom:6px}
.functions-lab-page .fn-box {display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;margin:14px 0}
.functions-lab-page .fn-box svg {width:100%;height:auto;max-height:300px}
.functions-lab-page .fn-box text {font:16px system-ui;fill:#173546}
.functions-lab-page .fn-newton {margin:14px 0}
.functions-lab-page .fn-newton h3,.functions-lab-page .fn-box h3,.functions-lab-page .fn-guide h3 {font-size:17px;margin-top:0}
.functions-lab-page .fn-newton .obs-tools label {font-size:13px}
.functions-lab-page .fn-newton input {width:90px;min-height:44px;padding:8px;border:1px solid #8aa6aa;border-radius:6px;margin-left:5px}
.functions-lab-page .fn-newton caption {text-align:left;color:var(--muted);font-size:12px;padding:8px}
.functions-lab-page .fn-newton p {font-size:13px}
.functions-lab-page .obs-step details {margin-top:15px}
.functions-lab-page .obs-step fieldset {flex:1 1 100%}
.functions-lab-page [data-cut] {display:block;width:100%;accent-color:var(--teal);min-height:44px}
.functions-lab-page .obs-sidebar .fn-other {display:block;font-size:12px;margin:14px 8px 0}
.functions-lab-page .fn-course-links {display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1100px){.functions-lab-page .fn-instruments{grid-template-columns:minmax(0,1fr)}.functions-lab-page .fn-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.functions-lab-page .fn-controls h3,.functions-lab-page .fn-controls>small,.functions-lab-page .fn-presets,.functions-lab-page .fn-invalid{grid-column:1/-1}.functions-lab-page .fn-controls .obs-parameter{margin:0}.functions-lab-page .fn-box{grid-template-columns:1fr}}
@media(max-width:600px){.functions-lab-page .fn-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.functions-lab-page .obs-graph svg{aspect-ratio:720/420;min-height:210px}.functions-lab-page .fn-derivative svg{aspect-ratio:720/300;min-height:150px}.functions-lab-page .obs-graph svg text{font-size:19px}.functions-lab-page .fn-box{gap:5px}.functions-lab-page .fn-newton .obs-tools{display:grid;grid-template-columns:1fr}.functions-lab-page .fn-newton button{justify-content:center}}
@media(max-width:420px){.functions-lab-page .fn-controls{grid-template-columns:1fr}.functions-lab-page .fn-controls input[type=text]{width:110px;min-height:44px}.functions-lab-page .fn-coefficients input[type=text]{width:70px}.functions-lab-page .obs-graph svg{min-height:0}}
@media(forced-colors:active){.functions-lab-page .fn-tangent,.functions-lab-page .fn-secant,.functions-lab-page .fn-candidate,.functions-lab-page .fn-cut,.functions-lab-page .fn-derivative-curve{stroke:CanvasText!important}.functions-lab-page .fn-point-a,.functions-lab-page .fn-point-b{fill:CanvasText!important}.functions-lab-page .fn-key:before{border-color:CanvasText!important}}
