html,body{max-width:100%;overflow-x:clip}

/* Expediente de lectura */
.reader-progress{position:fixed;z-index:24;right:14px;top:50%;translate:0 -46%;width:72px;max-height:calc(100vh - 105px);padding:12px 10px;color:#fff;background:#031946ed;border:1px solid #4bd1ff66;border-radius:24px;box-shadow:0 18px 48px #00133166;backdrop-filter:blur(14px);overflow:hidden;transition:width .28s ease,border-radius .28s ease}.reader-progress:hover,.reader-progress:focus-within{width:284px;border-radius:20px}.reader-progress header{height:46px;display:flex;align-items:center;gap:10px}.reader-progress header div{min-width:0;display:grid}.reader-progress header small{color:#68d9ff;font-size:9px;letter-spacing:.16em;font-weight:900;opacity:0;transition:opacity .2s}.reader-progress header strong{font-size:17px;white-space:nowrap}.reader-progress:hover header small,.reader-progress:focus-within header small{opacity:1}.rail-drop{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;color:#031946;background:#55d2ff;font-size:21px;rotate:-30deg}.chapter-rail{position:relative;display:grid;gap:2px;margin-top:5px}.rail-track{position:absolute;z-index:-1;left:29px;top:66px;width:2px;height:calc(100% - 148px);background:#ffffff1c}.rail-track i{display:block;width:100%;height:0;background:linear-gradient(#52d7ff,#1289d0);box-shadow:0 0 8px #51d7ff;transition:height .35s}.rail-step{position:relative;width:100%;height:31px;padding:0;display:flex;align-items:center;gap:12px;border:0;background:transparent;color:#8daabd;font:800 11px Inter,Arial,sans-serif;text-align:left;cursor:pointer}.rail-step b{z-index:1;display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border:2px solid #496782;border-radius:50%;background:#031946;font-size:10px;transition:.2s}.rail-step span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;translate:-5px 0;transition:.2s}.reader-progress:hover .rail-step span,.reader-progress:focus-within .rail-step span{opacity:1;translate:0}.rail-step.visited b{border-color:#42cfff;color:#061f56;background:#42cfff}.rail-step.current b{border-color:#fff;outline:3px solid #4ad4ff44;background:#fff;color:#061f56;scale:1.08}.rail-step.current span{color:#fff}.reader-progress>p{margin:8px 2px 10px;color:#bfe7f7;font-size:11px;line-height:1.35;opacity:0;max-height:0;overflow:hidden;transition:.2s}.reader-progress:hover>p,.reader-progress:focus-within>p{opacity:1;max-height:55px}.rail-actions{display:grid;grid-template-columns:1fr auto;gap:6px}.rail-actions button{min-width:0;border:0;border-radius:9px;padding:9px 6px;background:#55d2ff;color:#031946;font:900 10px Inter,Arial,sans-serif;cursor:pointer;overflow:hidden}.rail-actions #resetProgress{width:0;padding-inline:0;opacity:0;color:#c7e8f7;background:#ffffff14;transition:.2s}.reader-progress:hover #resetProgress,.reader-progress:focus-within #resetProgress{width:auto;padding-inline:9px;opacity:1}.reader-progress [hidden]{display:none!important}@media(max-height:720px) and (min-width:761px){.reader-progress{top:75px;bottom:12px;translate:0;overflow-y:auto}.rail-step{height:28px}.rail-step b{width:27px;height:27px;flex-basis:27px}.rail-track{left:27px}}
@media(max-width:760px){.reader-progress{top:auto;right:10px;bottom:10px;translate:0;width:calc(100% - 20px);max-height:none;padding:9px 12px;display:grid;grid-template-columns:auto 1fr auto;border-radius:16px}.reader-progress:hover,.reader-progress:focus-within{width:calc(100% - 20px);border-radius:16px}.reader-progress header{height:38px}.rail-drop{width:34px;height:34px;flex-basis:34px}.reader-progress header small{opacity:1}.chapter-rail,.rail-track,.reader-progress>p,.rail-actions #resetProgress{display:none}.rail-actions{display:block}.rail-actions button{padding:10px 12px}.reader-progress:not(.has-progress){display:none}}

.rail-step em{margin-left:auto;padding-right:3px;color:#73dfff;font-size:9px;font-style:normal;white-space:nowrap;opacity:0;transition:.2s}.reader-progress:hover .rail-step em,.reader-progress:focus-within .rail-step em{opacity:1}.rail-step.started:not(.visited) b{border-color:#42cfff;color:#7ee4ff}.sheet{position:relative}.sheet-check{position:absolute;z-index:2;right:12px;top:12px;padding:7px 10px;border-radius:999px;background:#0a9f75;color:#fff;font:900 11px Inter,Arial,sans-serif;letter-spacing:.04em;opacity:0;transform:scale(.8);pointer-events:none;transition:.2s}.sheet.opened-sheet{outline:3px solid #22ba8b;outline-offset:-3px}.sheet.opened-sheet .sheet-check{opacity:1;transform:scale(1)}@media(max-width:760px){.sheet-check{right:7px;top:7px;padding:5px 7px;font-size:9px}}

/* Estado cerrado realmente minimalista: sin restos del panel desplegado */
@media(min-width:761px){.reader-progress:not(:hover):not(:focus-within){width:58px;padding:10px 8px;border-radius:29px}.reader-progress:not(:hover):not(:focus-within) header{justify-content:center}.reader-progress:not(:hover):not(:focus-within) header div,.reader-progress:not(:hover):not(:focus-within) .rail-step span,.reader-progress:not(:hover):not(:focus-within) .rail-step em,.reader-progress:not(:hover):not(:focus-within)>p,.reader-progress:not(:hover):not(:focus-within) .rail-actions{display:none}.reader-progress:not(:hover):not(:focus-within) .rail-track{left:27px;top:62px;height:calc(100% - 78px)}.reader-progress:not(:hover):not(:focus-within) .chapter-rail{justify-items:center}.reader-progress:not(:hover):not(:focus-within) .rail-step{width:30px}.reader-progress:hover header div,.reader-progress:focus-within header div{display:grid}.reader-progress:hover .rail-step span,.reader-progress:focus-within .rail-step span{display:block;flex:1}.reader-progress:hover .rail-step em,.reader-progress:focus-within .rail-step em{display:block}.reader-progress:hover>p,.reader-progress:focus-within>p{display:block}.reader-progress:hover .rail-actions,.reader-progress:focus-within .rail-actions{display:grid}}

/* Laboratorios interactivos */
.hydro-lab{width:min(1320px,calc(100% - 28px));margin:30px auto 42px;padding:clamp(22px,4vw,46px);border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 0,#0a77bc 0,transparent 35%),linear-gradient(145deg,#031640,#062c68);box-shadow:0 22px 58px #0319463d;overflow:hidden}.hydro-lab>header span{display:inline-block;color:#65d9ff;font-size:12px;letter-spacing:.18em;font-weight:900}.hydro-lab>header h3{margin:7px 0 5px;font-size:clamp(28px,4.2vw,58px);line-height:.95}.hydro-lab>header p{margin:0;color:#cdeeff;font-size:17px}.lab-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,4vw,52px);margin-top:30px}.lab-controls{display:grid;gap:18px}.lab-controls label{display:grid;grid-template-columns:1fr auto;gap:7px;font-weight:800;color:#dcefff}.lab-controls output{color:#64d8ff;font-variant-numeric:tabular-nums}.lab-controls input{grid-column:1/-1;width:100%;accent-color:#4fd2ff;cursor:ew-resize}.lab-result{min-height:255px;display:flex;flex-direction:column;justify-content:center;padding:28px;border:1px solid #74deff66;border-radius:20px;background:#02133388;text-align:center}.lab-result>span{font-size:12px;letter-spacing:.16em;color:#8ce4ff;font-weight:900}.lab-result>strong{margin:8px 0 2px;font-size:clamp(48px,7vw,92px);line-height:1;font-variant-numeric:tabular-nums}.lab-result>b{align-self:center;padding:7px 12px;border-radius:999px;background:#15b775;color:#fff;letter-spacing:.07em}.lab-result>b[data-level="transición"]{background:#e09a12}.lab-result>b[data-level="turbulento"]{background:#e34e4e}.lab-result p{color:#cceaff}.hydro-lab>small{display:block;margin-top:22px;color:#a9d5ea;line-height:1.5}.flow-visual{position:relative;height:48px;margin:22px 0 5px;border:2px solid #7adfff66;border-radius:999px;overflow:hidden;background:#02102b}.flow-visual i{position:absolute;left:-12%;top:calc(8px * var(--i,1));width:12px;height:12px;border-radius:50%;background:#5cd8ff;animation:flow-dot 2.2s linear infinite}.flow-visual i:nth-child(1){--i:1;animation-delay:0s}.flow-visual i:nth-child(2){--i:2;animation-delay:-.4s}.flow-visual i:nth-child(3){--i:3;animation-delay:-.8s}.flow-visual i:nth-child(4){--i:4;animation-delay:-1.2s}.flow-visual i:nth-child(5){--i:2.8;animation-delay:-1.6s}.flow-visual.transición i{animation-duration:1.25s}.flow-visual.turbulento i{animation-duration:.7s;animation-name:flow-chaos}@keyframes flow-dot{to{left:105%}}@keyframes flow-chaos{0%{left:-12%;transform:translateY(-8px)}45%{transform:translateY(13px)}100%{left:105%;transform:translateY(-4px)}}.loss-meter{height:18px;margin:24px 0 8px;border-radius:999px;background:#ffffff18;overflow:hidden}.loss-meter i{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#42d8ff,#ffbf3f,#ff4d5e);transition:width .25s}.pressure-wave{height:52px;margin:20px 0 8px;display:flex;align-items:center;overflow:hidden;border-left:5px solid #5bd5ff;border-right:5px solid #5bd5ff}.pressure-wave i{display:block;width:var(--wave,60%);height:7px;margin:auto;background:#5bd5ff;box-shadow:0 0 18px #5bd5ff;animation:wave-pulse .7s ease-in-out infinite alternate}@keyframes wave-pulse{to{height:36px;background:#ff5263;box-shadow:0 0 25px #ff5263}}@media(max-width:800px){.lab-grid{grid-template-columns:1fr}.lab-result{min-height:220px}}@media(prefers-reduced-motion:reduce){.flow-visual i,.pressure-wave i{animation:none}}
