.student-shell{max-width:760px}.student-header{z-index:15;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;background:color-mix(in srgb, var(--background) 96%, transparent);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr);grid-auto-columns:auto;grid-auto-flow:column;justify-content:space-between;align-items:center;gap:12px;margin:-16px -16px 20px;display:grid;position:sticky;top:0}@media (hover:hover) and (pointer:fine){.student-header{background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}.student-header .official-brand{width:min(100%,180px)}.student-header>a:first-child .wordmark{flex-shrink:1;width:min(132px,100%);min-width:0}.student-header>a:first-child{min-width:0;min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.student-header>a:first-child:hover{text-decoration:none}.header-area{border-left:1px solid var(--line-strong);font-size:var(--fs-meta,11px);font-weight:var(--fw-meta,700);letter-spacing:var(--ls-meta,.14em);text-transform:uppercase;padding-left:12px;display:none}.student-logout{display:contents}.student-logout .button{min-height:44px;font-size:var(--fs-control,14px);padding:8px 14px}@media (max-width:400px){.student-header .student-logout .button{font-size:var(--fs-control,13px);padding:8px 10px}}.student-logout>p{color:var(--error);grid-column:1/-1;margin:0}.student-back{min-height:44px;color:var(--muted);font-size:var(--fs-control,14px);font-weight:var(--fw-control,600);align-items:center;gap:6px;display:inline-flex}.student-back:hover{color:var(--text);text-decoration:none}.page-head{gap:4px;margin-bottom:20px;display:grid}.page-head h1{margin:0}.page-head .student-back{justify-self:start;margin:-8px 0 4px}.student-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--background) 97%, transparent);border-top:1px solid var(--line);z-index:20;justify-content:space-around;gap:4px;width:100%;max-width:none;display:flex;position:fixed;bottom:0;left:0;right:0;transform:none}.student-nav a{min-width:44px;max-width:none;min-height:52px;color:var(--muted);font-size:var(--fs-meta,11px);white-space:nowrap;flex-direction:column;flex:0 auto;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-weight:600;text-decoration:none;display:flex;position:relative}.student-nav a[aria-current]{color:var(--lime-text)}.student-nav a[aria-current]:before{content:"";background:var(--lime);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:-7px}@media (hover:hover){.student-nav a:hover{color:var(--text);text-decoration:none}}@media (max-width:359px){.student-nav{gap:0;padding-inline:2px}.student-nav a{font-size:var(--fs-meta,11px);letter-spacing:var(--ls-meta,-.01em);padding-inline:0}}.nav-icon{width:22px;height:22px}.student-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.student-list a{border:1px solid var(--line);min-height:56px;color:var(--text);background:var(--panel);overflow-wrap:anywhere;border-radius:14px;padding:16px;font-weight:500;text-decoration:none;transition:border-color .15s,background-color .15s;display:block}.student-list a:hover{border-color:var(--line-strong);background:var(--panel-2)}.student-list a>span[aria-hidden=true]{color:var(--lime-text)}.student-list a.student-module-link{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-module-link>span:first-child{min-width:0}.student-module-link>span:last-child{flex:none}.student-list strong{font-weight:700}.course-hero{gap:16px;padding:24px 20px;display:grid}.course-hero h2{font-size:var(--fs-h2,clamp(1.375rem, 1.1rem + 1.2vw, 1.75rem));font-weight:var(--fw-h2,800);margin:4px 0 0}.course-hero .muted{margin:0}.course-hero-title{gap:12px;display:grid}.course-hero-meta{color:var(--muted);font-size:var(--fs-small,14px);margin:0}.course-progress{gap:8px;display:grid}.course-progress-figure{align-items:baseline;gap:10px;display:flex}.course-progress-figure strong{font-family:var(--font-display,var(--font-sora), sans-serif);font-size:var(--fs-h2,2.25rem);font-weight:var(--fw-h2,800);letter-spacing:var(--ls-h2,-.04em);line-height:var(--lh-h2,1);color:var(--lime-text)}.course-progress-figure span{color:var(--muted);font-size:var(--fs-small,14px)}.module-grid{gap:12px;margin:0;padding:0;list-style:none;display:grid}a.module-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);height:100%;min-height:56px;color:var(--text);flex-direction:column;gap:12px;padding:18px;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}a.module-card:hover{border-color:var(--line-strong);background:var(--panel-2);text-decoration:none}.module-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.module-index{font-family:var(--font-text,var(--font-mono));font-size:var(--fs-meta,12px);font-weight:var(--fw-meta,600);color:var(--muted);letter-spacing:var(--ls-meta,.08em)}.module-title{font-family:var(--font-text,var(--font-sora), sans-serif);font-size:var(--fs-h3,1.0625rem);font-weight:var(--fw-h3,700);letter-spacing:-.03em;overflow-wrap:anywhere;line-height:1.3;display:block}.module-meta{color:var(--muted);font-size:var(--fs-small,13px);justify-content:space-between;gap:8px;font-weight:500;display:flex}.module-card progress{height:6px}.status-chip{border:1px solid var(--line-strong);min-height:24px;color:var(--muted);font-size:var(--fs-meta,11px);font-weight:var(--fw-meta,700);letter-spacing:var(--ls-meta,.08em);text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:2px 10px;display:inline-flex}.status-chip[data-state=done]{color:var(--lime-text);border-color:color-mix(in srgb, var(--lime) 45%, transparent)}.status-chip[data-state=active]{color:var(--text)}.lesson-list{counter-reset:lesson}.lesson-list a{counter-increment:lesson;align-items:center;gap:14px;display:flex}.lesson-list a:before{content:counter(lesson, decimal-leading-zero);border:1px solid var(--line-strong);width:36px;height:36px;font-family:var(--font-data,var(--font-mono));font-size:var(--fs-data,13px);color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.lesson-list a>span:first-of-type{flex:auto;min-width:0}.activity-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:8px;padding:16px;display:grid}.activity-card h3,.activity-card p{margin:0}.activity-card .status-chip,.activity-card .nav-state{justify-self:start}.activity-card .button{justify-self:start;margin-top:4px}.student-choice{border:1px solid var(--line-strong);cursor:pointer;overflow-wrap:anywhere;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:flex}.student-choice:hover{border-color:var(--control-line)}.student-choice:has(input:checked){border-color:var(--lime);background:color-mix(in srgb, var(--lime) 8%, var(--panel))}.student-choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.student-choice input{width:20px;height:20px;min-height:20px;accent-color:var(--lime);flex:0 0 20px;margin:0}.student-question{border:0;min-width:0;margin:0;padding:0}.student-question legend{width:100%;margin-bottom:16px;padding:0;font-weight:600}.student-score{font-family:var(--font-display,var(--font-sora), sans-serif);font-weight:var(--fw-h2,800);letter-spacing:var(--ls-h2,-.04em);line-height:var(--lh-h2,1.1);font-size:var(--fs-h2,clamp(2.5rem, 12vw, 3.5rem));color:var(--lime-text);margin-bottom:8px}.student-notice{border:1px solid var(--line);border-left:3px solid var(--accent-text);background:var(--panel);border-radius:14px;padding:16px 18px}.student-notice>:last-child{margin-bottom:0}.student-notice h2{font-size:var(--fs-h3,1.0625rem)}.student-date{font-size:var(--fs-small,14px);color:var(--muted);font-weight:400}.student-consent{align-items:flex-start}.student-consent input{margin-top:4px}.student-objective{white-space:pre-line;overflow-wrap:anywhere}.student-project-comment{border:1px solid var(--control-line);border-radius:var(--radius-control);background:var(--background);width:100%;min-height:140px;color:var(--text);font:inherit;resize:vertical;padding:12px 14px}.student-project-link,.student-project-host{overflow-wrap:anywhere}.student-project-link{min-height:44px;margin-bottom:16px;display:block}.resource-library,.resource-group{gap:12px;min-width:0;display:grid}.resource-library{gap:24px}.resource-group>h2,.resource-group>h3{margin:0}.resource-group>h3{font-size:var(--fs-h2,1.125rem)}.resource-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.resource-card{border:1px solid var(--line);background:var(--panel);min-width:0;scroll-margin-top:env(safe-area-inset-top);border-radius:14px;gap:8px;padding:18px;display:grid}.resource-card h3,.resource-card h4{font-size:var(--fs-h3,1.0625rem);margin:0}.resource-card p{overflow-wrap:anywhere;margin:0}.resource-type{color:var(--accent-text);font-size:var(--fs-meta,12px);font-weight:var(--fw-meta,700);letter-spacing:var(--ls-meta,.12em);text-transform:uppercase}.resource-description{white-space:pre-line}.resource-meta,.resource-license{color:var(--muted);font-size:var(--fs-small,14px)}.resource-action{justify-self:start;margin-top:4px}.tool-group{margin-bottom:24px}.tool-group>p{margin:0}.tool-guide summary,.activity-guide summary{cursor:pointer;padding:10px 0;font-weight:600}.tool-guide ol,.activity-guide ol{gap:8px;margin:4px 0 0;padding-left:20px;display:grid}.activity-guide>p{margin:12px 0 0}.plantilla-downloads{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.plantilla-downloads a{padding:6px 0;font-weight:600;display:inline-block}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px;display:grid}.stat{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:2px;padding:14px;display:grid}.stat dd{font-family:var(--font-text,var(--font-sora), sans-serif);font-size:var(--fs-h3,1.75rem);font-weight:var(--fw-h3,800);letter-spacing:-.04em;order:-1;margin:0;line-height:1.1}.stat dt{color:var(--muted);font-size:var(--fs-small,13px);line-height:1.35}@media (max-width:430px){.student-shell .card{padding:20px 16px}.resource-action,.activity-card .status-chip{justify-self:start}.activity-card .button{justify-self:stretch}}@media (min-width:600px){.student-header{margin:-32px -24px 28px;padding:10px 24px}.header-area{display:inline}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-hero{padding:28px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.student-shell{max-width:1120px}.wordmark{width:150px}body:has(.student-nav){background:linear-gradient(to right, var(--background-2) 247px, var(--line) 247px 248px, var(--background) 248px)}body:has(.student-nav) .student-shell{width:auto;max-width:1160px;margin:0 auto 0 max(248px,50% - 456px);padding:32px 40px 64px}body:has(.student-nav) .student-header{margin:-32px -40px 32px;padding:12px 40px}.student-nav{border-top:0;border-right:1px solid var(--line);background:var(--background-2);flex-direction:column;justify-content:flex-start;gap:4px;width:248px;padding:84px 16px 24px;scroll-padding-block:16px;top:0;bottom:0;right:auto}.student-nav a{max-width:none;min-height:48px;font-size:var(--fs-control,15px);border-radius:12px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:10px 14px}.student-nav a[aria-current]{background:var(--panel-2)}.student-nav a[aria-current]:before{border-radius:0 3px 3px 0;width:3px;height:auto;top:12px;bottom:12px;left:0}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:stretch;gap:24px 40px;padding:36px}.course-hero-title{align-content:space-between}.course-progress{align-content:start}.stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.rating-slot{min-height:20rem}.student-nav .nav-secondary{display:none}.nav-more{flex:1 1 0;min-width:56px;max-width:120px;display:flex}.nav-more summary{min-height:52px;color:var(--muted);font-size:var(--fs-small,12px);white-space:nowrap;cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-weight:600;list-style:none;display:flex;position:relative}.nav-more summary::-webkit-details-marker{display:none}.nav-more summary[data-current],.nav-more[open] summary{color:var(--lime-text)}.nav-more summary[data-current]:before{content:"";background:var(--lime);border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:-7px}.nav-more summary:focus-visible{outline:2px solid var(--lime);outline-offset:-2px;border-radius:10px}.student-nav[aria-label=Navegación\ docente] :is(a,summary):focus-visible{outline:2px solid var(--button-focus-ring);outline-offset:2px;border-radius:var(--button-radius)}@media (hover:hover){.student-nav[aria-label=Navegación\ docente] a:hover,.student-nav[aria-label=Navegación\ docente] .nav-more summary:hover{box-shadow:inset 0 0 0 1px var(--control-line);color:var(--text)}}.nav-more-panel{right:8px;bottom:calc(70px + env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:var(--panel);border-radius:14px;min-width:200px;padding:6px;display:grid;position:fixed;box-shadow:0 12px 32px #00000073}.student-nav .nav-more-panel a{max-width:none;min-height:48px;font-size:var(--fs-control,15px);border-radius:10px;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px}.student-nav .nav-more-panel a[data-current]{color:var(--lime-text);background:var(--panel-2)}.nav-group{display:none}@media (min-width:1024px){.student-nav .nav-secondary{display:flex}.nav-more{display:none}.student-nav{overscroll-behavior:contain;gap:2px;overflow-y:auto}.student-nav a{min-height:44px;padding:10px 14px}.nav-group{color:var(--muted);font-size:var(--fs-meta,11px);font-weight:var(--fw-meta,700);letter-spacing:var(--ls-meta,.08em);text-transform:uppercase;margin:18px 14px 6px;line-height:1.4;display:block}.nav-group:first-child{margin-top:0}.nav-group-end{margin-top:auto;padding-top:18px}}.student-nav .nav-lock{flex:none;width:15px;height:15px;margin-left:auto}.tool-lock{align-items:flex-start;gap:8px;display:flex}.tool-lock-icon{flex:none;width:18px;height:18px;margin-top:2px}.tool-locked{gap:12px;display:grid}.tool-locked-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.unlock-summary ul{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}
