@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes blob-float{0%{transform:translate(0)rotate(0)scale(1)}50%{transform:translate(30px,-24px)rotate(8deg)scale(1.06)}to{transform:translate(-20px,18px)rotate(-6deg)scale(.97)}}@keyframes view-in{0%{opacity:0}to{opacity:1}}.view-enter{animation:view-in .18s var(--ease-out) both}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger>*{animation:rise-in var(--dur-slow) var(--ease-out) both}.stagger>:first-child{animation-delay:30ms}.stagger>:nth-child(2){animation-delay:70ms}.stagger>:nth-child(3){animation-delay:.11s}.stagger>:nth-child(4){animation-delay:.15s}.stagger>:nth-child(5){animation-delay:.19s}.stagger>:nth-child(6){animation-delay:.23s}.stagger>:nth-child(7){animation-delay:.27s}.stagger>:nth-child(8){animation-delay:.31s}.stagger>:nth-child(n+9){animation-delay:.35s}@keyframes modal-in{0%{opacity:0;transform:scale(.94)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal-backdrop{animation:fade-in var(--dur-base) var(--ease-out) both}.modal-backdrop .modal,.search-panel{animation:modal-in var(--dur-base) var(--ease-spring) both}.modal-backdrop.is-closing{animation:fade-in var(--dur-fast) var(--ease-out) reverse both}.modal-backdrop.is-closing .modal{animation:modal-in var(--dur-fast) var(--ease-out) reverse both}@keyframes dropdown-in{0%{opacity:0;transform:scale(.95)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}.dropdown{animation:dropdown-in var(--dur-fast) var(--ease-out) both}@keyframes toast-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast{animation:toast-in var(--dur-slow) var(--ease-spring) both}.toast.is-leaving{animation:toast-in var(--dur-base) var(--ease-out) reverse both}@keyframes reaction-pop{0%{transform:scale(1)}40%{transform:scale(1.45)rotate(-8deg)}to{transform:scale(1)}}@keyframes check-pop-in{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.08)}75%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes draw-check{to{stroke-dashoffset:0}}.check-pop.is-leaving{animation:fade-in .25s var(--ease-out) reverse both}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{transform:translateY(110vh) rotate(var(--spin,540deg));opacity:.4}}@keyframes xp-float{0%{opacity:0;transform:translateY(6px)scale(.9)}20%{opacity:1;transform:translateY(0)scale(1.05)}80%{opacity:1;transform:translateY(-14px)scale(1)}to{opacity:0;transform:translateY(-26px)scale(.95)}}.xp-float{font-family:var(--font-display);font-weight:var(--weight-extrabold);color:var(--color-success);animation:xp-float 1.2s var(--ease-out) both;pointer-events:none;white-space:nowrap;position:absolute}@keyframes pulse-soft{0%,to{box-shadow:0 0 #c98e6b73}60%{box-shadow:0 0 0 9px #c98e6b00}}.pulse-soft{animation:pulse-soft 2.2s var(--ease-out) infinite}@keyframes saved-blink{0%{opacity:.4}50%{opacity:1}to{opacity:.75}}.save-indicator.is-saving .icon{animation:.8s linear infinite spin}@keyframes bar-grow{0%{width:0}}.progress__bar.animate-in{animation:bar-grow .9s var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.reduced-motion *,html.reduced-motion :before,html.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
@media (max-width:1280px){.layout-main-aside,.lesson-layout{grid-template-columns:minmax(0,1fr) 300px}.grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1024px){.app-shell{grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar__name,.sidebar__section,.nav-item span,.nav-item__badge,.sidebar__foot{display:none}.nav-item{justify-content:center;padding:0}.sidebar__brand{padding:var(--space-2) 0;justify-content:center}.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.layout-main-aside{grid-template-columns:1fr}.layout-aside{position:static}.lesson-layout{grid-template-columns:1fr}.course-index{max-height:none}.auth-layout{grid-template-columns:1fr}.auth-side{display:none}.hero-continue{grid-template-columns:240px 1fr}.topbar__profile-name{display:none}}@media (max-width:768px){:root{--topbar-height:60px}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.bottomnav{display:block}.topbar__menu-btn{display:grid}.app-main{padding-bottom:calc(var(--bottomnav-height) + env(safe-area-inset-bottom,0px) + 8px)}.view,.view--full{padding:var(--space-4)}.topbar{padding:0 var(--space-4);gap:var(--space-2)}.topbar__search{display:none}.streak-chip{min-height:36px;padding:0 10px}.grid--2,.grid--3,.grid--4,.hero-continue{grid-template-columns:1fr}.hero-continue__media{min-height:170px}.course-hero{padding:var(--space-5) var(--space-4);min-height:260px}.course-hero h1{font-size:var(--text-xl)}.course-hero__desc{font-size:var(--text-base)}.outcomes{grid-template-columns:1fr}.course-card--list{flex-direction:column}.course-card--list .course-card__media{aspect-ratio:16/8.5;width:100%}.course-card--list .course-card__foot{flex-direction:column;align-items:stretch}.toolbar .input-wrap{width:100%}.toolbar__spacer,.finance-table thead{display:none}.finance-table table,.finance-table tbody,.finance-table tr,.finance-table td{width:100%;display:block}.finance-table tr{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-soft)}.finance-table tr:last-child{border-bottom:none}.finance-table td{justify-content:space-between;gap:var(--space-3);border:none;align-items:center;padding:3px 0;display:flex}.finance-table td:before{content:attr(data-label);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em}.voucher-card{align-items:flex-start;gap:var(--space-3);flex-direction:column}.certificate-doc{aspect-ratio:auto;min-height:480px}.certificate-doc__course,.certificate-doc__body-text{max-width:100%}.certificate-doc__footer{align-items:center;gap:var(--space-4);flex-direction:column}.certificate-doc__meta{text-align:center}.level-hero{text-align:center;flex-direction:column}.comment__children{margin-left:var(--space-2);padding-left:var(--space-3)}.modal__foot{flex-direction:column-reverse}.modal__foot .btn{width:100%}.toast-region{left:var(--space-4);right:var(--space-4);bottom:calc(var(--bottomnav-height) + var(--space-4) + env(safe-area-inset-bottom,0px))}.toast{width:100%;min-width:0;max-width:none}.lesson-actions{gap:var(--space-2)}.lesson-actions .btn:not(.btn--icon){flex:1;min-width:130px}.player__volume,.player__time--total{display:none}.auth-panel{padding:var(--space-6) var(--space-4)}.week-chart{gap:6px;height:100px}.search-overlay{padding-top:8vh}.streak-week{gap:var(--space-1);flex-wrap:wrap}}@media (max-width:480px){h1{font-size:var(--text-xl)}.view-head__row{flex-direction:column;align-items:stretch}.view-head__row .btn{width:100%}.celebration__stats{gap:var(--space-4)}.hero-continue__actions .btn{flex:1}.stat-card{padding:var(--space-3);gap:var(--space-2)}.stat-card__icon{border-radius:11px;width:38px;height:38px}.stat-card__value{font-size:var(--text-lg)}.pdf-viewer__stage{padding:var(--space-3);min-height:320px}.pdf-page{padding:26px 22px}}@media print{body{background:#fff}.sidebar,.topbar,.bottomnav,.toast-region,.no-print,.breadcrumbs{display:none!important}.app-shell{display:block}.view{max-width:none;padding:0}.certificate-doc{box-shadow:none;page-break-inside:avoid;border:1px solid #d8d2c0;width:100%}}.bottomnav__inner{grid-template-columns:repeat(5,minmax(0,1fr))}.bottomnav__item{min-width:0}.bottomnav__item span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.select{max-width:100%}@media (max-width:768px){.toolbar .select{width:100%!important}.view-toggle{align-self:flex-end}.sale-hero{padding:var(--space-5) var(--space-4)}.sale-hero h1{font-size:var(--text-xl);-webkit-hyphens:none;hyphens:none}.sale-hero__promise{font-size:var(--text-base)}.price-card{position:static}.teacher-modal__hero{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) 0}}.row.grow{min-width:0}@media (max-width:768px){.row--wrap>.row.grow{flex-basis:100%;max-width:none!important}}.temario-fab,.temario-drawer-wrap{display:none}@media (max-width:1024px){.temario-fab{z-index:calc(var(--z-drawer) - 2);background:var(--color-primary-dark);color:#fff;font-weight:700;font-size:var(--text-sm);box-shadow:var(--shadow-lift);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:8px;padding:13px 18px;display:inline-flex;position:fixed;bottom:16px;right:16px}.temario-drawer-wrap{display:block}.temario-drawer-wrap .course-index{border:none;max-height:none}.lesson-actions{flex-wrap:wrap;row-gap:10px}}.topbar__brand-m{display:none}@media (max-width:768px){.topbar__brand-m{color:var(--color-text);font-family:var(--font-display);font-size:var(--text-sm);align-items:center;gap:9px;margin-right:auto;text-decoration:none;display:inline-flex}.topbar__bell{display:none}}@media (max-width:1024px){.vivo-layout{grid-template-columns:1fr}.chat-vivo{height:60vh;min-height:320px}}
:root{--font-display:var(--font-display-next), "Segoe UI", system-ui, sans-serif;--font-body:var(--font-body-next), "Segoe UI", system-ui, sans-serif}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}
