:root{--bg:#f7f9ff;--card:#fff;--text:#050508;--muted:#687087;--line:#dfe5f7;--purple:#7b35f1;--purple2:#9b48f5;--blue:#348fe8;--black:#050508;--good:#167a45;--bad:#b3261e;--soft:#eef4ff;--shadow:0 18px 45px rgba(44,56,145,.14)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 4%,rgba(123,53,241,.22),transparent 28%),radial-gradient(circle at 8% 96%,rgba(52,143,232,.23),transparent 28%),linear-gradient(135deg,#f8faff 0%,#fff 48%,#edf4ff 100%);color:var(--text);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;display:flex;min-height:100vh}.sidebar{width:374px;background:var(--black);color:#fff;position:fixed;inset:0 auto 0 0;overflow:auto;padding:24px;border-right:1px solid rgba(255,255,255,.12)}.brand{display:flex;gap:14px;align-items:center;margin-bottom:18px}.logo{width:66px;height:66px;object-fit:contain;display:block}.brand h1{font-size:24px;letter-spacing:-.05em;margin:0}.brandName{line-height:1}.brandAsync,.brandAcademy{font-family:"Input Sans",Inter,Segoe UI,Roboto,Arial,sans-serif;text-transform:uppercase}.brandAsync{font-weight:700}.brandAcademy{font-weight:200;letter-spacing:-.035em}.brand p{margin:4px 0 0;color:#dce4ff;font-size:13px}.extraMenu{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0}.extraBtn{border:1px solid rgba(255,255,255,.16);background:#171821;color:#e8ecff;border-radius:999px;padding:10px;font-weight:850;cursor:pointer}.extraBtn:hover,.extraBtn.active{background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;border-color:transparent}.search{width:100%;padding:13px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#16161c;color:#fff;outline:none;margin-bottom:14px}.search:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(123,53,241,.22)}.progressBox{background:#14141a;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:16px;margin-bottom:18px}.progressTop{display:flex;justify-content:space-between;font-size:13px;margin-bottom:9px;color:#edf2ff}.bar{height:10px;background:#2a2b34;border-radius:20px;overflow:hidden}.bar div{height:100%;width:0;background:linear-gradient(135deg,var(--purple),var(--blue));transition:.25s}.moduleTitle{color:#aeb9dc;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 8px;font-weight:900}.lessonBtn{width:100%;display:flex;align-items:center;gap:10px;padding:11px;border-radius:15px;border:0;background:transparent;color:#e8ecff;text-align:left;cursor:pointer}.lessonBtn:hover,.lessonBtn.active{background:#191a26}.lessonBtn.active{box-shadow:inset 0 0 0 1px rgba(123,53,241,.62)}.lessonBtn span{min-width:30px;height:30px;border-radius:50%;background:#2d303d;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.lessonBtn.done span{background:linear-gradient(135deg,var(--purple),var(--blue))}.lessonBtn strong{font-size:13px;font-weight:780;line-height:1.2}.main{margin-left:374px;padding:34px;max-width:1240px;width:calc(100% - 374px)}.view{display:none}.view.active{display:block}.hero{display:flex;justify-content:space-between;gap:18px;margin-bottom:22px;background:var(--black);color:#fff;border-radius:30px;padding:28px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-70px;top:-110px;width:280px;height:280px;background:linear-gradient(135deg,var(--purple),var(--blue));border-radius:42px;transform:rotate(18deg);opacity:.95}.hero>*{position:relative;z-index:1}.hero h2{font-size:42px;margin:12px 0 8px;letter-spacing:-.055em;max-width:830px}.hero p{color:#d8def8;margin:0}.hero.slim h2{font-size:36px}.eyebrow{display:block;color:#c3d3ff;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}.pill{display:inline-flex;background:rgba(255,255,255,.12);color:#dce7ff;padding:8px 12px;border-radius:999px;font-weight:900;font-size:13px;border:1px solid rgba(123,53,241,.45)}.card{background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:28px;padding:25px;box-shadow:var(--shadow);margin-bottom:19px;backdrop-filter:blur(10px)}.card h3{margin:0 0 12px;font-size:21px;letter-spacing:-.035em}.lessonLayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:19px;align-items:start}.lessonText{font-size:19px;line-height:1.72;margin-bottom:18px}.keyIdeas{display:grid;gap:10px}.keyIdea{padding:12px 14px;border-radius:18px;background:linear-gradient(135deg,#f4f6ff,#fff);border:1px solid var(--line);font-weight:700;color:#202536}.visualCard img{width:100%;border-radius:18px;border:1px solid var(--line);background:#fff;display:block}.visualCard.hidden{display:none}.lessonLayout.noVisual{grid-template-columns:1fr}.lessonLayout.noVisual .lessonCard{grid-column:1/-1}.caption{font-size:12px;color:var(--muted);line-height:1.5;margin-bottom:0}.exerciseGrid,.toolGrid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.tag{display:inline-flex;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;color:#fff;background:linear-gradient(135deg,var(--purple),var(--blue));border-radius:999px;padding:7px 10px;margin-bottom:12px}.question{font-weight:850;font-size:17px}.answers{display:grid;gap:10px}.answerBtn{padding:14px;border-radius:18px;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;font-size:15px;color:#111}.answerBtn:hover{border-color:var(--blue);transform:translateY(-1px)}.answerBtn.correct{border-color:var(--good);background:#eaf8e8}.answerBtn.wrong{border-color:var(--bad);background:#fff0eb}.feedback{padding:12px;border-radius:16px;font-weight:850}.neutral{background:#eef2ff;color:#4a526f}.good{background:#eaf8e8;color:var(--good)}.bad{background:#fff0eb;color:var(--bad)}textarea{width:100%;min-height:165px;border:1px solid var(--line);border-radius:20px;padding:15px;font-size:15px;resize:vertical;background:#fff;color:#111;outline:none}input{width:100%;padding:14px 15px;border:1px solid var(--line);border-radius:999px;margin:7px 0 12px;font-size:15px;background:#fff;color:#111;outline:none}textarea:focus,input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(52,143,232,.18)}button{font-family:inherit}.primary,.ghost,.navButtons button{background:var(--black);color:#fff;border:0;border-radius:999px;padding:14px 20px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(17,17,17,.14)}.primary{background:linear-gradient(135deg,var(--purple),var(--blue))}.small{padding:11px 16px;margin-top:12px}.ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24)}.navButtons{display:flex;justify-content:space-between;margin:18px 0 23px}.navButtons button:hover,.primary:hover,.ghost:hover{transform:translateY(-1px)}.navButtons button:disabled{background:#d7dcec;color:#6c7086;cursor:not-allowed;box-shadow:none}.checkItem{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-weight:760}.checkItem input{width:auto;margin-top:1px;accent-color:var(--purple)}.glossary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.glossary details{border:1px solid var(--line);border-radius:20px;padding:15px;background:#fff}.glossary summary{font-weight:900;cursor:pointer}.glossary p{color:var(--muted);line-height:1.55}.result{background:#fff;border:1px dashed #b7c0df;border-radius:20px;padding:15px;margin-top:12px;line-height:1.55}.result strong{display:block;margin-bottom:4px}footer{color:var(--muted);font-size:13px;text-align:center;padding:20px}
#resetBtn{align-self:flex-start;flex:0 0 auto;width:auto;min-width:0;white-space:nowrap;padding:10px 15px;font-size:13px;line-height:1.1;box-shadow:none}
.visualCard img{cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease}.visualCard img:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(44,56,145,.16)}
.imageLightbox{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(5,5,8,.88);padding:24px}.imageLightbox.open{display:flex}.imageLightbox img{max-width:min(96vw,1400px);max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.45)}.lightboxClose{position:fixed;top:18px;right:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:31px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none}.lightboxClose:hover{background:#fff;color:#050508;transform:translateY(-1px)}
@media(max-width:980px){body{display:block}.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0;width:100%;padding:18px}.lessonLayout,.exerciseGrid,.toolGrid,.glossary{grid-template-columns:1fr}.hero{display:block}.hero h2{font-size:32px}.hero:after{opacity:.36}.extraMenu{grid-template-columns:1fr 1fr}#resetBtn{margin-top:18px}.imageLightbox{padding:12px}.imageLightbox img{max-width:96vw;max-height:88vh}.lightboxClose{top:12px;right:12px}}
.authLocked .sidebar,.authLocked .main{filter:blur(5px);pointer-events:none;user-select:none}.authScreen{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 80% 10%,rgba(123,53,241,.28),transparent 30%),linear-gradient(135deg,#050508 0%,#171821 100%)}.authScreen.hidden{display:none}.authCard{width:min(94vw,470px);background:#fff;border-radius:34px;padding:32px;box-shadow:0 28px 90px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.22)}.authLogo{width:72px;height:72px;display:block;margin-bottom:18px}.authCard h1{margin:0 0 8px;font-size:34px;letter-spacing:-.055em}.authIntro{margin:0 0 20px;color:var(--muted);line-height:1.55}.authTabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f0f3ff;padding:6px;border-radius:999px;margin-bottom:18px}.authTab{border:0;border-radius:999px;padding:11px 12px;background:transparent;color:#34394f;font-weight:900;cursor:pointer}.authTab.active{background:#050508;color:#fff}.authForm label{display:block;font-weight:900;color:#202536;margin-bottom:8px}.authForm input{margin-top:7px}.authForm .primary{width:100%;margin-top:6px}.authMessage{margin:16px 0 0;padding:12px;border-radius:16px;font-weight:800;line-height:1.45}.userBox{background:#14141a;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:13px;margin-bottom:14px}.userBox span{display:block;color:#dce4ff;font-size:12px;line-height:1.35;word-break:break-word;margin-bottom:10px}.userBox button{width:100%;border:1px solid rgba(255,255,255,.18);background:#1d1e28;color:#fff;border-radius:999px;padding:9px 11px;font-weight:900;cursor:pointer}.userBox button:hover{background:#fff;color:#050508}

/* Mejora visual: acceso privado y efectos tecnológicos */
.authCard{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,248,255,.96));}
.authCard:before{content:"";position:absolute;inset:-2px;background:radial-gradient(circle at 14% 8%,rgba(123,53,241,.20),transparent 28%),radial-gradient(circle at 88% 16%,rgba(52,143,232,.18),transparent 30%);pointer-events:none;}
.authCard>*{position:relative;z-index:1}.authActions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;flex-wrap:wrap}.authActions button{border:0;background:transparent;color:#3159d9;font-weight:900;cursor:pointer;padding:8px 0}.authActions button:hover{color:#7b35f1;text-decoration:underline;text-underline-offset:4px}.hiddenSoft{display:none!important}
button,.primary,.ghost,.navButtons button,.answerBtn,.extraBtn,.lessonBtn,.authActions button{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease,filter .18s ease}.primary,.navButtons button:not(:disabled),.extraBtn.active,.tag{position:relative;overflow:hidden}.primary:before,.navButtons button:not(:disabled):before,.extraBtn.active:before{content:"";position:absolute;inset:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:translateX(-80%) rotate(18deg);transition:transform .55s ease}.primary:hover:before,.navButtons button:not(:disabled):hover:before,.extraBtn.active:hover:before{transform:translateX(80%) rotate(18deg)}.primary:hover,.navButtons button:not(:disabled):hover{box-shadow:0 16px 34px rgba(52,143,232,.28),0 0 0 1px rgba(255,255,255,.18) inset;filter:saturate(1.12)}.ghost:hover{box-shadow:0 0 0 1px rgba(255,255,255,.28) inset,0 12px 28px rgba(52,143,232,.22);background:rgba(255,255,255,.18)}.answerBtn:hover,.lessonBtn:hover,.extraBtn:hover{box-shadow:0 10px 24px rgba(44,56,145,.12)}.answerBtn:active,.primary:active,.ghost:active,.navButtons button:active,.extraBtn:active,.lessonBtn:active{transform:translateY(0) scale(.985)}.card{position:relative}.card:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(123,53,241,.20),rgba(52,143,232,.12),rgba(255,255,255,.16));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.hero{background:radial-gradient(circle at 75% 0%,rgba(123,53,241,.18),transparent 26%),linear-gradient(135deg,#050508 0%,#0b0c14 64%,#121828 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.06) 46%,transparent 58%);transform:translateX(-100%);animation:heroScan 8s ease-in-out infinite}@keyframes heroScan{0%,55%{transform:translateX(-100%)}75%,100%{transform:translateX(100%)}}

/* Ajustes visuales v1.2 */
.hero h2,
.card h3,
.authCard h1{
  letter-spacing:-0.018em;
  text-wrap:balance;
  font-kerning:normal;
}
.lessonBtn strong{letter-spacing:-0.005em;line-height:1.28}.moduleTitle{letter-spacing:.12em}
.authCard .eyebrow{
  display:inline-flex;
  width:max-content;
  color:#fff;
  background:linear-gradient(135deg,#7b35f1,#348fe8);
  border:1px solid rgba(255,255,255,.45);
  border-radius:999px;
  padding:8px 12px;
  box-shadow:0 10px 28px rgba(52,143,232,.25),0 0 0 4px rgba(123,53,241,.08);
}
.hero{
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(120deg,#050508,#0b1024,#172b68,#7836ed,#050508);
  background-size:360% 360%;
  animation:heroGradientMove 16s ease-in-out infinite;
}
.hero:after{
  animation:orbFloat 10s ease-in-out infinite alternate;
  filter:saturate(1.16);
}
.hero:before{z-index:0}.hero>*{position:relative;z-index:1}
.hero h2{line-height:1.08}
@keyframes heroGradientMove{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes orbFloat{
  0%{transform:translate3d(0,0,0) rotate(0deg) skewX(-18deg)}
  100%{transform:translate3d(-24px,12px,0) rotate(4deg) skewX(-18deg)}
}
.mobileLessonsToggle{display:none}
@media(max-width:980px){
  body{min-height:100vh;background-attachment:fixed}.sidebar{padding:16px 16px 14px;position:sticky;top:0;z-index:20;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(5,5,8,.18)}
  .brand{margin-bottom:12px}.logo{width:48px;height:48px}.brand h1{font-size:20px}.brand p{font-size:12px}
  .userBox{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;border-radius:16px}.userBox span{margin:0}.userBox button{width:auto;padding:8px 10px;font-size:12px}
  .extraMenu{grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.extraBtn{padding:9px 6px;font-size:11px;letter-spacing:-.01em}
  .mobileLessonsToggle{display:flex;width:100%;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;border-radius:999px;padding:12px 14px;font-weight:950;cursor:pointer;box-shadow:0 12px 28px rgba(52,143,232,.25);margin:10px 0}
  .progressBox{margin:10px 0 0;padding:12px;border-radius:16px}.search,#lessonList{display:none}.sidebar.lessonsOpen .search,.sidebar.lessonsOpen #lessonList{display:block}.sidebar.lessonsOpen{max-height:82vh;overflow:auto}.sidebar.lessonsOpen .search{margin-top:10px;margin-bottom:10px}.sidebar.lessonsOpen #lessonList{padding-bottom:8px}.moduleTitle{margin:14px 0 7px}.lessonBtn{padding:10px;border-radius:14px}.lessonBtn span{min-width:28px;height:28px}.lessonBtn strong{font-size:13px}
  .main{padding:16px}.hero{border-radius:24px;padding:22px;margin-bottom:16px}.hero h2{font-size:34px;line-height:1.12;letter-spacing:-.012em}.hero p{font-size:16px}.pill{margin-bottom:4px}.card{border-radius:22px;padding:20px}.lessonText{font-size:17px;line-height:1.62}.navButtons{gap:10px}.navButtons button{padding:12px 14px;font-size:13px}
}
@media(max-width:620px){
  .sidebar{padding:12px}.brand{gap:10px}.logo{width:42px;height:42px}.brand h1{font-size:18px}.brand p{display:none}.userBox{grid-template-columns:1fr}.userBox button{width:100%}.extraMenu{grid-template-columns:1fr 1fr}.hero h2{font-size:29px}.hero{padding:20px;border-radius:22px}.eyebrow{font-size:11px}.main{padding:12px}.exerciseGrid,.toolGrid{gap:12px}.authCard{padding:25px;border-radius:26px}.authCard h1{font-size:30px}.authCard .eyebrow{font-size:11px}.mobileLessonsToggle{margin-top:8px}
}
@media(prefers-reduced-motion:reduce){.hero,.hero:before,.hero:after{animation:none!important}button,.primary,.ghost,.navButtons button,.answerBtn,.extraBtn,.lessonBtn{transition:none!important}}

/* v1.3 — limpieza de escritorio, móvil tipo academia y jerarquía visual */
body,.sidebar,.main{transition:margin .24s ease,width .24s ease,padding .24s ease}.sidebarCollapseBtn{position:absolute;top:96px;right:-15px;width:32px;height:54px;border:1px solid rgba(255,255,255,.18);border-left:0;border-radius:0 999px 999px 0;background:linear-gradient(135deg,#12131d,#202337);color:#fff;font-size:27px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:12px 12px 28px rgba(5,5,8,.22);z-index:4}.sidebarCollapseBtn:hover{background:linear-gradient(135deg,var(--purple),var(--blue));transform:translateX(2px)}body.sidebarCollapsed .sidebar{width:88px;padding:20px 12px;overflow:visible}body.sidebarCollapsed .main{margin-left:88px;width:calc(100% - 88px)}body.sidebarCollapsed .brand{justify-content:center;margin-bottom:28px}body.sidebarCollapsed .logo{width:54px;height:54px}body.sidebarCollapsed .brandText,body.sidebarCollapsed .userBox,body.sidebarCollapsed .extraMenu,body.sidebarCollapsed .search,body.sidebarCollapsed .progressBox,body.sidebarCollapsed #lessonList,body.sidebarCollapsed .mobileLessonsToggle{display:none!important}body.sidebarCollapsed .sidebarCollapseBtn{top:92px;right:-15px}.mobileIconBtn{display:none}

body{font-size:16px;line-height:1.5}.hero h2{font-size:40px;font-weight:850;letter-spacing:-.012em}.hero p{font-size:16px;font-weight:500}.card h3{font-size:20px;font-weight:850;letter-spacing:-.01em}.lessonText{font-size:18px;line-height:1.68;font-weight:450}.keyIdea{font-size:15px;font-weight:650}.question{font-size:16px;font-weight:800}.answerBtn{font-size:15px;line-height:1.45;font-weight:600}.feedback{font-size:14px;font-weight:750}.tag{font-size:11px;font-weight:850;letter-spacing:.075em}.moduleTitle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:#aeb9dc;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.10em;margin:20px 0 8px;font-weight:850;padding:0;cursor:pointer}.moduleTitle em{font-style:normal;transition:transform .2s ease;color:#dce4ff}.moduleGroup.open .moduleTitle em{transform:rotate(180deg)}.moduleLessons{display:none}.moduleGroup.open .moduleLessons{display:block}.lessonBtn strong{font-size:13px;font-weight:650;letter-spacing:0;line-height:1.28}

.exerciseCard{overflow:hidden}.exerciseCard:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:.72}.exerciseTest{background:linear-gradient(135deg,rgba(52,143,232,.075),rgba(255,255,255,.98) 46%,rgba(255,255,255,.94))}.exercisePractice{background:linear-gradient(135deg,rgba(123,53,241,.075),rgba(255,255,255,.98) 46%,rgba(255,255,255,.94))}.exerciseTest .tag{background:linear-gradient(135deg,rgba(52,143,232,.95),rgba(52,143,232,.68))}.exercisePractice .tag{background:linear-gradient(135deg,rgba(123,53,241,.95),rgba(155,72,245,.68))}.exerciseTest{box-shadow:0 18px 45px rgba(52,143,232,.12)}.exercisePractice{box-shadow:0 18px 45px rgba(123,53,241,.12)}

@media(min-width:981px){.mobileIconBtn{display:none!important}.sidebar{transition:width .24s ease,padding .24s ease}.main{transition:margin-left .24s ease,width .24s ease}.moduleLessons{display:block}.moduleTitle{pointer-events:none}.moduleTitle em{display:none}}

@media(max-width:980px){
  body.sidebarCollapsed .sidebar{width:100%;padding:14px 16px}body.sidebarCollapsed .main{margin-left:0;width:100%}.sidebarCollapseBtn,.mobileLessonsToggle{display:none!important}.sidebar{display:block;position:sticky;top:0;padding:14px 16px;background:rgba(5,5,8,.96);backdrop-filter:blur(18px);overflow:visible;max-height:none}.brand{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;margin:0}.brandText{min-width:0}.mobileIconBtn{display:flex;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);background:#151722;color:#fff;border-radius:16px;align-items:center;justify-content:center;font-size:18px;cursor:pointer;box-shadow:0 12px 26px rgba(0,0,0,.18)}.mobileIconBtn:hover{background:linear-gradient(135deg,var(--purple),var(--blue));transform:translateY(-1px)}.sidebar:not(.mobileMenuOpen):not(.userOpen) .userBox,.sidebar:not(.mobileMenuOpen) .extraMenu,.sidebar:not(.mobileMenuOpen) .search,.sidebar:not(.mobileMenuOpen) .progressBox,.sidebar:not(.mobileMenuOpen) #lessonList{display:none}.sidebar.userOpen .userBox{display:grid}.sidebar.userOpen .extraMenu,.sidebar.userOpen .search,.sidebar.userOpen .progressBox,.sidebar.userOpen #lessonList{display:none}.sidebar.mobileMenuOpen{max-height:86vh;overflow:auto;box-shadow:0 22px 48px rgba(5,5,8,.32)}.sidebar.mobileMenuOpen .userBox{display:none}.sidebar.mobileMenuOpen .extraMenu,.sidebar.mobileMenuOpen .search,.sidebar.mobileMenuOpen .progressBox,.sidebar.mobileMenuOpen #lessonList{display:block}.sidebar.mobileMenuOpen .extraMenu{display:grid}.extraMenu{grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 10px}.extraBtn{font-size:12px;padding:10px 8px}.progressBox{margin:10px 0 12px}.search{margin:10px 0 8px}.moduleTitle{background:#151722;border:1px solid rgba(255,255,255,.10);border-radius:16px;padding:12px 13px;margin:9px 0 7px;color:#dce4ff;letter-spacing:.075em}.moduleGroup.open .moduleTitle{border-color:rgba(123,53,241,.42);background:linear-gradient(135deg,rgba(123,53,241,.22),rgba(52,143,232,.12))}.moduleLessons{padding:0 0 4px}.lessonBtn{background:#10111a;margin-bottom:6px;border:1px solid rgba(255,255,255,.06)}.lessonBtn.active{background:#1a1d2c}.main{padding-top:18px}.hero h2{font-size:31px}.hero p{font-size:15px}.card h3{font-size:19px}.lessonText{font-size:17px}.exerciseGrid{grid-template-columns:1fr;gap:14px}
}

@media(max-width:620px){.brand{grid-template-columns:auto 1fr auto auto}.mobileIconBtn{width:40px;height:40px;border-radius:14px}.brand h1{font-size:17px}.logo{width:40px;height:40px}.hero h2{font-size:28px}.card{padding:18px}.lessonText{font-size:16px}.exerciseCard{border-radius:22px}}

/* v1.4 — ajustes de usabilidad del menú y cabecera móvil */
@media(min-width:981px){
  .sidebarCollapseBtn{
    position:fixed;
    top:118px;
    left:350px;
    right:auto;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    background:linear-gradient(135deg,#171a27,#242947);
    color:#fff;
    font-size:0;
    display:flex!important;
    align-items:center;
    justify-content:center;
    box-shadow:0 14px 34px rgba(5,5,8,.28),0 0 0 1px rgba(123,53,241,.18) inset;
    z-index:60;
    transform:none;
  }
  .sidebarCollapseBtn::before{
    content:"";
    width:11px;
    height:11px;
    border-left:3px solid currentColor;
    border-bottom:3px solid currentColor;
    transform:rotate(45deg);
    margin-left:4px;
  }
  .sidebarCollapseBtn:hover{
    background:linear-gradient(135deg,var(--purple),var(--blue));
    transform:translateY(-1px);
    box-shadow:0 18px 42px rgba(52,143,232,.26),0 0 0 1px rgba(255,255,255,.2) inset;
  }
  body.sidebarCollapsed .sidebarCollapseBtn{
    left:66px;
    top:104px;
    right:auto;
  }
  body.sidebarCollapsed .sidebarCollapseBtn::before{
    transform:rotate(225deg);
    margin-left:-4px;
  }
}

.mobileIconBtn .iconUser,
.mobileIconBtn .iconMenu{display:block;position:relative;color:#fff;width:22px;height:22px;flex:0 0 auto}
.mobileIconBtn .iconUser::before{content:"";position:absolute;left:7px;top:3px;width:8px;height:8px;border:2px solid currentColor;border-radius:50%}
.mobileIconBtn .iconUser::after{content:"";position:absolute;left:3px;bottom:3px;width:16px;height:9px;border:2px solid currentColor;border-radius:999px 999px 4px 4px;border-bottom-width:2px}
.mobileIconBtn .iconMenu::before{content:"";position:absolute;left:3px;right:3px;top:5px;height:2px;background:currentColor;border-radius:999px;box-shadow:0 6px 0 currentColor,0 12px 0 currentColor}

@media(max-width:980px){
  .sidebar{padding:14px 16px 16px}
  .brand{gap:12px;column-gap:12px}
  .mobileIconBtn{color:#fff;margin-left:2px}
  .sidebar.userOpen .userBox{display:grid;margin-top:14px;margin-bottom:4px;padding:14px;border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-color:rgba(255,255,255,.16)}
  .sidebar.userOpen .userBox span{font-size:13px;color:#fff}
  .sidebar.userOpen .userBox button{margin-top:2px}
  .sidebar.mobileMenuOpen #lessonList{max-height:48vh;overflow:auto;padding-right:4px;scrollbar-width:thin}
  .sidebar.mobileMenuOpen .progressBox{position:sticky;top:0;z-index:2;background:#11131d;box-shadow:0 10px 18px rgba(5,5,8,.18)}
  .moduleTitle{position:relative;text-transform:none;font-size:13px;letter-spacing:.01em;font-weight:800;line-height:1.25}
  .moduleTitle em{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:14px;color:#fff;flex:0 0 auto}
  .moduleGroup:not(.open) .moduleTitle em{transform:rotate(-90deg)}
  .moduleGroup.open .moduleTitle em{transform:rotate(0deg)}
  .moduleGroup{margin-bottom:6px}
  .moduleLessons{display:none!important;padding:0 0 4px!important}
  .moduleGroup.open .moduleLessons{display:block!important}
  .lessonBtn{padding:9px 10px;margin-bottom:5px}
  .lessonBtn strong{font-size:12.5px;line-height:1.25}
}

@media(max-width:620px){
  .brand{grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px}
  .mobileIconBtn{width:40px;height:40px;color:#fff}
  .sidebar.mobileMenuOpen #lessonList{max-height:52vh}
}
