:root{--color-primary:#2563eb;--color-accent:#eff6ff;--color-accent-foreground:#1d4ed8;--color-border:#d7d7d7;--color-card:#fff;--color-muted:#6b7280;--color-foreground:#111827}*{box-sizing:border-box}body{color:var(--color-foreground);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-container{max-width:72rem;margin:0 auto;padding:3rem 1.5rem}@media (min-width:768px){.page-container{padding-bottom:4rem}}.breadcrumb{color:var(--color-muted);font-size:.875rem}.breadcrumb-link{color:inherit;text-decoration:none}.breadcrumb-link:hover{color:var(--color-foreground)}.breadcrumb-sep{margin:0 .5rem}.breadcrumb-current{color:var(--color-foreground)}.progress-bar-wrap{align-items:center;gap:.5rem;display:flex}.progress-bar-track{background:var(--color-border);border-radius:999px;flex:1;height:.375rem;overflow:hidden}.progress-bar-sm .progress-bar-track{height:.25rem}.progress-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .3s}.progress-bar-label{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.not-found-container{text-align:center;max-width:42rem;margin:0 auto;padding:5rem 1.5rem}.not-found-title{font-size:1.5rem;font-weight:600}.not-found-link{color:var(--color-primary);margin-top:1rem;text-decoration:underline;display:inline-block}.subject-icon-inline{vertical-align:middle;width:2rem;height:2rem;margin-right:.625rem;font-size:1rem;display:inline-flex;position:relative;top:-.15rem}.trimestre-list{flex-direction:column;gap:2.5rem;margin-top:2.5rem;display:flex}.trimestre-block{flex-direction:column;gap:1rem;display:flex}.trimestre-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:baseline;padding-bottom:.75rem;display:flex}.trimestre-title{margin:0;font-size:1.125rem;font-weight:500}.trimestre-count{color:var(--color-muted);font-size:.75rem}.lesson-list{flex-direction:column;gap:.75rem;display:flex}.lesson-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:.75rem;padding:1.125rem 1.25rem;transition:border-color .15s}.lesson-card:hover{border-color:color-mix(in oklab, var(--color-primary) 35%, transparent)}.lesson-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.lesson-card-title-group{align-items:center;gap:.75rem;display:flex}.lesson-check{border:1.5px solid var(--color-border);color:#fff;cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;padding:0;font-size:.75rem;line-height:1;transition:all .15s;display:inline-flex}.lesson-check:hover{border-color:var(--color-primary)}.lesson-check-done{background:var(--color-primary);border-color:var(--color-primary)}.lesson-name{margin:0;font-weight:500}.lesson-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.lesson-action{border:1px solid var(--color-border);color:var(--color-foreground);background:var(--color-card);border-radius:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s}.lesson-action:hover{border-color:var(--color-primary);color:var(--color-primary)}.lesson-action-summary{background:var(--color-accent);color:var(--color-accent-foreground);border-color:#0000}.lesson-action-summary:hover{color:var(--color-accent-foreground);opacity:.85}.lesson-action-easy{color:#15803d;border-color:#bbf7d0}.lesson-action-easy:hover{background:#f0fdf4}.lesson-action-medium{color:#b45309;border-color:#fde68a}.lesson-action-medium:hover{background:#fffbeb}.lesson-action-hard{color:#b91c1c;border-color:#fecaca}.lesson-action-hard:hover{background:#fef2f2}.lesson-action-test{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.lesson-action-test:hover{color:#fff;opacity:.9}:root{--color-success:#16a34a;--color-destructive:#dc2626;--color-primary-foreground:#fff}.page-container-md{max-width:64rem}.page-container-sm{max-width:56rem}.lessons-header{border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:space-between;gap:1.25rem;margin-top:1.5rem;padding-bottom:1rem;display:flex}@media (min-width:768px){.lessons-header{flex-direction:row;align-items:flex-end}}.lessons-header-main{align-items:center;gap:1rem;display:flex}.subject-icon-lg{border-radius:.75rem;width:3.5rem;height:3.5rem;font-size:1.75rem}.lessons-title{letter-spacing:-.02em;margin:.25rem 0 0;font-size:1.2rem;font-weight:600}@media (min-width:768px){.lessons-title{font-size:2.25rem}}.lessons-subtitle{color:var(--color-muted);margin-top:.25rem;font-size:.875rem}.lessons-stats{gap:1.5rem;font-size:.875rem;display:flex}.stat{text-align:right}.stat-value{color:var(--color-primary);margin:0;font-family:Georgia,serif;font-size:1.5rem;font-style:italic;line-height:1}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-top:.25rem;font-size:.6875rem}.lesson-row:hover{background:color-mix(in oklab, var(--color-border) 30%, transparent)}.lesson-number{color:color-mix(in oklab, var(--color-muted) 60%, transparent);flex-shrink:0;width:2.5rem;padding-top:.125rem;font-family:Georgia,serif;font-size:1.5rem;font-style:italic}.lesson-row-title{margin:0;font-weight:500}.lesson-row-open{color:var(--color-muted);flex-shrink:0;align-self:center;align-items:center;gap:.25rem;font-size:.875rem;display:none}@media (min-width:640px){.lesson-row-open{display:flex}}.lesson-row:hover .lesson-row-open{color:var(--color-primary)}.lesson-row-open-icon{width:1rem;height:1rem}.lesson-page-header{border-bottom:1px solid var(--color-border);margin-top:1.5rem;padding-bottom:1.5rem}.lesson-page-title{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:600}@media (min-width:768px){.lesson-page-title{font-size:2.25rem}.prose-heading{font-size:1.5rem}}.lesson-page-progress{max-width:28rem;margin-top:1rem}.tab-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.25rem;margin-top:1.5rem;display:flex}.tab-button{cursor:pointer;color:var(--color-muted);background:0 0;border:none;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s;position:relative}.tab-button:hover,.tab-button-active{color:var(--color-foreground)}.tab-button-content{align-items:center;gap:.5rem;display:inline-flex}.tab-done-dot{background:var(--color-success);border-radius:999px;width:.375rem;height:.375rem}.tab-button-active:after{content:"";background:var(--color-primary);border-radius:999px;height:2px;position:absolute;bottom:-1px;left:.5rem;right:.5rem}.tab-panel{margin-top:2rem}.prose-heading{margin:0;font-family:Georgia,serif;font-size:1.2rem;font-style:italic}.prose-text{color:color-mix(in oklab, var(--color-foreground) 90%, transparent);margin-top:1rem;line-height:1.7}.prose-subheading{text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-top:2rem;font-size:.875rem;font-weight:500}.key-points-list{flex-direction:column;gap:.5rem;margin-top:.75rem;padding:0;list-style:none;display:flex}.key-point-item{color:color-mix(in oklab, var(--color-foreground) 90%, transparent);gap:.75rem;display:flex}.key-point-dot{background:var(--color-primary);border-radius:999px;flex-shrink:0;width:.375rem;height:.375rem;margin-top:.5rem}.action-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-block}.btn-lg{padding:.75rem 1.5rem}.btn-primary{background:var(--color-primary);color:var(--color-primary-foreground)}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-outline{border:1px solid var(--color-border);color:var(--color-foreground);background:0 0}.btn-outline:hover{background:var(--color-accent)}.btn-status{background:var(--color-accent);color:var(--color-accent-foreground);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:inline-flex}.exercise-badge-row{align-items:center;gap:.5rem;display:flex}.exercise-level-badge{background:var(--color-accent);color:var(--color-accent-foreground);border-radius:999px;padding:.125rem .625rem;font-size:.75rem;font-weight:500}.exercise-question{margin-top:1rem;font-size:1.25rem;font-weight:500;line-height:1.6}.exercise-options{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.exercise-option{text-align:left;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:.875rem;transition:all .15s}.exercise-option:hover:not(:disabled){border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}.exercise-option-selected{border-color:var(--color-primary);background:var(--color-accent)}.exercise-option-correct{border-color:var(--color-success);background:color-mix(in oklab, var(--color-success) 10%, transparent)}.exercise-option-wrong{border-color:var(--color-destructive);background:color-mix(in oklab, var(--color-destructive) 8%, transparent)}.option-letter{width:1.5rem;color:var(--color-muted);font-family:Georgia,serif;font-style:italic;display:inline-block}.exercise-feedback{border:1px solid;border-radius:.5rem;margin-top:1.25rem;padding:1rem;font-size:.875rem}.exercise-feedback-correct{border-color:color-mix(in oklab, var(--color-success) 40%, transparent);background:color-mix(in oklab, var(--color-success) 8%, transparent)}.exercise-feedback-wrong{border-color:color-mix(in oklab, var(--color-destructive) 30%, transparent);background:color-mix(in oklab, var(--color-destructive) 5%, transparent)}.exercise-feedback-title{margin:0;font-weight:500}.exercise-feedback-text{color:var(--color-muted);margin:.25rem 0 0}.quiz-intro{border:1px solid var(--color-border);background:var(--color-card);text-align:center;border-radius:1rem;padding:2rem}.quiz-intro-title{color:var(--color-primary);margin:0;font-family:Georgia,serif;font-size:1.875rem;font-style:italic}.quiz-intro-text{color:var(--color-muted);max-width:28rem;margin-top:.75rem;margin-left:auto;margin-right:auto}.quiz-intro-highlight{color:var(--color-foreground);font-weight:500}.quiz-score{font-variant-numeric:tabular-nums;margin-top:1rem;font-size:3rem;font-weight:600}.quiz-score-total{color:var(--color-muted);font-size:1.5rem}.quiz-timer-bar{z-index:10;background:color-mix(in oklab, var(--color-card) 90%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin:0 -1.5rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.quiz-progress-text{color:var(--color-muted);font-size:.875rem}.quiz-timer{font-variant-numeric:tabular-nums;background:var(--color-accent);color:var(--color-accent-foreground);border-radius:.5rem;padding:.25rem .75rem;font-family:monospace;font-size:.875rem}.quiz-timer-low{background:color-mix(in oklab, var(--color-destructive) 10%, transparent);color:var(--color-destructive)}.quiz-questions{flex-direction:column;gap:2rem;margin-top:1.5rem;display:flex}.quiz-question-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:.75rem;padding:1.25rem}.quiz-question-number{color:var(--color-muted);margin:0;font-size:.875rem}.quiz-question-text{margin:.25rem 0 0;font-weight:500}.quiz-options-grid{grid-template-columns:1fr;gap:.5rem;margin-top:1rem;display:grid}@media (min-width:640px){.quiz-options-grid{grid-template-columns:repeat(2,1fr)}}.quiz-option{text-align:left;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem;transition:all .15s}.quiz-option:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}.quiz-option-selected{border-color:var(--color-primary);background:var(--color-accent)}.quiz-submit-row{justify-content:flex-end;margin-top:2rem;display:flex}.unlock-banner{border:1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);background:var(--color-accent);border-radius:.75rem;flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem;padding:1.25rem 1.5rem;display:flex}@media (min-width:768px){.unlock-banner{flex-direction:row;justify-content:space-between;align-items:center}}.unlock-banner-title{color:var(--color-accent-foreground);margin:0;font-weight:600}.unlock-banner-text{color:var(--color-accent-foreground);max-width:32rem;margin:.25rem 0 0;font-size:.875rem}.lock-badge{margin-left:.5rem;font-size:.75rem}.lesson-locked{border:1px solid var(--color-border);background:var(--color-card);text-align:center;border-radius:1rem;padding:2.5rem}.lesson-locked-title{margin:0;font-size:1.25rem;font-weight:600}.lesson-locked-text{color:var(--color-muted);max-width:28rem;margin-top:.5rem;margin-left:auto;margin-right:auto}.loading-text{text-align:center;color:var(--color-muted);padding:3rem 0;font-size:.875rem}.lesson-row-locked:hover{background:inherit;transform:none}.lesson-row-locked-hint{flex-shrink:0;margin-left:auto}.lesson-row-unlock-link{color:var(--color-primary,#6d28d9);cursor:pointer;white-space:nowrap;font-size:.85rem;font-weight:600}.lesson-row-unlock-link:hover{text-decoration:underline}.badge-purchased{color:#15803d;white-space:nowrap;background:#dcfce7;border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-purchased-inline{vertical-align:middle;margin-left:10px}.loading-spinner-wrap{flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:64px 0;display:flex}.loading-spinner{width:44px;height:44px}.loading-spinner-svg{width:100%;height:100%;animation:1.4s linear infinite loading-spinner-rotate}.loading-spinner-track{stroke:#e5e7eb}.loading-spinner-arc{stroke:#2563eb;stroke-dasharray:90 150;stroke-dashoffset:0;animation:1.4s ease-in-out infinite loading-spinner-dash}.loading-spinner-label{color:#6b7280;font-size:.9rem;font-weight:500}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}@keyframes loading-spinner-dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:90 150;stroke-dashoffset:-35px}to{stroke-dasharray:90 150;stroke-dashoffset:-124px}}.spin-icon{color:#6b7280;font-size:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lesson-number-done{color:#16a34a}.lesson-done-icon{width:16px;height:16px}.lesson-number-in-progress{color:#d97706;background:#fef3c7}.lesson-row-done{background:#f0fdf4;border-color:#bbf7d0}.lesson-row-in-progress{background:#fffbeb;border-color:#fde68a}.lesson-status-badge{vertical-align:middle;white-space:nowrap;border-radius:999px;align-items:center;margin-left:8px;padding:1px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.lesson-status-badge-done{color:#16a34a;background:#dcfce7}.lesson-status-badge-progress{color:#d97706;background:#fef3c7}.auth-mode-tabs{background:#f3f4f6;border-radius:10px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.auth-mode-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 12px;font-size:.9rem;font-weight:600;transition:all .15s}.auth-mode-tab-active{color:#2563eb;background:#fff;box-shadow:0 1px 3px #00000014}.navbar-redeem-btn{color:#2563eb;white-space:nowrap;background:#eff6ff;border-radius:8px;margin-right:10px;padding:8px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s}.navbar-redeem-btn:hover{background:#dbeafe}.navbar-menu-redeem{color:#2563eb;border-bottom:1px solid #f3f4f6;padding:10px 16px;font-size:.9rem;font-weight:600;display:block}.navbar-menu-redeem:hover{background:#f9fafb}.redeem-container{max-width:460px;margin:0 auto;padding:45px 20px}.redeem-header{text-align:center;margin-bottom:28px}.redeem-header-icon{color:#2563eb;background:#eff6ff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.redeem-header-icon svg{width:28px;height:28px}.redeem-title{color:#111827;margin-bottom:6px;font-size:1.5rem;font-weight:700}.redeem-subtitle{color:#6b7280;font-size:.925rem}.redeem-steps{justify-content:center;align-items:flex-start;gap:0;margin-bottom:28px;display:flex}.redeem-step-wrap{align-items:flex-start;display:flex;position:relative}.redeem-step-dot-col{flex-shrink:0;justify-content:center;width:32px;display:flex;position:relative}.redeem-step-dot{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:flex}.redeem-step-dot-upcoming{color:#9ca3af;background:#f3f4f6}.redeem-step-dot-active{color:#fff;background:#2563eb;box-shadow:0 0 0 4px #dbeafe}.redeem-step-dot-done{color:#fff;background:#16a34a}.redeem-step-check{width:16px;height:16px}.redeem-step-label{white-space:nowrap;font-size:.7rem;font-weight:600;position:absolute;top:38px;left:50%;transform:translate(-50%)}.redeem-step-label-upcoming{color:#9ca3af}.redeem-step-label-active{color:#2563eb}.redeem-step-label-done{color:#16a34a}.redeem-step-line{width:56px;height:2px;margin:0 4px}.redeem-step-line-upcoming{background:#e5e7eb}.redeem-step-line-done{background:#16a34a}.redeem-card{background:#fff;border-radius:16px;padding:32px 28px;box-shadow:0 1px 3px #0000000f,0 8px 24px #0000000a}.redeem-form{flex-direction:column;gap:16px;display:flex}.redeem-code-input{letter-spacing:2px;text-align:center;text-transform:uppercase;border:1.5px solid #e5e7eb;border-radius:10px;width:100%;padding:14px 16px;font-family:SFMono-Regular,Consolas,monospace;font-size:1.2rem;font-weight:700;transition:border-color .15s}.redeem-code-input:focus{border-color:#2563eb;outline:none}.redeem-code-hint{color:#9ca3af;margin-top:6px;font-size:.8rem;font-weight:400;display:block}.btn-lg{padding:14px;font-size:1rem}.redeem-preview{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.redeem-preview-icon{color:#2563eb;background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:8px;display:flex}.redeem-preview-icon svg{width:24px;height:24px}.redeem-preview-label{color:#6b7280;font-size:.875rem}.redeem-preview-grade{color:#111827;margin-bottom:4px;font-size:1.3rem;font-weight:700}.redeem-preview-note{color:#9ca3af;margin-bottom:20px;font-size:.8rem}.redeem-preview .btn,.redeem-preview .btn-text-muted{width:100%;margin-top:8px}.redeem-success{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.redeem-success-icon{color:#16a34a;background:#dcfce7;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}.redeem-success-icon svg{width:32px;height:32px}.redeem-success-title{color:#111827;font-size:1.2rem;font-weight:700}.redeem-success-text{color:#6b7280;margin-bottom:16px;font-size:.9rem;line-height:1.5}.redeem-success .btn{width:100%}.video-links-section{margin-top:2rem}.video-links-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.video-link-card{border:1px solid var(--color-border);background:var(--color-card);color:inherit;border-radius:.75rem;align-items:center;gap:.875rem;padding:.75rem 1rem;text-decoration:none;transition:all .15s;display:flex}.video-link-card:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);background:var(--color-accent)}.video-link-icon{background:color-mix(in oklab, var(--color-primary) 10%, transparent);width:2.25rem;height:2.25rem;color:var(--color-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.video-link-icon svg{width:1.1rem;height:1.1rem}.video-link-info{flex:1;min-width:0}.video-link-title{color:var(--color-foreground);margin:0;font-size:.875rem;font-weight:500}.video-link-channel{color:var(--color-muted);margin:.125rem 0 0;font-size:.75rem}.video-link-external{width:1rem;height:1rem;color:var(--color-muted);flex-shrink:0}.video-link-card:hover .video-link-external{color:var(--color-primary)}.trimestre-instructions{color:var(--color-primary);text-align:center;margin-top:1.5rem;font-size:.9rem;font-weight:600}.lesson-row-open{background:var(--color-primary);color:#fff;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:700;transition:transform .15s,opacity .15s;display:inline-flex!important}.lesson-row:hover .lesson-row-open{opacity:.9;transform:translate(2px)}.lesson-row:active .lesson-row-open{transform:scale(.95)}.lesson-row-open-icon{width:.9rem;height:.9rem;animation:1.6s ease-in-out infinite lesson-row-arrow-nudge}@keyframes lesson-row-arrow-nudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.trimestre-accordion{flex-direction:column;gap:1.25rem;margin-top:1.25rem;display:flex}.trimestre-instructions{color:var(--color-muted);align-items:center;gap:.5rem;margin-top:2rem;font-size:.875rem;display:flex}.trimestre-instructions-icon{background:color-mix(in oklab, var(--color-primary) 10%, transparent);width:1.5rem;height:1.5rem;color:var(--color-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.accordion-section{border:1px solid var(--color-border);background:var(--color-card);border-radius:1rem;transition:border-color .2s,box-shadow .2s;overflow:hidden}.accordion-section:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent);box-shadow:0 4px 12px -8px #00000014}.accordion-section-open{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);box-shadow:0 8px 24px -12px #0000001f}.accordion-trigger{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.5rem;transition:background-color .15s;display:flex}.accordion-trigger:hover{background:color-mix(in oklab, var(--color-border) 40%, transparent)}.accordion-trigger:active{transform:scale(.995)}.accordion-number{background:var(--color-accent);width:2.75rem;height:2.75rem;color:var(--color-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:1.25rem;font-style:italic;transition:transform .25s;display:flex}.accordion-trigger:hover .accordion-number{transform:scale(1.1)}.accordion-info{flex:1;min-width:0}.accordion-label-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.accordion-label{margin:0;font-size:1.125rem;font-weight:500;transition:color .15s}.accordion-trigger:hover .accordion-label{color:var(--color-primary)}.accordion-tag{border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500}.accordion-tag-primary{background:color-mix(in oklab, var(--color-primary) 10%, transparent);color:var(--color-primary)}.accordion-tag-muted{background:var(--color-border);color:var(--color-muted)}.accordion-meta{color:var(--color-muted);margin:.75rem 0 0;font-size:.75rem}.accordion-cta-text{color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-size:.875rem;font-weight:500;display:none}@media (min-width:480px){.accordion-cta-text{display:inline}}.accordion-chevron-badge{border:1px solid var(--color-border);width:2rem;height:2rem;color:var(--color-muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:all .3s;display:flex;position:relative}.accordion-trigger:hover .accordion-chevron-badge{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);color:var(--color-primary)}.accordion-chevron-badge-open{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);background:color-mix(in oklab, var(--color-primary) 10%, transparent);color:var(--color-primary);transform:rotate(180deg)}.accordion-section:not(.accordion-section-open) .accordion-chevron-badge{animation:2.2s ease-in-out infinite pulse-soft}@keyframes pulse-soft{0%,to{box-shadow:0 0 0 0 color-mix(in oklab, var(--color-primary) 25%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in oklab, var(--color-primary) 0%, transparent)}}.accordion-chevron{width:1rem;height:1rem}.accordion-chevron-bounce{animation:1.6s ease-in-out infinite point-down}@keyframes point-down{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.lesson-ordered-list{border-top:1px solid var(--color-border);margin:0;padding:0;list-style:none}.lesson-ordered-list-anim{animation:.3s accordion-content-in}@keyframes accordion-content-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lesson-list-item{border-bottom:1px solid var(--color-border)}.lesson-list-item:last-child{border-bottom:none}.lesson-list-item-anim{animation:.3s backwards lesson-item-in}@keyframes lesson-item-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.lesson-row{color:inherit;align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;text-decoration:none;transition:background-color .2s,padding-left .2s;display:flex}.lesson-row:hover{background:color-mix(in oklab, var(--color-border) 30%, transparent);padding-left:1.75rem}.lesson-number{color:color-mix(in oklab, var(--color-muted) 60%, transparent);flex-shrink:0;width:2.5rem;padding-top:.125rem;font-family:Georgia,serif;font-size:1.5rem;font-style:italic;transition:color .15s}.lesson-row:hover .lesson-number{color:var(--color-primary)}.lesson-row-info{flex:1;min-width:0}.lesson-row-title{margin:0;font-weight:500;transition:color .15s}.lesson-row:hover .lesson-row-title{color:var(--color-primary)}.lesson-row-summary{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;font-size:.875rem;display:-webkit-box;overflow:hidden}.lesson-row-chips{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted);border-radius:999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.6875rem;display:inline-flex}.chip-icon{color:var(--color-primary)}.lesson-row-open{border:1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);background:color-mix(in oklab, var(--color-primary) 6%, transparent);color:var(--color-primary);border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:none;position:relative;overflow:hidden}@media (min-width:640px){.lesson-row-open{display:inline-flex}}.lesson-row:hover .lesson-row-open{background:var(--color-primary);color:#fff;gap:.625rem}.lesson-row-open-done{border-color:color-mix(in oklab, var(--color-success) 30%, transparent);background:color-mix(in oklab, var(--color-success) 8%, transparent);color:var(--color-success)}.lesson-row:hover .lesson-row-open-done{background:var(--color-success);color:#fff}.lesson-row-open-in-progress{color:#d97706;background:#fffbeb;border-color:#fde68a}.lesson-row:hover .lesson-row-open-in-progress{color:#fff;background:#d97706}.lesson-row-open-icon{width:1rem;height:1rem;animation:1.6s ease-in-out infinite point-right;position:relative}@keyframes point-right{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.lesson-row-open-shimmer{opacity:0;background:linear-gradient(100deg,#0000 30%,#ffffff80 50%,#0000 70%) 0 0/200% 100%;transition:opacity .2s;position:absolute;inset:0}.lesson-row:hover .lesson-row-open-shimmer{opacity:1;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.lesson-row-open-mobile{background:var(--color-primary);color:#fff;border-radius:999px;align-items:center;gap:.25rem;margin-top:.75rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;display:inline-flex}@media (min-width:640px){.lesson-row-open-mobile{display:none}}.lesson-row-open-mobile-done{background:var(--color-success)}.lesson-row-open-mobile-in-progress{background:#d97706}.lesson-row-locked{cursor:not-allowed;opacity:.55;filter:grayscale(.3)}.lesson-row-locked:hover{background:inherit;padding-left:1.5rem}.lesson-row-locked-hint{color:var(--color-muted);white-space:nowrap;flex-shrink:0;align-self:center;font-size:.75rem;font-weight:600}@media (max-width:640px){.page-container{padding:3rem 1rem}.levels-title{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:600}.accordion-number{width:2.25rem;height:2.25rem;font-size:1.05rem}.accordion-label{font-size:1rem}.accordion-meta{margin:1rem 0 0;font-size:.7rem}.accordion-tag{font-size:.625rem}.lesson-row{flex-wrap:wrap;gap:.625rem;padding:1rem .5rem}.lesson-number{width:2rem;padding-top:0;font-size:1.25rem}.lesson-row-info{flex:auto;min-width:0}.lesson-row-title{font-size:.9375rem}.lesson-row-chips{gap:.375rem}.chip{padding:.2rem .5rem;font-size:.625rem}.lesson-row-open{flex-basis:100%;justify-content:center;margin-top:.375rem;display:inline-flex!important}.lesson-row-locked-hint{text-align:center;flex-basis:100%;margin-top:.375rem;margin-left:0;font-size:.6875rem}}.custom-exam-card{border:1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);background:color-mix(in oklab, var(--color-primary) 5%, transparent);border-radius:1rem;flex-direction:column;gap:1.25rem;margin-top:2.5rem;padding:1.5rem;display:flex}@media (min-width:768px){.custom-exam-card{flex-direction:row;justify-content:space-between;align-items:center}}.custom-exam-badge{background:color-mix(in oklab, var(--color-primary) 10%, transparent);color:var(--color-primary);border-radius:999px;align-items:center;gap:.375rem;margin:0;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.custom-exam-title{letter-spacing:-.01em;margin-top:.75rem;font-size:1.25rem;font-weight:600}.custom-exam-text{max-width:34rem;color:var(--color-muted);margin-top:.25rem;font-size:.875rem}.custom-exam-cta{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex;position:relative;overflow:hidden}.custom-exam-cta:hover{opacity:.9}.custom-exam-cta-label{position:relative}.custom-exam-cta-shimmer{background:linear-gradient(100deg,#0000 30%,#fff6 50%,#0000 70%) 0 0/200% 100%;animation:2.5s infinite shimmer;position:absolute;inset:0}.examen-header{border-bottom:1px solid var(--color-border);margin-top:1.5rem;padding-bottom:2rem}.examen-title{letter-spacing:-.02em;margin-top:1rem;font-size:1.875rem;font-weight:600}@media (min-width:768px){.examen-title{font-size:2.25rem}}.examen-subtitle{max-width:42rem;color:var(--color-muted);margin-top:.5rem}.examen-steps{flex-wrap:wrap;gap:1rem;margin-top:2rem;padding:0;font-size:.875rem;list-style:none;display:flex}.examen-step-badge{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;align-items:center;gap:.5rem;padding:.375rem .75rem;display:inline-flex}.examen-step-badge-active{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);background:color-mix(in oklab, var(--color-primary) 5%, transparent);color:var(--color-primary)}.examen-step-number{background:var(--color-border);width:1.25rem;height:1.25rem;color:var(--color-muted);border-radius:999px;justify-content:center;align-items:center;font-size:.6875rem;display:flex}.examen-step-badge-active .examen-step-number{background:var(--color-primary);color:#fff}.examen-section{border:1px solid var(--color-border);background:var(--color-card);border-radius:1rem;margin-top:1.5rem;padding:1.5rem}.examen-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.examen-section-title{margin:0;font-size:1.125rem;font-weight:500}.examen-section-subtitle{color:var(--color-muted);margin-top:.25rem;font-size:.875rem}.examen-lesson-grid{gap:.75rem;margin-top:1.25rem;display:grid}.examen-lesson-option{border:1px solid var(--color-border);background:var(--color-card);text-align:left;cursor:pointer;border-radius:.75rem;align-items:flex-start;gap:1rem;padding:1rem;transition:all .15s;display:flex}.examen-lesson-option:hover{border-color:color-mix(in oklab, var(--color-primary) 30%, transparent);background:color-mix(in oklab, var(--color-border) 30%, transparent)}.examen-lesson-option-checked{border-color:color-mix(in oklab, var(--color-primary) 50%, transparent);background:color-mix(in oklab, var(--color-primary) 5%, transparent)}.examen-lesson-check{border:1px solid var(--color-border);background:var(--color-card);color:#0000;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-top:.125rem;font-size:.6875rem;display:flex}.examen-lesson-check-on{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.examen-lesson-info{flex:1;min-width:0}.examen-lesson-title{font-weight:500;display:block}.examen-lesson-number{color:color-mix(in oklab, var(--color-muted) 70%, transparent);margin-right:.5rem;font-family:Georgia,serif;font-style:italic}.examen-lesson-summary{-webkit-line-clamp:2;color:var(--color-muted);-webkit-box-orient:vertical;margin-top:.25rem;font-size:.875rem;display:-webkit-box;overflow:hidden}.examen-empty-hint{color:var(--color-muted);font-size:.875rem}.examen-settings-grid{gap:1.5rem;margin-top:1.25rem;display:grid}@media (min-width:640px){.examen-settings-grid{grid-template-columns:repeat(2,1fr)}}.examen-settings-label{font-size:.875rem;font-weight:500}.examen-pill-row{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.examen-pill{border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s}.examen-pill:hover{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent);color:var(--color-primary)}.examen-pill-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.examen-generate-card{border:1px solid color-mix(in oklab, var(--color-primary) 30%, transparent);background:color-mix(in oklab, var(--color-primary) 5%, transparent);text-align:center;border-radius:1rem;flex-direction:column;align-items:center;gap:.75rem;margin-top:1.5rem;padding:1.5rem;display:flex}.examen-generate-hint{color:var(--color-muted);font-size:.875rem}.examen-generating-text{color:var(--color-muted);font-size:.75rem}.custom-exam-cta:disabled{opacity:.4;cursor:not-allowed;background:var(--color-muted)}.custom-exam-cta:disabled .custom-exam-cta-shimmer{display:none}.quiz-intro{text-align:center}.examen-generating-text{color:var(--color-muted);max-width:30rem;margin-left:auto;margin-right:auto;font-size:.875rem;line-height:1.6}.quiz-question-card{transition:border-color .2s,box-shadow .2s}.quiz-question-card:hover{border-color:color-mix(in oklab, var(--color-primary) 20%, transparent)}.quiz-question-number{background:var(--color-accent);color:var(--color-accent-foreground);border-radius:999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.quiz-question-text{letter-spacing:-.01em;margin-top:.75rem;font-size:1.0625rem;font-weight:600}.quiz-question-card .exercise-feedback{border-radius:.75rem}.quiz-question-card .exercise-feedback .exercise-feedback-text{font-size:.9375rem;line-height:1.7}.exercise-badge-row{gap:.5rem}.exercise-level-badge{font-weight:600}.option-letter{background:var(--color-accent);min-width:1.75rem;height:1.75rem;color:var(--color-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 .375rem;font-size:.8125rem;font-style:normal;font-weight:700;display:inline-flex}.exercise-feedback:not(.exercise-feedback-correct):not(.exercise-feedback-wrong){border:1px dashed var(--color-border);background:color-mix(in oklab, var(--color-border) 15%, transparent)}.exercise-feedback:not(.exercise-feedback-correct):not(.exercise-feedback-wrong) .exercise-feedback-text{color:var(--color-muted);font-style:italic}.exercise-feedback-correct{border-color:color-mix(in oklab, var(--color-primary) 25%, transparent);background:color-mix(in oklab, var(--color-primary) 5%, transparent);flex-direction:column;gap:.5rem;display:flex}.exercise-feedback-correct .exercise-feedback-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin:0;font-size:.6875rem;font-weight:700}.exercise-feedback-correct .exercise-feedback-text{color:color-mix(in oklab, var(--color-foreground) 88%, transparent);font-size:.9375rem;line-height:1.6}.exercise-feedback-correct>div:last-child{border-top:1px solid color-mix(in oklab, var(--color-primary) 15%, transparent);margin-top:.25rem;padding-top:.625rem}.field-label{color:var(--color-foreground);font-size:.8125rem;font-weight:600}.text-input{text-align:center;font-weight:600}.text-input:focus{border-color:var(--color-primary)}.exercise-badge-row~ul{flex-direction:column;gap:.375rem;margin:.625rem 0 0;padding-left:0;list-style:none;display:flex}.exercise-badge-row~ul li{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-foreground);border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem}.quiz-question-card>div:last-child>div>p:first-child{margin:0 0 .25rem;font-size:1rem;font-weight:600}.quiz-question-card .exercise-badge-row{margin-bottom:.25rem}.quiz-timer-bar{border-radius:.75rem;margin-left:0;margin-right:0;padding:.875rem 1.25rem}.quiz-timer,.quiz-score{font-weight:700}.quiz-submit-row{gap:.75rem}.action-row{align-items:center;gap:.75rem}.modal-overlay{z-index:50;background:#11182780;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--color-card);text-align:center;border-radius:1rem;width:100%;max-width:24rem;padding:2rem;box-shadow:0 20px 50px -20px #0000004d}.modal-icon{margin:0 0 .5rem;font-size:2rem}.modal-title{margin:0;font-size:1.25rem;font-weight:600}.modal-text{color:var(--color-muted);margin-top:.5rem;font-size:.9375rem;line-height:1.6}.modal-actions{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.lesson-row-open{background:var(--color-primary);color:#fff;border:none;border-radius:999px;flex-shrink:0;align-self:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;transition:opacity .15s;display:none;position:relative;overflow:hidden}@media (min-width:640px){.lesson-row-open{display:inline-flex}}.lesson-row:hover .lesson-row-open{opacity:.9}.lesson-row-open-done{background:var(--color-success)}.lesson-row-open-in-progress{background:#d97706}.lesson-row-open-label{position:relative}.lesson-row-open-icon{width:1rem;height:1rem;position:relative}.lesson-row-open-shimmer{background:linear-gradient(100deg,#0000 30%,#fff6 50%,#0000 70%) 0 0/200% 100%;animation:2.5s infinite shimmer;position:absolute;inset:0}
