:root{--bg:#0d141b;--panel:#16212b;--ink:#e7eff5;--muted:#a7b8c6;--green:#78e0b2;--line:#2b3b49}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}header{max-width:1360px;margin:auto;padding:24px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:23px;font-weight:800;color:var(--ink)}.brand span{color:var(--green);font-weight:400}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav form{margin:0}main{max-width:1240px;margin:auto;padding:36px 30px}h1{font-size:clamp(30px,4vw,56px);line-height:1.15;letter-spacing:-1.5px;margin:15px 0 24px}h2{font-size:27px;line-height:1.3}h3{font-size:21px;line-height:1.35}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:750}.muted,footer{color:var(--muted);font-size:14px}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:55px;padding:35px 0 50px}.hero h1 span{color:var(--green)}.hero p{max-width:570px}.button,button{background:var(--green);color:#092217;border:0;border-radius:9px;padding:13px 20px;font-size:15px;font-weight:750;display:inline-block;cursor:pointer;line-height:1.5}.button:hover,button:hover{filter:brightness(1.1);text-decoration:none}.small{padding:7px 12px}.secondary{display:inline-block;background:transparent;color:var(--green);border:1px solid var(--line);border-radius:8px;padding:11px 18px;margin:8px}.board{height:340px;background:repeating-linear-gradient(90deg,transparent 0 38px,#78e0b210 39px 40px),repeating-linear-gradient(0deg,#18362e 0 38px,#78e0b220 39px 40px);border:1px solid #477463;border-radius:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-3deg);box-shadow:0 24px 80px #0005}.chip{background:#10251f;border:9px double #75d5ad;border-radius:10px;padding:23px;text-align:center;letter-spacing:3px}.chip strong{display:block;font-size:35px;letter-spacing:0}.chip small{font-size:9px}.board-label{text-align:center;font-size:13px;color:#b8e4d0;margin-top:22px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-bottom:45px}.metrics article{padding:24px;text-align:center;color:var(--muted)}.metrics strong{display:block;font-size:32px;color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:var(--panel);border:1px solid var(--line);padding:26px;border-radius:14px;margin-bottom:18px;min-width:0}.card ul{padding-left:20px;color:var(--muted)}.card-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);padding-top:17px}.tag{border:1px solid var(--line);padding:3px 10px;border-radius:20px;font-size:12px}.notice{background:#1b342b;border:1px solid #466956;padding:18px 24px;border-radius:12px;margin:20px 0}.banner{background:linear-gradient(120deg,#1b352d,#17232e);border:1px solid var(--line);border-radius:18px;display:flex;justify-content:space-between;align-items:center;padding:25px 35px;gap:30px;margin-bottom:40px}progress{width:min(500px,100%);height:12px;accent-color:var(--green)}.lesson-list{list-style:none;padding:0!important}.lesson-list li{margin:12px 0}.lesson-list a{color:var(--ink)}label{display:block;margin:16px 0;color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #4c6070;border-radius:8px;padding:12px;background:#0e1922;color:var(--ink);font:inherit}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--green)}.auth{max-width:470px;margin:40px auto}.auth h1{font-size:34px}.learning{display:grid;grid-template-columns:300px minmax(0,1fr);gap:35px}.learning aside{align-self:start;position:sticky;top:20px}.side-link{display:block;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}.side-link.active{color:var(--green)}.reading{max-width:790px}.reading h1{font-size:40px}.reading p{font-size:17px}.reading li{margin:14px 0}.centered{margin:auto}details{padding:15px 20px;border:1px solid var(--line);border-radius:10px}summary{cursor:pointer;color:var(--green)}.finish{margin:30px 0}.choice{display:flex;align-items:center;gap:10px;color:var(--ink)}.choice input{width:auto;margin:0;accent-color:var(--green)}legend{padding:0 8px;font-weight:700}fieldset{min-width:0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.certificate{text-align:center;border:6px double var(--green);padding:55px 35px;background:var(--panel);margin:25px 0}.certificate h2{color:var(--green);font-size:36px}footer{max-width:1240px;margin:40px auto;padding:24px 30px;border-top:1px solid var(--line)}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning{grid-template-columns:250px minmax(0,1fr)}}@media(max-width:700px){header{padding:18px;display:block}nav{gap:14px;font-size:14px;margin-top:15px}main{padding:24px 18px}.hero{grid-template-columns:1fr;gap:30px;padding:10px 0 30px}.board{height:260px;transform:none}.grid{grid-template-columns:1fr}.metrics article{padding:15px 5px;font-size:12px}.metrics strong{font-size:25px}.learning{grid-template-columns:1fr;gap:18px}.learning aside{position:static}.banner{display:block;padding:22px}.banner .button{margin-top:15px}.reading h1{font-size:32px}.card{padding:22px}.certificate{padding:25px 15px}.certificate h1{font-size:30px}}@media print{body{background:white;color:black}header,footer,#print{display:none}.certificate{background:white;border-color:#205a45;color:black;break-inside:avoid}.certificate h2,.eyebrow{color:#205a45}main{padding:0}.muted{color:#555}}

.lesson-media{margin:25px 0 40px}.lesson-media video{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--line);border-radius:12px;background:#000}.lesson-media figure{margin:18px 0}.lesson-media img,.media-thumb{display:block;width:100%;height:auto;border-radius:10px}.lesson-media figcaption{font-size:13px;color:var(--muted);margin-top:10px}.video-tools{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:8px 0}.video-tools label{display:flex;align-items:center;gap:10px;font-size:14px}.video-tools select{width:auto;margin:0;padding:6px 10px}.transcript{margin-top:12px}.media-card h3{font-size:19px}.media-card .eyebrow{margin-top:16px}.media-thumb{aspect-ratio:16/9;object-fit:contain;background:#0d141b}.media-top{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:25px}.media-top select{width:auto;max-width:100%;margin:0}.media-card[hidden]{display:none}@media(max-width:700px){.video-tools{gap:12px}.media-top select{width:100%}}
.animation-lab{margin:36px 0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.canvas-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px}#network-canvas{display:block;width:100%;min-width:760px;height:auto}#network-status{border-left:3px solid var(--green);padding-left:15px;min-height:55px}dt{color:var(--muted);font-size:13px}dd{margin:0 0 12px;color:var(--green);overflow-wrap:anywhere}@media print{.animation-lab{display:none}}
/* RedLab v1.1: ancho adaptable y texto legible, sin desplazamiento lateral. */
html{width:100%;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{width:100%;min-width:0;margin:0}
header,main,footer{width:100%;min-width:0}
header>*,main>*,nav>*,.learning>*,.grid>*,.hero>*{min-width:0}
.reading{width:100%;min-width:0}
h1,h2,h3,p,a,li,legend,label,summary{overflow-wrap:anywhere}
input,textarea,select,video,img{max-width:100%}
.canvas-scroll{width:100%;overflow:hidden}
#network-canvas{width:100%;min-width:0;max-width:100%;height:auto}
@media(max-width:700px){
 header,main,footer{padding-left:16px;padding-right:16px}
 .brand{display:block;font-size:22px;line-height:1.3;letter-spacing:-.5px}
 nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
 nav>a,nav>form{min-width:0;text-align:center}
 nav>a{display:flex;align-items:center;justify-content:center;padding:9px 4px;border:1px solid var(--line);border-radius:8px;font-size:13px}
 nav form button{width:100%;min-height:40px;padding:8px}
 .learning{display:flex;flex-direction:column;gap:22px}
 .learning aside{width:100%;padding:16px;margin:0}
 .learning aside h3{font-size:18px;margin:12px 0}
 .side-link{padding:9px 0;font-size:14px}
 .reading h1{font-size:clamp(25px,7vw,32px);line-height:1.2;letter-spacing:-.7px}
 h2{font-size:22px}h3{font-size:19px}
 .reading p{font-size:16px;line-height:1.7}
 .eyebrow{font-size:10px;letter-spacing:1.3px}
 .card{padding:17px}.animation-lab{padding:13px}.video-tools{gap:8px}
 .video-tools button,.video-tools .secondary{font-size:13px;padding:10px 12px;margin:0}
 .video-tools label{width:100%;margin:8px 0}
 .banner{padding:18px}.certificate{padding:24px 14px}.certificate h2{font-size:28px}
}
@media(min-width:701px) and (max-width:1050px){.learning{grid-template-columns:220px minmax(0,1fr);gap:20px}header{flex-wrap:wrap}.brand{font-size:22px}nav{gap:12px}}
