@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Merriweather:wght@400;700&display=swap";:root{--primary:#f54477;--primary-light:#f8667f;--primary-dark:#d63960;--primary-50:#fef2f6;--primary-100:#fce4ed;--academic-navy:#0056a6;--academic-navy-dark:color-mix(in srgb, var(--academic-navy) 82%, #000);--academic-forest:#1b4d3e;--academic-slate:#2d3e50;--requirements:var(--academic-slate);--requirements-bg:color-mix(in srgb, var(--requirements) 5%, var(--neutral-white));--neutral-white:#fff;--neutral-50:#f9fafb;--neutral-100:#f3f4f6;--neutral-200:#e5e7eb;--neutral-300:#d1d5db;--neutral-400:#9ca3af;--neutral-500:#6b7280;--neutral-600:#4b5563;--neutral-700:#374151;--neutral-800:#1f2937;--neutral-900:#111827;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--status-active:#d97706;--status-active-dark:#b45309;--status-active-bg:#fff7ed;--status-active-bg-hover:#ffedd5;--status-done:#059669;--status-done-dark:#047857;--status-done-bg:#ecfdf5;--status-done-bg-hover:#d1fae5;--accent-gold:#d97706;--accent-emerald:#059669;--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#fef2f6;--font-serif:"Merriweather", Georgia, serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 8px 16px #0000001a;--shadow-xl:0 12px 24px #00000026;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.35s cubic-bezier(.34, 1.56, .64, 1);--content-max:1120px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--academic-navy);color:var(--neutral-700);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100dvh;line-height:1.6;display:flex;overflow-x:hidden}#app{width:100%;padding:var(--spacing-xl);background:#f6f8fb;flex:none}#footer-root{background:var(--academic-navy);flex:1 0 auto;width:100%}.view-section{width:100%}.page{max-width:var(--content-max);width:100%;margin:0 auto}.page__title{color:var(--academic-navy);align-items:center;gap:12px;font-size:1.6rem;display:flex}.icon-modulo{background:currentColor;border-radius:3px;flex-shrink:0;width:14px;height:14px}.icon-paso{background:currentColor;border-radius:50%;flex-shrink:0;width:14px;height:14px}.navbar{--navbar-height:64px;justify-content:space-between;align-items:center;gap:var(--spacing-lg);min-height:var(--navbar-height);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);padding:var(--spacing-sm) var(--spacing-xl);box-shadow:none;z-index:1002;display:flex;position:relative}body.navbar-lock{overflow:hidden}.navbar__brand{align-items:center;gap:var(--spacing-sm);color:var(--neutral-white);z-index:1002;text-decoration:none;display:flex}.navbar__brand:hover{opacity:.92}.navbar__logo-img{object-fit:contain;background:var(--neutral-white);border-radius:8px;flex-shrink:0;width:36px;height:36px;display:block;box-shadow:0 0 0 2px #ffffff59}.navbar__logo-text{text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-serif);color:var(--neutral-white);font-size:1.05rem;font-weight:700}.navbar__beta{color:var(--neutral-white);letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px solid #ffffff59;padding:2px 5px;font-size:.58rem;font-weight:800;line-height:1.2}.navbar__panel{justify-content:flex-end;align-items:center;gap:var(--spacing-xl);flex:1;min-width:0;display:flex}.navbar__search-container{flex:1;min-width:0;max-width:360px}.navbar__nav{align-items:center;gap:4px;display:flex}.navbar__link{color:#ffffffd1;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.navbar__link:hover{color:var(--neutral-white);background:#ffffff1a}.navbar__link--active,.navbar__link--active:hover{color:var(--primary-dark);background:var(--neutral-white);border-color:#0000;font-weight:600}.navbar__link--cta{background:#ffffff24;border-color:#ffffff47}.navbar__link--cta:hover{background:#ffffff38}.navbar__link--cta.navbar__link--active,.navbar__link--cta.navbar__link--active:hover{color:var(--primary-dark);background:var(--neutral-white)}.navbar__link i[data-lucide],.navbar__link svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px}.icon-ruta{background:currentColor;border-radius:2px;flex-shrink:0;width:11px;height:11px;transform:rotate(45deg)}.navbar__toggle{border-radius:var(--radius-md);cursor:pointer;z-index:1002;background:#ffffff1f;border:1px solid #ffffff47;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:10px;display:none}.navbar__toggle-bar{background:var(--neutral-white);width:100%;height:2px;transition:transform var(--transition-base), opacity var(--transition-fast);border-radius:2px;display:block}.navbar.is-open .navbar__toggle-bar:first-child{transform:translateY(7px)rotate(45deg)}.navbar.is-open .navbar__toggle-bar:nth-child(2){opacity:0}.navbar.is-open .navbar__toggle-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar__backdrop{display:none}@media (width<=840px){.navbar{padding:var(--spacing-sm) var(--spacing-md)}.navbar__toggle{margin-left:auto;display:flex}.navbar__panel{width:min(320px,86vw);height:100dvh;padding:calc(var(--navbar-height) + var(--spacing-lg)) var(--spacing-lg) var(--spacing-xl);justify-content:flex-start;align-items:stretch;gap:var(--spacing-lg);background:linear-gradient(180deg, var(--primary-dark) 0%, var(--primary) 100%);box-shadow:var(--shadow-xl);transition:transform var(--transition-base);z-index:1001;flex-direction:column;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%)}.navbar.is-open .navbar__panel{transform:translate(0)}.navbar__search-container{flex:none;width:100%;max-width:none}.navbar__nav{flex-direction:column;align-items:stretch;gap:8px}.navbar__link{border-color:#ffffff14;padding:12px 14px;font-size:1rem}.navbar__backdrop{opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:1000;background:#11182773;border:0;padding:0;display:block;position:fixed;inset:0}.navbar.is-open .navbar__backdrop{opacity:1;pointer-events:auto}}@media (width<=640px){.navbar__panel{width:100vw;box-shadow:none}}#navbar-root{z-index:1000;box-shadow:var(--shadow-md);position:sticky;top:0}.graph-progress{background:var(--primary-50);border-bottom:1px solid var(--primary-100);justify-content:center;align-items:center;gap:18px;min-height:36px;padding:8px 16px 6px;display:flex;overflow:hidden}.graph-progress__item{color:var(--academic-navy);align-items:center;gap:6px;display:inline-flex;position:relative}.graph-progress__item.is-pop{color:#059669;animation:.5s cubic-bezier(.34,1.56,.64,1) progress-pop}.graph-progress__item.is-pop--down{color:#b45309}.graph-progress__item.is-pop .icon-ruta,.graph-progress__item.is-pop .icon-modulo,.graph-progress__item.is-pop .icon-paso{background:currentColor}.graph-progress__plus{color:#059669;pointer-events:none;font-size:.68rem;font-weight:800;animation:.75s forwards progress-plus;position:absolute;top:50%;right:-10px}.graph-progress__plus--down{color:#b45309}.graph-progress__count{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:700}.graph-progress .icon-ruta,.graph-progress .icon-modulo,.graph-progress .icon-paso{background:var(--academic-navy);width:8px;height:8px}.graph-progress .icon-modulo{border-radius:2px}.graph-progress .icon-paso{border-radius:50%}.graph-progress__xp{letter-spacing:.04em;font-size:.62rem;font-weight:800}@keyframes progress-pop{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes progress-plus{0%{opacity:0;transform:translateY(4px)}25%{opacity:1}to{opacity:0;transform:translateY(-12px)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rutas-intro__brand--action{color:inherit;padding:0;background:0 0!important}.complete-step{background:var(--academic-navy);width:100%;height:100%;color:var(--neutral-white);cursor:pointer;border:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:relative;overflow:hidden}.complete-step:hover{background:var(--academic-navy-dark)}.complete-step:disabled,.complete-step:disabled:hover{background:var(--neutral-500);cursor:not-allowed}.complete-step:disabled .complete-step__ring{border-color:#ffffff29}.complete-step.is-burst,.complete-step.is-burst:disabled{cursor:default;background:#059669}.complete-step--done,.complete-step--done:hover{cursor:default;background:#059669;flex-direction:column;justify-content:stretch;gap:0;padding:0;display:flex;overflow:hidden}.complete-step__status{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;padding:16px 12px 12px;display:flex}.complete-step__undo{z-index:1;background:var(--neutral-white);color:#047857;width:100%;max-width:none;font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:0;margin:0;padding:14px 12px;font-size:.82rem;font-weight:800;line-height:1.2;position:relative}.complete-step__undo:hover{color:#065f46;background:#ecfdf5}.complete-step__ring{pointer-events:none;border:2px solid #ffffff47;position:absolute;inset:18px}.complete-step__mark{z-index:1;place-items:center;width:44px;height:44px;display:grid;position:relative}.complete-step__mark .icon-paso{background:#ffffff2e;width:44px;height:44px}.complete-step__check{border-left:3px solid var(--neutral-white);border-bottom:3px solid var(--neutral-white);opacity:0;width:14px;height:8px;position:absolute;transform:rotate(-45deg)translate(1px,-1px)}.complete-step--done .complete-step__check,.complete-step.is-burst .complete-step__check{opacity:1}.complete-step__label{z-index:1;letter-spacing:.1em;text-transform:uppercase;max-width:9.5rem;font-size:.72rem;font-weight:800;line-height:1.3;position:relative}.complete-step__particle{pointer-events:none;width:8px;height:8px;margin:-4px 0 0 -4px;animation:.75s ease-out forwards complete-particle;position:absolute;top:50%;left:50%}.complete-step.is-burst .complete-step__ring{animation:.7s ease-out forwards complete-ring}.complete-step.is-burst .complete-step__mark{animation:.55s cubic-bezier(.34,1.56,.64,1) complete-pop}.complete-step.is-burst{animation:.9s complete-flash}@keyframes complete-particle{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.4)}}@keyframes complete-ring{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.45)}}@keyframes complete-pop{0%{transform:scale(.6)}70%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes complete-flash{0%{filter:brightness()}30%{filter:brightness(1.25)}to{filter:brightness()}}.search-box{border-radius:var(--radius-md);background-color:#ffffff24;border:1px solid #ffffff47;align-items:center;gap:6px;width:100%;padding:4px 4px 4px 12px;display:flex;position:relative}.search-box>svg{color:#ffffffd1;flex:none;width:16px;height:16px}.search-box:focus-within{background-color:#ffffff38;border-color:#ffffff8c}.search-box__input{min-width:0;color:var(--neutral-white);font-size:.9rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:8px 0}.search-box__input::placeholder{color:#ffffffb8}.search-box__button{background-color:var(--neutral-white);color:var(--primary-dark);border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-sans);border:none;padding:8px 12px}.search-box__button:hover{background-color:var(--primary-50)}.search-results{z-index:20;width:min(520px,100vw - 32px);max-height:min(430px,100vh - 100px);color:var(--neutral-700);background:var(--neutral-white);border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:6px;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}.search-results[hidden]{display:none}.search-results__item{color:inherit;border-radius:var(--radius-sm);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;text-decoration:none;display:grid}.search-results__item:hover,.search-results__item--active{color:var(--academic-navy);background:var(--primary-50)}.search-results__item--locked,.search-results__item--locked:hover{cursor:not-allowed;color:var(--neutral-500);background:var(--neutral-50)}.search-results__item--locked .search-results__mark{color:var(--neutral-400)}.search-results__mark{color:var(--primary-dark);justify-self:center;display:block}.search-results__body{min-width:0}.search-results__body strong,.search-results__body small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.search-results__body strong{font-size:.86rem;line-height:1.35}.search-results__body small{color:var(--neutral-500);margin-top:2px;font-size:.72rem}.search-results__type{color:var(--neutral-600);background:var(--neutral-100);border-radius:var(--radius-sm);padding:3px 6px;font-size:.68rem;font-weight:700}.search-results__empty{color:var(--neutral-600);padding:14px 12px;font-size:.82rem;line-height:1.45}@media (width<=840px){.search-results{width:100%;max-height:52vh;right:0}}@media (width<=640px){.search-box{padding-right:12px}.search-box__button{display:none}}.btn{width:100%;font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;padding:16px 24px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.btn--square{border-radius:0}.btn--navy{background:var(--academic-navy);color:var(--neutral-white)}.btn--navy:hover{background:var(--academic-navy-dark)}.btn--primary{background:var(--primary);color:var(--neutral-white)}.btn--primary:hover{background:var(--primary-dark)}.btn--ghost{color:var(--academic-navy);box-shadow:inset 0 0 0 2px var(--academic-navy);background:0 0}.btn--ghost:hover{background:var(--academic-navy);color:var(--neutral-white)}.btn svg{stroke:currentColor;flex-shrink:0;width:16px;height:16px}.uni-banner{border:1px solid color-mix(in srgb, var(--academic-navy) 20%, var(--neutral-white));border-radius:var(--radius-md);background:var(--neutral-white);width:fit-content;max-width:100%;color:var(--academic-navy);box-shadow:var(--shadow-sm);text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:inline-flex}.uni-banner:hover{border-color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 5%, var(--neutral-white))}.uni-banner__icon{width:28px;height:28px;color:var(--neutral-white);background:var(--academic-navy);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.uni-banner__icon svg{stroke:currentColor;width:15px;height:15px}.uni-banner__title{color:var(--academic-navy);font-size:.82rem;font-weight:750;line-height:1.3}.uni-banner__meta{border-left:1px solid var(--neutral-200);color:var(--neutral-500);white-space:nowrap;justify-content:center;align-items:center;gap:4px;padding-left:10px;font-size:.68rem;font-weight:700;display:inline-flex}.uni-banner__meta svg{stroke:currentColor;width:12px;height:12px}@media (width<=640px){.uni-banner{justify-content:flex-start;width:100%}}.uni-card{background:var(--neutral-white);grid-template-columns:180px minmax(0,1fr) 160px;align-items:stretch;width:100%;display:grid;overflow:hidden}.uni-card__brand{aspect-ratio:1;width:180px;color:var(--neutral-white);letter-spacing:.08em;place-items:center;font-size:1.45rem;font-weight:800;display:grid}.uni-card__body{flex-direction:column;justify-content:center;gap:16px;min-width:0;padding:20px 24px;display:flex}.uni-card__title{color:var(--academic-navy);letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:800;line-height:1.25}.uni-card__routes{flex-wrap:wrap;gap:8px;display:flex}.uni-card__route{background:var(--neutral-50);color:var(--academic-navy);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--neutral-200);align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.uni-card__route:hover{background:var(--primary-50);border-color:var(--primary-light);color:var(--primary-dark)}.uni-card__route .icon-ruta{background:currentColor;width:9px;height:9px}.uni-card__stat{text-align:center;border-left:1px solid var(--neutral-100);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:20px 12px;display:flex}.uni-card__count{color:var(--academic-navy);align-items:center;gap:8px;margin:0;font-size:1.5rem;font-weight:800;display:inline-flex}.uni-card__count .icon-ruta{background:currentColor;width:12px;height:12px}.uni-card__caption{letter-spacing:.12em;text-transform:uppercase;color:var(--neutral-500);margin:0;font-size:.68rem;font-weight:700}@media (width<=840px){.uni-card{grid-template-columns:1fr;justify-items:center}.uni-card__brand{width:140px;margin-top:16px}.uni-card__body{text-align:center;align-items:center;padding:16px 16px 8px}.uni-card__routes{justify-content:center}.uni-card__stat{border-left:0;border-top:1px solid var(--neutral-100);width:100%}}.route-card{background:var(--neutral-white);width:100%;color:inherit;border:1px solid var(--neutral-200);grid-template-columns:56px minmax(0,1fr) 28px;align-items:center;gap:16px 20px;padding:20px 22px;text-decoration:none;display:grid}a.route-card:hover{border-color:var(--academic-navy);background:#fbfcfe}.route-card__mark{width:56px;height:56px;color:var(--neutral-white);flex-shrink:0;place-items:center;display:grid}.route-card__mark .icon-ruta{background:currentColor;border-radius:2px;width:16px;height:16px}.route-card__body{flex-direction:column;gap:6px;min-width:0;display:flex}.route-card__heading{flex-wrap:wrap;align-items:center;gap:7px 10px;display:flex}.route-card__title{letter-spacing:-.02em;color:var(--academic-navy);font-size:1.05rem;font-weight:800}.route-card__scope{border:1px solid color-mix(in srgb, var(--academic-navy) 24%, transparent);width:fit-content;color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 8%, var(--neutral-white));letter-spacing:.05em;text-transform:uppercase;align-items:center;padding:3px 7px;font-size:.64rem;font-weight:800;line-height:1.35;display:inline-flex}.route-card__scope--pending{border-color:var(--neutral-300);color:var(--neutral-600);background:var(--neutral-white)}.route-card__summary{color:var(--neutral-600);font-size:.92rem;line-height:1.5}.route-card__meta{letter-spacing:.04em;text-transform:uppercase;color:var(--neutral-500);font-size:.75rem;font-weight:600}.route-card__go{border-right:2px solid var(--neutral-400);border-top:2px solid var(--neutral-400);justify-self:end;width:10px;height:10px;transform:rotate(45deg)}a.route-card:hover .route-card__go{border-color:var(--academic-navy)}@media (width<=640px){.route-card{grid-template-columns:48px minmax(0,1fr);padding:16px}.route-card__mark{width:48px;height:48px}.route-card__go,.card-check,.card-lock{display:none}}.module-card{background:var(--neutral-white);width:100%;color:inherit;border:1px solid var(--neutral-200);grid-template-columns:56px minmax(0,1fr) 28px;align-items:center;gap:16px 20px;padding:20px 22px;text-decoration:none;display:grid}a.module-card:hover{border-color:var(--academic-navy);background:#fbfcfe}.module-card__mark{width:56px;height:56px;color:var(--neutral-white);flex-shrink:0;place-items:center;display:grid;position:relative}.module-card__mark .icon-modulo{background:var(--neutral-white);border-radius:8px;width:auto;height:auto;position:absolute;inset:8px}.module-card__info-icon{z-index:1;width:23px;height:23px;color:var(--neutral-white);stroke:currentColor;position:relative}.module-card--informational{border-color:color-mix(in srgb, var(--requirements) 30%, var(--neutral-white));background:var(--requirements-bg);box-shadow:inset 6px 0 0 var(--requirements)}.module-card--informational .module-card__title,.module-card--informational .module-card__meta{color:var(--requirements)}a.module-card--informational:hover{border-color:var(--requirements);background:color-mix(in srgb, var(--requirements) 9%, var(--neutral-white))}a.module-card--informational:hover .module-card__go{border-color:var(--requirements)}.module-card__index{color:var(--academic-navy);font-size:1.15rem;font-weight:800;line-height:1;position:relative}.module-card__body{flex-direction:column;gap:6px;min-width:0;display:flex}.module-card__title{letter-spacing:-.02em;color:var(--academic-navy);font-size:1.05rem;font-weight:800}.module-card__summary{color:var(--neutral-600);font-size:.92rem;line-height:1.5}.module-card__meta{letter-spacing:.04em;text-transform:uppercase;color:var(--neutral-500);font-size:.75rem;font-weight:600}.module-card__go{border-right:2px solid var(--neutral-400);border-top:2px solid var(--neutral-400);justify-self:end;width:10px;height:10px;transform:rotate(45deg)}a.module-card:hover .module-card__go{border-color:var(--academic-navy)}@media (width<=640px){.module-card{grid-template-columns:48px minmax(0,1fr);padding:16px}.module-card__mark{width:48px;height:48px}.module-card__go,.card-check,.card-lock{display:none}}.step-card{background:var(--neutral-white);width:100%;color:inherit;border:1px solid var(--neutral-200);grid-template-columns:56px minmax(0,1fr) 28px;align-items:center;gap:16px 20px;padding:20px 22px;text-decoration:none;display:grid}a.step-card:hover{border-color:var(--academic-navy);background:#fbfcfe}.step-card--static{grid-template-columns:56px minmax(0,1fr)}.step-card__mark{width:56px;height:56px;color:var(--neutral-white);flex-shrink:0;place-items:center;display:grid;position:relative}.step-card__mark .icon-paso{background:var(--neutral-white);border-radius:50%;width:auto;height:auto;position:absolute;inset:8px}.step-card__index{color:var(--academic-navy);font-size:1.15rem;font-weight:800;line-height:1;position:relative}.step-card__body{flex-direction:column;gap:6px;min-width:0;display:flex}.step-card__title{letter-spacing:-.02em;color:var(--academic-navy);font-size:1.05rem;font-weight:800}.step-card__summary{color:var(--neutral-600);font-size:.92rem;line-height:1.5}.step-card__meta{letter-spacing:.04em;text-transform:uppercase;color:var(--neutral-500);font-size:.75rem;font-weight:600}.step-card__go{border-right:2px solid var(--neutral-400);border-top:2px solid var(--neutral-400);justify-self:end;width:10px;height:10px;transform:rotate(45deg)}a.step-card:hover .step-card__go{border-color:var(--academic-navy)}@media (width<=640px){.step-card,.step-card--static{grid-template-columns:48px minmax(0,1fr);padding:16px}.step-card__mark{width:48px;height:48px}.step-card__go,.card-check,.card-lock{display:none}}.route-card--active,.module-card--active,.step-card--active{border-color:var(--status-active);background:var(--status-active-bg);box-shadow:inset 6px 0 0 var(--status-active)}.route-card--active .route-card__meta,.module-card--active .module-card__meta,.step-card--active .step-card__meta{color:var(--status-active-dark)}.route-card--done,.module-card--done,.step-card--done{border-color:var(--status-done);background:var(--status-done-bg);box-shadow:inset 6px 0 0 var(--status-done)}.route-card--done .route-card__meta,.module-card--done .module-card__meta,.step-card--done .step-card__meta{color:var(--status-done-dark)}.module-card--done .module-card__mark .icon-modulo,.step-card--done .step-card__mark .icon-paso{background:var(--status-done-bg-hover)}.module-card--done .module-card__index,.step-card--done .step-card__index{color:#0000;font-size:0}.module-card--done .module-card__index:after,.step-card--done .step-card__index:after{content:"";border-right:3px solid var(--status-done);border-bottom:3px solid var(--status-done);width:9px;height:16px;display:block;transform:rotate(45deg)}.card-check{border-right:3px solid var(--status-done);border-bottom:3px solid var(--status-done);justify-self:end;width:10px;height:16px;transform:rotate(45deg)translate(-2px,-1px)}.route-card--done:hover,.module-card--done:hover,a.step-card--done:hover{border-color:var(--status-done-dark);background:var(--status-done-bg-hover)}.route-card--active:hover,.module-card--active:hover,a.step-card--active:hover{border-color:var(--status-active-dark);background:var(--status-active-bg-hover);box-shadow:inset 6px 0 0 var(--status-active)}.route-card--locked,.module-card--locked,.step-card--locked{cursor:not-allowed;border-color:var(--neutral-300);background:var(--neutral-100);box-shadow:inset 6px 0 0 var(--neutral-400)}.route-card--locked .route-card__title,.module-card--locked .module-card__title,.step-card--locked .step-card__title{color:var(--neutral-700)}.route-card--locked .route-card__summary,.module-card--locked .module-card__summary,.step-card--locked .step-card__summary{color:var(--neutral-500)}.route-card--locked .route-card__meta,.module-card--locked .module-card__meta,.step-card--locked .step-card__meta{width:fit-content;color:var(--neutral-700);background:var(--neutral-white);padding:4px 8px;display:inline-flex}.route-card--locked .route-card__mark,.module-card--locked .module-card__mark,.step-card--locked .step-card__mark{background:var(--neutral-400)!important}.module-card--locked .module-card__index,.step-card--locked .step-card__index{color:var(--neutral-600)}.card-lock{border:2px solid var(--neutral-500);border-radius:2px;justify-self:end;width:15px;height:12px;position:relative}.card-lock:before{content:"";border:2px solid var(--neutral-500);border-bottom:0;border-radius:8px 8px 0 0;width:8px;height:8px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.mini-task{border:1px solid var(--neutral-200);background:var(--neutral-white);width:100%;color:var(--neutral-700);text-align:left;font:inherit;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);grid-template-columns:24px auto minmax(0,1fr) auto;align-items:start;gap:10px 16px;padding:12px;display:grid}.mini-task-group{display:grid}.mini-task-group .mini-task{border-bottom:0}.mini-task__reference{border:1px solid color-mix(in srgb, var(--academic-navy) 25%, var(--neutral-white));width:100%;color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 6%, var(--neutral-white));text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px 9px 52px;font-family:inherit;font-size:.76rem;font-weight:800;text-decoration:none;display:flex}.mini-task__reference:hover{border-color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 10%, var(--neutral-white))}.mini-task__reference span{font-size:1rem;line-height:1}.mini-task--no-code{grid-template-columns:24px minmax(0,1fr) auto}.mini-task:hover{border-color:var(--academic-navy);background:#f8fafc}.mini-task:focus-visible{outline-offset:2px;outline:3px solid #3b82f640}.mini-task--done,.mini-task--done:hover{background:#ecfdf5;border-color:#6ee7b7}.mini-task__mark{border:2px solid var(--neutral-400);background:var(--neutral-white);place-items:center;width:20px;height:20px;margin-top:1px;display:grid;position:relative}.mini-task--done .mini-task__mark{background:#059669;border-color:#059669}.mini-task__check{border-left:2px solid var(--neutral-white);border-bottom:2px solid var(--neutral-white);opacity:0;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.mini-task--done .mini-task__check{opacity:1}.mini-task__code{width:fit-content;max-width:100%;color:var(--academic-navy);background:var(--neutral-100);text-overflow:ellipsis;white-space:nowrap;padding:3px 7px;font-size:.75rem;font-weight:800;display:inline-block;overflow:hidden}.mini-task__text{font-size:.9rem;line-height:1.5}.mini-task__text ul{gap:4px;margin:6px 0 0 20px;padding:0;list-style:outside;display:grid}.mini-task__details{gap:5px;margin-top:8px;display:grid}.mini-task__detail{color:var(--neutral-600);padding-left:16px;font-size:.84rem;display:block;position:relative}.mini-task__detail:before{content:"";background:var(--academic-navy);width:7px;height:7px;box-shadow:2px 2px 0 color-mix(in srgb, var(--academic-navy) 20%, transparent);border-radius:1px;position:absolute;top:.58em;left:3px;transform:rotate(45deg)}.mini-task__state{color:var(--neutral-600);background:var(--neutral-100);letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;font-size:.66rem;font-weight:800;line-height:1.4}.mini-task--done .mini-task__state{color:#047857;background:#d1fae5}@media (width<=640px){.mini-task,.mini-task--no-code{grid-template-columns:22px minmax(0,1fr)}.mini-task__code,.mini-task__text,.mini-task__state{grid-column:2}.mini-task__state{width:fit-content}.mini-task__reference{padding-left:44px}}.guide-info-panels{margin-top:16px}.guide-info-panel{border-top:4px solid var(--requirements);border-right:1px solid var(--neutral-200);border-bottom:1px solid var(--neutral-200);border-left:1px solid var(--neutral-200);background:var(--neutral-white);scroll-margin-top:110px;overflow:hidden}.guide-info-panel[hidden]{display:none}.guide-info-panel__header{padding:16px}.guide-info-panel__header p{color:var(--neutral-500);letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;font-size:.66rem;font-weight:800}.guide-info-panel__header h3{color:var(--requirements);margin:0;font-size:1.05rem}.guide-info-panel__header span{color:var(--neutral-600);margin-top:6px;font-size:.82rem;display:block}.template-guide{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.template-guide--solo{grid-template-columns:1fr}.template-guide__download{background:var(--neutral-white);border:1px solid var(--neutral-200);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 20px;display:flex}.drive-icon{width:64px;height:56px}.template-guide__hint{color:var(--neutral-600);margin:0;font-size:.85rem;line-height:1.4}.template-guide__files{text-align:left;width:100%;color:var(--academic-navy);margin:0;padding:0;font-size:.85rem;font-weight:600;list-style:none}.template-guide__files li{border-bottom:1px solid var(--neutral-200);padding:6px 0}.template-guide__files li:last-child{border-bottom:0}.template-guide__download .btn{width:100%}.template-guide__keys{background:var(--neutral-white);border:1px solid var(--neutral-200);padding:24px 28px}.template-guide__heading-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.template-guide__heading{color:var(--academic-navy);margin:0;font-size:1.05rem}.template-guide__task-progress{color:var(--academic-navy);background:var(--neutral-100);letter-spacing:.04em;text-transform:uppercase;flex:none;padding:5px 8px;font-size:.7rem;font-weight:800}.template-guide__intro{border-left:4px solid var(--academic-navy);background:var(--neutral-100);color:var(--neutral-700);margin:-4px 0 20px;padding:12px 14px;font-size:.88rem;line-height:1.5}.template-guide__table{gap:8px;margin:0;display:grid}.template-guide__close{color:var(--neutral-500);margin:16px 0 0;font-size:.85rem}.template-guide__sections{gap:20px;display:grid}.template-guide__section{border-top:1px solid var(--neutral-200);padding-top:16px}.template-guide__section h3{color:var(--academic-navy);margin:0 0 10px;font-size:.92rem}.template-guide__section ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.template-guide__section li{margin:0;padding:0}@media (width<=840px){.template-guide{grid-template-columns:1fr}.template-guide__heading-row{flex-direction:column;align-items:flex-start}}.home-university{justify-content:center;margin:0 0 24px;display:flex}.page--home{padding:0 0 32px}.hero{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);align-items:center;gap:clamp(28px,5vw,64px);display:grid}.hero__meta{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.hero__badge{color:#0f7a4a;letter-spacing:.08em;text-transform:uppercase;background:#d8f8e6;border-radius:999px;align-items:center;gap:8px;margin:0;padding:8px 14px;font-size:.72rem;font-weight:700;display:inline-flex}.hero__badge svg{stroke:currentColor;width:14px;height:14px}.hero__uni{background:var(--neutral-white);width:40px;height:40px;color:var(--academic-navy);border:2px solid var(--neutral-200);letter-spacing:.02em;border-radius:50%;place-items:center;margin:0;font-size:.58rem;font-weight:800;display:grid}.hero__title{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--academic-navy);margin-bottom:18px;font-size:clamp(2.1rem,4.6vw,3.6rem);font-weight:800;line-height:1.08}.hero__lead{max-width:34rem;color:var(--neutral-600);margin-bottom:18px;font-size:1.05rem;line-height:1.65}.hero__points{color:var(--academic-navy);flex-wrap:wrap;gap:16px 28px;margin:0 0 32px;padding:0;font-size:.92rem;font-weight:600;list-style:none;display:flex}@media (width<=640px){.hero__points{flex-direction:column;gap:14px}}.hero__points li{align-items:center;gap:8px;display:inline-flex}.hero__points svg{width:16px;height:16px;stroke:var(--accent-emerald)}.hero__actions{gap:12px;max-width:34rem;display:grid}.hero__secondary{border:1px solid var(--academic-navy);min-height:46px;color:var(--academic-navy);justify-content:center;align-items:center;padding:10px 16px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.hero__secondary:hover{background:var(--neutral-white)}.hero__storage-note{color:var(--neutral-500);align-items:center;gap:7px;margin:12px 0 0;font-size:.75rem;display:flex}.hero__storage-note svg{stroke:currentColor;width:14px;height:14px}.hero__diagram{border:1px solid var(--neutral-200);background:var(--neutral-white);align-content:center;place-items:center;gap:24px;min-height:280px;padding:28px 20px;display:grid}.hero__diagram-title{color:var(--academic-navy);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:800}.hero__diagram-help{max-width:20rem;color:var(--neutral-600);text-align:center;margin:0;font-size:.82rem;line-height:1.5}.flow{grid-template-rows:auto 56px auto;grid-template-columns:88px 56px 88px;place-items:center;display:grid}.flow__cell{flex-direction:column;align-items:center;gap:10px;display:flex}.flow__label{letter-spacing:.14em;text-transform:uppercase;color:var(--academic-slate);font-size:.68rem;font-weight:700}.flow__shape{background:#3d4f63;width:64px;height:64px;box-shadow:0 0 0 4px #e8edf3}.flow__shape--diamond{background:var(--academic-navy);border-radius:6px;width:52px;height:52px;transform:rotate(45deg)}.flow__shape--square{border-radius:12px}.flow__shape--circle{border-radius:50%}.flow__shape--hex{background:var(--accent-emerald);clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);box-shadow:none}.flow__arrow{background:var(--accent-emerald);clip-path:polygon(0 35%,62% 35%,62% 0,100% 50%,62% 100%,62% 65%,0 65%);width:36px;height:36px}.flow__arrow--down{transform:rotate(90deg)}.flow__arrow--left{transform:rotate(180deg)}.flow__arrow--up{transform:rotate(-90deg)}@media (width<=840px){.hero{grid-template-columns:1fr;gap:32px}.hero__diagram{min-height:0;padding:24px 16px}.flow{transform:scale(.92)}}.route-requirements{margin:0}.route-requirements__list{gap:16px;display:grid}.route-requirement{border-top:4px solid var(--requirements);border-right:1px solid var(--neutral-200);border-bottom:1px solid var(--neutral-200);border-left:1px solid var(--neutral-200);background:var(--neutral-white);box-shadow:var(--shadow-sm);overflow:hidden}.route-requirement__heading{align-items:center;gap:12px;padding:18px 20px 10px;display:flex}.route-requirement__icon{width:38px;height:38px;color:var(--neutral-white);background:var(--requirements);flex-shrink:0;place-items:center;display:inline-grid}.route-requirement__icon svg{stroke:currentColor;width:19px;height:19px}.route-requirement__heading p{color:var(--neutral-500);letter-spacing:.05em;text-transform:uppercase;margin:0 0 2px;font-size:.66rem;font-weight:800}.route-requirement__heading h2{color:var(--requirements);margin:0;font-size:1.08rem;line-height:1.3}.route-requirement__description{max-width:850px;color:var(--neutral-600);margin:0;padding:0 20px 18px 70px;font-size:.88rem;line-height:1.6}.requirements-filter{border-top:1px solid var(--neutral-200);background:var(--requirements-bg);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex}.requirements-filter__label{color:var(--requirements);font-size:.72rem;font-weight:800}.requirements-filter__buttons{flex-wrap:wrap;gap:6px;display:flex}.requirements-filter button{border:1px solid var(--neutral-300);color:var(--neutral-600);background:var(--neutral-white);font:inherit;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:700}.requirements-filter button:hover{border-color:var(--requirements);color:var(--requirements)}.requirements-filter button[aria-pressed=true]{border-color:var(--requirements);color:var(--neutral-white);background:var(--requirements)}.requirements-filter__status{color:var(--neutral-500);margin-left:auto;font-size:.68rem}.requirements-table-wrap{background:var(--neutral-50);padding:16px}.requirements-table{border-collapse:collapse;table-layout:fixed;background:var(--neutral-white);width:100%}.requirements-table caption{color:var(--neutral-600);text-align:left;padding:0 0 10px;font-size:.76rem;font-weight:700}.requirements-table th,.requirements-table td{border:1px solid var(--neutral-200);vertical-align:middle;padding:14px 12px}.requirements-table tr>:first-child{width:34%}.requirements-table thead th{color:var(--neutral-white);background:var(--requirements);letter-spacing:.03em;text-transform:uppercase;font-size:.69rem;font-weight:800;line-height:1.45}.requirements-table tbody th{color:var(--neutral-800);background:var(--requirements-bg);text-align:left;font-size:.75rem;line-height:1.45}.requirements-table td{color:var(--neutral-600);text-align:center;transition:background var(--transition-fast);font-size:.76rem;line-height:1.45}.requirements-table tbody tr:hover td{background:var(--requirements-bg)}.requirements-table__credits,.requirements-table__note,.requirements-table__missing{display:block}.requirements-table__credits{width:fit-content;color:var(--requirements);background:var(--requirements-bg);border-radius:999px;margin:0 auto;padding:5px 9px;font-size:.88rem}.requirements-table__note{margin-top:3px}.requirements-table__missing{color:var(--neutral-400);font-style:italic}.requirements-table tr[hidden]{display:none}.route-requirements__note{color:var(--neutral-500);background:var(--neutral-50);align-items:flex-start;gap:7px;margin:0;padding:11px 16px;font-size:.7rem;line-height:1.45;display:flex}.route-requirements__note svg{stroke:currentColor;flex-shrink:0;width:14px;height:14px;margin-top:1px}.route-modules-heading{color:var(--neutral-800);margin:0 0 10px;font-size:1rem;font-weight:800}@media (width<=640px){.route-requirement__heading{padding:16px 14px 8px}.route-requirement__description{padding:0 14px 14px}.requirements-filter{padding:12px}.requirements-filter__label,.requirements-filter__status{width:100%}.requirements-filter__status{margin-left:0}.requirements-table,.requirements-table tbody,.requirements-table tr,.requirements-table th,.requirements-table td{width:100%;display:block}.requirements-table thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.requirements-table caption{width:100%;display:block}.requirements-table tbody{background:0 0;gap:10px;padding:0;display:grid}.requirements-table tr{border:1px solid var(--neutral-200);background:var(--neutral-white)}.requirements-table tbody th{color:var(--neutral-white);background:var(--requirements);border:0;padding:10px 12px}.requirements-table td{border:0;border-bottom:1px solid var(--neutral-200);text-align:left;grid-template-columns:minmax(90px,.8fr) minmax(0,1fr);gap:10px;padding:10px 12px;display:grid}.requirements-table td:last-child{border-bottom:0}.requirements-table td:before{content:attr(data-label);color:var(--neutral-500);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;font-weight:800}.requirements-table__credits{margin:0}}.page--rutas{padding:8px 0 32px}.rutas-intro{background:var(--neutral-white);grid-template-columns:minmax(0,1fr);align-items:stretch;margin-bottom:20px;display:grid;overflow:hidden}.rutas-intro--with-action{grid-template-columns:minmax(0,1fr) 180px}.rutas-intro__brand{aspect-ratio:1;width:180px;color:var(--neutral-white);letter-spacing:.08em;place-items:center;font-size:1.35rem;font-weight:800;display:grid}.rutas-intro__copy{flex-direction:column;justify-content:center;padding:20px 24px;display:flex}.rutas-intro__title{color:var(--academic-navy);letter-spacing:-.02em;align-items:center;gap:10px;margin:0 0 10px;font-size:clamp(1.6rem,2.6vw,2rem);font-weight:800;display:flex}.rutas-intro__title .icon-ruta,.rutas-intro__title .icon-modulo,.rutas-intro__title .icon-paso{background:var(--academic-navy);width:14px;height:14px}.rutas-intro__title .icon-modulo{border-radius:3px;transform:none}.rutas-intro__title .icon-paso{border-radius:50%;transform:none}.rutas-intro__kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--neutral-500);margin:0 0 6px;font-size:.75rem;font-weight:700}.rutas-back{color:var(--academic-navy);margin-bottom:14px;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-block}.rutas-back:hover{text-decoration:underline}.rutas-empty{background:var(--neutral-white);color:var(--neutral-600);margin:0;padding:24px}.rutas-intro__lead{color:var(--neutral-600);margin:0;font-size:.95rem;line-height:1.65}.rutas-intro__meta{width:fit-content;color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 8%, var(--neutral-white));letter-spacing:.03em;margin:12px 0 0;padding:5px 9px;font-size:.72rem;font-weight:700}.rutas-group+.rutas-group{margin-top:28px}.rutas-group__header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.rutas-group__header h2{color:var(--neutral-800);margin:0;font-size:1rem;font-weight:800}.rutas-group__header span{min-width:24px;height:24px;color:var(--academic-navy);background:color-mix(in srgb, var(--academic-navy) 9%, var(--neutral-white));border-radius:999px;place-items:center;padding:0 7px;font-size:.7rem;font-weight:800;display:inline-grid}.rutas-list{flex-direction:column;gap:12px;display:flex}.rutas-list--upcoming{gap:8px}.rutas-list--upcoming .route-card{grid-template-columns:44px minmax(0,1fr) 28px;gap:12px 16px;padding:14px 18px}.rutas-list--upcoming .route-card__mark{width:44px;height:44px}.rutas-list--upcoming .route-card__title{font-size:.95rem}.rutas-list--upcoming .route-card__summary{display:none}.rutas-list--upcoming .route-card__meta{font-size:.7rem}@media (width<=840px){.rutas-intro--with-action{grid-template-columns:1fr;justify-items:center}.rutas-intro__brand{order:-1;width:140px}.rutas-intro__brand--action{aspect-ratio:1;width:min(180px,100%)}.rutas-intro--with-action .rutas-intro__copy{text-align:center;align-items:center;padding:20px 16px 24px}}@media (width<=640px){.rutas-list--upcoming .route-card{grid-template-columns:40px minmax(0,1fr);padding:12px}.rutas-list--upcoming .route-card__mark{width:40px;height:40px}}.page--concepts{padding:8px 0 40px}.concept-tabs{background:#e2e6eb;justify-content:center;width:fit-content;max-width:100%;margin:0 auto 44px;padding:6px;display:flex}.concept-tabs__item{min-width:116px;color:var(--neutral-800);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;padding:12px 18px;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.concept-tabs__item:hover{background:#ffffff8c}.concept-tabs__item--active,.concept-tabs__item--active:hover{background:var(--neutral-900);color:var(--neutral-white);box-shadow:var(--shadow-md)}.concept-tabs .icon-ruta,.concept-tabs .icon-modulo,.concept-tabs .icon-paso,.concept-tabs .icon-hito{background:currentColor;width:10px;height:10px}.concept-tabs .icon-modulo{border-radius:2px}.concept-tabs .icon-paso{border-radius:50%}.concept-detail{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:center;gap:clamp(36px,6vw,72px);display:grid}.concept-detail__visual{background:var(--neutral-white);border:1px solid var(--neutral-300);min-height:300px;box-shadow:var(--shadow-sm);place-items:center;display:grid}.concept-detail__shape{background:var(--concept-color);filter:drop-shadow(0 10px 5px #11182724);width:150px;height:150px;box-shadow:0 0 0 10px var(--neutral-white);display:block}.concept-detail__shape--ruta{transform:rotate(45deg)scale(.78)}.concept-detail__shape--modulo{border-radius:24px}.concept-detail__shape--paso{border-radius:50%}.icon-hito,.concept-detail__shape--hito{clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%)}.concept-detail__content h1{color:var(--academic-navy);margin:0 0 12px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.1}.concept-detail__eyebrow{color:var(--primary-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.72rem;font-weight:800}.concept-detail__definition{max-width:720px;color:var(--neutral-700);margin:0 0 26px;font-size:1rem;line-height:1.7}.concept-detail__content h2{color:var(--neutral-900);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.86rem}.concept-detail__content ul{color:var(--neutral-700);gap:10px;margin:0;padding-left:20px;display:grid}@media (width<=760px){.concept-tabs{justify-content:flex-start;width:100%;margin-bottom:24px;overflow-x:auto}.concept-tabs__item{min-width:auto;padding:10px 14px}.concept-detail{grid-template-columns:1fr;gap:24px}.concept-detail__visual{min-height:210px}.concept-detail__shape{width:110px;height:110px}}.page--profile{padding:8px 0 40px}.profile-header{background:var(--academic-navy);color:var(--neutral-white);justify-content:space-between;align-items:center;gap:32px;margin-bottom:20px;padding:28px 32px;display:flex}.profile-header__eyebrow,.profile-section-title p{letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:.7rem;font-weight:800}.profile-header__eyebrow{color:#ffffffad}.profile-header h1{margin:0 0 8px;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}.profile-header p:last-child{color:#ffffffc7;max-width:38rem;margin:0}.profile-level{background:conic-gradient(var(--success) var(--profile-progress), #ffffff29 0);border-radius:50%;flex:none;place-items:center;width:116px;height:116px;display:grid}.profile-level>div{background:var(--academic-navy);border-radius:50%;place-items:center;width:86px;height:86px;display:grid}.profile-level strong{font-size:1.4rem;line-height:1}.profile-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.profile-stat{border:1px solid var(--neutral-200);background:var(--neutral-white);grid-template-columns:auto 1fr;align-items:center;gap:4px 12px;padding:20px;display:grid}.profile-stat__icon{width:42px;height:42px;color:var(--neutral-white);background:var(--academic-navy);grid-row:1/4;place-items:center;display:grid}.profile-stat__icon.icon-ruta{border-radius:0;width:42px;height:42px;transform:none}.profile-stat__icon.icon-ruta:after{content:"";background:var(--neutral-white);width:10px;height:10px;transform:rotate(45deg)}.profile-stat__icon.icon-modulo:after{content:"";background:var(--neutral-white);border-radius:3px;width:12px;height:12px}.profile-stat__icon.icon-paso:after{content:"";background:var(--neutral-white);border-radius:50%;width:12px;height:12px}.profile-xp-icon{letter-spacing:.04em;font-size:.68rem;font-weight:900}.profile-stat__value{color:var(--academic-navy);font-size:1.35rem;font-weight:800;line-height:1}.profile-stat h2{color:var(--neutral-800);text-transform:uppercase;margin:2px 0 0;font-size:.72rem}.profile-stat p{color:var(--neutral-500);margin:0;font-size:.68rem}.profile-routes{border:1px solid var(--neutral-200);background:var(--neutral-white);padding:24px}.profile-section-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.profile-section-title p{color:var(--neutral-500)}.profile-section-title h2{color:var(--academic-navy);margin:0;font-size:1.35rem}.profile-section-title a{color:var(--academic-navy);font-size:.78rem;font-weight:700}.profile-route-list{gap:10px;display:grid}.profile-route{border:1px solid var(--neutral-200);color:inherit;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;text-decoration:none;display:grid}.profile-route:hover{border-color:var(--academic-navy)}.profile-route--active{border-left:5px solid var(--warning);background:#fffbeb}.profile-route--done{background:#ecfdf5;border-color:#6ee7b7}.profile-route__mark{width:48px;height:48px;color:var(--neutral-white);place-items:center;display:grid}.profile-route__mark .icon-ruta{background:currentColor;width:12px;height:12px}.profile-route__body{min-width:0}.profile-route__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-route__top strong{color:var(--academic-navy);font-size:.88rem}.profile-route__status{color:var(--neutral-500);text-transform:uppercase;font-size:.66rem;font-weight:800}.profile-route--active .profile-route__status{color:#b45309}.profile-route--done .profile-route__status{color:#047857}.profile-route__detail{color:var(--neutral-500);margin:3px 0 8px;font-size:.72rem;display:block}.profile-route__track{background:var(--neutral-200);height:5px;display:block;overflow:hidden}.profile-route__track>span{background:var(--success);height:100%;display:block}.profile-route__xp{color:var(--academic-navy);white-space:nowrap;font-size:.72rem;font-weight:800}.profile-storage{color:var(--neutral-500);text-align:center;justify-content:center;align-items:center;gap:8px;margin:18px 0 0;font-size:.72rem;display:flex}.profile-storage svg{width:14px;height:14px}@media (width<=900px){.profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.profile-header{align-items:flex-start;padding:22px 18px}.profile-level{width:82px;height:82px}.profile-level>div{width:60px;height:60px}.profile-level strong{font-size:1rem}.profile-stats{grid-template-columns:1fr}.profile-routes{padding:16px}.profile-route{grid-template-columns:42px minmax(0,1fr)}.profile-route__mark{width:42px;height:42px}.profile-route__xp{grid-column:2}}.path{flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;font-size:.82rem;font-weight:600;display:flex}.path__link,.path__current{align-items:center;gap:6px;max-width:100%;display:inline-flex}.path__link{color:var(--academic-navy);text-decoration:none}.path__link:hover{text-decoration:underline}.path__current{color:var(--neutral-500)}.path__link span:last-child,.path__current span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.path .icon-ruta,.path .icon-modulo,.path .icon-paso{background:currentColor;flex-shrink:0;width:10px;height:10px}.path .icon-modulo{border-radius:2px}.path .icon-paso{border-radius:50%}.path__sep{border-right:1.5px solid var(--neutral-400);border-top:1.5px solid var(--neutral-400);flex-shrink:0;width:6px;height:6px;transform:rotate(45deg)}.faq-item{background:var(--neutral-white);border:1px solid var(--neutral-200)}.faq-item+.faq-item{margin-top:10px}.faq-item__question{cursor:pointer;color:var(--academic-navy);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:1.02rem;font-weight:700;list-style:none;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"";border-right:2px solid var(--neutral-400);border-bottom:2px solid var(--neutral-400);width:10px;height:10px;transition:transform var(--transition-fast);flex-shrink:0;transform:rotate(45deg)}.faq-item[open] .faq-item__question:after{transform:rotate(-135deg)}.faq-item__answer{width:100%;color:var(--neutral-600);margin:0;padding:0 22px 20px;font-size:.95rem;line-height:1.65}.page--faq{padding:8px 0 24px}.faq-intro{margin-bottom:16px}.faq-intro__title{color:var(--academic-navy);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.6rem,2.6vw,2rem);font-weight:800}.faq-intro__lead{max-width:36rem;color:var(--neutral-600);margin:0;font-size:.95rem;line-height:1.65}.faq-list{flex-direction:column;display:flex}.footer{padding:28px var(--spacing-xl) 24px;background:var(--academic-navy);color:#ffffffb3}.footer__inner{max-width:var(--content-max);flex-direction:column;gap:20px;width:100%;margin:0 auto;display:flex}.footer__top{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer__brand{align-items:center;gap:8px;display:flex}.footer__logo{object-fit:contain;background:var(--neutral-white);border-radius:6px;width:28px;height:28px}.footer__name{font-family:var(--font-serif);color:var(--neutral-white);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:700}.footer__links{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.footer__link{min-height:40px;color:var(--neutral-white);letter-spacing:.04em;border-radius:var(--radius-md);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff59;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.footer__link:hover{color:var(--neutral-white);background:#ffffff2e;border-color:#ffffff8c}.footer__link--highlight{color:var(--neutral-white);background:var(--primary);border-color:var(--primary)}.footer__link--highlight:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.footer__link img,.footer__link svg{flex-shrink:0;width:16px;height:16px;display:block}.footer__link img{filter:brightness(0)invert()}.footer__link svg{stroke:currentColor}.footer__bottom{border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding-top:16px;display:flex}.footer__legal{color:#ffffff80;margin:0;font-size:.75rem;line-height:1.6}.footer__legal strong{color:#ffffffbf;font-weight:700}.footer__copy{color:#ffffff59;margin:0;font-size:.72rem}@media (width<=640px){.footer__top{flex-direction:column;align-items:flex-start}.footer__links{flex-wrap:wrap}}.page--contacto{padding:8px 0 40px}.contact-intro{margin-bottom:24px}.contact-intro__eyebrow{color:var(--primary-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.7rem;font-weight:800}.contact-intro__title{color:var(--academic-navy);letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(1.6rem,2.6vw,2rem);font-weight:800}.contact-intro__lead{max-width:40rem;color:var(--neutral-600);margin:0;font-size:.95rem;line-height:1.65}.contact-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:start;gap:16px;display:grid}.contact-card,.contact-whatsapp{background:var(--neutral-white);border:1px solid var(--neutral-200)}.contact-card{padding:28px}.contact-card__title,.contact-whatsapp h2{color:var(--academic-navy);margin:0 0 6px;font-size:1.05rem;font-weight:800}.contact-card__help,.contact-whatsapp p{color:var(--neutral-600);margin:0 0 20px;font-size:.88rem;line-height:1.55}.contact-form{gap:16px;display:grid}.contact-form__row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.contact-form__field{gap:6px;display:grid}.contact-form__field label{color:var(--academic-navy);font-size:.82rem;font-weight:700}.contact-form__field label span{color:var(--primary)}.contact-form__field input,.contact-form__field select,.contact-form__field textarea{border:1px solid var(--neutral-300);background-color:var(--neutral-50);width:100%;color:var(--neutral-900);font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:12px 14px;font-size:.95rem}.contact-form__field textarea{resize:vertical;min-height:140px}.contact-form__field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--neutral-500) 50%), linear-gradient(135deg, var(--neutral-500) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 12px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}.contact-form__field select:disabled{color:var(--neutral-400);background-color:var(--neutral-100)}.contact-form__field input:focus,.contact-form__field select:focus,.contact-form__field textarea:focus{border-color:var(--academic-navy);background-color:var(--neutral-white);box-shadow:0 0 0 3px color-mix(in srgb, var(--academic-navy) 18%, transparent)}.contact-form .btn{justify-self:start;width:auto;margin-top:4px}.contact-form .btn:disabled,.contact-form .btn:disabled:hover{color:var(--neutral-white);background:var(--neutral-400);cursor:not-allowed}.contact-form__limit{color:var(--neutral-500);margin:-4px 0 0;font-size:.72rem;line-height:1.45}.contact-form__limit--reached{color:var(--status-active-dark);font-weight:700}.contact-form.contact-form--sent>:not(.pageclip-form__success){display:none}.contact-form.pageclip-form>.pageclip-form__success{border:1px solid color-mix(in srgb, var(--status-done) 28%, var(--neutral-white));background:var(--status-done-bg);text-align:center;justify-content:center;align-items:center;min-height:280px;padding:36px 24px;display:flex;position:static;inset:auto}.contact-form .pageclip-form__success__message{width:100%;max-width:420px;font-size:inherit;animation:none}.contact-success{flex-direction:column;align-items:center;display:flex}.contact-success__icon{background:var(--status-done);border-radius:50%;place-items:center;width:54px;height:54px;margin-bottom:16px;display:grid;position:relative}.contact-success__icon:after{content:"";border-right:3px solid var(--neutral-white);border-bottom:3px solid var(--neutral-white);width:12px;height:22px;transform:rotate(45deg)translate(-2px,-2px)}.contact-success h3{color:var(--status-done-dark);margin:0 0 8px;font-size:1.25rem}.contact-success p{color:var(--neutral-600);margin:0;font-size:.88rem;line-height:1.55}.contact-success__reset{border:1px solid var(--status-done);border-radius:var(--radius-sm);color:var(--status-done-dark);background:var(--neutral-white);font:inherit;cursor:pointer;margin-top:20px;padding:10px 16px;font-size:.78rem;font-weight:800}.contact-success__reset:hover{color:var(--neutral-white);background:var(--status-done-dark)}.contact-whatsapp{padding:28px 24px}.contact-whatsapp__icon{width:44px;height:44px;color:var(--neutral-white);background:#25d366;place-items:center;margin-bottom:16px;display:grid}.contact-whatsapp__icon svg{width:22px;height:22px}.contact-whatsapp .btn{width:100%}@media (width<=840px){.contact-layout{grid-template-columns:1fr}.contact-card,.contact-whatsapp{padding:22px 18px}.contact-form .btn{justify-self:stretch;width:100%}.contact-form__row{grid-template-columns:1fr}}.copy-box{border:1px solid var(--neutral-300);border-radius:var(--radius-sm);background:#f8fafc;margin-top:12px;padding:16px 48px 16px 16px;position:relative}.mini-task-group>.copy-box{border-radius:0;margin-top:0}.copy-box__content{color:var(--neutral-700);white-space:pre-wrap;word-break:break-word;font-size:.9em;font-family:var(--font-sans)}.copy-box__btn{background:var(--neutral-white);border:1px solid var(--neutral-300);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--neutral-700);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.copy-box__btn:hover{background:var(--neutral-100);color:var(--primary)}.copy-box__icon-copy{width:16px;height:16px;display:block;position:relative}.copy-box__icon-copy:before,.copy-box__icon-copy:after{content:"";background:inherit;border:1.5px solid;border-radius:1px;width:9px;height:10px;position:absolute}.copy-box__icon-copy:before{background:var(--neutral-white);top:1px;left:4px}.copy-box__icon-copy:after{top:5px;left:1px}.copy-box__icon-success{border-bottom:2px solid;border-right:2px solid;width:9px;height:15px;display:none;transform:rotate(45deg)translate(-2px,-1px)}.copy-box__btn.is-copied{color:var(--status-done-dark);background:var(--status-done-bg);border-color:var(--status-done)}.copy-box__btn.is-copied .copy-box__icon-copy{display:none}.copy-box__btn.is-copied .copy-box__icon-success{display:block}
