@font-face{font-family:DM;src:url('../assets/dm-sans-400.ttf');font-weight:400;font-display:swap}@font-face{font-family:DM;src:url('../assets/dm-sans-600.ttf');font-weight:600;font-display:swap}@font-face{font-family:Space;src:url('../assets/space-grotesk-500.ttf');font-weight:500;font-display:swap}@font-face{font-family:Space;src:url('../assets/space-grotesk-700.ttf');font-weight:700;font-display:swap}
:root{--bg:#101411;--panel:#191f1a;--line:#303a2f;--muted:#a9b4a3;--accent:#ccff66;--text:#eef2e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 DM,Arial,sans-serif}body.azure{--accent:#8ed7ff}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{height:79px;display:flex;align-items:center;gap:35px;border-bottom:1px solid var(--line);padding:0 4%;background:#111711}.brand{display:flex;align-items:center;gap:9px;font-family:Space;font-size:27px;letter-spacing:-1.7px;font-weight:700}.brand>span{color:var(--accent);font-size:32px}.brand small{color:var(--accent);font-size:16px;letter-spacing:-.4px;margin-left:-5px}.back{font-size:12px;color:var(--muted)}.back:hover{color:var(--accent)}.local-pill{margin-left:auto;font-size:10px;color:var(--muted);border:1px solid var(--line);padding:6px 11px;border-radius:30px}.local-pill i{display:inline-block;background:var(--accent);width:5px;height:5px;border-radius:50%;margin-right:6px}.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.course-shell{display:grid;grid-template-columns:295px minmax(0,1fr);max-width:1520px;margin:auto;min-height:calc(100vh - 150px)}.sidebar{border-right:1px solid var(--line);padding:28px 21px;align-self:start;position:sticky;top:0;max-height:100vh;overflow:auto}.sidebar-top a{font-family:Space;font-size:18px;line-height:1.35;display:block}.sidebar-top button{display:none}.progress-block{padding:23px 0}.progress-block>div{display:flex;justify-content:space-between;font-size:11px}.progress-block strong{color:var(--accent)}progress{display:block;width:100%;height:5px;margin:10px 0 5px;accent-color:var(--accent);border:0;border-radius:5px;background:#2c3528}progress::-webkit-progress-bar{background:#2c3528;border-radius:5px}progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.progress-block small{font-size:10px;color:var(--muted)}.overview-link{display:block;color:var(--muted);font-size:12px;padding:10px 12px;margin-bottom:12px;border-radius:5px}.active{background:#ccff660d;color:var(--accent)!important}.azure .active{background:#8ed7ff0c}.module-label{color:#9aa78f;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;margin:22px 10px 8px;line-height:1.7}.lesson-link{display:flex;align-items:start;gap:9px;border-radius:6px;padding:9px 10px;font-size:11px;line-height:1.6;color:#bec8b6;margin:3px 0;border:1px solid transparent}.lesson-link:hover{background:#ffffff06}.lesson-link.active{border-color:#5b713b55}.lesson-dot{border:1px solid #536147;flex:0 0 16px;height:16px;border-radius:50%;margin-top:2px;font-size:10px;line-height:14px;text-align:center}.lesson-dot.done{background:var(--accent);color:#111;border-color:var(--accent)}.storage-state{font-size:10px;line-height:1.7;color:#85917b;margin:25px 10px 15px}.other-course{display:block;margin:15px 10px 0;color:var(--accent);font-size:11px}main{padding:36px 5% 60px;min-width:0;outline:none}.breadcrumbs{font-size:10px;color:var(--muted);margin-bottom:25px;display:flex;flex-wrap:wrap;gap:9px}.breadcrumbs a{color:var(--accent)}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--accent)}h1,h2,h3{font-family:Space;font-weight:500;line-height:1.2}h1{font-size:clamp(31px,3.6vw,49px);letter-spacing:-1.7px;margin:13px 0 19px;max-width:790px}h2{font-size:23px;letter-spacing:-.5px;margin:32px 0 17px}h3{font-size:17px}p{color:var(--muted);line-height:1.85}.lead{font-size:15px;max-width:760px;margin:0 0 22px}.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 25px}.badge{border:1px solid var(--line);border-radius:5px;padding:4px 9px;font-size:10px;color:#b6c1ae}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 17px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);font-size:12px;font-weight:600}.button:hover{border-color:var(--accent)}.primary{background:var(--accent);border-color:var(--accent);color:#11200b}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.topology{position:relative;border:1px solid #3a4932;border-radius:12px;padding:25px;margin:28px 0 30px;background:radial-gradient(ellipse at 90% 10%,#a2d35b12,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-size:auto,20px 20px,20px 20px}.azure .topology{border-color:#304a59;background-color:#162029}.topology-title{font-size:9px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;display:flex;justify-content:space-between}.topology-nodes{display:flex;align-items:center;justify-content:center;gap:12px;padding:26px 0 12px}.topology-node{flex:1;min-width:0;background:var(--bg);border:1px solid #47553d;border-radius:8px;text-align:center;padding:19px 8px;font-size:11px}.topology-node span{font-size:22px;display:block;margin-bottom:9px;color:var(--accent)}.connector{font-size:17px;color:var(--accent)}.topology p{font-size:10px;margin-bottom:0}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.box{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:23px;min-width:0}.box h2{font-size:18px;margin:0 0 15px}.box p{font-size:12px;margin-bottom:0}ul,ol{padding-left:22px;color:#bec7b7;line-height:1.85}li{margin:8px 0}ul.checklist{padding:0;list-style:none;font-size:12px}.checklist li{padding-left:22px;position:relative}.checklist li:before{content:'↗';position:absolute;left:0;color:var(--accent)}.module-card{border:1px solid var(--line);border-radius:8px;margin:12px 0;background:#171d17;overflow:hidden}.module-card summary{cursor:pointer;padding:19px;font-family:Space;font-size:16px;line-height:1.5}.module-card summary small{color:var(--accent);font-family:DM;font-size:10px;margin-left:12px}.module-card a{display:flex;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid #303a2f88;color:#bdc8b4;font-size:12px}.module-card a:hover{color:var(--accent);background:#ffffff04}.module-card a small{white-space:nowrap;color:#98a68c}.source-panel{border-left:2px solid var(--accent);background:#ffffff03;padding:17px 22px;margin:28px 0}.source-panel p{font-size:11px;margin:5px 0}.source-panel a,.reference-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px}.reading{min-width:0}.reading>p{font-size:14px;line-height:1.95;color:#c1caba}.lesson-meta{display:flex;gap:17px;font-size:10px;color:var(--muted);margin-bottom:28px}.goal{border-left:2px solid var(--accent);background:#ffffff04;padding:15px 20px;margin:20px 0 27px}.goal span{display:block;font-size:9px;letter-spacing:1px;color:var(--accent);text-transform:uppercase;margin-bottom:5px}.goal p{margin:0;font-size:13px}.lesson-aside{align-self:start;position:sticky;top:26px;border:1px solid var(--line);border-radius:8px;padding:17px;font-size:11px}.lesson-aside h3{font-family:DM;font-size:10px;letter-spacing:1px;color:#93a087;text-transform:uppercase;margin:0 0 15px}.lesson-aside a{display:block;color:#b7c4ac;padding:6px 0}.lesson-aside a:hover{color:var(--accent)}.lesson-aside .number{font-family:Space;font-size:38px;color:var(--accent);line-height:1;margin-top:20px}.lesson-aside small{display:block;margin:8px 0;color:#8e9d83;font-size:10px}.technical-points{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px 19px;margin:22px 0}.technical-points ul{font-size:12px;padding-left:16px}.code{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:22px 0}.code-head{display:flex;align-items:center;justify-content:space-between;padding:9px 15px;background:#222c1e;color:#adbea0;font-size:10px;gap:10px}.code button{background:none;color:var(--accent);border:0;font-size:10px;padding:3px}.code pre{margin:0;background:#0b100c;padding:19px;overflow:auto;max-height:520px;tab-size:2}.code code{font:11px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace;color:#c6d9b5}.practice{background:#192119;border:1px solid #3a4c30;border-radius:9px;padding:22px;margin:28px 0}.azure .practice{background:#15212a;border-color:#304859}.practice h2{margin-top:0;font-size:21px}.practice ol{font-size:12px}.solution{margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.solution summary{cursor:pointer;font-size:12px;color:var(--accent)}.solution p{font-size:12px}.quiz{margin-top:27px;padding:24px;border:1px solid var(--line);border-radius:9px}.quiz h2{margin:0 0 20px;font-size:20px}.quiz fieldset{border:0;margin:0;padding:0}.quiz legend{font-size:13px;line-height:1.6;margin-bottom:13px;font-weight:600}.quiz label{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:6px;margin:8px 0;font-size:12px;cursor:pointer}.quiz label:has(input:checked){border-color:var(--accent);background:#ffffff04}.quiz input{accent-color:var(--accent);margin-top:4px}.feedback{font-size:12px;margin:14px 0 0;line-height:1.8}.feedback.correct{color:var(--accent)}.feedback.wrong{color:#ffc99f}.notes label{display:block;font-size:12px;color:#acb9a1;margin:0 0 9px}.notes textarea{resize:vertical;width:100%;min-height:110px;background:#151b15;border:1px solid var(--line);border-radius:7px;color:var(--text);padding:13px;font-size:12px}.notes small{color:#8d9b83;font-size:10px}.lesson-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:23px;margin-top:32px}.lesson-nav>div{display:flex;gap:10px;flex-wrap:wrap}.completed-banner{padding:15px 20px;border:1px solid var(--accent);border-radius:8px;background:#ffffff04;font-size:13px;margin:22px 0;color:var(--accent)}.calculator{border:1px solid #4b613c;border-radius:9px;padding:22px;margin:30px 0;background:#1b2518}.azure .calculator{background:#15212b;border-color:#335065}.calculator h2{margin:0 0 8px;font-size:22px}.calculator p{font-size:12px}.calc-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.calc-form>label{font-size:10px;color:#a9b99b;flex:1}.calc-form input[type=text]{display:block;background:#10160e;border:1px solid #45553a;color:white;border-radius:5px;padding:10px;margin-top:6px;width:100%;min-width:140px}.calc-form .mode{display:flex;gap:8px;align-items:center;flex:0 0 auto;font-size:11px;padding-bottom:10px}.calc-form input[type=checkbox]{accent-color:var(--accent)}.calc-form button{margin-bottom:1px}.calc-results{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-top:18px}.calc-results>div{background:#151d12;padding:12px;min-width:0}.azure .calc-results>div{background:#101e28}.calc-results small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#8f9f82;display:block}.calc-results strong{display:block;font:12px/1.7 ui-monospace,monospace;overflow-wrap:anywhere;margin-top:4px}.calc-error{font-size:12px;color:#ffc49b;margin-top:12px}footer{border-top:1px solid var(--line);padding:22px 4%;display:flex;justify-content:space-between;gap:15px;color:#7f8c75;font-size:10px}.skip{position:absolute;left:10px;top:-100px;background:var(--accent);color:#000;padding:10px;z-index:10}.skip:focus{top:10px}#toast{position:fixed;bottom:25px;right:25px;border-radius:6px;max-width:calc(100% - 50px);font-size:12px;z-index:20;background:var(--accent);color:#111}#toast:not(:empty){padding:12px 20px}.empty-state{padding:45px 0}.mobile-curriculum{display:none}@media(min-width:1500px){main{padding-right:7%;padding-left:6%}}@media(max-width:1120px){.course-shell{grid-template-columns:260px minmax(0,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-aside{display:none}.overview-grid{grid-template-columns:1fr}.topology-nodes{gap:6px}.topology-node{font-size:10px;padding:14px 6px}.topology{padding:20px}.back{margin-left:auto}.local-pill{display:none}}@media(max-width:760px){header{height:70px;padding:0 5%;gap:15px}.brand{font-size:23px}.brand>span{font-size:27px}.back{font-size:10px}.course-shell{grid-template-columns:1fr}.sidebar{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:18px 5%}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.sidebar-top a{font-size:15px;max-width:60%}.sidebar-top button{display:block;border:1px solid var(--line);background:transparent;font-size:10px;border-radius:5px;padding:8px;white-space:nowrap}.progress-block{padding:14px 0 0}.progress-block small{font-size:9px}#syllabus,.sidebar .storage-state,.other-course{display:none}.sidebar.expanded #syllabus,.sidebar.expanded .storage-state,.sidebar.expanded .other-course{display:block}main{padding:25px 5% 45px}h1{font-size:34px}.breadcrumbs{margin-bottom:20px}.topology-nodes{display:grid;grid-template-columns:1fr 18px 1fr;gap:9px}.topology-node{padding:14px;font-size:11px}.connector:nth-child(4){display:none}.topology-nodes>.topology-node:nth-child(5){grid-column:1;grid-row:2}.topology-nodes>.connector:nth-child(6){grid-column:2;grid-row:2}.topology-nodes>.topology-node:nth-child(7){grid-column:3;grid-row:2}.topology-title{font-size:8px;gap:10px}.reading>p{font-size:13px}.practice,.quiz,.calculator{padding:18px}.module-card summary{font-size:14px}.module-card summary small{display:block;margin-left:0}.module-card a{padding:13px 18px;font-size:11px}.lesson-nav{flex-direction:column}.lesson-nav>div{justify-content:space-between}.lesson-nav .button{font-size:11px}.calc-form>label:first-child{flex-basis:100%}footer{flex-direction:column;gap:5px}.lead{font-size:13px}}

/* ==========================================================================
   Estilos EDteam / Dibujos Técnicos / Terminología / Matriz Multicloud
   ========================================================================== */
.level-pill{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:1px;padding:3px 9px;border-radius:12px;font-weight:700;vertical-align:middle}
.level-pill.basico{background:#1a311e;color:#8ce975;border:1px solid #37633b}
.level-pill.intermedio{background:#182e3d;color:#79caff;border:1px solid #2b5578}
.level-pill.avanzado{background:#382718;color:#ffab66;border:1px solid #6b472a}

.diagram-card{background:#131a14;border:1px solid #2d3d2a;border-radius:10px;margin:28px 0;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,0.35)}
.diagram-head{display:flex;justify-content:space-between;align-items:center;background:#1b241c;border-bottom:1px solid #2d3d2a;padding:12px 18px;gap:12px;flex-wrap:wrap}
.diagram-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#e8f2e6}
.diagram-icon{font-size:15px}
.diagram-badge{background:#ccff6615;border:1px solid #ccff6640;color:var(--accent);font-size:9px;letter-spacing:1.2px;padding:3px 8px;border-radius:4px;text-transform:uppercase;font-weight:700}
.diagram-body{padding:22px;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at center,#19241a 0%,#0f1410 100%);overflow-x:auto}
.diagram-svg{max-width:100%;height:auto;display:block}
.diagram-caption{font-size:11px;line-height:1.7;color:#bac8b4;padding:12px 18px;background:#121813;border-top:1px solid #243222;margin:0}

.terms-section{margin:32px 0 24px}
.terms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:14px}
.term-card{background:#161f17;border:1px solid #2a3828;border-radius:8px;padding:15px 17px;transition:transform .18s,border-color .18s}
.term-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.term-badge{display:inline-block;background:#233320;color:var(--accent);font-family:ui-monospace,monospace;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:7px;border:1px solid #3c5237}
.term-card strong{display:block;font-size:12px;color:#eef4ec;margin-bottom:6px}
.term-card p{font-size:11px;line-height:1.65;color:var(--muted);margin:0}

.matrix-wrapper{overflow-x:auto;margin:20px 0;border:1px solid var(--line);border-radius:8px;background:#121812}
.matrix-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left;min-width:650px}
.matrix-table th{background:#1a2318;padding:12px 14px;color:var(--accent);font-weight:600;border-bottom:1px solid var(--line);letter-spacing:.4px}
.matrix-table td{padding:10px 14px;border-bottom:1px solid #243021;color:#d2ddce}
.matrix-table tr:hover td{background:#ffffff05}

/* Linux Theme */
body.linux{--accent:#f5c542;--bg:#12130f;--panel:#1c1d16;--line:#383726}
body.linux header{background:#15160e}
.linux .active{background:#f5c54215;color:var(--accent)!important}
.linux .lesson-link.active{border-color:#f5c54255}
.linux .topology{border-color:#4a4523;background:radial-gradient(ellipse at 90% 10%,#f5c54218,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#171810;background-size:auto,20px 20px,20px 20px}
.linux .topology-node{border-color:#524c25}
.linux .practice{background:#181811;border-color:#4d4624}
.linux .calculator{background:#181811;border-color:#4d4624}
.linux .calc-results>div{background:#13130d}
.linux .module-card{background:#151610;border-color:#383626}
.linux .code-head{background:#262415;color:#e2d9a6}
.linux .term-card{background:#161610;border-color:#353322}
.linux .term-badge{background:#2b2814;color:#f5c542;border-color:#524d26}
.linux .diagram-card{background:#14140f;border-color:#3a3826}
.linux .diagram-head{background:#1d1c13;border-bottom-color:#3a3826}
.linux .diagram-caption{background:#13130d;border-top-color:#2e2c1c}


/* Kubernetes Theme */
body.kubernetes{--accent:#699aff;--bg:#0c111d;--panel:#131b2e;--line:#223154}
body.kubernetes header{background:#0e1424}
.kubernetes .active{background:#326ce520;color:#699aff!important}
.kubernetes .lesson-link.active{border-color:#326ce566}
.kubernetes .topology{border-color:#2a3e6b;background:radial-gradient(ellipse at 90% 10%,#326ce51a,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#101728;background-size:auto,20px 20px,20px 20px}
.kubernetes .topology-node{border-color:#2b4170}
.kubernetes .practice{background:#11192b;border-color:#263c69}
.kubernetes .calculator{background:#11192b;border-color:#263c69}
.kubernetes .calc-results>div{background:#0d1424}
.kubernetes .module-card{background:#11182a;border-color:#223356}
.kubernetes .code-head{background:#192644;color:#a5c2f5}
.kubernetes .term-card{background:#10182a;border-color:#223458}
.kubernetes .term-badge{background:#1a2846;color:#699aff;border-color:#2f4a7c}
.kubernetes .diagram-card{background:#0d1422;border-color:#223458}
.kubernetes .diagram-head{background:#141d30;border-bottom-color:#24365d}
.kubernetes .diagram-caption{background:#0c1220;border-top-color:#1e2e50}


/* Azure Enterprise Cloud Theme */
body.azure{--accent:#50e6ff;--bg:#0c1524;--panel:#132035;--line:#223759}
body.azure header{background:#0e1829}
.azure .active{background:#0078d420;color:#50e6ff!important}
.azure .lesson-link.active{border-color:#0078d466}
.azure .topology{border-color:#204068;background:radial-gradient(ellipse at 90% 10%,#0078d41c,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#101d2f;background-size:auto,20px 20px,20px 20px}
.azure .topology-node{border-color:#284872}
.azure .practice{background:#111e30;border-color:#264368}
.azure .calculator{background:#111e30;border-color:#264368}
.azure .calc-results>div{background:#0e1928}
.azure .module-card{background:#111c2e;border-color:#223c62}
.azure .code-head{background:#182b48;color:#9cd6ff}
.azure .term-card{background:#101c2e;border-color:#223d64}
.azure .term-badge{background:#162b48;color:#50e6ff;border-color:#2b4f7e}
.azure .diagram-card{background:#0d1726;border-color:#213b60}
.azure .diagram-head{background:#132338;border-bottom-color:#233e66}
.azure .diagram-caption{background:#0c1624;border-top-color:#1c3252}

/* AWS Cloud Architect Theme */
body.aws{--accent:#ff9900;--bg:#121316;--panel:#1b1d22;--line:#383630}
body.aws header{background:#16171c}
.aws .active{background:#ff990018;color:#ff9900!important}
.aws .lesson-link.active{border-color:#ff990066}
.aws .topology{border-color:#4a3f28;background:radial-gradient(ellipse at 90% 10%,#ff99001a,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#17181c;background-size:auto,20px 20px,20px 20px}
.aws .topology-node{border-color:#59492b}
.aws .practice{background:#18191e;border-color:#524126}
.aws .calculator{background:#18191e;border-color:#524126}
.aws .calc-results>div{background:#131418}
.aws .module-card{background:#16171d;border-color:#3d362a}
.aws .code-head{background:#282318;color:#ffd188}
.aws .term-card{background:#17181d;border-color:#3d3629}
.aws .term-badge{background:#2e2415;color:#ff9900;border-color:#594524}
.aws .diagram-card{background:#131419;border-color:#3d3527}
.aws .diagram-head{background:#1d1c22;border-bottom-color:#3d3628}
.aws .diagram-caption{background:#111216;border-top-color:#30291e}

/* Terraform IaC Theme */
body.terraform{--accent:#9b6bff;--bg:#110e1a;--panel:#1a1528;--line:#342652}
body.terraform header{background:#151121}
.terraform .active{background:#9b6bff20;color:#b794ff!important}
.terraform .lesson-link.active{border-color:#9b6bff66}
.terraform .topology{border-color:#483273;background:radial-gradient(ellipse at 90% 10%,#9b6bff1c,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#161224;background-size:auto,20px 20px,20px 20px}
.terraform .topology-node{border-color:#4e3480}
.terraform .practice{background:#171224;border-color:#4b317a}
.terraform .calculator{background:#171224;border-color:#4b317a}
.terraform .calc-results>div{background:#120e1d}
.terraform .module-card{background:#161124;border-color:#3b2761}
.terraform .code-head{background:#261842;color:#d4bfff}
.terraform .term-card{background:#161124;border-color:#3a2660}
.terraform .term-badge{background:#271844;color:#9b6bff;border-color:#543591}
.terraform .diagram-card{background:#120e1e;border-color:#38245e}
.terraform .diagram-head{background:#1c152e;border-bottom-color:#39255f}
.terraform .diagram-caption{background:#100c1a;border-top-color:#2a1b47}

/* Docker Theme */
body.docker{--accent:#0db7ed;--bg:#0b1118;--panel:#111822;--line:#1e293b}
body.docker header{background:#0d1520}
.docker .active{background:#0db7ed20;color:#38bdf8!important}
.docker .lesson-link.active{border-color:#0db7ed66}
.docker .topology{border-color:#0284c7;background:radial-gradient(ellipse at 90% 10%,#0db7ed1c,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#0f1722;background-size:auto,20px 20px,20px 20px}
.docker .topology-node{border-color:#0369a1}
.docker .practice{background:#101722;border-color:#0284c7}
.docker .calculator{background:#101722;border-color:#0284c7}
.docker .calc-results>div{background:#0c121c}
.docker .module-card{background:#111824;border-color:#1e293b}
.docker .code-head{background:#0c4a6e;color:#bae6fd}
.docker .term-card{background:#111824;border-color:#1e293b}
.docker .term-badge{background:#0c4a6e;color:#38bdf8;border-color:#0284c7}
.docker .diagram-card{background:#0b1118;border-color:#1e293b}
.docker .diagram-head{background:#111822;border-bottom-color:#1e293b}
.docker .diagram-caption{background:#0b1118;border-top-color:#1e293b}

/* Python Theme */
body.python{--accent:#ffd43b;--bg:#0f141c;--panel:#161e2a;--line:#253347}
body.python header{background:#121822}
.python .active{background:#ffd43b20;color:#ffd43b!important}
.python .lesson-link.active{border-color:#ffd43b66}
.python .topology{border-color:#387eb8;background:radial-gradient(ellipse at 90% 10%,#ffd43b1c,transparent 70%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px);background-color:#141b25;background-size:auto,20px 20px,20px 20px}
.python .topology-node{border-color:#387eb8}
.python .practice{background:#151d28;border-color:#387eb8}
.python .calculator{background:#151d28;border-color:#387eb8}
.python .calc-results>div{background:#10151f}
.python .module-card{background:#161e2a;border-color:#253347}
.python .code-head{background:#1e2c3d;color:#ffd43b}
.python .term-card{background:#161e2a;border-color:#253347}
.python .term-badge{background:#1e2c3d;color:#ffd43b;border-color:#387eb8}
.python .diagram-card{background:#0f141c;border-color:#253347}
.python .diagram-head{background:#161e2a;border-bottom-color:#253347}
.python .diagram-caption{background:#0f141c;border-top-color:#253347}

