/* Algoritmos y Lógica de Programación con PSeInt · LokyApps */
:root{
  --green:#39A900;--green-dark:#2E7D00;--green-soft:#E8F5E9;--blue:#38BDF8;--blue-dark:#0284C7;--blue-soft:#E0F2FE;--bg:#F5F7FB;--card:#FFF;
  --text:#0F172A;--muted:#64748B;--line:#E2E8F0;--info:#2563EB;--warning:#F59E0B;
  --danger:#DC2626;--success:#16A34A;--code:#0B1220;--shadow:0 12px 34px rgba(15,23,42,.07);
  --shadow-green:0 18px 42px rgba(57,169,0,.13);--radius:22px;--header:78px;--left:300px;--right:286px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}::selection{background:#bde7aa;color:#173d05}
:focus-visible{outline:3px solid rgba(57,169,0,.28);outline-offset:2px}
.hidden{display:none!important}

/* splash */
.splash{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#fff,#f2f8ef);display:grid;place-items:center;transition:opacity .45s,visibility .45s}
.splash.hide{opacity:0;visibility:hidden}.splash-card{text-align:center;animation:splashIn .65s cubic-bezier(.2,.8,.2,1)}
.splash-logo{width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(57,169,0,.24));animation:logoFloat 1.6s ease-in-out infinite alternate}
.splash h1{margin:15px 0 4px;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em}.splash h1 span{color:var(--green)}.splash p{margin:0;color:var(--muted)}
.splash-line{height:5px;width:210px;background:#e5eee1;border-radius:999px;margin:20px auto 0;overflow:hidden}.splash-line i{display:block;width:0;height:100%;background:var(--green);animation:loading 1.2s ease forwards}

/* header */
.header{height:var(--header);position:sticky;top:0;z-index:90;background:linear-gradient(90deg,#f0fdf4 0%,rgba(255,255,255,.97) 48%,#e0f2fe 100%);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,var(--green) 0 20%,var(--blue) 20% 62%,transparent 82%)}
.header-inner{height:100%;display:flex;align-items:center;gap:16px;padding:0 22px}.brand{display:flex;align-items:center;gap:10px;min-width:240px}.brand img{width:46px;height:46px;object-fit:contain}.brand b{display:block;font-size:.98rem;font-weight:900;letter-spacing:-.02em}.brand b span{color:var(--blue-dark)}.brand small{display:block;color:var(--green-dark);font-size:.72rem;font-weight:700}
.global-search{position:relative;flex:1;max-width:520px}.search-shell{display:flex;align-items:center;gap:8px;height:44px;border:1px solid var(--line);background:#F8FAFC;border-radius:14px;padding:0 12px}.search-shell:focus-within{background:#fff;border-color:#9bd17f;box-shadow:0 0 0 4px rgba(57,169,0,.09)}.search-shell input{border:0;outline:0;background:transparent;width:100%;color:var(--text)}
.search-results{display:none;position:absolute;top:52px;left:0;right:0;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 22px 52px rgba(15,23,42,.18);max-height:420px;overflow:auto;padding:7px;z-index:200}.search-results.show{display:block}.search-item{width:100%;border:0;background:white;border-radius:12px;padding:10px;text-align:left;display:flex;gap:10px}.search-item:hover{background:var(--green-soft)}.search-item em{font-style:normal;font-size:.68rem;font-weight:800;background:#eef2f7;color:#475569;border-radius:999px;padding:3px 7px;height:max-content}.search-item b{display:block;font-size:.84rem}.search-item small{display:block;color:var(--muted);font-size:.73rem;margin-top:2px}
.header-nav{margin-left:auto;display:flex;gap:4px}.header-nav button{border:0;background:transparent;padding:9px 11px;border-radius:11px;color:var(--muted);font-weight:750}.header-nav button:hover,.header-nav button.active{background:var(--green-soft);color:var(--green-dark)}
.mobile-menu{display:none;border:1px solid var(--line);background:white;border-radius:12px;width:42px;height:42px}

/* layout */
.app{display:grid;grid-template-columns:var(--left) minmax(0,1fr) var(--right);min-height:calc(100vh - var(--header))}.sidebar,.rightbar{position:sticky;top:var(--header);height:calc(100vh - var(--header));overflow:auto;background:#fff}.sidebar{border-right:1px solid var(--line);padding:18px 14px 36px}.rightbar{border-left:1px solid var(--line);padding:18px 15px 34px}.main{min-width:0;padding:24px 26px 80px}
.side-title{padding:0 9px 8px;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;color:#94A3B8;font-weight:900}.module-list{display:grid;gap:7px}.module-btn{border:1px solid transparent;background:#fff;border-radius:14px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;transition:.2s}.module-btn:hover{background:#f7fbf4;border-color:#dcebd5}.module-btn.active{background:var(--green-soft);border-color:#cfe5c4}.module-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef4eb;color:var(--green-dark);font-weight:900}.module-btn.active .module-icon{background:var(--green);color:#fff}.module-copy b{display:block;font-size:.85rem}.module-copy small{display:block;color:var(--muted);font-size:.68rem;margin-top:1px}.module-progress{margin-left:auto;font-size:.68rem;color:var(--muted);font-weight:800}
.lesson-nav{margin-top:16px}.level-heading{margin:14px 8px 6px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#94A3B8}.lesson-btn{width:100%;border:0;background:transparent;display:flex;align-items:flex-start;gap:9px;text-align:left;border-radius:12px;padding:9px}.lesson-btn:hover{background:#f8fafc}.lesson-btn.active{background:#f0f8ec}.lesson-status{width:22px;height:22px;border-radius:8px;border:1px solid #d7e2d1;display:grid;place-items:center;flex:0 0 auto;font-size:.7rem;color:#94a3b8;margin-top:1px}.lesson-btn.done .lesson-status{background:var(--green);border-color:var(--green);color:white}.lesson-label b{display:block;font-size:.78rem;line-height:1.25}.lesson-label small{color:var(--muted);font-size:.66rem}.project-dot{color:#F59E0B}

/* main views */
.view{display:none;animation:fadeUp .28s ease}.view.active{display:block}.hero{background:radial-gradient(circle at 90% 15%,rgba(57,169,0,.15),transparent 30%),linear-gradient(145deg,#fff,#f7fbf4);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.eyebrow{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-dark);font-weight:800;font-size:.76rem}.hero h1{font-size:clamp(2rem,3vw,3.3rem);letter-spacing:-.05em;line-height:1.02;margin:14px 0 12px}.hero h1 span{color:var(--green)}.hero p{color:var(--muted);max-width:68ch;margin:0 0 18px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{border-radius:13px;padding:11px 16px;font-weight:800;border:1px solid var(--line);background:white;color:var(--text);transition:.2s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.ghost{background:transparent}.btn.danger{color:var(--danger)}.btn.small{padding:8px 11px;font-size:.78rem}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.hero-visual{min-height:270px;border-radius:24px;background:white;border:1px solid var(--line);padding:20px;display:grid;place-items:center}.path-map{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.path-chip{border:1px solid var(--line);background:#fbfdf9;border-radius:16px;padding:14px}.path-chip b{display:block;color:var(--green-dark)}.path-chip small{color:var(--muted)}.path-chip:last-child{grid-column:1/-1;background:var(--green-soft)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.kpi{background:white;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.kpi b{font-size:1.3rem;color:var(--green-dark);display:block}.kpi span{font-size:.76rem;color:var(--muted)}
.section-card{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.section-head h2,.section-head h3{margin:0}.section-head p{margin:4px 0 0;color:var(--muted);font-size:.88rem}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;transition:.2s}.module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-green);border-color:#cfe3c5}.module-card-top{display:flex;justify-content:space-between;gap:10px}.module-card h3{margin:8px 0 4px;font-size:1rem}.module-card p{margin:0;color:var(--muted);font-size:.8rem}.mini-progress{height:7px;background:#edf2ea;border-radius:999px;overflow:hidden;margin-top:12px}.mini-progress i{height:100%;display:block;background:var(--green);border-radius:999px}

/* lesson */
.breadcrumb{font-size:.75rem;color:var(--muted);margin-bottom:8px}.lesson-header{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow)}.lesson-header-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.lesson-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:8px}.tag{font-size:.7rem;font-weight:800;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#475569}.tag.green{background:var(--green-soft);color:var(--green-dark)}.tag.project{background:#FFF7E7;color:#A15B00}.lesson-header h1{margin:0 0 8px;font-size:clamp(1.55rem,2.5vw,2.4rem);letter-spacing:-.035em}.lesson-header p{margin:0;color:var(--muted)}.complete-badge{width:48px;height:48px;border-radius:15px;border:2px solid var(--line);display:grid;place-items:center;color:#94A3B8;font-weight:900}.complete-badge.done{background:var(--green);border-color:var(--green);color:#fff;animation:pop .35s ease}
.lesson-content{display:grid;gap:14px;margin-top:14px}.edu-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.edu-card h2{font-size:1rem;margin:0 0 10px}.edu-card p{margin:0;color:#334155}.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.topic{border:1px solid var(--line);background:#fbfcfd;border-radius:13px;padding:10px 11px;display:flex;gap:8px;font-size:.82rem}.topic i{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:6px;flex:none}
.info{border-left:4px solid var(--info);background:#F3F7FF}.tip{border-left:4px solid var(--green);background:#F5FBF2}.warn{border-left:4px solid var(--warning);background:#FFFBF1}
.code-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.code-head span{font-size:.74rem;color:var(--muted);font-weight:800}.code{margin:0;background:var(--code);color:#E2E8F0;border-radius:14px;padding:15px;overflow:auto;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.editor{width:100%;min-height:180px;border:1px solid #233044;background:var(--code);color:#e7f7e0;border-radius:14px;padding:14px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview{width:100%;min-height:220px;border:1px solid var(--line);border-radius:14px;background:white}.console{min-height:160px;border-radius:14px;background:#071019;color:#bfeab0;padding:13px;font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow:auto}.feedback{display:none;margin-top:10px;padding:11px 12px;border-radius:12px;font-size:.82rem}.feedback.show{display:block}.feedback.ok{background:#ECF9EE;border:1px solid #BDE7C6;color:#166534}.feedback.bad{background:#FFF1F1;border:1px solid #F2C2C2;color:#A61B1B}
.quiz-options{display:grid;gap:8px;margin-top:10px}.quiz-option{border:1px solid var(--line);border-radius:13px;padding:10px 12px;display:flex;gap:8px;align-items:center}.quiz-option:has(input:checked){border-color:#9ad17f;background:var(--green-soft)}.lesson-footer-nav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.glossary-chips{display:flex;flex-wrap:wrap;gap:7px}.glossary-chip{border:1px solid #dce7d7;background:#f8fcf6;border-radius:999px;padding:6px 9px;font-size:.72rem;color:var(--green-dark);font-weight:750}

/* visual diagrams */
.visual{overflow:hidden}.diagram{min-height:210px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#fbfdf9,#f3f7f1);padding:18px;display:grid;place-items:center}.flow{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.node{min-width:110px;background:#fff;border:1px solid #dbe5d6;border-radius:14px;padding:11px;text-align:center;box-shadow:0 7px 18px rgba(15,23,42,.05)}.node b{display:block;color:var(--green-dark);font-size:.82rem}.node small{color:var(--muted);font-size:.68rem}.arrow{color:var(--green);font-weight:900;font-size:1.2rem}.dom-tree{display:grid;gap:8px;text-align:center}.dom-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.boxmodel{width:min(360px,100%);background:#ffe9b9;padding:22px;border:1px dashed #e0a93d;text-align:center}.boxmodel .border{background:#cce7ff;padding:20px}.boxmodel .padding{background:#d9f2d1;padding:20px}.boxmodel .content{background:white;padding:20px;border:1px solid var(--line);font-weight:800}.semantic-grid{width:min(480px,100%);display:grid;grid-template-columns:1fr 130px;grid-template-areas:"head head" "nav nav" "main aside" "foot foot";gap:7px}.semantic-grid div{background:white;border:1px solid #cfe0c8;border-radius:10px;padding:12px;text-align:center;font-weight:800;color:var(--green-dark)}.semantic-grid .head{grid-area:head}.semantic-grid .nav{grid-area:nav}.semantic-grid .mainx{grid-area:main;min-height:90px}.semantic-grid .aside{grid-area:aside}.semantic-grid .foot{grid-area:foot}.axis{width:min(450px,100%);position:relative;background:white;border:1px solid var(--line);border-radius:15px;padding:20px}.axis-line{height:5px;background:var(--green);margin:55px 0 30px;position:relative}.axis-line:after{content:"main axis →";position:absolute;right:0;top:-24px;color:var(--green-dark);font-size:.75rem;font-weight:800}.axis-items{display:flex;gap:8px;position:absolute;left:30px;right:30px;top:48px}.axis-items i{height:44px;flex:1;border-radius:9px;background:var(--green-soft);border:1px solid #cfe3c5}.grid-demo{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(400px,100%)}.grid-demo i{height:68px;background:white;border:1px solid #cfe3c5;border-radius:10px;display:grid;place-items:center;font-style:normal;color:var(--green-dark);font-weight:900}

/* right */
.right-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:12px}.right-card h3{margin:0 0 10px;font-size:.86rem}.progress-row{display:flex;justify-content:space-between;font-size:.76rem;color:var(--muted);margin-bottom:6px}.progressbar{height:9px;background:#edf2ea;border-radius:999px;overflow:hidden}.progressbar i{display:block;width:0;height:100%;background:var(--green);border-radius:999px;transition:width .3s}.note{width:100%;min-height:95px;border:1px solid var(--line);border-radius:12px;padding:10px;resize:vertical}.quick-link{width:100%;border:0;background:#f8fafc;border-radius:11px;padding:9px;text-align:left;margin-top:6px;color:#475569;font-weight:700;font-size:.76rem}.quick-link:hover{background:var(--green-soft);color:var(--green-dark)}

/* glossary/resources/project */
.page-title{margin:0;font-size:2rem;letter-spacing:-.04em}.page-sub{color:var(--muted);margin:5px 0 16px}.glossary-search{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.term-card{background:white;border:1px solid var(--line);border-radius:16px;padding:14px}.term-card b{color:var(--green-dark)}.term-card p{margin:5px 0 0;color:var(--muted);font-size:.8rem}.resource-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resource-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}.resource-card h3{margin:0 0 6px}.resource-card p{margin:0 0 12px;color:var(--muted);font-size:.82rem}.resource-card a{color:var(--green-dark);font-weight:800;font-size:.78rem}
.requirements{display:grid;gap:8px}.req{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:13px;padding:10px;background:#fff}.req i{width:22px;height:22px;border-radius:7px;background:var(--green-soft);color:var(--green-dark);display:grid;place-items:center;font-style:normal;font-weight:900;flex:none}
.project-editors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tabs{display:flex;gap:7px;margin-bottom:8px}.tab{border:1px solid var(--line);background:white;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:800}.tab.active{background:var(--green);color:white;border-color:var(--green)}.tabpane{display:none}.tabpane.active{display:block}.project-frame{width:100%;height:500px;border:1px solid var(--line);border-radius:14px;background:#fff}

/* modal */
.modal-backdrop{position:fixed;inset:0;z-index:400;background:rgba(15,23,42,.44);backdrop-filter:blur(5px);display:none;align-items:center;justify-content:center;padding:18px}.modal-backdrop.show{display:flex}.modal{width:min(780px,100%);max-height:86vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:25px;box-shadow:0 32px 90px rgba(15,23,42,.25)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--line)}.modal-brand{display:flex;align-items:center;gap:10px}.modal-brand img{width:46px;height:46px;object-fit:contain}.modal-brand h2{margin:0;font-size:1.1rem}.modal-brand p{margin:2px 0 0;color:var(--muted);font-size:.76rem}.close{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;font-size:1.2rem}.modal-body{padding:20px}.help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.help-step{border:1px solid var(--line);border-radius:16px;padding:13px;background:#fbfcfd}.help-step i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--green-soft);color:var(--green-dark);font-style:normal;font-weight:900}.help-step b{display:block;margin:8px 0 3px}.help-step p{margin:0;color:var(--muted);font-size:.8rem}
.toast{position:fixed;right:18px;bottom:18px;z-index:500;background:#0f172a;color:#fff;border-radius:14px;padding:11px 14px;box-shadow:0 18px 46px rgba(15,23,42,.28);transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s}.toast.show{transform:translateY(0);opacity:1}

/* footer */
.footer{grid-column:1/-1;background:#fff;border-top:1px solid var(--line);padding:26px}.footer-inner{max-width:1250px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer img{height:46px;max-width:230px;object-fit:contain}.footer p{margin:0;color:var(--muted);font-size:.78rem}.footer b{color:var(--text)}

@keyframes splashIn{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}@keyframes logoFloat{to{transform:translateY(-5px) scale(1.02)}}@keyframes loading{to{width:100%}}@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{50%{transform:scale(1.12)}}
@media(max-width:1220px){:root{--right:0px}.rightbar{display:none}.app{grid-template-columns:var(--left) 1fr}.global-search{max-width:370px}}
@media(max-width:900px){:root{--left:0px}.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:var(--header);bottom:0;width:min(320px,90vw);height:auto;z-index:120;transform:translateX(-102%);transition:.25s;box-shadow:20px 0 50px rgba(15,23,42,.16)}.sidebar.open{transform:none}.mobile-menu{display:block}.header-nav{display:none}.brand{min-width:auto}.brand small{display:none}.global-search{max-width:none}.hero{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.module-grid,.glossary-grid,.resource-grid,.project-editors{grid-template-columns:1fr}.practice-grid{grid-template-columns:1fr}.topics{grid-template-columns:1fr}}
@media(max-width:600px){.header-inner{padding:0 10px;gap:8px}.brand b{display:none}.brand img{width:42px;height:42px}.main{padding:16px 12px 70px}.hero{padding:20px;border-radius:22px}.hero h1{font-size:2rem}.kpis{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr}.global-search input::placeholder{color:transparent}.semantic-grid{grid-template-columns:1fr;grid-template-areas:"head" "nav" "main" "aside" "foot"}.lesson-header-top{flex-direction:column}.lesson-footer-nav{flex-direction:column}.footer{padding:20px 14px}.footer-inner{align-items:flex-start}.footer img{height:38px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* ===== Evaluaciones por nivel + Git/GitHub ampliado ===== */
.lesson-btn.locked{opacity:.52;cursor:not-allowed;filter:saturate(.5)}
.lesson-btn.locked:hover{background:transparent;transform:none}
.lesson-btn.assessment{margin-top:6px;border:1px dashed #cfe3c5;background:#fbfef9}
.lesson-btn.assessment:not(.locked):hover{background:var(--green-soft);border-color:#a9d493}
.lesson-btn.assessment.active{background:linear-gradient(135deg,#eaf7e4,#f8fcf6);border-color:#9ed083}
.lesson-btn.assessment .lesson-status{border-color:#b8dca8;background:#f2faee;color:var(--green-dark);font-weight:900}
.lesson-btn.assessment.done .lesson-status{background:var(--green);color:#fff}
.exam-dot{display:inline-flex;vertical-align:1px;padding:2px 5px;border-radius:6px;background:#eaf7e4;color:var(--green-dark);font-size:.53rem;letter-spacing:.04em;font-weight:950;margin-right:3px}
.tag.exam{background:#fff4df;color:#9a5b00}

.assessment-hero{background:radial-gradient(circle at 88% 18%,rgba(57,169,0,.16),transparent 28%),linear-gradient(145deg,#fff,#f7fbf4);border:1px solid var(--line);border-radius:25px;padding:23px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.assessment-hero h1{margin:8px 0 8px;font-size:clamp(1.6rem,2.5vw,2.5rem);letter-spacing:-.035em}
.assessment-hero p{margin:0;color:var(--muted);max-width:70ch}
.assessment-score{width:118px;min-height:104px;border:1px solid #dbe6d6;background:#fff;border-radius:20px;display:grid;place-items:center;text-align:center;padding:12px;flex:0 0 auto;box-shadow:0 10px 24px rgba(15,23,42,.05)}
.assessment-score span{font-size:1.65rem;font-weight:950;color:#64748b;line-height:1}
.assessment-score small{font-size:.63rem;font-weight:850;color:var(--muted);letter-spacing:.04em}
.assessment-score.passed{background:var(--green);border-color:var(--green)}
.assessment-score.passed span,.assessment-score.passed small{color:#fff}
.assessment-note{color:var(--muted);font-size:.82rem;margin-top:0}
.assessment-editor{min-height:360px}

.criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.criterion{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fbfcfd;transition:.2s}
.criterion>i{width:27px;height:27px;border-radius:8px;background:#eef2f7;display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:900;color:#64748b;flex:0 0 auto}
.criterion b{display:block;font-size:.82rem}
.criterion small{display:block;color:var(--muted);font-size:.7rem;margin-top:3px}
.criterion.ok{border-color:#bce2af;background:#f1faed}
.criterion.ok>i{background:var(--green);color:#fff}
.criterion.pending{border-color:#f1d6a7;background:#fffbf3}
.criterion.pending>i{background:#fff0d0;color:#9a5b00}
.assessment-details{margin-top:10px}
.exam-feedback-list{display:grid;gap:7px}
.exam-feedback{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff}
.exam-feedback>span{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;font-weight:900;flex:0 0 auto}
.exam-feedback b{display:block;font-size:.78rem}
.exam-feedback small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}
.exam-feedback.ok{border-color:#c9e9bd;background:#f5fbf2}.exam-feedback.ok>span{background:var(--green);color:#fff}
.exam-feedback.pending{border-color:#f3d8aa;background:#fffbf2}.exam-feedback.pending>span{background:#fff0cf;color:#9a5b00}

.review-console{white-space:pre-wrap;min-height:220px;overflow:auto}
.git-lanes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.commit{min-width:88px;text-align:center;border:1px solid #d8e5d2;border-radius:13px;background:#fff;padding:10px}.commit b{display:block;color:var(--green-dark)}.commit small{color:var(--muted)}.commit.current{box-shadow:0 0 0 3px rgba(57,169,0,.12);border-color:#a9d493}
.branch-map{width:min(520px,100%);border:1px solid var(--line);background:#fff;border-radius:15px;padding:18px;font:700 14px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:#475569}.branch-map .main{color:var(--green-dark)}.branch-map .feature{color:#2563eb}.branch-map small{display:block;font:12px/1.4 Inter,system-ui,sans-serif;color:var(--muted);margin-top:10px}
.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(520px,100%)}

.gate-closed{border-color:#efd69f;background:linear-gradient(145deg,#fff,#fffaf0)}
.gate-open{border-color:#cbe5bd;background:linear-gradient(145deg,#fff,#f8fcf6)}
.gate-list{display:flex;gap:7px;flex-wrap:wrap}.gate-list button{border:1px solid #ead8b7;background:#fff;border-radius:999px;padding:6px 9px;font-size:.7rem;color:#7a5206;font-weight:750}.gate-list button:hover{background:#fff4df}.gate-list span{font-size:.72rem;color:var(--muted);align-self:center}

@media(max-width:900px){.criteria-grid{grid-template-columns:1fr}.assessment-hero{flex-direction:column}.assessment-score{width:100%;min-height:76px;display:flex;justify-content:space-between;padding:13px 16px}.auth-grid{grid-template-columns:1fr}}

/* ===== Mejoras LokyAprende: laboratorio, mapas temáticos y accesibilidad ===== */
.editor-shell{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#0b1220}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 11px;background:#172033;color:#dbeafe;font-size:.68rem;font-weight:800}.editor-toolbar span:last-child{color:#86efac}.editor{display:block;width:100%;min-height:270px;border:0;border-radius:0;background:#0b1220;color:#e5e7eb;font:500 .83rem/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:14px;resize:vertical;outline:none;tab-size:4}.editor:focus{box-shadow:inset 0 0 0 2px rgba(56,189,248,.35)}.editor-help{font-size:.7rem;color:var(--muted);margin-top:7px}.editor-help kbd{padding:2px 5px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:.64rem}.feedback ul{margin:6px 0 0;padding-left:20px}.feedback.hint{border-color:#b9dff4;background:#f0f9ff;color:#075985}.feedback.hint span{display:block;margin-top:3px}.console-head,.trace-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.console-head span,.trace-head span{font-size:.68rem;color:#94a3b8}.pseint-console{min-height:260px}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.io-grid section{background:#111827;border:1px solid #263247;border-radius:12px;padding:11px}.io-grid h4{margin:0 0 7px;color:#93c5fd;font-size:.7rem;text-transform:uppercase}.io-grid pre{margin:0;white-space:pre-wrap;color:#e2e8f0;font:500 .76rem/1.5 ui-monospace,monospace}.run-summary{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.run-summary span{padding:5px 8px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:.65rem;font-weight:800}.run-error{min-height:190px;border-color:#fecaca!important;background:#fff7f7!important;color:#7f1d1d}.run-error p{margin:8px 0}.run-error small{color:#991b1b}.trace-console{min-height:240px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;overflow:auto}.trace-table{border:1px solid var(--line);border-radius:10px;overflow:hidden}.trace-row{display:grid;grid-template-columns:45px minmax(180px,1.5fr) minmax(150px,1fr) minmax(100px,1fr);gap:0;border-bottom:1px solid var(--line);font-size:.67rem}.trace-row:last-child{border-bottom:0}.trace-row span{padding:7px 8px;border-right:1px solid var(--line)}.trace-row span:last-child{border-right:0}.trace-title{background:#f1f5f9;font-weight:900;color:#475569}.trace-row code{font:600 .65rem ui-monospace,monospace}.visual-caption{text-align:center;color:var(--muted);font-size:.7rem;margin:13px 0 0}.problem-map,.flowchart,.assignment-map,.io-pipeline,.operator-board,.logic-gates,.comparison-map,.if-map,.decision-tree,.nested-tree,.boolean-map,.profile-compare,.pseint-window,.structure-stack,.counter-flow,.loop-track,.loop-cycle,.repeat-map,.infinite-map,.menu-map,.aggregation-map,.search-array,.minmax-map,.matrix-equation,.math-cards,.module-map,.function-map,.param-map,.debug-map,.test-cards,.complexity-chart,.recursion-stack,.binary-array,.divide-tree,.greedy-path,.invariant-map,.optimization-map,.project-map,.kanban,.test-matrix,.doc-map,.presentation-map,.assessment-road,.topic-map{width:min(760px,100%);margin:auto}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.problem-box,.decomp-root,.solution,.pseudo-map>div,.structure-stack>div,.main-module,.function-card,.inv-step,.inv-core,.optimization-map>div,.project-map>div,.assessment-road>div,.assessment-road>strong{background:#fff;border:1px solid #cfe0e9;border-radius:13px;padding:11px;text-align:center;font-weight:850}.problem-box.question{background:#e0f2fe;color:#075985}.problem-box.solution{background:#dcfce7;color:#166534}.problem-arrow{text-align:center;font-size:1.4rem;color:var(--blue-dark);font-weight:900;margin:5px}.flowchart{text-align:center}.flow-node{width:min(260px,100%);margin:auto;padding:10px;border:2px solid #cbd5e1;background:#fff;font-weight:850}.flow-node.start{border-radius:999px;background:#dcfce7;border-color:#86efac}.flow-node.process{border-radius:10px}.flow-node.io{border-radius:18px 6px 18px 6px;background:#e0f2fe}.flow-node.output{border-radius:6px 18px 6px 18px;background:#f0fdf4}.flow-node.decision,.diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#fef3c7;padding:24px 32px}.flow-line{color:var(--blue-dark);font-weight:900}.branches,.if-branches{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;font-size:.72rem;font-weight:800}.branches span,.if-branches span{padding:8px 12px;border-radius:10px;background:#fff;border:1px solid var(--line)}.pseudo-map{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.pseudo-map b{color:var(--blue-dark)}.assignment-map,.io-pipeline,.function-map,.param-map,.debug-map,.optimization-map,.project-map,.assessment-road{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.variable-card,.value-card,.io-card{min-width:120px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center}.variable-card strong{display:block;font-size:1.25rem;color:var(--blue-dark)}.variable-card.changed{border-color:#86efac;background:#f0fdf4}.value-card{background:#e0f2fe;color:#075985}.io-card{display:grid;gap:3px}.io-card b{font-size:.8rem}.io-card small{color:var(--muted)}.operator-board,.logic-gates,.math-cards,.test-cards,.complexity-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.operator-board>div,.gate,.math-cards>div,.test-cards>div,.complexity-chart>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px;text-align:center}.operator-board span,.gate span{display:block;color:var(--muted);font-size:.7rem;margin-top:4px}.gate b{font-size:1.1rem;color:var(--blue-dark)}.comparison-map{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:12px}.comparison-map>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;text-align:center;font-weight:850}.compare-sign{color:var(--blue-dark);font-size:1.4rem;border:0!important;background:transparent!important}.result-badge{background:#dcfce7!important;color:#166534}.if-map,.decision-tree{text-align:center}.if-map .diamond{width:220px;margin:auto}.decision-tree{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-tree .diamond{grid-column:1/-1;width:220px;margin:auto}.decision-path{padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff}.decision-path.yes{border-color:#86efac;background:#f0fdf4}.decision-path.no{border-color:#fcd34d;background:#fffbeb}.nested-tree{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;font:700 .78rem/2 ui-monospace,monospace}.nested-tree .indent{padding-left:28px}.nested-tree .indent2{padding-left:56px;color:#166534}.boolean-map{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.boolean-map>div{background:#fff;border:1px solid var(--line);padding:12px;border-radius:12px}.boolean-map span{font-weight:900;color:var(--blue-dark)}.boolean-map strong{padding:11px;border-radius:12px;background:#dcfce7;color:#166534}.profile-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-compare>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.profile-compare small,.profile-compare code{display:block;color:var(--muted);margin-top:5px}.pseint-window{border:1px solid #94a3b8;border-radius:13px;background:#fff;overflow:hidden}.ui-toolbar{display:flex;gap:15px;background:#e2e8f0;padding:8px;font-size:.68rem;font-weight:800}.ui-main{display:grid;grid-template-columns:1.5fr 1fr;min-height:150px}.ui-code,.ui-output{padding:14px;font:600 .72rem/1.7 ui-monospace,monospace}.ui-output{border-left:1px solid var(--line);background:#f8fafc}.structure-stack{display:grid;grid-template-columns:1fr 1fr;gap:8px}.structure-stack>div:nth-child(1),.structure-stack>div:last-child{grid-column:1/-1;background:#e0f2fe}.counter-flow{display:flex;gap:18px;justify-content:center}.counter-box{padding:18px;border-radius:15px;background:#e0f2fe;color:#075985;text-align:center}.counter-box.accumulator{background:#dcfce7;color:#166534}.counter-box b{display:block;margin-top:6px}.loop-track{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.loop-track div{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:900}.loop-track .active{background:#dbeafe;border-color:#60a5fa}.loop-track span{width:100%;text-align:center;color:var(--muted);font-size:.7rem}.loop-cycle,.repeat-map,.infinite-map{display:grid;place-items:center;gap:9px;text-align:center}.loop-diamond{padding:28px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#fef3c7;font-weight:900}.loop-arrow{color:#166534;font-weight:800}.loop-exit{color:#64748b}.repeat-box{padding:13px 24px;background:#fff;border:1px solid var(--line);border-radius:13px;font-weight:850}.repeat-arrow{color:var(--blue-dark);font-weight:900}.infinite-map strong{color:#b91c1c;background:#fef2f2;padding:9px;border-radius:10px}.nested-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.nested-grid i{aspect-ratio:1;background:#fff;border:1px solid #bfdbfe;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:800}.menu-map{display:grid;gap:7px;max-width:300px}.menu-map>*{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px}.menu-map b{background:#e0f2fe;color:#075985}.menu-map strong{background:#dcfce7;color:#166534;font-size:.7rem}.aggregation-map{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.aggregation-map span,.aggregation-map strong{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.aggregation-map strong{background:#dcfce7;color:#166534}.search-array,.binary-array{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.search-array i,.binary-array i{font-style:normal;width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:900}.search-array .hit,.binary-array .hit{background:#dcfce7;border-color:#86efac}.search-array span{width:100%;text-align:center;color:var(--muted);font-size:.7rem}.minmax-map{display:flex;align-items:flex-end;justify-content:center;gap:8px}.minmax-map>div{width:55px;height:calc(40px + var(--h,40px));display:grid;place-items:center;background:#e0f2fe;border-radius:9px;font-weight:900}.minmax-map .min{--h:10px;background:#dcfce7;color:#166534}.minmax-map .max{--h:90px;background:#dbeafe;color:#1d4ed8}.minmax-map small{font-size:.58rem}.sort-bars{height:150px;display:flex;align-items:flex-end;justify-content:center;gap:8px}.sort-bars i{width:44px;background:#dbeafe;border:1px solid #93c5fd;border-radius:7px 7px 0 0;display:grid;place-items:start center;padding-top:5px;font-style:normal;font-weight:900}.matrix-grid{display:grid;grid-template-columns:repeat(3,55px);gap:5px;justify-content:center}.matrix-grid.small{grid-template-columns:repeat(2,40px)}.matrix-grid i{height:55px;background:#fff;border:1px solid #bfdbfe;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:900}.matrix-grid.small i{height:40px}.matrix-label{text-align:center;margin-top:8px;color:var(--muted);font-size:.7rem}.matrix-equation{display:flex;justify-content:center;align-items:center;gap:10px}.module-map{text-align:center}.module-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:15px}.module-links span{padding:9px 13px;border-radius:10px;background:#e0f2fe;color:#075985;font-weight:800}.function-map .function-card{background:#e0f2fe;color:#075985}.param-list{display:flex;gap:6px}.param-list b{padding:8px 11px;border-radius:9px;background:#fff;border:1px solid var(--line)}.debug-map>div,.optimization-map>div,.project-map>div,.assessment-road>div{padding:10px}.debug-map>span,.optimization-map>span,.project-map>span,.assessment-road>span{color:var(--blue-dark);font-weight:900}.test-cards{grid-template-columns:repeat(3,1fr)}.test-cards b{display:block;color:#16a34a;font-size:1.2rem}.complexity-chart>div:nth-child(1){background:#dcfce7}.complexity-chart>div:nth-child(2){background:#e0f2fe}.complexity-chart>div:nth-child(3){background:#fef3c7}.complexity-chart small{display:block;color:var(--muted)}.recursion-stack{max-width:360px}.recursion-stack>div{margin:4px 0;padding:8px 12px;border-left:4px solid #60a5fa;background:#fff;border-radius:0 9px 9px 0}.recursion-stack .base{border-color:#86efac;background:#f0fdf4}.divide-tree{text-align:center}.divide-branches{display:flex;justify-content:center;gap:40px;margin:12px 0}.divide-branches span{padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.divide-merge{padding:10px;background:#dcfce7;border-radius:10px}.greedy-path{display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap}.greedy-path>div,.greedy-path>strong{padding:11px;background:#fff;border:1px solid var(--line);border-radius:11px}.greedy-path strong{background:#fef3c7}.invariant-map{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.invariant-map .inv-core{background:#e0f2fe;color:#075985}.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.kanban>div{display:grid;gap:6px;align-content:start;background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:10px;min-height:120px}.kanban span{background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px;font-size:.7rem}.test-matrix{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.test-matrix>div{padding:10px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:8px}.test-matrix .pass{background:#dcfce7;color:#166534;font-weight:900}.doc-map{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.doc-map div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;font-size:.7rem;font-weight:800}.presentation-map{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.slide{width:130px;aspect-ratio:16/10;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;font-weight:800}.slide.active{background:#e0f2fe;border-color:#7dd3fc}.achievement-card{background:linear-gradient(145deg,#fff,#f0fdf4)}.xp-pill{padding:7px 11px;border-radius:999px;background:#e0f2fe;color:#075985;font-weight:900;font-size:.72rem}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.achievement{border:1px dashed #cbd5e1;border-radius:13px;padding:12px;background:#fff;opacity:.62}.achievement.unlocked{opacity:1;border-color:#86efac;background:#f0fdf4}.achievement b{display:block;font-size:.8rem}.achievement small{color:var(--muted);font-size:.68rem}.assessment-road strong{background:#dcfce7;color:#166534}.topic-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px}.topic-map>div,.topic-map>strong{padding:11px;background:#fff;border:1px solid var(--line);border-radius:11px;text-align:center}.topic-map>strong{background:#dcfce7;color:#166534}
@media(max-width:700px){.io-grid,.operator-board,.logic-gates,.math-cards,.profile-compare,.achievement-grid,.kanban,.doc-map{grid-template-columns:1fr}.problem-grid,.decision-tree{grid-template-columns:1fr}.decision-tree .diamond{grid-column:auto}.comparison-map{grid-template-columns:1fr}.compare-sign{transform:rotate(90deg)}.matrix-equation{flex-wrap:wrap}.topic-map{grid-template-columns:1fr;gap:5px}.topic-map>span{transform:rotate(90deg)}.trace-row{grid-template-columns:34px 1.4fr 1fr}.trace-row span:nth-child(4){display:none}.nested-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== Fase 2 · Laboratorio PSeInt ===== */
.lab-card{border-top:4px solid var(--green)}
.lab-status{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.7rem;font-weight:900;white-space:nowrap}
.lab-status.ok{background:#dcfce7;color:#166534}
.syntax-reminder{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;margin:10px 0 14px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;font-size:.76rem;color:#334155}
.syntax-reminder code{background:#0f172a;color:#e2e8f0;padding:5px 8px;border-radius:7px;font-weight:800}
.actions.compact{gap:6px;margin:0}
.map-help{font-size:.68rem;color:var(--muted);font-weight:700}

.pseint-editor-shell{overflow:hidden;background:#0b1220;border:1px solid #243244;box-shadow:0 12px 30px rgba(15,23,42,.12)}
.pseint-editor-shell .editor-toolbar{background:#111827;color:#cbd5e1;border-bottom:1px solid #273548}
.code-editor{position:relative;min-height:330px;background:#0b1220;overflow:hidden}
.editor-highlight,.editor-overlay{margin:0!important;padding:16px 18px!important;width:100%;min-height:330px;max-height:620px;overflow:auto;font:600 .82rem/1.72 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;tab-size:4;white-space:pre;word-wrap:normal;box-sizing:border-box}
.editor-highlight{position:absolute;inset:0;pointer-events:none;background:#0b1220;color:#dbeafe;border:0;z-index:1}
.editor-overlay{position:relative;z-index:2;resize:vertical;background:transparent!important;color:transparent!important;caret-color:#fff!important;-webkit-text-fill-color:transparent;outline:none;border:0!important}
.editor-overlay::selection{background:rgba(96,165,250,.34);-webkit-text-fill-color:transparent}
.syn-keyword{color:#60a5fa;font-weight:850}.syn-type{color:#34d399}.syn-string{color:#fbbf24}.syn-comment{color:#64748b;font-style:italic}.syn-number{color:#c084fc}
.lint-bar{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 12px;border-top:1px solid #273548;background:#111827;color:#cbd5e1;font-size:.68rem}
.lint-bar span{font-size:.7rem}.lint-bar small{margin-left:auto;color:#94a3b8}.lint-bar.lint-ok span{color:#22c55e}.lint-bar.lint-error span{color:#f87171}.lint-bar.lint-error b{color:#fecaca}.lint-bar.lint-warn span{color:#fbbf24}
.input-panel{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}
.input-panel summary{cursor:pointer;padding:10px 12px;font-size:.74rem;font-weight:900;color:#0f3f77}.input-panel p{margin:0;padding:0 12px 8px;color:var(--muted);font-size:.68rem}.input-data{display:block;width:100%;min-height:80px;padding:10px 12px;border:0;border-top:1px solid var(--line);resize:vertical;background:#fff;font:650 .78rem/1.55 ui-monospace,monospace;color:#0f172a;box-sizing:border-box}
.lab-output{min-width:0}.idle-console{min-height:170px;display:grid;align-content:center;text-align:center;background:#0f172a;color:#cbd5e1}.idle-console b{color:#86efac;font-size:.9rem}.idle-console p{margin:7px auto 0;max-width:330px;color:#94a3b8}
.error-suggestion{margin-top:9px;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-weight:700;font-size:.74rem}

.interactive-trace{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.trace-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f8fafc}.trace-head b{display:block}.trace-head small{display:block;color:var(--muted);margin-top:2px}.trace-layout{display:grid;grid-template-columns:1.35fr .8fr;min-height:330px}.trace-source{margin:0;padding:10px 0;background:#0f172a;color:#cbd5e1;overflow:auto;font:600 .72rem/1.7 ui-monospace,monospace}.trace-source span{display:block;padding:1px 12px 1px 0;white-space:pre}.trace-source span i{display:inline-block;width:42px;text-align:right;margin-right:12px;color:#475569;font-style:normal;user-select:none}.trace-source span.active{background:#1e3a5f;color:#fff;border-left:3px solid #39A900}.trace-source span.active i{color:#93c5fd}.trace-state{padding:14px;background:#fff;border-left:1px solid var(--line)}.trace-state h4{margin:0 0 5px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.trace-state pre{margin:0 0 14px;padding:9px;background:#f8fafc;border:1px solid var(--line);border-radius:9px;white-space:pre-wrap;font:600 .7rem/1.55 ui-monospace,monospace}.trace-range{width:calc(100% - 28px);margin:10px 14px 14px;accent-color:#39A900}

.test-runner{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.auto-tests{display:grid;gap:8px;padding:10px}.auto-tests article{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.auto-tests article.pass{border-color:#86efac;background:#f0fdf4}.auto-tests article.fail{border-color:#fecaca;background:#fef2f2}.auto-tests article>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.auto-tests small{color:var(--muted)}.auto-tests code{display:block;padding:5px 7px;border-radius:7px;background:#fff;font-size:.68rem;white-space:pre-wrap}

.map-interactive-node{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,outline-color .16s ease}.map-interactive-node:hover,.map-interactive-node:focus-visible{transform:translateY(-2px);outline:2px solid #60a5fa;outline-offset:2px}.map-interactive-node.map-active{box-shadow:0 0 0 3px rgba(57,169,0,.22);outline:2px solid #39A900;outline-offset:2px}

.project-roadmap{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.project-step{display:grid;grid-template-columns:42px 1fr;align-items:start;gap:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.project-step i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e0f2fe;color:#075985;font-style:normal;font-weight:900}.project-step span{font-size:.75rem;line-height:1.45;color:#334155}.project-pseint-editor{min-height:460px}.pseint-console>pre{margin:0;padding:14px;white-space:pre-wrap;font:650 .76rem/1.6 ui-monospace,monospace}

@media(max-width:900px){.trace-layout{grid-template-columns:1fr}.trace-state{border-left:0;border-top:1px solid var(--line)}.project-roadmap{grid-template-columns:1fr}.code-editor,.editor-highlight,.editor-overlay{min-height:300px}}
@media(max-width:600px){.syntax-reminder{align-items:flex-start}.trace-head{align-items:flex-start;flex-direction:column}.auto-tests article>div{align-items:flex-start;flex-direction:column}.editor-highlight,.editor-overlay{font-size:.75rem;padding:13px!important}.project-step{grid-template-columns:36px 1fr}}

@media(prefers-reduced-motion:reduce){.map-interactive-node{transition:none}.map-interactive-node:hover,.map-interactive-node:focus-visible{transform:none}}


/* ===== Fase 4 · Claridad pedagógica + layout ===== */
.app{grid-template-rows:minmax(0,auto) auto;align-items:start}
.sidebar,.rightbar{grid-row:1;z-index:5}
.main{grid-row:1;position:relative;z-index:2}
.footer{grid-row:2;position:relative;z-index:20;clear:both}
.learning-objective{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#f4fbf1);border-left:4px solid var(--green)}
.learning-objective h2{margin:4px 0 8px;font-size:1.08rem}.learning-objective ul{margin:0;padding-left:20px;color:#334155}.learning-objective li{margin:4px 0;font-size:.82rem}.eyebrow{font-size:.65rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--green-dark)}
.objective-meta{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:7px}.objective-meta span{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:center;font-size:.7rem;color:var(--muted)}.objective-meta b{display:block;color:#334155;font-size:.62rem;margin-bottom:3px}
.lab-action-guide{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.lab-action-guide span{padding:7px 9px;border-radius:9px;background:#f8fafc;border:1px solid var(--line);color:var(--muted);font-size:.67rem}.lab-action-guide b{color:#0f3f77}
@media(max-width:900px){.learning-objective{grid-template-columns:1fr}.objective-meta{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.objective-meta{grid-template-columns:1fr}.footer{z-index:30}}

/* ===== Complementos pedagógicos SENA · lógica, evaluación y mapas visuales ===== */
.support-card{overflow:hidden}.support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.support-item{margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.05)}.support-item>a{display:block;background:#f8fafc}.support-item img{display:block;width:100%;height:220px;object-fit:contain;padding:10px;box-sizing:border-box}.support-item figcaption{display:grid;gap:5px;padding:12px 14px;border-top:1px solid var(--line)}.support-item figcaption b{font-size:.82rem}.support-item figcaption small{color:var(--muted);font-size:.68rem}.support-item figcaption a{font-size:.7rem;font-weight:850;color:#0f5f1a;text-decoration:none}.support-item figcaption a:hover{text-decoration:underline}

.assessment-method{background:linear-gradient(145deg,#fff,#f7fbf4)}.assessment-weight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.assessment-weight-grid>div{display:grid;gap:3px;text-align:center;padding:13px 10px;border:1px solid var(--line);border-radius:13px;background:#fff}.assessment-weight-grid b{font-size:1.15rem;color:var(--green-dark)}.assessment-weight-grid span{font-size:.68rem;color:var(--muted);font-weight:750}.assessment-test-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px 12px}.assessment-test-inputs label{display:grid;gap:6px;font-size:.72rem;color:#334155}.assessment-test-inputs .input-data{border:1px solid var(--line);border-radius:10px;min-height:115px}.assessment-case-preview{display:grid;gap:8px;margin:10px 0}.assessment-case-preview article{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.assessment-case-preview b{font-size:.76rem}.assessment-case-preview small{font-size:.68rem;color:var(--muted)}.assessment-case-preview code{font-size:.68rem;white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:7px;padding:6px 8px}.manual-test-reminder{display:grid;gap:4px;margin-top:10px;padding:11px 13px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff}.manual-test-reminder b{font-size:.78rem;color:#1e3a8a}.manual-test-reminder span{font-size:.7rem;color:#475569}.manual-test-reminder.warning{border-color:#f3d8aa;background:#fffbf2}.manual-test-reminder.warning b{color:#9a5b00}.assessment-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.assessment-breakdown>div{display:grid;gap:3px;text-align:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.assessment-breakdown b{font-size:1rem}.assessment-breakdown span{font-size:.65rem;color:var(--muted);font-weight:800}.assessment-breakdown .ok{border-color:#bce2af;background:#f1faed}.assessment-breakdown .ok b{color:#166534}.assessment-breakdown .partial{border-color:#f3d8aa;background:#fffbf2}.assessment-breakdown .partial b{color:#9a5b00}.assessment-breakdown .bad{border-color:#fecaca;background:#fef2f2}.assessment-breakdown .bad b{color:#b91c1c}.assessment-execution-error{display:grid;gap:4px;margin-top:10px;padding:11px 13px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2}.assessment-execution-error b{font-size:.78rem;color:#b91c1c}.assessment-execution-error span{font:650 .7rem/1.5 ui-monospace,monospace;color:#7f1d1d}.assessment-execution-error small{font-size:.68rem;color:#475569}.assessment-test-results{display:grid;gap:8px;margin-top:12px}.assessment-test-results h4{margin:0 0 2px;font-size:.8rem}.assessment-test-results article{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.assessment-test-results article.pass{border-color:#bce2af;background:#f5fbf2}.assessment-test-results article.fail{border-color:#fecaca;background:#fef2f2}.assessment-test-results article>div{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.assessment-test-results article b{font-size:.74rem}.assessment-test-results article small{font-size:.66rem;color:var(--muted)}.assessment-test-results article code{display:block;white-space:pre-wrap;padding:5px 7px;border-radius:7px;background:rgba(255,255,255,.8);font-size:.66rem}

.trace-mini,.type-grid,.naming-map,.comment-map,.switch-map,.validation-map,.vector-strip,.string-map,.sorting-map,.reverse-map,.subprocess-map,.scope-map,.strategy-map,.sorting-choice,.rec-vs,.dev-process-map,.truth-table-mini,.error-type-grid{width:min(590px,100%);margin:auto}
.trace-mini{display:grid;gap:5px}.trace-mini>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.trace-mini b,.trace-mini span{padding:8px;text-align:center;border-radius:8px;background:#fff;border:1px solid var(--line);font-size:.72rem}.trace-mini>div:first-child b{background:#eef2f7}.trace-mini .active span{border-color:#9ed083;background:#f1faed}
.type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.type-grid div{display:grid;gap:5px;padding:13px 9px;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fff}.type-grid b{font-size:.72rem}.type-grid span{font:750 .76rem ui-monospace,monospace;color:#0f3f77}
.naming-map{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.naming-map>div{padding:11px;border-radius:11px;text-align:center;font:800 .74rem ui-monospace,monospace;border:1px solid}.naming-map .bad{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.naming-map .good{border-color:#bce2af;background:#f1faed;color:#166534}.naming-map>span{text-align:center;color:var(--muted)}
.comment-map{display:grid;gap:8px;text-align:center}.comment-map code{display:block;padding:10px;border:1px solid var(--line);border-radius:10px;background:#0f172a;color:#dbeafe}.comment-map>span{color:var(--green-dark);font-weight:900}.comment-map small{color:var(--muted)}
.switch-map{display:grid;gap:10px}.switch-root{padding:11px;text-align:center;border-radius:11px;background:#eaf7e4;border:1px solid #bce2af;font-weight:900}.switch-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.switch-options span{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.7rem}
.validation-map{display:grid;grid-template-columns:auto auto auto 1fr;gap:8px;align-items:center}.validation-map>div:not(.diamond-mini){padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800;font-size:.72rem}.diamond-mini{width:84px;height:66px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border:1px solid #93c5fd;background:#eff6ff;font-size:.68rem;font-weight:900;text-align:center;padding:0 16px;box-sizing:border-box}.validation-map .yes,.validation-map .no{display:block;padding:8px 10px;border-radius:9px;font-size:.7rem;font-weight:800}.validation-map .yes{background:#f1faed;color:#166534}.validation-map .no{background:#fff7ed;color:#9a3412;grid-column:4}
.vector-strip{display:flex;align-items:stretch;justify-content:center;gap:5px;flex-wrap:wrap}.vector-strip i{position:relative;min-width:54px;padding:18px 10px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-style:normal;text-align:center;font-weight:900}.vector-strip i small{position:absolute;left:5px;top:4px;font-size:.55rem;color:var(--muted)}.vector-strip i.active{border-color:#93c5fd;background:#eff6ff}.vector-strip i.hit{border-color:#86efac;background:#f0fdf4}.vector-arrow{width:100%;text-align:center;color:var(--green-dark);font-size:.7rem;font-weight:850;margin-top:5px}
.string-map{display:grid;grid-template-columns:1fr 1fr;gap:8px}.string-map code{grid-row:1/4;display:grid;place-items:center;padding:18px;border-radius:12px;background:#0f172a;color:#fde68a;font-size:1rem}.string-map span{padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:.7rem}.string-map b{color:#0f3f77}
.sorting-map,.reverse-map,.subprocess-map{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.sorting-map>div,.reverse-map>div,.subprocess-map>div{padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:center;font-size:.72rem}.sorting-map>span,.reverse-map>span,.subprocess-map>span{font-weight:900;color:var(--green-dark)}.sorting-map small,.reverse-map small{display:block;color:var(--muted);margin-top:3px}.reverse-map .filtered{border-color:#bce2af;background:#f1faed}.subprocess-map .sub-card{border-color:#93c5fd;background:#eff6ff;color:#1e3a8a;font-weight:850}
.scope-map{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.scope-map>div{display:grid;gap:6px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.scope-map .global{border-color:#bce2af;background:#f7fcf5}.scope-map .local{border-color:#bfdbfe;background:#f8fbff}.scope-map b{font-size:.74rem}.scope-map span{display:inline-flex;width:max-content;padding:4px 7px;border-radius:7px;background:#fff;border:1px solid var(--line);font:750 .7rem ui-monospace,monospace}.scope-map small{font-size:.64rem;color:var(--muted)}
.strategy-map,.dev-process-map{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.strategy-map>div,.strategy-map>strong,.dev-process-map>div{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.7rem}.strategy-map>strong{border-color:#bce2af;background:#eaf7e4;color:#166534}.strategy-map>span,.dev-process-map>span{color:var(--green-dark);font-weight:900}.dev-process-map>div:nth-of-type(2),.dev-process-map>div:nth-of-type(3){border-color:#bfdbfe;background:#f8fbff}.dev-process-map>div:last-child{border-color:#bce2af;background:#f1faed}
.sorting-choice,.rec-vs,.error-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sorting-choice>div,.rec-vs>div,.error-type-grid>div{display:grid;gap:5px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#fff}.sorting-choice b,.rec-vs b,.error-type-grid b{font-size:.74rem}.sorting-choice span,.rec-vs span,.error-type-grid span{font-size:.67rem;color:var(--muted)}.rec-vs{grid-template-columns:repeat(2,1fr)}.error-type-grid>div:first-child{border-color:#fecaca;background:#fef2f2}.error-type-grid>div:nth-child(2){border-color:#f3d8aa;background:#fffbf2}.error-type-grid>div:last-child{border-color:#bfdbfe;background:#eff6ff}
.truth-table-mini{display:grid;gap:4px}.truth-table-mini>div{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.truth-table-mini b,.truth-table-mini span{padding:8px;text-align:center;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.7rem}.truth-table-mini>div:first-child b{background:#eef2f7}.truth-table-mini .yes{background:#f1faed;color:#166534;font-weight:900}

@media(max-width:700px){.assessment-weight-grid,.assessment-breakdown,.error-type-grid,.sorting-choice{grid-template-columns:1fr}.assessment-test-inputs{grid-template-columns:1fr}.type-grid{grid-template-columns:repeat(2,1fr)}.validation-map{grid-template-columns:1fr;justify-items:stretch;text-align:center}.validation-map>span:not(.yes):not(.no){transform:rotate(90deg)}.validation-map .yes,.validation-map .no{grid-column:auto}.diamond-mini{margin:auto}.scope-map,.rec-vs{grid-template-columns:1fr}.support-item img{height:auto;max-height:420px}.assessment-test-results article>div{flex-direction:column}.naming-map{grid-template-columns:1fr}.naming-map>span{transform:rotate(90deg)}.switch-options{grid-template-columns:1fr}.string-map{grid-template-columns:1fr}.string-map code{grid-row:auto}.strategy-map,.dev-process-map{flex-direction:column}.strategy-map>span,.dev-process-map>span{transform:rotate(90deg)}}

/* Recursos: manual PDF unificado */
.resource-pdf-hero{background:linear-gradient(135deg,#fff 0%,#f7fbff 58%,#eef8ff 100%);border:1px solid #d7e8f5;border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(15,73,113,.08);max-width:920px}.resource-pdf-brand{display:flex;gap:18px;align-items:center}.resource-pdf-brand>img{width:86px;height:86px;object-fit:contain;flex:0 0 86px}.resource-pdf-eyebrow{display:inline-block;color:#087cac;font-size:.7rem;font-weight:900;letter-spacing:.11em;margin-bottom:4px}.resource-pdf-brand h2{margin:0;color:#113f74;font-size:1.55rem;letter-spacing:-.025em}.resource-pdf-brand p{margin:8px 0 0;color:var(--muted);max-width:760px;line-height:1.55}.resource-pdf-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.resource-pdf-stats span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;color:var(--muted);font-size:.76rem}.resource-pdf-stats b{display:block;color:#113f74;font-size:1.25rem;margin-bottom:2px}.resource-pdf-actions{display:flex;gap:10px;flex-wrap:wrap}.resource-pdf-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border-radius:12px;border:1px solid #bfd8e8;color:#0d6d8e;font-weight:900;font-size:.8rem;background:#fff}.resource-pdf-actions a.primary{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.resource-pdf-hero>small{display:block;margin-top:12px;color:var(--muted);font-size:.72rem}
@media(max-width:700px){.resource-pdf-brand{align-items:flex-start}.resource-pdf-brand>img{width:64px;height:64px;flex-basis:64px}.resource-pdf-brand h2{font-size:1.25rem}.resource-pdf-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-pdf-actions a{width:100%}}

/* PDF resources viewer */
body.pdf-open{overflow:hidden}
.resource-card{position:relative;overflow:hidden;min-height:156px;display:flex;flex-direction:column;align-items:flex-start}
.resource-card .resource-type{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:24px;padding:0 8px;border-radius:999px;background:#e9f7fb;color:#0a7898;font-size:.62rem;font-weight:900;letter-spacing:.08em}
.resource-card .resource-type.web{background:#eef4ff;color:#315eae}
.resource-card h3{padding-right:52px}
.resource-card p{flex:1}
.resource-card .resource-open,.resource-card>a{appearance:none;border:0;background:transparent;padding:0;color:var(--green-dark);font:inherit;font-weight:800;font-size:.78rem;cursor:pointer;text-decoration:none}
.resource-card .resource-open:hover,.resource-card>a:hover{text-decoration:underline}
.pdf-modal-backdrop{z-index:460;padding:14px}
.pdf-modal{width:min(1180px,96vw);height:min(92vh,920px);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;border-radius:22px}
.pdf-modal-head{padding:14px 18px;flex:0 0 auto}
.pdf-modal-head .modal-brand img{width:40px;height:40px}
.pdf-modal-body{flex:1;min-height:0;background:#eef2f5}
.pdf-modal-body iframe{display:block;width:100%;height:100%;min-height:62vh;border:0;background:#fff}
.pdf-modal-actions{display:flex;gap:9px;justify-content:flex-end;align-items:center;padding:11px 16px;border-top:1px solid var(--line);background:#fff;flex:0 0 auto}
.pdf-modal-actions a,.pdf-modal-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green-dark);font-size:.76rem;font-weight:850;text-decoration:none;cursor:pointer}
.pdf-modal-actions button{background:var(--green-dark);border-color:var(--green-dark);color:#fff}
@media(max-width:700px){.pdf-modal-backdrop{padding:0}.pdf-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.pdf-modal-head{padding:10px 12px}.pdf-modal-head .modal-brand p{display:none}.pdf-modal-body iframe{min-height:0}.pdf-modal-actions{justify-content:stretch;flex-wrap:wrap}.pdf-modal-actions a,.pdf-modal-actions button{flex:1 1 auto}.resource-card{min-height:140px}}
