body.coractive-refonte-light .cr-lab { --lab-green:#00a98f; --lab-ink:#00205b; --lab-muted:#4d6571; color:var(--lab-ink); background:radial-gradient(ellipse at 90% 0,rgba(0,169,143,.12),transparent 28%),#f4f8f7; padding:64px max(24px,calc((100vw - 1280px)/2)) 72px; font-family:Arial,sans-serif; }
.cr-lab * { box-sizing:border-box; }
body.coractive-refonte-light .cr-lab .lab-kicker { font:700 12px/1.6 Arial,sans-serif; color:#007566; letter-spacing:.16em; }
body.coractive-refonte-light .cr-lab h1 { font:700 clamp(38px,4vw,58px)/1.08 Arial,sans-serif; color:#00205b; margin:20px 0; letter-spacing:-.04em; }
.cr-lab h1 span { display:block; font-size:.55em; line-height:1.25; margin-top:14px; letter-spacing:-.02em; color:#4d6571; }
.cr-lab .lab-intro > p:not(.lab-kicker) { max-width:680px; font-size:17px; line-height:1.7; color:#4d6571; }
.cr-lab .lab-intro nav { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 56px; }
.cr-lab .lab-intro nav a { padding:14px 20px; border:1px solid #a9c9c0; border-radius:9px; background:#fff; color:#00205b; font-size:14px; font-weight:700; text-decoration:none; }
.cr-lab .lab-intro nav a:hover { border-color:#007566; background:#e5f3ef; }
.cr-lab .lab-module { scroll-margin-top:105px; margin-bottom:64px; }
.cr-lab .lab-heading { display:flex; gap:20px; align-items:flex-start; margin-bottom:24px; }
.cr-lab .lab-heading > span { font:700 14px Arial; color:#007566; border-top:2px solid #00a98f; padding-top:12px; }
body.coractive-refonte-light .cr-lab h2 { font:700 clamp(23px,2.5vw,32px)/1.2 Arial,sans-serif; color:#00205b; margin:0 0 10px; letter-spacing:-.025em; }
.cr-lab .lab-heading p { margin:0; font:16px/1.65 Arial; color:#4d6571; max-width:740px; }
.cr-lab .lab-workbench { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr); border:1px solid #c6d9d4; border-radius:18px; overflow:hidden; box-shadow:0 16px 50px rgba(20,50,61,.06); }
.cr-lab .lab-visual { background:#0b2030; color:#e6f4f4; min-width:0; padding:24px 22px; }
.cr-lab .lab-visual-top { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; flex-wrap:wrap; }
.cr-lab .lab-badge { font:600 12px/1.5 Arial; padding:7px 10px; border:1px solid #327f76; border-radius:6px; background:#123d3b; color:#a8efdd; }
.cr-lab .is-leaking .lab-badge { background:#493622; border-color:#8d6942; color:#ffcf8a; }
.cr-lab .lab-svg { width:100%; height:auto; display:block; margin:25px 0 12px; overflow:hidden; }
.cr-lab .lab-svg text { fill:#b9d1df; font:14px Arial,sans-serif; }
.cr-lab .lab-ray { fill:none; stroke:#ffce86; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round; }
.cr-lab .lab-leak { fill:none; stroke:#ffa25e; stroke-width:2.5; stroke-dasharray:7 5; }
.cr-lab .lab-flow { fill:none; stroke:#fff; stroke-width:3.5; stroke-dasharray:35 1000; stroke-linecap:round; }
.cr-lab .lab-caption { color:#b9d1df; font:12px/1.65 Arial; margin:0 0 24px; }
.cr-lab .lab-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#29414f; border:1px solid #29414f; border-radius:10px; overflow:hidden; }
.cr-lab .lab-metrics > div { padding:17px; background:#102b3b; }
.cr-lab .lab-metrics span { display:block; color:#b9d1df; font:12px/1.5 Arial; }
.cr-lab .lab-metrics strong { display:block; color:#fff; font:700 clamp(19px,2vw,26px)/1.25 Arial; margin-top:9px; overflow-wrap:anywhere; }
.cr-lab .lab-controls { min-width:0; background:#fff; padding:28px; margin:0; }
body.coractive-refonte-light .cr-lab h3 { color:#00205b; font:700 18px Arial; margin:0 0 24px; }
.cr-lab .lab-presets { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 24px; }
.cr-lab button { border:1px solid #aacbc1; background:#f0f8f5; color:#00205b; border-radius:7px; padding:10px 13px; min-height:44px; font:600 12px/1.4 Arial; cursor:pointer; text-transform:none; }
.cr-lab button:hover { background:#d7eee6; border-color:#007566; }
.cr-lab button:disabled { opacity:.5; cursor:default; }
.cr-lab .lab-visual button { color:#e6f4f4; background:transparent; border-color:#4c6b7b; }
.cr-lab .lab-field { margin-bottom:20px; }
.cr-lab .lab-field-heading { display:flex; justify-content:space-between; gap:8px; align-items:baseline; margin-bottom:8px; font:600 13px/1.45 Arial; color:#00205b; }
.cr-lab .lab-field-heading span { color:#566b76; white-space:nowrap; }
.cr-lab .lab-field-inputs { display:flex; align-items:center; gap:14px; }
.cr-lab input[type=range] { width:100%; min-width:0; accent-color:#007f70; height:28px; padding:0; margin:0; box-shadow:none; border:0; background:transparent; }
.cr-lab input[type=number] { width:100px; flex:0 0 100px; max-width:100%; min-height:44px; border:1px solid #b1c9c3; border-radius:6px; padding:9px; color:#00205b; background:#f9fcfb; font:600 15px Arial; box-shadow:none; }
.cr-lab .lab-example { font:12px/1.6 Arial; color:#60727c; margin:20px 0 0; }
.cr-lab .lab-control-actions { display:flex; gap:8px; flex-wrap:wrap; }
.cr-lab .lab-error { padding:12px; border-left:3px solid #a0441e; background:#fff0e7; color:#753117; font:14px/1.5 Arial; }
.cr-lab [hidden] { display:none!important; }
.cr-lab .is-invalid .lab-svg,.cr-lab .is-invalid .lab-metrics,.cr-lab .is-invalid .lab-badge { visibility:hidden; }
.cr-lab .lab-method { border-bottom:1px solid #ccdad6; padding:18px 0; color:#4d6571; font:14px/1.7 Arial; }
.cr-lab .lab-method summary { cursor:pointer; color:#00205b; font-weight:600; min-height:32px; }
.cr-lab .lab-method p { max-width:1000px; }
.cr-lab .lab-method a { color:#007566; text-decoration:underline; }
.cr-lab .lab-formula { font-family:monospace; background:#e7efec; padding:14px; border-radius:8px; overflow-wrap:anywhere; }
.cr-lab .lab-next { border-top:1px solid #bdd5cc; padding-top:32px; display:flex; flex-wrap:wrap; align-items:center; gap:20px; }
.cr-lab .lab-next > div { flex:1 1 520px; }
.cr-lab .lab-next p { color:#4d6571; font:15px/1.6 Arial; }
.cr-lab .lab-next a { color:#00205b; font-weight:600; }
.cr-lab :is(a,button,input,summary):focus-visible { outline:3px solid #00a98f; outline-offset:4px; }
@media(prefers-reduced-motion:no-preference){ .cr-lab .lab-flow { animation:lab-flow 4s linear infinite paused; }.cr-lab .is-playing .lab-flow { animation-play-state:running; }@keyframes lab-flow { from{stroke-dashoffset:1065}to{stroke-dashoffset:0} } }
@media(prefers-reduced-motion:reduce){.cr-lab .lab-flow { display:none; }}
@media(max-width:850px){.cr-lab .lab-workbench {grid-template-columns:minmax(0,1fr);}.cr-lab .lab-controls {padding:24px;}.cr-lab .lab-visual {padding:20px 14px;}.cr-lab .lab-svg text {font-size:17px;}}
@media(max-width:480px){body.coractive-refonte-light .cr-lab{padding:36px 16px;}.cr-lab .lab-metrics > div{padding:12px;}.cr-lab .lab-controls{padding:20px;}.cr-lab .lab-presets button{flex:1;}.cr-lab .lab-heading{gap:12px;}}

/* Homepage edition: native panels keep both tools available in place. */
body.coractive-refonte-light .cr-lab.cr-lab-embedded { margin:44px 0 0; padding:32px clamp(16px,3vw,36px); border:1px solid #c8dcd5; border-radius:20px; }
body.coractive-refonte-light .cr-lab .lab-title { font:700 clamp(28px,3vw,40px)/1.12 Arial,sans-serif; margin:12px 0 16px; color:#00205b; letter-spacing:-.03em; }
.cr-lab .lab-title > span { display:block; font-size:.57em; color:#4d6571; margin-top:12px; line-height:1.35; letter-spacing:0; }
.cr-lab .lab-intro nav { margin-bottom:28px; }
.cr-lab details.lab-module { margin-bottom:16px; border:1px solid #c4d9d1; border-radius:12px; background:#fff; overflow:hidden; }
.cr-lab details.lab-module > summary.lab-heading { display:flex; list-style:none; cursor:pointer; padding:22px; margin:0; align-items:center; }
.cr-lab details.lab-module > summary::-webkit-details-marker { display:none; }
.cr-lab details.lab-module > summary::after { content:'+'; margin-left:auto; font:400 26px Arial; color:#007566; flex:none; }
.cr-lab details.lab-module[open] > summary::after { content:'−'; }
body.coractive-refonte-light .cr-lab .lab-heading h3 { margin:0 0 7px; font:700 clamp(20px,2.3vw,27px)/1.2 Arial,sans-serif; color:#00205b; }
.cr-lab .lab-heading p { font-size:14px; }
.cr-lab details.lab-module .lab-workbench { border-radius:0; border-left:0; border-right:0; box-shadow:none; }
.cr-lab details.lab-module .lab-method { padding:18px 24px; border:0; }
.cr-lab .lab-ray-halo { fill:none; stroke:#ffb958; stroke-width:10; opacity:.35; stroke-linecap:round; stroke-linejoin:round; }
.cr-lab .lab-ray { stroke:#ffcc80; stroke-width:2.5; }
.cr-lab .lab-flow { stroke:#fff9e9; stroke-width:3.5; stroke-dasharray:65 1000; }
@media(prefers-reduced-motion:no-preference){.cr-lab .lab-flow {animation-duration:3.6s;}}
@media(max-width:600px){.cr-lab details.lab-module > summary.lab-heading {padding:18px 14px;}.cr-lab .lab-heading p {font-size:13px;}body.coractive-refonte-light .cr-lab.cr-lab-embedded{padding:22px 12px;}.cr-lab .lab-module {scroll-margin-top:90px;}}

.cr-lab.cr-lab-embedded { scroll-margin-top:100px; }

/* Select controls for the remaining technical tools. */
body.coractive-refonte-light .cr-lab select { display:block; width:100%; height:auto; min-height:48px; border:1px solid #a5c7bb; border-radius:8px; padding:12px 30px 12px 10px; background-color:#f4faf7; color:#00205b; font:600 13px/1.5 Arial,sans-serif; text-transform:none; }
.cr-lab select:focus-visible {outline:3px solid #00a98f;outline-offset:3px;}

body.coractive-refonte-light .cr-lab .lab-pdf-export{display:inline-flex;align-items:center;justify-content:center;background:#00a98f;color:#00205b;border:1px solid #007566;border-radius:8px;padding:12px 18px;min-height:44px;font-weight:700;margin-top:16px;cursor:pointer}
body.coractive-refonte-light .cr-lab .lab-pdf-export:disabled{opacity:.6;cursor:wait}
body.coractive-refonte-light .cr-lab .lab-pdf-status{font-size:13px;color:#b9d1df;line-height:1.5}
body.coractive-refonte-light .cr-lab .lab-pdf-export:focus-visible{outline:3px solid #69ddc6;outline-offset:3px}
