.course-path{--path-col:44px;--path-line:3px;padding:var(--space-3) var(--space-6)}.course-path>.curriculum-module.path-stage,.course-path>.curriculum-module+.curriculum-module.path-stage{border-top:0;margin-top:0}.course-path .path-stage-head,.course-path .path-stop{position:relative}.course-path .path-stage-head:before,.course-path .path-stop:before{content:"";top:0;bottom:0;left:calc(var(--path-col) / 2 - var(--path-line) / 2);width:var(--path-line);background:var(--line);position:absolute}.course-path .path-stage[data-state=done]>.path-stage-head:before,.course-path .path-stop[data-state=done]:before{background:var(--green)}.course-path .path-stage[data-optional]:not([data-state=done])>.path-stage-head:before,.course-path .path-stage[data-optional] .path-stop:not([data-state=done]):before{background:repeating-linear-gradient(var(--line-strong) 0 6px, transparent 6px 12px)}.course-path>.path-stage:first-child>.path-stage-head:before{top:50%}.course-path>.path-stage:last-child.is-collapsed>.path-stage-head:before{bottom:50%}.course-path>.path-stage:last-child:not(.is-collapsed) .path-stop:last-child:before{bottom:calc(50% + var(--space-3) / 2)}.course-path .curriculum-module>h2.path-stage-head{margin:0;font-size:17px}.course-path h2.curriculum-module-plain,.course-path .curriculum-module-head button{gap:var(--space-4);padding:var(--space-3) 0}.path-stage-text{gap:var(--space-1);flex:1;min-width:0;display:grid}.path-stage-status{align-items:center;gap:var(--space-2);font-family:var(--font-body);flex-wrap:wrap;display:flex}.path-meter{border-radius:var(--radius-pill);background:var(--line);width:80px;height:6px;overflow:hidden}.path-meter span{border-radius:inherit;background:var(--blue);height:100%;display:block}.path-node{z-index:1;width:var(--path-col);height:var(--path-col);background:conic-gradient(var(--blue) var(--path-share,0%), var(--line-strong) 0);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.path-node-face{background:var(--bg);width:calc(100% - 6px);height:calc(100% - 6px);color:var(--muted);border-radius:50%;place-items:center;font-size:15px;font-weight:800;display:grid}.course-path .path-stage .path-node .module-icon{color:inherit;background:0 0;border-radius:0;padding:0}.path-node[data-state=started] .path-node-face{background:var(--blue-soft);color:var(--blue-ink)}.path-node[data-state=done]{background:var(--green)}.path-node[data-state=done] .path-node-face{background:var(--green-soft);color:var(--green)}.path-node[data-next]{background:conic-gradient(var(--blue) var(--path-share,0%), var(--blue-soft) 0)}.path-node[data-next] .path-node-face{background:var(--blue);color:var(--on-accent)}.path-stage[data-optional] .path-node:not([data-state=done]){background:0 0}.path-stage[data-optional] .path-node:not([data-state=done]) .path-node-face{border:2px dashed var(--line-strong);width:100%;height:100%}.path-node-badge{border:2px solid var(--bg);background:var(--green);width:20px;height:20px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.path-stops{margin:0;padding:0;list-style:none}.path-stops[hidden]{display:none}.course-path .path-stop:last-child{padding-bottom:var(--space-3)}.course-path .path-stop .module-row{grid-template-columns:var(--path-col) minmax(0, 1fr) auto;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-3) var(--space-3) 0;border-bottom:0;display:grid}.course-path .path-stop .module-row>div{min-width:0}.course-path .path-stop .module-row>button{margin-left:0}.course-path .path-stop .module-number{z-index:1;justify-self:center;position:relative}.course-path .path-stop .lesson-row.is-next{border-radius:var(--radius-md);background:var(--blue-soft);box-shadow:none;padding-left:0}.course-path .path-stop.is-next .module-number:not(.complete){border-color:var(--blue);background:var(--blue);color:var(--on-accent)}@media (prefers-reduced-motion:no-preference){.course-path .path-stage.is-collapsed .path-node[data-next]:after,.course-path .path-stop.is-next .module-number:not(.complete):after{content:"";border:2px solid var(--blue);pointer-events:none;border-radius:50%;animation:2.4s ease-out infinite path-pulse;position:absolute;inset:-4px}}@keyframes path-pulse{0%{opacity:.7;transform:scale(.9)}70%,to{opacity:0;transform:scale(1.35)}}@media (max-width:560px){.course-path{--path-col:40px;padding:var(--space-2) var(--space-4)}.course-path .curriculum-module-head button,.course-path h2.curriculum-module-plain{gap:var(--space-3)}.course-path .path-stop .module-row{grid-template-columns:var(--path-col) minmax(0, 1fr);column-gap:var(--space-3)}.course-path .path-stop .module-row>.module-number{grid-row:span 2}.course-path .path-stop .module-row>button{grid-column:2;justify-self:start}}
.my-courses-list,.module-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.my-courses-list>.my-course-card{flex-direction:column;gap:0;min-width:0;padding:0;display:flex;position:relative;overflow:visible}.my-courses-list>.my-course-card:focus-within,.my-courses-list>.my-course-card:hover{z-index:2}.catalog-cover{aspect-ratio:16/9;background:var(--blue-soft);border-radius:11px 11px 0 0;flex:none;width:100%;overflow:hidden}.catalog-cover[data-cover=seguridad],.catalog-cover[data-cover=herramientas]{background:var(--cyber-soft)}.catalog-cover img{object-fit:cover;width:100%;height:100%;display:block}.catalog-cover img[hidden]{display:none}.my-courses-list .my-course-body{flex-direction:column;flex:1;padding:18px;display:flex}.my-courses-list .my-course-body h3{overflow-wrap:anywhere;margin:4px 0 12px;font-size:19px;line-height:1.3}.my-courses-list .my-course-kicker{overflow-wrap:anywhere}.my-courses-list .catalog-access,.my-courses-list .course-access{flex-direction:column;align-items:stretch;gap:12px;margin-top:auto}.my-courses-list .catalog-access>div,.my-courses-list .course-access-details{align-items:flex-start}.my-courses-list .catalog-access>button,.my-courses-list .course-access-actions button{white-space:normal;overflow-wrap:anywhere;justify-content:center;width:100%;min-height:44px}.my-courses-list .course-access-actions{flex-direction:column}.my-courses-list .catalog-access[data-edition-role]{border:1px solid var(--line-strong);border-radius:12px;min-width:0;margin-top:10px;padding:12px}.my-courses-list .catalog-access[data-edition-role=active]{border:2px solid var(--blue)}.my-courses-list .catalog-access[data-edition-role=new],.my-courses-list .catalog-access[data-edition-role=previous]{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.my-courses-list .catalog-access[data-edition-role]>div{flex-direction:column;align-items:stretch;gap:6px;min-width:0;display:flex}.my-courses-list .catalog-access[data-edition-role=new]>button,.my-courses-list .catalog-access[data-edition-role=previous]>button{width:auto;padding-inline:12px}.course-edition-heading{align-items:center;gap:4px;display:flex}.course-edition-badge{background:var(--blue-soft);color:var(--blue-ink);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:13px;font-weight:700;display:inline-flex}.catalog-access[data-edition-role] .course-edition{color:var(--ink);font-size:14px}.my-courses-list .catalog-access .card-progress{flex:0 0 6px;width:100%}.catalog-access[data-edition-role=new] .card-progress{display:none}@media (max-width:380px){.my-courses-list .catalog-access[data-edition-role=new],.my-courses-list .catalog-access[data-edition-role=previous]{grid-template-columns:minmax(0,1fr)}}.module-card-grid{background:0 0;border:0;padding:0}.module-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);min-width:0;height:100%;overflow:hidden}.module-card[data-next]{border-color:var(--blue)}.module-card>h2{height:100%;margin:0}.module-card-trigger{text-align:left;width:100%;height:100%;color:var(--ink);white-space:normal;background:0 0;border:0;border-radius:0;flex-direction:column;padding:0;display:flex}.module-card-trigger:hover:not(:disabled){background:var(--soft)}.module-card-trigger:focus-visible{outline-offset:-4px}.module-card-body{flex-direction:column;flex:1;gap:8px;width:100%;padding:16px;display:flex}.module-card-kicker,.module-card-count{font-family:var(--font-body);color:var(--muted);font-size:13px;font-weight:400}.module-card-title{font-family:var(--font-display);overflow-wrap:anywhere;margin-bottom:auto;font-size:19px;line-height:1.25}.module-card-state,.module-card-action{font-family:var(--font-body);align-items:center;gap:6px;font-size:14px;display:flex}.module-card-state{color:var(--muted);font-weight:400}.module-card[data-state=done] .module-card-state{color:var(--green)}.module-card-action{color:var(--blue-ink);margin-top:4px}.course-curriculum.module-page{max-width:820px;margin-top:24px;padding:clamp(16px,4vw,32px)}.module-lessons-panel.course-path{padding:0}.module-page h1{margin:20px 0 24px}@media (max-width:700px){.my-courses-list{grid-template-columns:minmax(0,1fr);gap:12px}.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.my-courses-list .my-course-body,.module-card-body{padding:12px}.my-courses-list .my-course-body h3,.module-card-title{font-size:16px}.my-courses-list .catalog-access>button{padding:8px;font-size:14px}.module-card-state,.module-card-action,.module-card-count{font-size:13px}}
.bottom-nav{display:none}@media (max-width:700px){.bottom-nav{z-index:15;padding:var(--space-1) var(--space-2) calc(var(--space-1) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #17203314}.bottom-nav button{align-content:center;justify-items:center;gap:var(--space-1);min-width:0;min-height:56px;padding:var(--space-1) 0;border-radius:var(--radius-sm);box-shadow:none;color:var(--muted);background:0 0;border:0;font-size:12px;font-weight:600;display:grid}.bottom-nav button:hover:not(:disabled){color:var(--ink);background:0 0}.bottom-nav-icon{border-radius:var(--radius-pill);place-items:center;width:56px;height:32px;display:grid;position:relative}.bottom-nav button[aria-current=page]{color:var(--blue-ink);font-weight:700}.bottom-nav button[aria-current=page] .bottom-nav-icon{background:var(--blue-soft)}.bottom-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav-count{top:0;right:var(--space-2);min-width:18px;padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--blue);color:var(--on-accent);font-size:11px;font-weight:700;line-height:18px;position:absolute}body:has(.bottom-nav) .app-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))}body:has(.bottom-nav) .app-shell:not([data-menu=open]) .app-side .side-nav[aria-label=Aprender]{display:none}body:has(.bottom-nav) .app-shell:not([data-menu=open]) .app-side:not(:has(.side-space)):not(:has(.side-nav:not([aria-label=Aprender]))){display:none}}@media (max-width:700px) and (prefers-reduced-motion:no-preference){.bottom-nav button{transition:color .12s}}
.robot{--robot-line:#6b3a8c;--robot-face:#fff;--robot-body:#e9ddf2;--robot-screen:#56346f;--robot-eye:#fff;--robot-smile:#f5b7d5;--robot-antenna:#e7accb;--robot-button:#a56dc1;--robot-detail:#c7a6d9;--robot-shadow:#4b286b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .robot{--robot-line:#c9a3e6;--robot-face:#2e2539;--robot-body:#3d2c4d;--robot-screen:#150e1c;--robot-eye:#f3ebf8;--robot-antenna:#f2b2d6;--robot-button:#c9a3e6;--robot-detail:#7f5f99;--robot-shadow:#000}}:root[data-theme=dark] .robot{--robot-line:#c9a3e6;--robot-face:#2e2539;--robot-body:#3d2c4d;--robot-screen:#150e1c;--robot-eye:#f3ebf8;--robot-antenna:#f2b2d6;--robot-button:#c9a3e6;--robot-detail:#7f5f99;--robot-shadow:#000}.robot .robot-line{stroke:var(--robot-line)}.robot .robot-face{fill:var(--robot-face)}.robot .robot-body{fill:var(--robot-body)}.robot .robot-screen{fill:var(--robot-screen)}.robot .robot-eye{fill:var(--robot-eye)}.robot .robot-smile{stroke:var(--robot-smile)}.robot .robot-antenna{fill:var(--robot-antenna)}.robot .robot-button{fill:var(--robot-button)}.robot .robot-detail{stroke:var(--robot-detail)}.robot .robot-shadow{fill:var(--robot-shadow)}.robot-reaction{transform-origin:bottom;width:100%;height:100%;display:block}
.empty-state{justify-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-6) var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--bg);text-align:center;display:grid}.empty-state-robot{flex:none;width:48px;height:52px}.empty-state-robot svg{width:100%;height:100%;display:block}.empty-state p{max-width:46ch;color:var(--muted);margin:0}
