:root{--red-deep:#cf4326}@font-face{font-family:"DM Mono";src:url("../../assets/fonts/dm-mono-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"DM Mono";src:url("../../assets/fonts/dm-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"DM Sans";src:url("../../assets/fonts/dm-sans-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("../../assets/fonts/fraunces-latin.woff2") format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
:root{--paper:#f3f2ec;--ink:#082b42;--ink2:#0b4267;--steel:#6f9aab;--mist:#dcebf0;--red:#006c99;--white:#fffefa;--line:rgba(8,43,66,.17);--mono:"DM Mono",monospace;--sans:"DM Sans",Arial,sans-serif;--display:"Fraunces",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);overflow-x:hidden}button,input{font:inherit}button,a{color:inherit}a{text-decoration:none}:where(a,button,summary,input,select):focus-visible{outline:3px solid #005f87;outline-offset:3px;box-shadow:0 0 0 6px rgba(255,255,255,.96)}.skip-link{position:fixed;z-index:100;top:-70px;left:20px;background:var(--red-deep);color:#fff;padding:12px 16px}.skip-link:focus{top:15px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lab-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line);background:rgba(243,242,236,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.brand{font:600 21px/1 var(--display);letter-spacing:-.03em}.brand span{color:var(--red)}.lab-switcher{display:flex;align-items:center;gap:14px;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em}.lab-switcher>a{padding:10px 13px;background:var(--ink);color:var(--white)}.lab-switcher .locale-switch{background:transparent;color:var(--ink);border:1px solid #7895a8}.lab-switcher b{color:#72d9f7}
.lab-hero{min-height:520px;position:relative;padding:clamp(72px,10vw,135px) clamp(20px,7vw,110px) 70px;display:grid;align-content:center;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:850px}.eyebrow{display:flex;align-items:center;gap:10px;color:#527083;font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow i{display:block;width:24px;height:1px;background:var(--red)}h1,h2,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.045em}.lab-hero h1{margin:18px 0 12px;font-size:clamp(54px,8vw,108px);line-height:.91;max-width:1050px}.statement{max-width:700px;margin:0;color:#40555f;font:500 clamp(21px,2.2vw,31px)/1.2 var(--display)}.synthetic-badge{position:absolute;left:clamp(20px,7vw,110px);bottom:24px;margin:0;color:#526b78;font:500 11px var(--mono)}.synthetic-badge span{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(233,88,63,.14);margin-right:10px}.hero-orbit{position:absolute;right:6vw;top:50%;width:min(31vw,390px);aspect-ratio:1;border:1px solid #b4c3c4;border-radius:50%;transform:translateY(-50%)}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;inset:16%;border:1px dashed #a9b9bd;border-radius:50%}.hero-orbit:after{inset:34%;border-style:solid;background:var(--ink)}.hero-orbit b{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:var(--white);font:500 78px var(--display)}.hero-orbit span,.hero-orbit i{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--red);top:14%;left:17%;box-shadow:0 0 0 9px rgba(233,88,63,.14)}.hero-orbit i{width:9px;height:9px;top:auto;left:auto;right:3%;bottom:30%;background:var(--steel);box-shadow:none}
.question-band{padding:50px clamp(20px,7vw,110px);background:var(--ink);color:var(--white);display:grid;grid-template-columns:170px minmax(0,900px);gap:40px;align-items:start}.question-band>p,.panel-heading p,.limits>p,.lab-cta>p{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8fa7b2}.question-band h2{font-size:clamp(28px,3.2vw,46px);line-height:1.1;margin:0}
.lab-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.7fr);min-height:850px}.assumptions{padding:56px clamp(24px,4vw,60px);border-right:1px solid var(--line);background:#e9eae5}.results{padding:56px clamp(24px,4vw,65px);min-width:0}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:42px}.panel-heading p{margin-bottom:8px;color:#435f6d}.panel-heading h2{margin:0;font-size:28px;line-height:1}.live-dot{font:500 9px var(--mono);text-transform:uppercase;color:#405c68;display:flex;gap:7px;align-items:center}.live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#28734f;box-shadow:0 0 0 4px rgba(40,115,79,.14)}.control{display:block;padding:20px 0;border-top:1px solid var(--line)}.control:last-child{border-bottom:1px solid var(--line)}.control-top{display:flex;justify-content:space-between;gap:15px;margin-bottom:15px;font-size:13px;font-weight:600}.control output{color:var(--red);font:500 11px var(--mono);text-align:right}input[type=range]{width:100%;height:2px;appearance:none;background:#78909a;accent-color:var(--red);cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border-radius:50%;background:var(--red);border:4px solid #f0eee8;box-shadow:0 0 0 1px var(--red)}input[type=range]:focus-visible{outline:3px solid #005f87;outline-offset:7px}.range-scale{display:flex;justify-content:space-between;margin-top:8px;color:#405c68;font:9px var(--mono)}.scenario-actions{display:grid;gap:8px;margin-top:25px}.action{min-height:45px;border:0;padding:11px 14px;cursor:pointer;font-weight:700;text-align:left;display:flex;justify-content:space-between}.action-dark{background:var(--ink);color:#fff}.action-dark span{color:#72d9f7}.action-quiet{background:transparent;border:1px solid #78909a}.action:hover{transform:translateY(-1px)}.seed{margin:20px 0 0;color:#405966;font:9px var(--mono)}
.control select{width:100%;min-height:44px;padding:10px 36px 10px 12px;border:1px solid #78909a;border-radius:0;background:var(--paper);color:var(--ink);font-weight:600}.preset-note{margin:12px 0 0;color:#405c68;font-size:11px}.model-method{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}.model-method summary{cursor:pointer;color:#405d6a;font:500 10px var(--mono);text-transform:uppercase}.model-method p{max-width:760px;margin:12px 0 0;color:#405d6a;font-size:12px}
.result-heading{margin-bottom:25px}.legend{display:flex;gap:18px;color:#405d6a;font:10px var(--mono);white-space:nowrap}.legend span:before{content:"";display:inline-block;width:17px;height:3px;margin-right:6px;vertical-align:middle;background:#91a7b1}.legend .scenario:before{background:#65d5f7}.visual-stage{position:relative}.visual-wrap{min-height:430px;background:var(--ink);overflow:hidden}.visual{min-height:430px;padding:12px;--red:#65d5f7}.visual svg{width:100%;height:100%;display:block;overflow:visible}.score-card{position:absolute;top:18px;right:18px;width:170px;padding:15px;background:rgba(255,254,250,.96);box-shadow:0 13px 35px rgba(0,0,0,.18)}.score-card span,.score-card small{display:block;color:#405d6a;font:9px/1.35 var(--mono);text-transform:uppercase}.score-card strong{display:block;margin:5px 0;color:var(--ink);font:600 44px/.9 var(--display)}.model-note{margin:14px 0 25px;padding-left:14px;border-left:3px solid var(--red);max-width:750px;color:#405d6a;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.metrics article{padding:18px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics p{min-height:34px;margin-bottom:8px;color:#405d6a;font:500 10px/1.35 var(--mono);text-transform:uppercase}.metrics strong{display:block;font:600 clamp(20px,2vw,29px)/1 var(--display);letter-spacing:-.03em}.metrics span{display:block;margin-top:7px;color:#405d6a;font-size:10px}.data-table{margin-top:18px}.data-table summary{cursor:pointer;color:#405d6a;font:500 10px var(--mono);text-transform:uppercase}.data-table table{width:100%;border-collapse:collapse;margin-top:12px;font-size:12px}.data-table th,.data-table td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.data-table th{font-weight:600}
.interpretation{padding:110px clamp(20px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.interpretation h2{max-width:650px;font-size:clamp(38px,4.5vw,64px);line-height:1.02}.interpretation>p{max-width:550px;margin:0;color:#4f626c;font-size:19px}.limits{padding:72px clamp(20px,7vw,110px);background:#dce5e5;display:grid;grid-template-columns:170px 1fr;gap:40px}.limits h2{max-width:780px;margin-bottom:20px;font-size:clamp(30px,3vw,46px);line-height:1.07}.limits div p{max-width:770px;color:#526773}.lab-cta{padding:95px clamp(20px,7vw,110px);background:var(--red-deep);color:#fff}.lab-cta>p{color:#ffe0d9}.lab-cta h2{max-width:850px;font-size:clamp(42px,6vw,78px);line-height:.98;margin:20px 0 38px}.lab-cta>div{display:flex;justify-content:space-between;gap:40px;align-items:end}.lab-cta>div p{max-width:610px;margin:0;color:#ffe6e1;font-size:17px}.lab-cta a{flex:none;padding:14px 17px;background:var(--ink);font-size:13px;font-weight:700}.lab-cta a span{color:#65d5f7}footer{padding:23px clamp(20px,4vw,64px);display:flex;justify-content:space-between;gap:20px;background:#0c1b25;color:#b8cbd2;font:10px var(--mono)}
/* SVG language */
.visual svg text{fill:#a9bec5;font:500 10px var(--mono);text-anchor:middle}.grid-lines path{stroke:#607b88;stroke-width:1;opacity:.22}.network-links path{stroke:#6f8995;stroke-width:2;opacity:.7}.network-links path.inactive{opacity:.16;stroke-dasharray:4 7}.network-links path.failed{stroke:var(--red);stroke-width:4;stroke-dasharray:7 6}.net-node circle,.station circle,.process-node circle,.evidence-node circle{fill:#1c3545;stroke:#7895a8;stroke-width:2}.net-node.hot circle,.station.hot circle,.process-node.hot circle,.evidence-node.hot circle{fill:var(--red);stroke:var(--red)}.net-node text,.station text,.process-node text,.evidence-node text{fill:#eaf1f3;text-anchor:middle;font:600 10.5px var(--mono);dominant-baseline:middle}.line-base,.line-scenario,.line-water{fill:none;stroke:#819ba5;stroke-width:3}.line-scenario,.line-water{stroke:var(--red);stroke-width:4}.point{fill:var(--red)}.flow-labels text{fill:#d5e1e3;text-anchor:start}.funnel-step{fill:#456170;stroke:#88a2ac}.accent-fill{fill:var(--red)!important}.funnel-step+text,.accent-fill+text{fill:#fff}.range path{stroke:#7895a8}.range circle{fill:#9eb3ba}.bar-base{fill:#647e8a;opacity:.65}.bar-scenario{fill:var(--red)}.capacity-line,.capacity-marker{stroke:#cfdee0;stroke-width:2;stroke-dasharray:7 5}.chart-caption{text-anchor:start!important}.route,.process-link,.evidence-links path{fill:none;stroke:#7895a8;stroke-width:3}.route.pulse{stroke:var(--red);stroke-dasharray:8 25;animation:pulse 3s linear infinite}.truck{fill:#c3d3d6}.visual svg .water-key text,.visual svg .flow-labels text,.visual svg .stack-key text,.visual svg .variant-architecture text,.visual svg .infra-ranking text,.visual svg .calibration text{text-anchor:start}.rework{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:6 5}.stack.one{fill:#405b69}.stack.two{fill:#678592}.stack.three{fill:var(--red)}.stack.four{fill:#b8cacc}.infra-ranking text{font-size:8px}.calibration .override{fill:var(--red)}.capacity-marker+text{fill:#fff}.variant-architecture text{fill:#d7e3e4;font-size:8px}
@keyframes pulse{to{stroke-dashoffset:-66}}
@media(max-width:980px){.hero-orbit{opacity:.3;right:-8vw}.lab-grid{grid-template-columns:1fr}.assumptions{border-right:0;border-bottom:1px solid var(--line)}#controls{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.metrics article:nth-child(-n+2){border-bottom:1px solid var(--line)}.interpretation{grid-template-columns:1fr;gap:25px}.question-band,.limits{grid-template-columns:1fr;gap:12px}}
@media(max-width:620px){.lab-header{height:65px}.brand{font-size:18px}.lab-switcher>span{display:none}.lab-switcher{gap:6px}.lab-switcher>a{font-size:10px;padding:8px}.lab-switcher>a:last-child{font-size:0}.lab-switcher>a:last-child:before{content:"Índice";font-size:10px}.lang-en .lab-switcher>a:last-child:before{content:"Labs"}.lab-switcher .locale-switch:before{content:none}.lab-hero{min-height:470px;padding-top:75px}.hero-orbit{width:270px;right:-120px}.lab-hero h1{font-size:52px}.statement{font-size:21px;max-width:90%}.synthetic-badge{max-width:85%;font-size:9px}.question-band{padding-block:36px}.question-band h2{font-size:29px}.assumptions,.results{padding-block:42px}#controls{display:block}.result-heading{display:block}.legend{margin-top:18px}.visual-wrap{min-height:0;overflow-x:auto;overscroll-behavior-inline:contain}.visual{width:620px;min-height:335px;padding:0}.score-card{position:static;width:100%;box-shadow:none;border:1px solid var(--line)}.score-card strong{font-size:37px}.metrics{grid-template-columns:1fr}.metrics article{border-right:0;border-bottom:1px solid var(--line)!important}.interpretation{padding-block:75px}.interpretation>p{font-size:17px}.limits{padding-block:55px}.lab-cta{padding-block:70px}.lab-cta>div{display:block}.lab-cta a{display:inline-block;margin-top:25px}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Navegacion del sitio dentro de los laboratorios: los labs dejan de ser una isla */
.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--line);background:rgba(243,242,236,.92);backdrop-filter:blur(14px)}
.site-header .nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,4vw,64px)}
.site-header .brand{font:600 21px/1 var(--display);letter-spacing:-.03em;color:var(--ink)}
.site-header .brand span{color:var(--red)}
.site-header .nav-links{display:flex;align-items:center;gap:22px;font-size:13.5px;font-weight:600}
.site-header .nav-links a{color:var(--ink)}
.site-header .nav-links>a:not(.nav-contact):not(.language-toggle){position:relative}
.site-header .nav-links>a:not(.nav-contact):not(.language-toggle)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-header .nav-links>a:hover::after{transform:scaleX(1)}
.site-header .nav-labs[aria-current]{color:var(--red)}
.site-header .nav-links a.nav-contact{padding:9px 13px;background:var(--ink);color:var(--white)}
.site-header .language-toggle{padding:7px 11px;border:1px solid #7895a8;font:500 11px var(--mono);letter-spacing:.06em}
.site-header .lab-counter{color:#5c7684;font:500 11px var(--mono);letter-spacing:.06em}
.site-header .menu-button{display:none;border:0;background:none;color:var(--ink);font:500 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.nav-group{position:relative}
.nav-group summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-weight:600}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{content:"+";color:var(--red);font:500 15px/1 var(--mono)}
.nav-group[open] summary::after{content:"−"}
.nav-flyout{position:absolute;top:calc(100% + 16px);left:-14px;z-index:50;display:grid;min-width:210px;padding:10px;background:var(--paper);border:1px solid rgba(11,66,103,.2);box-shadow:0 12px 28px rgba(7,34,54,.14)}
.nav-flyout a{padding:9px 12px;font-size:13px;font-weight:600;white-space:nowrap}
.nav-flyout a:hover{background:#dcecf1}
@media(max-width:1080px){
  .site-header .menu-button{display:block}
  .site-header .nav{min-height:62px}
  .site-header .nav-links{position:absolute;top:62px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:18px;padding:22px clamp(20px,4vw,64px);background:var(--paper);border-bottom:1px solid var(--line)}
  .site-header .nav-links.is-open{display:flex}
  .site-header .nav-links a.nav-contact{padding:0;background:none;color:var(--ink)}
  .nav-group,.nav-group summary{width:100%}
  .nav-flyout{position:static;border:0;box-shadow:none;padding:6px 0 0 14px;min-width:0;background:transparent}
}
/* Grafo curricular: extremos, cuatrimestres y leyenda */
.net-endpoint rect{fill:var(--ink);stroke:none}
.net-endpoint text{fill:#fff;font:600 11px var(--mono);text-anchor:middle;letter-spacing:.06em}
.net-endpoint .endpoint-sub{fill:#9fb8c3;font:400 9px var(--mono);letter-spacing:.04em}
.term-label{fill:#6d8896;font:500 9.5px var(--mono);text-anchor:middle;letter-spacing:.07em;text-transform:uppercase}
.net-node.gate circle{fill:#c9dbe3;stroke:#4a6a7c;stroke-width:1.6}
.net-legend text{fill:#5c7684;font:400 10px var(--mono)}
.net-legend .legend-hot{fill:var(--red);stroke:none}
.net-legend .legend-gate{fill:#c9dbe3;stroke:#4a6a7c;stroke-width:1.6}
.visual svg .net-node{cursor:help}

/* legibilidad de los nodos del grafo curricular */
.net-node.gate text{fill:#12303d}
.net-node.hot text{fill:#fff}
.net-legend text{dominant-baseline:middle}
.term-label{dominant-baseline:middle}
.curriculum-note{font:400 9.5px var(--mono);fill:#6b8593}
/* Explicacion breve bajo cada control */
.control-hint{display:block;margin-top:7px;color:#5d7583;font-size:12px;line-height:1.45;max-width:52ch}
.control-select .control-hint{margin-top:9px}
@media(max-width:560px){.control-hint{font-size:11.5px}}
/* ---- Grafo del plan de estudios ---- */
.curriculum-svg{width:100%;height:auto;overflow:visible}
.cur-stub{fill:none;stroke:#9db4be;stroke-width:1.2;opacity:.5;stroke-dasharray:2 5}
.cur-edge .hit{fill:none;stroke:transparent;stroke-width:13;cursor:pointer}
.cur-edge .line{fill:none;pointer-events:none;transition:stroke .18s,opacity .18s,stroke-width .18s}
.lg-line path{fill:none}
.cur-edge:hover .line{stroke:#cf4326;stroke-width:3.6;opacity:1}
.cur-node circle{stroke:#2c4a5a;stroke-width:1.4;transition:stroke-width .18s}
.cur-node text{text-anchor:middle;dominant-baseline:middle;font:600 9px var(--mono);fill:#12303d;pointer-events:none}
.cur-node.hot circle{stroke:#cf4326;stroke-width:3}
.cur-node:hover circle,.cur-node:focus circle{stroke-width:3.4}
.cur-node:focus{outline:2px solid #cf4326;outline-offset:3px}
.area-MAT{fill:#b9d9c9}.area-FIS{fill:#f0d8a8}.area-EST{fill:#a8c8e0}.area-HID{fill:#9fd4d8}.area-CON{fill:#d9c4b0}.area-GES{fill:#cdc0e0}
.cur-cap rect{fill:var(--ink)}
.cur-cap text{fill:#fff;text-anchor:middle;font:600 10px var(--mono);letter-spacing:.05em}
.cur-cap .sub{fill:#9fb8c3;font:400 8px var(--mono)}
.cur-legend text,.lg-area text{fill:#5c7684;font:400 10.5px var(--mono);dominant-baseline:middle}
.cur-legend .lg-hot{fill:none;stroke:#cf4326;stroke-width:3}
.lg-area circle{stroke:#2c4a5a;stroke-width:1.2}
/* panel accesible bajo el grafo */
.cur-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:18px;padding:16px;background:#eaf0f0;border:1px solid #cfdcdc}
.cur-pick{display:flex;flex-direction:column;gap:6px;font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.05em;color:#4c6572}
.cur-pick select{min-width:250px;padding:9px 10px;border:1px solid #9db4be;background:#fff;font:400 13px var(--sans);color:var(--ink)}
.cur-btn{padding:10px 15px;border:1px solid var(--ink);background:var(--ink);color:#fff;font:700 12.5px var(--sans);cursor:pointer}
.cur-btn:hover{background:#1d3a4c}
.cur-btn-ghost{background:transparent;color:var(--ink)}
.cur-btn-ghost:hover{background:#dbe6e6}
.cur-tools-note{flex:1 1 100%;margin:2px 0 0;color:#5d7583;font-size:12px;line-height:1.5}
@media(max-width:640px){.cur-pick select{min-width:0;width:100%}.cur-tools{flex-direction:column;align-items:stretch}}
/* Cuadro de duracion: lo que declara el plan frente a lo que produce la estructura */
.score-card.score-dual{width:272px;padding:0;background:rgba(255,254,250,.97)}
.dual-span{display:grid}
.span-block{padding:14px 16px}
.span-block+.span-block{border-top:1px solid #d7e0e0}
.span-block span{display:block;color:#5a7280;font:9px/1.35 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.span-block strong{display:block;margin:6px 0 4px;color:var(--ink);font:600 23px/1.08 var(--display);letter-spacing:-.02em;text-wrap:balance}
.span-block small{display:block;color:#5a7280;font:9px/1.4 var(--mono);text-transform:uppercase}
.span-block small b{font-weight:700}
.span-real{background:#eef3f4}
.span-real.over strong,.span-real.over small b{color:#b23a20}
.span-real.under strong,.span-real.under small b{color:#1d6b4f}
@media(max-width:900px){.score-card.score-dual{width:100%}.dual-span{grid-template-columns:1fr 1fr}.span-block+.span-block{border-top:0;border-left:1px solid #d7e0e0}}
/* Vinculante frente a redundante: la distincion central del laboratorio */
.cur-feedback{flex:1 1 100%;margin:10px 0 0;padding:11px 13px;border-left:3px solid #9db4be;background:#fff;color:#3d525e;font-size:12.5px;line-height:1.5}
.cur-feedback b{color:var(--ink)}
.cur-feedback.fb-good{border-left-color:#1d6b4f;background:#f0f7f3}
.cur-feedback.fb-warn{border-left-color:#cf4326;background:#fdf2ef}

/* Semantica de las lineas del grafo: una sola definicion por categoria */
.cur-edge.edge-on .line,.lg-line .edge-on{stroke:#7f9ba8;stroke-width:1.7;opacity:.75;stroke-dasharray:none}
.cur-edge.edge-critical .line,.lg-line .edge-critical{stroke:#5d8296;stroke-width:2.6;opacity:.9;stroke-dasharray:9 4}
.cur-edge.edge-binding .line,.lg-line .edge-binding{stroke:#12303d;stroke-width:4.4;opacity:1;stroke-dasharray:none}
.cur-edge.edge-off .line,.lg-line .edge-off{stroke:#cf4326;stroke-width:2;opacity:.95;stroke-dasharray:5 5}
/* Leyenda fuera del SVG: no puede superponerse con las aristas y reflowea */
.cur-legend-html{margin-top:16px;padding:15px 17px;background:#eef3f3;border:1px solid #cfdcdc}
.cur-legend-html ul{display:flex;flex-wrap:wrap;gap:10px 26px;margin:0;padding:0;list-style:none}
.cur-legend-html li{display:flex;align-items:center;gap:9px;font:400 12px/1.3 var(--mono);color:#556e7b}
.cur-legend-html .lg-areas{margin-top:12px;padding-top:12px;border-top:1px solid #cfdcdc}
.lg-swatch{flex:none;width:44px;height:10px;overflow:visible}
.lg-swatch[viewBox="0 0 18 18"]{width:18px;height:18px}
.lg-swatch path{fill:none}
.lg-swatch circle{stroke:#2c4a5a;stroke-width:1.2}
.lg-swatch .lg-hot{fill:none;stroke:#cf4326;stroke-width:3}
@media(max-width:640px){.cur-legend-html ul{gap:8px 16px}.cur-legend-html li{font-size:11px}}

/* Las muestras de la leyenda HTML no cuelgan de .cur-edge ni de .lg-line:
   necesitan sus propias reglas para reproducir cada trazo del grafo. */
.lg-swatch .edge-binding{stroke:#12303d;stroke-width:4.4;stroke-linecap:round}
.lg-swatch .edge-critical{stroke:#5d8296;stroke-width:2.6;stroke-dasharray:9 4}
.lg-swatch .edge-on{stroke:#7f9ba8;stroke-width:1.8}
.lg-swatch .edge-off{stroke:#cf4326;stroke-width:2.2;stroke-dasharray:5 5}
.cur-pick select{text-transform:none;letter-spacing:normal}
.cur-legend-html li{flex:0 1 auto}
.cur-legend-html li span{white-space:normal}
/* Advertencia comun a los diez laboratorios: demo, no pronostico, contexto propio */
.demo-notice{max-width:790px;margin:30px 0 0;padding:26px 28px;background:#f4f8f8;border:1px solid #b6c8cd;border-left:5px solid var(--ink)}
.dn-title{margin:0 0 16px;font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:#3c5462}
.dn-list{margin:0;padding:0;list-style:none;display:grid;gap:13px}
.dn-list li{margin:0;padding-left:19px;position:relative;color:#465c67;font-size:14px;line-height:1.55}
.dn-list li:before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;background:var(--red-deep)}
.dn-list strong{color:var(--ink)}
.limits .demo-notice p.dn-basis{max-width:none;margin:18px 0 0;padding-top:15px;border-top:1px solid #c4d3d7;color:#4a5f6a;font-size:13px;line-height:1.6}
.dn-basis a{color:#0a5578;text-decoration:underline;text-underline-offset:2px}
.limits .demo-notice p.dn-cta{max-width:none;margin:17px 0 0}
.dn-cta{display:flex;flex-wrap:wrap;gap:10px}
.dn-cta a{display:inline-block;padding:11px 15px;background:var(--ink);color:#fff;font:700 12px var(--sans)}
.dn-cta a em{font-style:italic}
.dn-book{background:var(--red-deep)!important}
.dn-book span{color:#fff!important}
.dn-book:hover{background:#b8391f!important}
.dn-cta a span{color:#65d5f7;margin-left:5px}
.dn-cta a:hover{background:var(--ink2)}
@media(max-width:620px){.demo-notice{padding:20px}}
