.learning-sync{position:fixed;inset-inline:var(--lg-space-4);bottom:calc(var(--lg-space-4) + env(safe-area-inset-bottom,0px));z-index:90;display:flex;flex-wrap:wrap;align-items:center;gap:var(--lg-space-3);max-width:560px;margin-inline:auto;padding:var(--lg-space-3) var(--lg-space-4);border:var(--lg-border) solid var(--lg-spark-press);border-radius:var(--lg-radius-md);background:var(--lg-spark-wash);color:var(--lg-ink);box-shadow:var(--lg-shadow-float);font-size:var(--lg-text-sm);animation:learning-sync-in var(--lg-dur-fast) ease-out both}.learning-sync__line{flex:1 1 260px;margin:0;line-height:var(--lg-leading-body)}.learning-sync__line--refused{color:var(--lg-wrong-ink)}.learning-sync__actions{display:flex;gap:var(--lg-space-2)}.learning-sync__actions .lg-btn{min-height:var(--lg-target)}@keyframes learning-sync-in{0%{opacity:0;transform:translate3d(0,8px,0)}}@media(prefers-reduced-motion:reduce){@keyframes learning-sync-in{0%{opacity:0}}}body:has(.game-fullscreen-shell .practice__error) .learning-sync{display:none}body:has(.game-result-layer) .learning-sync{display:none}body:has(.game-fullscreen-shell .practice) .learning-sync{position:static;margin-block:var(--lg-space-4) calc(var(--lg-space-4) + env(safe-area-inset-bottom,0px));margin-inline:max(var(--lg-space-4),calc((100% - 560px)/2));box-shadow:none}@media print{.learning-sync{display:none}}.brand-lockup{display:inline-flex;align-items:center;gap:.4em;color:var(--lg-ink);font-family:"LANGUAGYM Display",var(--lg-font);font-size:1.3rem;font-weight:900;letter-spacing:.01em;line-height:1}.brand-lockup .brand-lockup__mark{display:block;width:1.6em;height:1.6em;flex:none;object-fit:contain}.brand-lockup__name{white-space:nowrap}html :is(.brand,.login-page__brand,.auth-page__brand,.about-header__brand,.student-navbar__brand,.class-scene__brand):has(>.brand-lockup){width:auto;max-width:none}html :is(.brand,.login-page__brand,.auth-page__brand,.about-header__brand,.student-navbar__brand,.class-scene__brand) .brand-lockup .brand-lockup__mark{width:1.6em;height:1.6em}@media(max-width:600px){html :is(.brand,.login-page__brand,.auth-page__brand,.student-navbar__brand) .brand-lockup__name{display:none}}.brand:has(>.brand-lockup):after{transform:scaleX(0) rotate(-1deg)}@media(hover:hover)and (pointer:fine){.brand:has(>.brand-lockup):hover:after{transform:scaleX(1) rotate(-1deg)}}.navigation-brand-logo{font-size:var(--lg-text-md)}.student-navbar__brand:has(.navigation-brand-logo){flex-basis:auto}.app-header .brand:has(.navigation-brand-logo){min-height:44px}@media(max-width:600px){.navigation-brand-logo .brand-lockup__name{display:none}}.signout-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#161f327a;animation:route-arrive .18s ease-out both}.signout-dialog{width:min(100%,430px);padding:26px;border:2px solid var(--lg-line);border-radius:32px;background:var(--lg-surface);box-shadow:var(--lg-shadow-float);animation:pop-arrive .24s cubic-bezier(.2,.8,.2,1) both}.signout-dialog__heading{display:flex;align-items:flex-start;gap:13px}.signout-dialog__icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:2px solid var(--lg-line);border-radius:16px;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.signout-dialog h2{margin:0;color:var(--lg-ink);font-family:var(--lg-font);font-size:1.28rem;font-weight:var(--lg-weight-heavy);line-height:1.15}.signout-dialog__description{margin:18px 0 0;color:var(--lg-ink-3);font-size:var(--lg-text-xs);line-height:1.55}.signout-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:17px;border-top:2px solid var(--lg-line)}.signout-dialog__actions form{margin:0}.signout-dialog__actions .button{display:inline-flex;align-items:center;gap:7px}@media(max-width:639px){.signout-dialog{border-radius:24px}}@media(max-width:720px){.signout-dialog-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.signout-dialog{padding:22px}.signout-dialog__actions{flex-direction:column-reverse}.signout-dialog__actions form,.signout-dialog__actions .button{width:100%}.signout-dialog__actions .button{justify-content:center}}@media(prefers-reduced-motion:reduce){.signout-dialog-backdrop,.signout-dialog{animation:none}}.app-frame--student{--student-navbar-height: calc(74px + env(safe-area-inset-top)) }.app-frame--student .route-frame:has(.legacy-react-route){animation:none;transform:none}.app-frame--student .legacy-react-route{top:var(--student-navbar-height);height:calc(100dvh - var(--student-navbar-height))}.app-frame--student .app-main:has(.about-page){width:100%;padding:0}.student-navbar{position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top);background:var(--lg-surface);border-bottom:2px solid var(--lg-line);box-shadow:none;color:var(--lg-ink)}.student-navbar__inner{position:relative;display:flex;align-items:center;gap:24px;width:min(100%,calc(var(--lg-content) + 2 * var(--lg-margin)));min-height:72px;padding-inline:var(--lg-margin);margin-inline:auto}.student-navbar__brand{display:flex;align-items:center;flex:0 0 154px;min-height:44px}.student-navbar__brand img{width:100%;height:auto}.student-navbar__navigation{display:flex;gap:4px}.student-navbar__link{display:flex;align-items:center;gap:8px;min-height:var(--lg-target);padding:0 16px;border-radius:var(--lg-radius-pill);color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);text-decoration:none}.student-navbar__link:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-navbar__link.is-active{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-weight:var(--lg-weight-heavy)}.student-navbar__icon{flex:0 0 22px;width:22px;height:22px}.student-navbar__overview{display:flex;gap:0;margin-left:auto}.student-navbar__overview a{display:flex;min-height:var(--lg-target);align-items:center;gap:6px;padding:0 12px;border-radius:var(--lg-radius-pill);text-decoration:none;color:var(--lg-ink-2)}.student-navbar__overview a+a:before{width:2px;height:20px;margin-right:6px;background:var(--lg-line);content:""}.student-navbar__overview a:hover{background:var(--lg-eco-blue-wash)}.student-navbar__overview strong{color:var(--lg-eco-blue-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-display);font-variant-numeric:tabular-nums}.student-navbar__overview span{font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);white-space:nowrap}.student-navbar__account{position:relative}.student-navbar__account-trigger{display:flex;align-items:center;gap:8px;min-height:var(--lg-target);padding:2px 10px 2px 2px;border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:inherit;cursor:pointer}.student-navbar__account-trigger:hover,.student-navbar__account-trigger[aria-expanded=true]{border-color:var(--lg-eco-blue)}.student-navbar__toggle{display:none;align-items:center;justify-content:center;width:var(--lg-target);min-height:var(--lg-target);padding:0;border:2px solid var(--lg-line);border-radius:16px;background:var(--lg-surface);color:var(--lg-ink);cursor:pointer}.student-navbar__toggle:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-navbar__avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;overflow:hidden;border-radius:50%;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.student-navbar__avatar img{width:100%;height:100%;object-fit:cover}.student-navbar__name{max-width:144px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.student-navbar__menu{position:absolute;top:calc(100% + 10px);right:0;width:min(248px,calc(100vw - 32px));padding:8px;border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);animation:student-navbar-pop .16s ease-out both}.student-navbar__identity{display:grid;gap:3px;padding:10px 12px 12px;margin-bottom:4px;border-bottom:2px solid var(--lg-line);overflow-wrap:anywhere}.student-navbar__identity strong{color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy)}.student-navbar__identity span{font-size:var(--lg-text-xs);color:var(--lg-ink-3)}.student-navbar__menu a,.student-navbar__menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:var(--lg-target);padding:0 12px;border:0;border-radius:16px;background:transparent;color:var(--lg-ink-2);font:inherit;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);text-decoration:none;cursor:pointer}.student-navbar__menu a:hover,.student-navbar__menu button:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-navbar__menu-icon{flex:0 0 20px;width:20px;height:20px}.student-navbar__menu>button:last-child{margin-top:4px;color:var(--lg-wrong-ink)}.student-navbar__menu>button:last-child:hover{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.student-navbar :is(a,button):focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}@keyframes student-navbar-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes student-navbar-menu{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(max-width:1100px){.student-navbar__name{display:none}.student-navbar__inner{gap:16px}}@media(max-width:900px){.student-navbar__inner{min-height:64px;gap:8px}.student-navbar__brand{flex-basis:140px}.student-navbar__toggle{display:flex;margin-left:auto}.student-navbar__overview{display:none}.student-navbar__navigation{position:absolute;top:100%;right:-16px;left:-16px;display:none;padding:10px;border:2px solid var(--lg-line);border-top:0;border-radius:0 0 24px 24px;background:var(--lg-surface);box-shadow:var(--lg-shadow-float)}.student-navbar__navigation.is-open{display:grid;animation:student-navbar-menu .16s ease-out both}.student-navbar__link{min-height:48px}.student-navbar__menu{top:calc(100% + 8px)}}@media(max-width:759px){.app-frame--student{--student-navbar-height: calc(66px + env(safe-area-inset-top)) }.student-navbar__inner{min-height:64px}}@media(prefers-reduced-motion:reduce){.student-navbar__menu,.student-navbar__navigation.is-open{animation-name:student-navbar-fade}}@keyframes student-navbar-fade{0%{opacity:0}to{opacity:1}}@media print{.app-frame--student :is(.student-navbar,.skip-link,.scroll-progress){display:none}.app-frame--student .app-main:has(.printable-page,.printable-state){width:100%;margin:0;padding:0}}body:has(.student-account-main){overflow-x:clip}body:has(.student-account-main),.app-frame--student-account{background:var(--lg-surface)}.app-frame--student-account .app-main{width:min(1400px,calc(100% - 64px));padding:48px 0 80px;background:var(--lg-surface);color:var(--lg-ink)}.student-account-main :is(h1,h2,h3){margin:0;font-family:var(--lg-font);letter-spacing:-.025em;overflow-wrap:anywhere}.student-account-main h1{font-size:clamp(28px,3vw,40px);line-height:1.15}.student-account-main h2{font-size:24px;line-height:1.3}.student-account-main h3{font-size:20px;line-height:1.35}.student-account-main p{font-size:var(--lg-text-xs);line-height:1.65;color:var(--lg-ink-3)}.student-account-heading{display:flex;align-items:center;gap:24px;padding-bottom:32px}.student-account-heading__copy{flex:1;min-width:0}.student-account-heading__copy p{margin:8px 0 0;overflow-wrap:anywhere}.student-account-main .student-account-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:8px;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);font-weight:700;text-decoration:none}.student-account-action:hover{text-decoration:underline;text-underline-offset:4px}.student-account-main :is(a,button,input):focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:3px}.student-account-main .button{min-height:44px;padding:10px 16px;border:2px solid var(--lg-eco-blue);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue);color:#fff;box-shadow:none;font-size:var(--lg-text-xs);transform:none}.student-account-main .button:hover:not(:disabled){background:var(--lg-eco-blue-press);border-color:var(--lg-eco-blue-press);box-shadow:none;transform:none}.student-account-main .button--quiet{background:var(--lg-surface);color:var(--lg-eco-blue-ink);border-color:var(--lg-line)}.student-account-main .button--quiet:hover:not(:disabled){background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-account-main .button:disabled{cursor:wait;opacity:.6}.student-account-main .student-account-empty{margin-top:24px}.student-account-main .state-surface{border:0;border-radius:0;background:transparent;box-shadow:none;padding-inline:0}.student-account-empty a{color:var(--lg-eco-blue-ink)}.app-frame--student-account .student-profile-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px 64px}.student-profile-heading,.student-profile-metrics,.student-profile-classes{grid-column:1 / -1}.student-profile-heading{padding-bottom:0}.student-profile-avatar{display:grid;place-items:center;flex:0 0 80px;width:80px;height:80px;overflow:hidden;border-radius:50%;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-size:24px;font-weight:750}.student-profile-avatar img{width:100%;height:100%;object-fit:cover}.student-account-heading__copy .student-profile-membership{font-size:var(--lg-text-xs)}.student-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:0;padding:28px 0;border-block:2px solid var(--lg-line)}.student-profile-metrics>div{display:flex;flex-direction:column;gap:8px}.student-profile-metrics dt{color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.student-profile-metrics dd{order:-1;margin:0;font-size:clamp(24px,3vw,36px);line-height:1.2;font-weight:750;font-variant-numeric:tabular-nums}.student-profile-section{min-width:0}.student-profile-section>p{margin:8px 0 0}.student-profile-section>.student-account-action{margin-top:16px}.student-profile-points,.student-profile-languages,.student-profile-class-list{list-style:none;padding:0;margin:24px 0 0}.student-profile-points{display:grid;gap:24px}.student-profile-points li a{display:flex;align-items:baseline;justify-content:space-between;min-height:44px;gap:16px;color:var(--lg-ink);font-size:var(--lg-text-xs);text-decoration:none}.student-profile-points li a:hover>span{color:var(--lg-eco-blue-ink);text-decoration:underline;text-underline-offset:3px}.student-profile-points li a>span{overflow-wrap:anywhere}.student-profile-points strong{flex:0 0 auto;font-variant-numeric:tabular-nums}.student-profile-points small{color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:400}.student-profile-points__track{display:block;height:8px;overflow:hidden;border-radius:var(--lg-radius-pill);background:var(--lg-line)}.student-profile-points__track>span{display:block;height:100%;background:var(--lg-eco-blue)}.student-profile-languages li{display:flex;align-items:center;gap:16px;min-height:64px;border-bottom:2px solid var(--lg-line);font-size:var(--lg-text-xs)}.student-profile-languages li>span:last-child{margin-left:auto;color:var(--lg-ink-3)}.student-profile-classes{padding-top:32px;border-top:2px solid var(--lg-line)}.student-profile-classes>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-profile-class-list li{border-bottom:2px solid var(--lg-line)}.student-profile-class-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto 18px;align-items:center;gap:20px;min-height:88px;padding:16px 0;color:var(--lg-ink);text-decoration:none}.student-profile-class-list a:hover strong{color:var(--lg-eco-blue-ink);text-decoration:underline}.student-profile-class-list__name{display:grid;gap:6px;overflow-wrap:anywhere}.student-profile-class-list__name strong{font-size:var(--lg-text-sm)}.student-profile-class-list__name>span{font-size:var(--lg-text-xs);color:var(--lg-ink-3)}.student-profile-class-list__points{font-size:var(--lg-text-sm);font-weight:750;font-variant-numeric:tabular-nums}.student-profile-class-list__points small{color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:400}.student-settings-navigation{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:20px;border-bottom:2px solid var(--lg-line)}.student-settings-navigation a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:var(--lg-radius-pill);color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:700;text-decoration:none}.student-settings-navigation a:hover{background:var(--lg-canvas)}.student-settings-navigation a.is-active{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-account-main .student-settings-section{max-width:1040px;margin:0;padding:32px 0 0;border:0;border-radius:0;background:var(--lg-surface);box-shadow:none}.student-account-main .account-panel__heading{align-items:flex-start}.student-account-main .account-panel__heading>svg{display:none}.student-account-main .account-panel__intro{display:block!important;margin-top:8px;font-size:var(--lg-text-xs);line-height:1.65}.student-account-main .settings-profile-preview{margin:24px 0;padding:0 0 24px;border:0;border-bottom:2px solid var(--lg-line);border-radius:0;background:transparent}.student-account-main .account-avatar{border:0;border-radius:50%;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-account-main .settings-profile-preview strong,.student-account-main .avatar-settings-row strong{font-family:var(--lg-font);font-size:var(--lg-text-sm)}.student-account-main .settings-profile-preview span,.student-account-main .settings-fields label>span{font-size:var(--lg-text-xs)}.student-account-main .panel-link{min-height:44px;margin:0;font-size:var(--lg-text-xs)}.student-account-main .settings-fields{gap:24px;max-width:820px}.student-account-main .settings-fields input{font-size:16px}.student-account-main .parent-filters input{min-height:48px;border:2px solid var(--lg-line);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;font-size:16px}.student-account-main .settings-fields input[readonly]{background:var(--lg-canvas);color:var(--lg-ink-3)}.student-account-main .settings-fields small{font-size:var(--lg-text-xs);line-height:1.6}.student-account-main .settings-section__footer{gap:24px;padding:24px 0 0;margin-top:24px;border-top:2px solid var(--lg-line)}.student-account-main .settings-section__footer>span{font-size:var(--lg-text-xs);line-height:1.6}.student-account-main .settings-toggle{grid-template-columns:32px minmax(0,1fr) 44px;gap:16px;min-height:88px;padding:24px 0}.student-account-main .settings-toggle strong{font-size:var(--lg-text-sm)}.student-account-main .settings-toggle small{max-width:72ch;font-size:var(--lg-text-xs);line-height:1.6}.student-account-main .settings-toggle .settings-switch{grid-column:3}.student-account-main .settings-toggle:has(input:focus-visible){outline:2px solid var(--lg-eco-blue);outline-offset:4px}.student-account-main .avatar-settings-row{padding:24px 0;border:0;border-radius:0;background:transparent}.student-account-main .avatar-settings-row p{font-size:var(--lg-text-xs)}.student-account-main .account-facts{margin:24px 0 0}.student-account-main .account-facts>div{padding:16px 0}.student-account-main .account-facts dt,.student-account-main .account-facts dd{font-size:var(--lg-text-xs)}.student-account-main .settings-credentials{gap:32px;margin-top:32px;padding:32px 0;border:0;border-block:2px solid var(--lg-line);border-radius:0;background:transparent;box-shadow:none}.student-account-main .settings-credentials__icon{display:none}.student-account-main .settings-credentials__heading p{font-size:var(--lg-text-xs)}.student-account-main .settings-password-requirements-panel{padding:12px 0;border:0;border-radius:0;background:transparent}.student-account-main .settings-password-requirements li,.student-account-main .settings-password-requirements__heading{font-size:var(--lg-text-xs)}.student-account-main .settings-password-field>label{font-size:var(--lg-text-xs)}.student-account-main .settings-danger-zone{margin-top:0;padding:32px 0;border:0;border-radius:0;background:transparent}.student-account-main .settings-danger-zone p{color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.student-account-main .account-status{max-width:1040px;margin:24px 0 0;font-size:var(--lg-text-xs)}.student-account-main .account-status button{min-width:44px;min-height:44px}@media(max-width:800px){.app-frame--student-account .student-profile-main{grid-template-columns:1fr;gap:32px}.student-profile-section{grid-column:1}.student-profile-heading{flex-wrap:wrap}.student-profile-heading>.student-account-action{margin-left:104px}}@media(max-width:600px){.app-frame--student-account .app-main{width:calc(100% - 32px);padding-top:32px}.student-account-heading{flex-wrap:wrap;gap:16px}.student-account-heading__copy{flex-basis:calc(100% - 80px)}.student-profile-avatar{flex-basis:64px;width:64px;height:64px;font-size:20px}.student-profile-heading>.student-account-action{margin-left:80px}.student-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.student-profile-class-list a{grid-template-columns:auto minmax(0,1fr) 18px;gap:16px}.student-profile-class-list__points{grid-column:2;grid-row:2;font-size:var(--lg-text-xs)}.student-profile-class-list a>svg{grid-column:3;grid-row:1 / 3}.student-settings-navigation{gap:4px}.student-settings-navigation a{padding-inline:10px}.student-account-main .settings-toggle{grid-template-columns:24px minmax(0,1fr) 44px;gap:12px}.student-account-main .settings-toggle>span:nth-child(2){grid-column:2}.student-account-main .settings-toggle .settings-switch{grid-row:1}.student-account-main .settings-fields{grid-template-columns:1fr}.student-account-main .settings-profile-preview .panel-link,.student-account-main .avatar-settings-row .button{margin-left:0}.student-account-main .settings-section__footer{flex-direction:column;align-items:stretch}.student-account-main .settings-section__footer .button{width:100%}}.legacy-react-route .legacy-react-route__loading{background:var(--lg-canvas)}.game-fullscreen-shell{position:relative;min-width:0}html.is-game-fullscreen{overflow:hidden!important;scrollbar-gutter:auto!important}.game-fullscreen-control{position:absolute;top:16px;right:18px;z-index:100;display:grid;justify-items:end;gap:7px;pointer-events:none}.game-fullscreen-shell:has(.game-result-layer) .game-fullscreen-control{visibility:hidden}.game-fullscreen-control__button{display:grid;width:48px;height:48px;place-items:center;padding:0;border:2px solid var(--lg-line, #dbe0e9);border-radius:50%;background:var(--lg-surface, #fff);box-shadow:none;color:var(--lg-ink, #161f32);cursor:pointer;pointer-events:auto;transition:background-color var(--lg-dur-fast, .16s) var(--lg-ease-out, ease-out),border-color var(--lg-dur-fast, .16s) var(--lg-ease-out, ease-out),transform var(--lg-dur-fast, .16s) var(--lg-ease-out, ease-out)}.game-fullscreen-control__button:hover{border-color:var(--lg-eco-blue, #2061f5);background:var(--lg-eco-blue-wash, #e8f1fe);color:var(--lg-eco-blue-ink, #123eb2)}.game-fullscreen-control__button:active{transform:scale(.97)}.game-fullscreen-control__button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--lg-surface, #fff),0 0 0 6px var(--lg-eco-blue, #2061f5)}.game-fullscreen-control__error{max-width:220px;padding:8px 12px;border:2px solid var(--lg-wrong, #df292e);border-radius:16px;background:var(--lg-wrong-wash, #ffebea);color:var(--lg-wrong-ink, #ac1922);font-family:var(--lg-font, inherit);font-size:var(--lg-text-xs);font-weight:700;text-align:right}body:has(.game-fullscreen-shell .practice){overflow-x:clip}.game-fullscreen-shell--practice .practice__bar,.game-fullscreen-shell--connect .practice__bar,.game-fullscreen-shell--cloze .practice__bar,.game-fullscreen-shell--scramble .practice__bar{padding-right:calc(48px + var(--lg-space-4))}.game-fullscreen-shell--tour .game-fullscreen-control{top:28px;right:32px}.game-fullscreen-shell--tour .tour-topbar{padding-right:72px}.game-fullscreen-shell--boss-quest .game-fullscreen-control{top:100px;right:24px}.game-fullscreen-shell:fullscreen>.boss-quest,.game-fullscreen-shell:-webkit-full-screen>.boss-quest{height:100dvh;min-height:100dvh;margin:0;border-radius:0}.game-fullscreen-shell:fullscreen,.game-fullscreen-shell:-webkit-full-screen{width:100vw;height:100dvh;min-height:100dvh;overflow:auto;scrollbar-width:none;background:var(--lg-canvas, #f4f7fc)}.game-fullscreen-shell:fullscreen::-webkit-scrollbar,.game-fullscreen-shell:-webkit-full-screen::-webkit-scrollbar{width:0;height:0}.game-fullscreen-shell:fullscreen>.tour-game,.game-fullscreen-shell:-webkit-full-screen>.tour-game{width:100%;height:100dvh;min-height:100dvh;margin:0;border-radius:0}.game-fullscreen-shell:fullscreen>.cloze,.game-fullscreen-shell:fullscreen>.connect-page,.game-fullscreen-shell:fullscreen>.scramble-game,.game-fullscreen-shell:fullscreen>.game-preview-page,.game-fullscreen-shell:fullscreen>.admin-test-page,.game-fullscreen-shell:fullscreen>.legacy-react-route,.game-fullscreen-shell:-webkit-full-screen>.cloze,.game-fullscreen-shell:-webkit-full-screen>.connect-page,.game-fullscreen-shell:-webkit-full-screen>.scramble-game,.game-fullscreen-shell:-webkit-full-screen>.game-preview-page,.game-fullscreen-shell:-webkit-full-screen>.admin-test-page,.game-fullscreen-shell:-webkit-full-screen>.legacy-react-route{width:100%;min-height:100dvh}@media(max-width:760px){.game-fullscreen-shell--boss-quest .game-fullscreen-control{top:84px;right:12px}.game-fullscreen-control{top:12px;right:12px}.game-fullscreen-shell--tour .game-fullscreen-control{top:18px;right:18px}.game-fullscreen-shell--tour .tour-topbar{padding-right:64px}}@media(prefers-reduced-motion:reduce){.game-fullscreen-control__button,.game-fullscreen-control__button:active{transition:background-color var(--lg-dur-fast, .16s) ease-out,border-color var(--lg-dur-fast, .16s) ease-out;transform:none}}@media(min-width:640px){.game-fullscreen-shell--admin{padding-right:56px}}.lg-student{--lg-exercise: 600px;--vc-shadow-hard: 0 0 #161F3200;--vc-mono: var(--lg-font);color:var(--lg-ink);font-family:var(--lg-font)}.lg-student .lg-btn:hover:not(:disabled,[aria-disabled=true]){--btn-bg: var(--lg-eco-blue-press)}.lg-student .lg-btn--secondary:hover:not(:disabled,[aria-disabled=true]){--btn-bg: var(--lg-eco-blue-wash);--btn-border: var(--lg-eco-blue)}.lg-student :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-student.class-directory,.lg-student.school-directory{color:var(--lg-ink);font-family:var(--lg-font)}.lg-student.class-directory .class-directory__heading{border-bottom:2px solid var(--lg-line)}.lg-student.class-directory .class-directory__heading h1{font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:900;letter-spacing:var(--lg-track-display);line-height:1.1;color:var(--lg-ink)}.lg-student.class-directory .discover-class-entry{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;box-shadow:none;transition:border-color var(--lg-dur-fast) var(--lg-ease-out),background-color var(--lg-dur-fast) var(--lg-ease-out)}.lg-student.class-directory .discover-class-entry:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.lg-student.class-directory .discover-class-entry:active{transform:scale(.97);transition-duration:var(--lg-dur-instant)}.lg-student.class-directory .class-directory__total,.lg-student.school-directory .class-directory__total{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:0;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-sm);font-weight:800;font-variant-numeric:tabular-nums}.lg-student.class-directory .class-grid{grid-template-columns:minmax(0,1fr);gap:var(--lg-space-4)}@media(min-width:640px){.lg-student.class-directory .class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lg-student.class-directory .class-card.class-card--student{--class-accent: var(--lg-eco-blue);--class-soft: var(--lg-eco-blue-wash);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:var(--lg-space-4);min-height:0;height:auto;padding:var(--lg-space-5);overflow:hidden;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none;transform:none;transition:border-color var(--lg-dur-fast) var(--lg-ease-out)}.lg-student.class-directory .class-card.class-card--student:before,.lg-student.class-directory .class-card.class-card--student:after{display:none}.lg-student.class-directory .class-card.class-card--student:is(:hover,:focus-within){border-color:var(--lg-eco-blue);box-shadow:none;transform:none}.lg-student .class-card--student .class-card__identity,.lg-student .class-card--student .class-card__details{gap:var(--lg-space-3)}.lg-student .class-card--student .class-card__title{font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;letter-spacing:var(--lg-track-heading);line-height:1.15;color:var(--lg-ink);transform:none}.lg-student .class-card--student:is(:hover,:focus-within) .class-card__title{color:var(--lg-eco-blue-ink);transform:none}.lg-student .class-card--student:is(:hover,:focus-within) .class-card__header,.lg-student .class-card--student:is(:hover,:focus-within) .class-card__teacher,.lg-student .class-card--student:is(:hover,:focus-within) .class-card__teacher-face{transform:none}.lg-student .class-card--student:is(:hover,:focus-within) .class-card__teacher-face{box-shadow:none}.lg-student .class-card--student .class-card__teacher-copy strong{font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;color:var(--lg-ink)}.lg-student .class-card--student .class-card__teacher-copy small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student .class-card--student .class-code{min-height:var(--lg-target);margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--lg-ink-2)}.lg-student .class-card--student .class-code .class-code__label{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-2)}.lg-student .class-card--student .class-code code{font-variant-numeric:tabular-nums}.lg-student .class-card--student .class-code button{border:0;border-radius:10px;background:transparent;color:var(--lg-eco-blue-ink)}.lg-student .class-card--student .class-code button:hover{background:transparent;color:var(--lg-eco-blue);transform:none}.lg-student .class-card--student .class-card__goal-summary{grid-template-columns:auto minmax(0,1fr) auto;gap:var(--lg-space-4);align-items:center;margin:0;padding-top:var(--lg-space-4);border-top:var(--lg-border) solid var(--lg-line)}.lg-student .class-card--student .goal-blob{display:block;width:auto;height:auto;min-width:48px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--lg-eco-blue);transform:none;animation:none}.lg-student .class-card--student .goal-blob span{display:block;font-family:var(--lg-font-display);font-size:var(--lg-text-2xl);font-weight:900;line-height:1;letter-spacing:var(--lg-track-display);font-variant-numeric:tabular-nums;color:var(--lg-eco-blue)}.lg-student .class-card--student .goal-blob small{display:none}.lg-student .class-card--student .class-card__goal-label{display:block;font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student .class-card--student .class-card__goal-copy{gap:var(--lg-space-1)}.lg-student .class-card--student .class-card__goal-copy strong{overflow:visible;white-space:normal;font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:800;line-height:1.3;color:var(--lg-ink)}.lg-student .class-card--student .class-card__goal-points{display:flex;align-items:center;gap:var(--lg-space-2);color:var(--lg-ink)}.lg-student .class-card--student .class-card__goal-points>svg{width:32px;height:32px;padding:7px;border:0;border-radius:var(--lg-radius-sm);background:var(--lg-spark-wash);color:var(--lg-spark-ink)}.lg-student .class-card--student .class-card__goal-points small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student .class-card--student .class-card__goal-points strong{font-family:var(--lg-font-display);font-size:var(--lg-text-lg);font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--lg-ink)}.lg-student.school-directory .school-directory__heading h2{font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:900;letter-spacing:var(--lg-track-display);line-height:1.1;color:var(--lg-ink)}.lg-student.school-directory .school-directory__heading p{font-size:var(--lg-text-sm);color:var(--lg-ink-3)}.lg-student.school-directory .teacher-group__heading h3{font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:850;color:var(--lg-ink)}.lg-student.school-directory .teacher-group__heading span{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student.school-directory .school-class-card{--class-accent: var(--lg-eco-blue);--class-soft: var(--lg-eco-blue-wash);padding:var(--lg-space-5);overflow:hidden;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none;transform:none}.lg-student.school-directory .school-class-card:before,.lg-student.school-directory .school-class-card:after{display:none}.lg-student.school-directory .school-class-card:is(:hover,:focus-within){border-color:var(--lg-eco-blue);box-shadow:none;transform:none}.lg-student.school-directory .school-class-card__flag{border:0;border-radius:var(--lg-radius-md);background:transparent}.lg-student.school-directory .school-class-card__top h3{font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:850;letter-spacing:var(--lg-track-heading);white-space:normal;color:var(--lg-ink)}.lg-student.school-directory .school-class-card__top p{font-size:var(--lg-text-sm);color:var(--lg-ink-3)}.lg-student.school-directory .school-class-card__teacher{font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:700;color:var(--lg-ink-2)}.lg-student.school-directory .school-class-card__open,.lg-student.school-directory .school-class-card__join{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;transform:none}.lg-student.school-directory .school-class-card__open:hover,.lg-student.school-directory .school-class-card__join:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);transform:none}.lg-student.school-directory .finder__field{min-height:48px;border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:none}.lg-student.school-directory .finder__field:focus-within{border-color:var(--lg-eco-blue);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}.lg-student.school-directory .finder__field input{font-family:var(--lg-font);font-size:var(--lg-text-md);color:var(--lg-ink)}.lg-student.school-directory .finder__field input::placeholder{color:var(--lg-ink-3)}.lg-student.school-directory .finder__field input:focus-visible{box-shadow:none}.lg-student.school-directory .finder__key{font-family:var(--lg-font)}@media(max-width:639px){.lg-student.school-directory .school-class-grid{grid-template-columns:minmax(0,1fr)}}.lg-student.student-class-workspace{color:var(--lg-ink);font-family:var(--lg-font)}.lg-student.student-class-workspace .workspace-hero{gap:var(--lg-space-5);padding:var(--lg-space-5) clamp(16px,4vw,40px);border-bottom:var(--lg-border) solid var(--lg-line);background:transparent}.lg-student.student-class-workspace .workspace-hero h1{max-width:none;font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:900;letter-spacing:var(--lg-track-display);line-height:1.1;color:var(--lg-ink)}.lg-student.student-class-workspace .workspace-hero__subtitle{font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.lg-student.student-class-workspace .language-token{border:var(--lg-border) solid var(--lg-line);border-radius:12px;background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .class-code{border:0;border-radius:var(--lg-radius-md);background:var(--lg-canvas);box-shadow:none;color:var(--lg-ink-2)}.lg-student.student-class-workspace .class-code .class-code__label{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-2)}.lg-student.student-class-workspace .class-code button{border:0;background:transparent;color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .class-code button:hover{background:transparent;color:var(--lg-eco-blue)}.lg-student.student-class-workspace .workspace-summary{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-tile);background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .workspace-summary>span{min-height:64px;padding:var(--lg-space-3) var(--lg-space-4)}.lg-student.student-class-workspace .workspace-summary>span+span{border-left:var(--lg-border) solid var(--lg-line)}.lg-student.student-class-workspace .workspace-summary svg{color:var(--lg-eco-blue)}.lg-student.student-class-workspace .workspace-summary strong{font-family:var(--lg-font-display);font-size:var(--lg-text-lg);font-weight:900;font-variant-numeric:tabular-nums;color:var(--lg-ink)}.lg-student.student-class-workspace .workspace-summary small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;text-transform:none;white-space:normal;color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-workspace-summary__teacher strong{font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800}.lg-student.student-class-workspace .workspace-hero__identity{grid-template-columns:auto minmax(0,1fr)}.lg-student.student-class-workspace .workspace-tabs{gap:var(--lg-space-5);margin:0 clamp(16px,4vw,40px);border-bottom:var(--lg-border) solid var(--lg-line)}.lg-student.student-class-workspace .workspace-tabs__button{min-height:56px;border-bottom:3px solid transparent;font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:800;color:var(--lg-ink-2);transform:none}.lg-student.student-class-workspace .workspace-tabs__button:hover{color:var(--lg-ink);transform:none}.lg-student.student-class-workspace .workspace-tabs__button.is-active{border-bottom-color:var(--lg-eco-blue);color:var(--lg-ink)}@media(max-width:420px){.lg-student.student-class-workspace .workspace-tabs{gap:var(--lg-space-4)}.lg-student.student-class-workspace .workspace-tabs__button>svg{display:none}}.lg-student.student-class-workspace .student-week-intro h2,.lg-student.student-class-workspace .student-progress-panel h2,.lg-student.student-class-workspace .student-notes-panel h2{font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:900;letter-spacing:var(--lg-track-display);line-height:1.1;color:var(--lg-ink)}.lg-student.student-class-workspace .student-week-intro p{font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.lg-student.student-class-workspace .student-today-meter{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .student-today-meter svg{color:var(--lg-eco-blue)}.lg-student.student-class-workspace .student-today-meter strong{font-family:var(--lg-font-display);font-size:var(--lg-text-md);font-weight:900;font-variant-numeric:tabular-nums;color:var(--lg-ink)}.lg-student.student-class-workspace .student-today-meter span{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-week-navigation{padding:0;border:0;border-radius:0;background:none;box-shadow:none}.lg-student.student-class-workspace .student-week-navigation__heading{border-bottom:var(--lg-border) solid var(--lg-line)}.lg-student.student-class-workspace .student-week-navigation__heading h2{font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:850;color:var(--lg-ink)}.lg-student.student-class-workspace .student-week-navigation__arrows button{width:var(--lg-target);height:var(--lg-target);border:var(--lg-border) solid var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-ink)}.lg-student.student-class-workspace .student-week-navigation__arrows button:hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .student-month-rail button{min-height:var(--lg-target);border:var(--lg-border) solid transparent;border-radius:var(--lg-radius-md);background:transparent;box-shadow:none;color:var(--lg-ink-2)}.lg-student.student-class-workspace .student-month-rail button:hover:not(:disabled){background:var(--lg-canvas);color:var(--lg-ink)}.lg-student.student-class-workspace .student-month-rail button.is-current{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .student-month-rail strong{font-family:var(--lg-font);font-weight:800}.lg-student.student-class-workspace .student-month-rail small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-month-rail button.is-current small{color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .student-month-rail{grid-template-columns:var(--lg-target) minmax(0,1fr) var(--lg-target)}.lg-student.student-class-workspace .student-month-rail>button{width:var(--lg-target);height:var(--lg-target)}.lg-student.student-class-workspace .student-month-rail__items{position:relative}@media(max-width:1023px){.lg-student.student-class-workspace .student-month-rail__items{--months-shown: 5;gap:0}.lg-student.student-class-workspace .student-month-rail__items button{display:none;box-sizing:border-box;min-width:0;flex-basis:calc(100% / var(--months-shown))}.lg-student.student-class-workspace .student-month-rail__items button:is(.is-current,:has(+.is-current),:has(+*+.is-current)),.lg-student.student-class-workspace .student-month-rail__items .is-current+button,.lg-student.student-class-workspace .student-month-rail__items .is-current+button+button{display:grid}}@media(max-width:719px){.lg-student.student-class-workspace .student-month-rail__items{--months-shown: 3}.lg-student.student-class-workspace .student-month-rail__items button:has(+*+.is-current),.lg-student.student-class-workspace .student-month-rail__items .is-current+button+button{display:none}}.lg-student.student-class-workspace .student-week-strip{gap:var(--lg-space-2)}.lg-student.student-class-workspace .student-week-day{gap:var(--lg-space-1);min-height:88px;padding:var(--lg-space-2) 6px;border:var(--lg-border) solid transparent;border-radius:var(--lg-radius-tile);background:var(--lg-canvas);box-shadow:none;color:var(--lg-ink);transform:none}.lg-student.student-class-workspace .student-week-day:hover:not(.is-selected){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:none;transform:none}.lg-student.student-class-workspace .student-week-day strong{font-family:var(--lg-font-display);font-size:var(--lg-text-lg);font-weight:900;font-variant-numeric:tabular-nums;line-height:1;color:inherit}.lg-student.student-class-workspace .student-week-day span,.lg-student.student-class-workspace .student-week-day small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-week-day.is-selected{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue);color:#fff}.lg-student.student-class-workspace .student-week-day.is-selected span,.lg-student.student-class-workspace .student-week-day.is-selected small{color:#fff}.lg-student.student-class-workspace .student-week-day.is-today:not(.is-selected){box-shadow:none;outline:var(--lg-border) solid var(--lg-eco-blue);outline-offset:-6px}.lg-student.student-class-workspace .student-goal-lanes{gap:var(--lg-space-6)}.lg-student.student-class-workspace .goal-lane__heading{border-bottom:var(--lg-border) solid var(--lg-line)}.lg-student.student-class-workspace .goal-lane__heading h3{font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;letter-spacing:var(--lg-track-heading);color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-lane__count{width:auto;min-width:32px;height:32px;padding:0 10px;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-md);font-weight:900;font-variant-numeric:tabular-nums}.lg-student.student-class-workspace .student-goal-tile{padding:6px;overflow:hidden;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none;transform:none}.lg-student.student-class-workspace .student-goal-tile--verb,.lg-student.student-class-workspace .student-goal-tile--vocab{border-left:var(--lg-border) solid var(--lg-line)}.lg-student.student-class-workspace .student-goal-tile:hover{border-color:var(--lg-eco-blue);box-shadow:none;transform:none}.lg-student.student-class-workspace .student-goal-tile__image-wrap{position:static;display:block;width:100%;height:148px;overflow:hidden;border-radius:var(--lg-radius-tile)}.lg-student.student-class-workspace .student-goal-tile__image{position:static;display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;opacity:1;transform:none}.lg-student.student-class-workspace .student-goal-tile__body{gap:var(--lg-space-4);padding:var(--lg-space-3) var(--lg-space-3) var(--lg-space-3)}.lg-student.student-class-workspace .student-goal-tile__copy{gap:var(--lg-space-1)}.lg-student.student-class-workspace .student-goal-tile__kind,.lg-student.student-class-workspace .student-goal-tile__game-name{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-goal-tile__copy>strong{font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;letter-spacing:var(--lg-track-heading);line-height:1.2;color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-tile__meta{font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:600;letter-spacing:0;color:var(--lg-ink-2);font-variant-numeric:tabular-nums}.lg-student.student-class-workspace .student-goal-tile__sets span{padding:4px 8px;border:var(--lg-border) solid var(--lg-line);border-radius:10px;background:var(--lg-canvas);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-2)}.lg-student.student-class-workspace .student-goal-tile__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--lg-space-2)}.lg-student.student-class-workspace .student-goal-tile__info,.lg-student.student-class-workspace .student-goal-tile__play{min-height:var(--lg-target);padding:0 var(--lg-space-4);border-radius:var(--lg-radius-pill);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;box-shadow:none;transform:none}.lg-student.student-class-workspace .student-goal-tile__info{border:var(--lg-border) solid var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-tile__info:hover{border-color:var(--lg-ink-2);background:var(--lg-canvas);color:var(--lg-ink);transform:none}.lg-student.student-class-workspace .student-goal-tile__upcoming{display:inline-flex;align-items:center;min-height:var(--lg-target);font-size:var(--lg-text-sm);font-weight:700;color:var(--lg-ink-2)}.lg-student.student-class-workspace .student-goal-tile__play{border:var(--lg-border) solid var(--lg-eco-blue);background:var(--lg-eco-blue);color:#fff}.lg-student.student-class-workspace .student-goal-tile__play:hover{border-color:var(--lg-eco-blue-press);background:var(--lg-eco-blue-press);color:#fff;transform:none}.lg-student.student-class-workspace .student-goal-tile__play--done,.lg-student.student-class-workspace .student-goal-tile__play--done:hover{border-color:var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-tile__play--done:hover{border-color:var(--lg-ink-2);background:var(--lg-canvas)}.lg-student.student-class-workspace .student-goal-tile__info:focus-visible,.lg-student.student-class-workspace .student-goal-tile__play:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-student.student-class-workspace .student-goal-tile__play .student-goal-tile__game{color:inherit;font:inherit;text-transform:none}.lg-student.student-class-workspace .class-calendar__surface{padding:0;border:0;background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .class-calendar__view-switch{padding:4px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .class-calendar__view-switch button{min-height:40px;border:0;border-radius:var(--lg-radius-pill);background:transparent;font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;letter-spacing:0;text-transform:none;color:var(--lg-ink-2);box-shadow:none}.lg-student.student-class-workspace .class-calendar__view-switch button:hover{background:var(--lg-canvas);color:var(--lg-ink)}.lg-student.student-class-workspace .class-calendar__view-switch button.is-active{background:var(--lg-eco-blue);color:#fff}.lg-student.student-class-workspace .class-calendar__arrow{width:var(--lg-target);height:var(--lg-target);border:var(--lg-border) solid var(--lg-line-strong);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink)}.lg-student.student-class-workspace .class-calendar__arrow:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.lg-student.student-class-workspace .class-calendar__period h3{font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;letter-spacing:var(--lg-track-heading);color:var(--lg-ink)}.lg-student.student-class-workspace .class-calendar__period button{min-height:var(--lg-target);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:800;letter-spacing:0;text-transform:none;color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .class-calendar__months button{min-width:64px;border:var(--lg-border) solid transparent;border-radius:var(--lg-radius-md);background:transparent;box-shadow:none;color:var(--lg-ink)}.lg-student.student-class-workspace .class-calendar__months button:hover{border-color:var(--lg-line-strong);background:var(--lg-canvas);transform:none}.lg-student.student-class-workspace .class-calendar__months button.is-current{border-color:transparent;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);box-shadow:none}.lg-student.student-class-workspace .class-calendar__months strong{font-family:var(--lg-font);font-weight:800}.lg-student.student-class-workspace .class-calendar__months small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:600;letter-spacing:0;color:var(--lg-ink-3)}.lg-student.student-class-workspace .class-calendar__months button.is-current small{color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .class-calendar__month-grid{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-tile)}.lg-student.student-class-workspace .class-calendar__month-day{border-color:var(--lg-line);background:var(--lg-surface)}.lg-student.student-class-workspace .class-calendar__month-day.is-selected,.lg-student.student-class-workspace .class-calendar__week-day.is-selected{background:var(--lg-eco-blue-wash)}.lg-student.student-class-workspace .class-calendar__month-day.is-today,.lg-student.student-class-workspace .class-calendar__week-day.is-today{box-shadow:none;outline:var(--lg-border) solid var(--lg-eco-blue);outline-offset:-2px}.lg-student.student-class-workspace .class-calendar__today{padding:2px 8px;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none}.lg-student.student-class-workspace .class-calendar__goal{border:var(--lg-border) solid var(--lg-line);border-radius:12px;background:var(--lg-surface);box-shadow:none;color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700}.lg-student.student-class-workspace .class-calendar__goal:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);transform:none}.lg-student.student-class-workspace .metric{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-tile);background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .metric span{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;letter-spacing:0;text-transform:none;color:var(--lg-ink-3)}.lg-student.student-class-workspace .metric strong{font-family:var(--lg-font-display);font-size:var(--lg-text-xl);font-weight:900;font-variant-numeric:tabular-nums;color:var(--lg-ink)}.lg-student.student-class-workspace .student-recent-goal{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none}.lg-student.student-class-workspace .student-recent-goal h4{font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:850;letter-spacing:var(--lg-track-heading);color:var(--lg-ink)}.lg-student.student-class-workspace .student-recent-goal__date{font-size:var(--lg-text-sm);color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-recent-goal dt{font-size:var(--lg-text-xs);color:var(--lg-ink-3)}.lg-student.student-class-workspace .student-recent-goal dd{font-family:var(--lg-font-display);font-variant-numeric:tabular-nums;color:var(--lg-ink)}.lg-student.student-class-workspace .student-recent-goal a{min-height:var(--lg-target);justify-content:center;gap:var(--lg-space-2);padding:0 var(--lg-space-4);border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue);color:#fff;font-family:var(--lg-font);font-weight:800}.lg-student.student-class-workspace .student-notes-panel blockquote{font-size:var(--lg-text-sm);color:var(--lg-ink)}@media(prefers-reduced-motion:reduce){.lg-student.student-class-workspace .student-week-day,.lg-student.student-class-workspace .student-goal-tile,.lg-student.student-class-workspace .class-calendar__goal{transition:none}}.lg-student.student-class-workspace .student-week-day__short{display:none}@media(max-width:650px){.lg-student.student-class-workspace .student-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--lg-space-1);overflow:visible}.lg-student.student-class-workspace .student-week-strip li{min-width:0}.lg-student.student-class-workspace .student-week-day{position:relative;min-height:64px;padding-inline:2px}.lg-student.student-class-workspace .student-week-day__short{display:block}.lg-student.student-class-workspace .student-week-day__long,.lg-student.student-class-workspace .student-week-day small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.lg-student.student-class-workspace .student-week-day.has-goals:after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7;translate:-50% 0}}@media(max-width:639px){.lg-student.student-class-workspace .workspace-hero{margin-inline:0}.lg-student.student-class-workspace .student-workspace-summary{grid-auto-flow:row;grid-template-columns:minmax(0,1fr);width:100%;padding:0}.lg-student.student-class-workspace .student-workspace-summary>span{min-height:48px}.lg-student.student-class-workspace .student-workspace-summary>span+span{border-left:0;border-top:0}.lg-student.student-class-workspace .student-workspace-summary>.workspace-summary__metric~.workspace-summary__metric{border-top:var(--lg-border) solid var(--lg-line)}}.lg-student.student-class-workspace .student-today-meter{margin:0}.lg-student.student-class-workspace .student-goal-tile__status{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--lg-space-1) var(--lg-space-2);margin:var(--lg-space-1) 0 0;font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.lg-student.student-class-workspace .student-goal-tile__status strong{font-weight:var(--lg-weight-heavy);color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-tile__status--done strong{color:var(--lg-correct-ink)}.lg-student.student-class-workspace .student-goal-tile__status--behind strong,.lg-student.student-class-workspace .student-goal-tile__status--missed strong{color:var(--lg-wrong-ink)}.lg-student.student-class-workspace .student-goal-tile__status--upcoming strong{color:var(--lg-eco-blue-ink)}.lg-student.student-class-workspace .student-goal-tile__progress{height:8px;margin:var(--lg-space-1) 0;overflow:hidden;border-radius:var(--lg-radius-pill);background:var(--lg-line)}.lg-student.student-class-workspace .student-goal-tile__progress span{display:block;height:100%;border-radius:inherit;background:var(--lg-eco-blue);transform-origin:left center;transition:transform var(--lg-dur-fast) ease-out}.lg-student.student-class-workspace .student-goal-tile--done .student-goal-tile__progress span{background:var(--lg-correct)}.lg-student.student-class-workspace .student-goal-target{margin:0;font-size:var(--lg-text-sm);line-height:var(--lg-leading-body);color:var(--lg-ink)}.lg-student.student-class-workspace .student-goal-target--progress,.student-goal-info .student-goal-target--progress{margin-top:var(--lg-space-1);color:var(--lg-ink-2)}.student-goal-info .student-goal-target{margin:0;font-size:var(--lg-text-sm);line-height:var(--lg-leading-body)}.student-goal-info__more{display:inline-flex;align-items:center;gap:var(--lg-space-1);min-height:var(--lg-target);margin-top:var(--lg-space-2);color:var(--lg-eco-blue-ink);font-weight:var(--lg-weight-strong)}.student-goal-info__more:focus-visible{outline:none;box-shadow:var(--lg-focus);border-radius:var(--lg-radius-sm)}@media(prefers-reduced-motion:reduce){.lg-student.student-class-workspace .student-goal-tile__progress span{transition:none}}.lg-student .school-class-card .class-code{padding:0;border:0;border-radius:0;background:none}@media(max-width:639px){.lg-student.student-class-workspace .class-code{flex-wrap:wrap;height:auto}.lg-student.student-class-workspace .class-code code{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}}.lg-student.class-directory .discover-class-entry:focus-visible,.lg-student.student-class-workspace .student-month-rail button:focus-visible,.lg-student.student-class-workspace .student-week-strip .student-week-day:focus-visible{outline:none;box-shadow:var(--lg-focus)}@keyframes classes-enter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}@keyframes classes-fade{0%{opacity:0}to{opacity:1}}.app-frame:not(.lg-student) .app-main .class-card,.app-frame:not(.lg-student) .app-main .school-class-card{--class-accent: var(--lg-eco-blue);--class-soft: var(--lg-eco-blue-wash)}.app-frame:not(.lg-student) .app-main .route-frame:has(>.class-directory){width:100%;min-width:0;max-width:100%}.app-frame:not(.lg-student) .app-main .class-directory{max-width:calc(var(--lg-content) + 2 * var(--lg-margin));margin:0 auto;padding:var(--lg-space-6) var(--lg-margin) var(--lg-space-7);border:0;border-radius:0;background:transparent;box-shadow:none}.app-frame:not(.lg-student) .app-main .class-directory__heading{display:flex;flex-direction:row;align-items:center;text-align:left;justify-content:space-between;gap:var(--lg-space-4);padding:0 0 var(--lg-space-5);border:0}.app-frame:not(.lg-student) .app-main .class-directory__heading h1{font-family:var(--lg-font-display);font-size:var(--lg-text-2xl);font-weight:var(--lg-weight-display);letter-spacing:var(--lg-track-display);line-height:var(--lg-leading-tight)}.app-frame:not(.lg-student) .app-main .class-directory__actions{display:flex;align-items:center;gap:var(--lg-space-2);width:auto}.app-frame:not(.lg-student) .app-main .class-directory__actions .button,.app-frame:not(.lg-student) .app-main .class-directory__actions .discover-class-entry{min-height:var(--lg-target);padding:0 var(--lg-space-4);border-radius:var(--lg-radius-pill);box-shadow:none;font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.app-frame:not(.lg-student) .app-main .class-directory__actions .discover-class-entry{border:2px solid var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-ink-2)}.app-frame:not(.lg-student) .app-main .class-directory__actions .discover-class-entry:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-frame:not(.lg-student) .app-main .class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lg-space-5)}.app-frame:not(.lg-student) .app-main .class-card{display:flex;flex-direction:column;gap:var(--lg-space-3);container-type:inline-size;min-height:0;padding:var(--lg-space-5);border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none;transform:none;animation:classes-enter var(--lg-dur-base) var(--lg-ease-out) both}.app-frame:not(.lg-student) .app-main .class-card:before,.app-frame:not(.lg-student) .app-main .class-card:after{display:none}.app-frame:not(.lg-student) .app-main .class-card:hover,.app-frame:not(.lg-student) .app-main .class-card:focus-within{border-color:var(--lg-eco-blue);box-shadow:none;transform:none}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(2){animation-delay:45ms}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(3){animation-delay:90ms}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(4){animation-delay:135ms}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(5){animation-delay:.18s}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(6){animation-delay:225ms}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(7){animation-delay:.27s}.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(n+8){animation-delay:315ms}.app-frame:not(.lg-student) .app-main .class-card:is(:hover,:focus-within) :is(.class-card__header,.class-card__title,.class-card__teacher,.class-card__teacher-face,.class-card__body,.class-card__face){transform:none!important}.app-frame:not(.lg-student) .app-main .class-card:is(:hover,:focus-within) .class-card__body{border-color:var(--lg-line)}.app-frame:not(.lg-student) .app-main .class-card:is(:hover,:focus-within) .class-card__teacher-face{box-shadow:none}.app-frame:not(.lg-student) .app-main .class-card .class-card__face:hover{box-shadow:0 0 0 2px var(--lg-eco-blue);transform:none}.app-frame:not(.lg-student) .app-main .class-card:is(:hover,:focus-within) .class-card__open-corner{width:auto;border-color:transparent;background:var(--lg-eco-blue-press);color:#fff;transform:none}.app-frame:not(.lg-student) .app-main .class-card__identity{display:grid;gap:var(--lg-space-2);min-width:0}.app-frame:not(.lg-student) .app-main .class-card__header{display:flex;align-items:flex-start;gap:var(--lg-space-3);min-width:0}.app-frame:not(.lg-student) .app-main .class-card__header>:not(h2){order:-1;flex:0 0 auto}.app-frame:not(.lg-student) .app-main .class-card__header h2{flex:1 1 auto;min-width:0;margin:0}.app-frame:not(.lg-student) .app-main .class-card__title{display:block;color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy);letter-spacing:var(--lg-track-heading);line-height:var(--lg-leading-snug);overflow:visible;text-decoration:none;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.app-frame:not(.lg-student) .app-main .class-card__title:hover{color:var(--lg-eco-blue-ink)}.app-frame:not(.lg-student) .app-main .class-card__teacher{display:flex;align-items:center;gap:var(--lg-space-2);min-width:0}.app-frame:not(.lg-student) .app-main .class-card__teacher-face{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;background:var(--lg-eco-blue-wash);box-shadow:none}.app-frame:not(.lg-student) .app-main .class-card__teacher-initials{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.app-frame:not(.lg-student) .app-main .class-card__teacher-copy{display:grid;min-width:0;gap:2px}.app-frame:not(.lg-student) .app-main .class-card__teacher-copy strong{overflow:hidden;color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);text-overflow:ellipsis;white-space:nowrap}.app-frame:not(.lg-student) .app-main .class-card__teacher-copy small{color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.app-frame:not(.lg-student) .app-main .class-card__details{display:grid;gap:var(--lg-space-3);min-width:0}.app-frame:not(.lg-student) .app-main .class-card .class-code{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--lg-space-2);height:var(--lg-target);min-height:var(--lg-target);padding:0;border:0;border-radius:0;background:none;box-shadow:none}.app-frame:not(.lg-student) .app-main .class-card .class-code__label,.app-frame:not(.lg-student) .app-main .school-class-card .class-code__label{display:inline;color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none;white-space:nowrap}.app-frame:not(.lg-student) .app-main .class-card .class-code code{min-width:0;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:nowrap;font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);letter-spacing:0}.app-frame:not(.lg-student) .app-main .class-card .class-code button{flex:0 0 36px;width:36px;height:36px;background:transparent}.app-frame:not(.lg-student) .app-main .class-card .class-code button:hover{background:transparent;color:var(--lg-eco-blue)}@container (max-width: 260px){.app-frame:not(.lg-student) .app-main .class-card .class-code{flex-wrap:wrap;height:auto;padding:var(--lg-space-2) var(--lg-space-2) var(--lg-space-2) var(--lg-space-3)}.app-frame:not(.lg-student) .app-main .class-card .class-code code{order:1;flex:1 0 100%;white-space:normal}}.app-frame:not(.lg-student) .app-main .class-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--lg-space-1);padding:0;text-align:left}.app-frame:not(.lg-student) .app-main .class-card__roster{display:grid;justify-items:start;gap:var(--lg-space-2);text-align:left}.app-frame:not(.lg-student) .app-main .class-card__count{order:-1;margin:0;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.app-frame:not(.lg-student) .app-main .class-card__faces{display:flex;align-items:center;gap:var(--lg-space-1);padding:0}.app-frame:not(.lg-student) .app-main .class-card__face{flex:0 0 32px;width:32px;height:32px;margin:0;border:0;background:var(--lg-eco-blue-wash);box-shadow:none}.app-frame:not(.lg-student) .app-main .class-card__face:nth-child(n+4){display:none}.app-frame:not(.lg-student) .app-main .class-card__face-initials,.app-frame:not(.lg-student) .app-main .class-card__face span{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.app-frame:not(.lg-student) .app-main .class-card__student-names{display:flex;flex-wrap:wrap;gap:var(--lg-space-1) var(--lg-space-3);color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-frame:not(.lg-student) .app-main .class-card__student-names>:nth-child(n+4){display:none}.app-frame:not(.lg-student) .app-main .class-card__open-corner{position:static;align-self:flex-start;display:inline-flex;align-items:center;gap:var(--lg-space-2);width:auto;height:auto;min-height:var(--lg-target);margin-top:auto;padding:0 var(--lg-space-4);border:0;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue);box-shadow:none;color:#fff;transform:none;text-decoration:none;transition:background-color var(--lg-dur-fast) ease}.app-frame:not(.lg-student) .app-main .class-card__open-corner:hover{background:var(--lg-eco-blue-press);color:#fff;transform:none}.app-frame:not(.lg-student) .app-main .class-card__open-corner:focus-visible{outline:0;box-shadow:var(--lg-focus)}.app-frame:not(.lg-student) .app-main .class-card__open-corner:before{display:none}.app-frame:not(.lg-student) .app-main .class-card__open-corner-in{display:inline-flex;align-items:center;gap:var(--lg-space-2);width:auto;height:auto}.app-frame:not(.lg-student) .app-main .class-card__open-label{max-width:none;opacity:1;transform:none;color:#fff;font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);letter-spacing:0;text-transform:none}.app-frame:not(.lg-student) .app-main .class-card__open-corner svg{transform:none}.app-frame:not(.lg-student) .app-main .school-directory{max-width:calc(var(--lg-content) + 2 * var(--lg-margin));margin:var(--lg-space-7) auto 0;padding:var(--lg-space-6) var(--lg-margin) var(--lg-space-7);border-top:2px solid var(--lg-line);background:transparent}.app-frame:not(.lg-student) .app-main .school-directory__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--lg-space-4);margin-bottom:var(--lg-space-5)}.app-frame:not(.lg-student) .app-main .school-directory__heading h2{font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-heavy);letter-spacing:var(--lg-track-heading);line-height:var(--lg-leading-snug)}.app-frame:not(.lg-student) .app-main .school-directory__heading p{color:var(--lg-ink-2);font-size:var(--lg-text-sm)}.app-frame:not(.lg-student) .app-main .class-directory__total{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--lg-space-3);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);white-space:nowrap}.app-frame:not(.lg-student) .app-main .finder{display:grid;gap:var(--lg-space-3);width:100%;min-width:0}.app-frame:not(.lg-student) .app-main .finder__field{min-width:0}.app-frame:not(.lg-student) .app-main .finder__field{width:100%;min-height:52px;padding:0 var(--lg-space-4);border:2px solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:none}.app-frame:not(.lg-student) .app-main .finder__field:focus-within{border-color:var(--lg-eco-blue);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}.app-frame:not(.lg-student) .app-main .finder__field input{width:100%;min-width:0;min-height:48px;color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm)}.app-frame:not(.lg-student) .app-main .finder__langs{display:flex;flex-wrap:wrap;gap:var(--lg-space-2)}.app-frame:not(.lg-student) .app-main .finder__langs button{display:inline-flex;align-items:center;gap:var(--lg-space-2);min-height:var(--lg-target);padding:0 var(--lg-space-4);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.app-frame:not(.lg-student) .app-main .finder__langs button:hover{border-color:var(--lg-eco-blue);color:var(--lg-eco-blue-ink)}.app-frame:not(.lg-student) .app-main .finder__langs button[aria-pressed=true],.app-frame:not(.lg-student) .app-main .finder__langs button.is-on{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-frame:not(.lg-student) .app-main .teacher-groups{display:grid;gap:0;margin-top:var(--lg-space-5)}.app-frame:not(.lg-student) .app-main .teacher-group{padding:var(--lg-space-5) 0;border-top:2px solid var(--lg-line)}.app-frame:not(.lg-student) .app-main .teacher-group:first-child{padding-top:0;border-top:0}.app-frame:not(.lg-student) .app-main .teacher-group__heading{display:flex;align-items:baseline;gap:var(--lg-space-3);margin:0 0 var(--lg-space-2)}.app-frame:not(.lg-student) .app-main .teacher-group__heading h3{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy)}.app-frame:not(.lg-student) .app-main .teacher-group__heading span{color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-frame:not(.lg-student) .app-main .school-class-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.app-frame:not(.lg-student) .app-main .school-class-card{display:grid;grid-template-columns:minmax(0,1fr) auto 120px;align-items:center;gap:var(--lg-space-4);padding:var(--lg-space-3) 0;border:0;border-bottom:2px solid var(--lg-line);border-radius:0;background:transparent;box-shadow:none;animation:classes-enter var(--lg-dur-base) var(--lg-ease-out) both}.app-frame:not(.lg-student) .app-main .school-class-card:hover{border-color:var(--lg-line);box-shadow:none}.app-frame:not(.lg-student) .app-main .school-class-card__top{display:flex;align-items:center;gap:var(--lg-space-3);min-width:0}.app-frame:not(.lg-student) .app-main .school-class-card__top>div{min-width:0}.app-frame:not(.lg-student) .app-main .school-class-card__top h3{overflow:visible;margin:0;color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.app-frame:not(.lg-student) .app-main .school-class-card__top p{margin:2px 0 0;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-frame:not(.lg-student) .app-main .school-class-card .class-code{padding:0;border:0;border-radius:0;background:none;display:flex;flex-wrap:wrap;height:auto;min-width:0;grid-column:2;grid-row:1;align-self:center;justify-self:start;width:auto;margin:0}.app-frame:not(.lg-student) .app-main .school-class-card .class-code code{min-width:0;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal;font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);letter-spacing:.02em}.app-frame:not(.lg-student) .app-main .school-class-card__top{grid-column:1;grid-row:1}.app-frame:not(.lg-student) .app-main .school-class-card__flag{border:0;background:transparent;box-shadow:none}.app-frame:not(.lg-student) .app-main .school-class-card__foot{grid-column:3;grid-row:1;display:flex;justify-content:flex-end;min-width:120px;margin:0;padding:0}@media(min-width:1024px){.app-frame:not(.lg-student) .app-main .school-class-card{grid-template-columns:minmax(0,1fr) 340px 120px}}.app-frame:not(.lg-student) .app-main .school-class-card__teacher{display:none}.app-frame:not(.lg-student) .app-main .school-class-card__open,.app-frame:not(.lg-student) .app-main .school-class-card__join{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none;color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy)}.app-frame:not(.lg-student) .app-main .school-class-card__open:hover,.app-frame:not(.lg-student) .app-main .school-class-card__join:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash)}@media(max-width:1023px){.app-frame:not(.lg-student) .app-main .class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.app-frame:not(.lg-student) .app-main .class-directory__heading{align-items:stretch;flex-direction:column}.app-frame:not(.lg-student) .app-main .class-directory__actions{width:100%}.app-frame:not(.lg-student) .app-main .class-directory__actions .button,.app-frame:not(.lg-student) .app-main .class-directory__actions .discover-class-entry{flex:1;justify-content:center}.app-frame:not(.lg-student) .app-main .class-grid{grid-template-columns:minmax(0,1fr)}.app-frame:not(.lg-student) .app-main .school-directory__heading{align-items:flex-start;flex-direction:column}.app-frame:not(.lg-student) .app-main .school-class-card{grid-template-columns:minmax(0,1fr);gap:var(--lg-space-3)}.app-frame:not(.lg-student) .app-main .school-class-card__top,.app-frame:not(.lg-student) .app-main .school-class-card .class-code,.app-frame:not(.lg-student) .app-main .school-class-card__foot{grid-column:1;grid-row:auto;justify-self:start}.app-frame:not(.lg-student) .app-main .school-class-card__foot{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.app-frame:not(.lg-student) .app-main .class-card,.app-frame:not(.lg-student) .app-main .school-class-card,.app-frame:not(.lg-student) .app-main .class-grid>.class-card:nth-child(n){animation-name:classes-fade;animation-duration:.16s;animation-delay:0ms}}:root[data-motion=reduced] .app-frame:not(.lg-student) .app-main .class-card,:root[data-motion=reduced] .app-frame:not(.lg-student) .app-main .school-class-card{animation-name:classes-fade;animation-duration:.16s;animation-delay:0ms}:is(.lg-student,.app-main) .finder__field input:is(:focus,:focus-visible){outline:none;box-shadow:none}.class-code{position:relative;z-index:1;display:inline-flex;align-items:center;gap:var(--lg-space-3);width:fit-content;max-width:100%;min-height:52px;margin-top:var(--lg-space-4);padding:0 var(--lg-space-2) 0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink-2)}.class-code__label{color:var(--lg-ink-2);font:var(--lg-weight-strong) var(--lg-text-xs)/1 var(--lg-font)}.class-code code{overflow:hidden;color:var(--lg-ink);font-family:var(--vc-mono);font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy);letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap}.class-code button{display:inline-flex;min-width:44px;height:44px;flex:0 0 auto;align-items:center;justify-content:center;gap:var(--lg-space-1);padding:0 var(--lg-space-3);border:0;border-radius:calc(var(--lg-radius-md) - var(--lg-space-1));background:transparent;box-shadow:none;color:var(--lg-eco-blue-ink);font:var(--lg-weight-strong) var(--lg-text-sm)/1 var(--lg-font);cursor:pointer;transition:scale var(--lg-dur-instant) var(--lg-ease-out),background-color var(--lg-dur-fast),color var(--lg-dur-fast)}.class-code button:hover{background:transparent;color:var(--lg-eco-blue)}.class-code button:active{scale:var(--lg-press-scale)}.class-code button[data-copied]{background:var(--lg-correct-wash);color:var(--lg-correct-ink)}.class-code button:focus-visible{outline:none;box-shadow:var(--lg-focus)}.class-code--compact{margin-top:0;min-height:44px;border-color:transparent;background:var(--lg-canvas)}.class-code--compact .class-code__label{font-size:var(--lg-text-xs)}.class-code--compact code{font-size:var(--lg-text-sm)}.class-code--compact button{width:44px;padding:0}@media(max-width:480px){.class-code{gap:var(--lg-space-2);max-width:100%}.class-code__label{display:none}}@media(prefers-reduced-motion:reduce){.class-code button,.class-code button:active{transition:none;scale:none}}:is(.app-main,.lg-student) .class-code .class-code__copy:hover:not(:disabled){color:var(--lg-eco-blue)}:is(.app-main,.lg-student) .class-code .class-code__copy:hover:not(:disabled) .class-code__copy-text{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.school-page{width:min(var(--lg-content),100%);margin:0 auto;display:grid;gap:var(--lg-space-6);color:var(--lg-ink)}.school-page__header h1{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-2xl);font-weight:900;line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-display)}.school-page__header p,.school-page__form>p{margin:var(--lg-space-2) 0 0;color:var(--lg-ink-3);font-size:var(--lg-text-sm);line-height:var(--lg-leading-body)}.school-page__columns{display:grid;gap:var(--lg-gutter);align-items:start}@media(min-width:640px){.school-page__columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.school-page__section,.school-page__form{min-width:0;display:grid;gap:var(--lg-space-3);padding:var(--lg-space-5);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface)}.school-page__section h2,.school-page__form h2{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;line-height:var(--lg-leading-snug);letter-spacing:var(--lg-track-heading)}.school-page__list{display:grid;gap:var(--lg-space-3);margin:0;padding:0;list-style:none}.school-page__item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--lg-space-3);padding:var(--lg-space-4);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md)}.school-page__item>div:first-child{display:grid;gap:3px;min-width:0}.school-page__item span,.school-page__item q{color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.school-page__item .school-page__status{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--lg-space-3);border-radius:var(--lg-radius-pill);background:var(--lg-spark-wash);color:var(--lg-spark-ink);font-size:var(--lg-text-xs);font-weight:700}.school-page__item.is-approved .school-page__status{background:var(--lg-correct-wash);color:var(--lg-correct-ink)}.school-page__item.is-declined .school-page__status,.school-page__item.is-withdrawn .school-page__status{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.school-page__actions{display:flex;flex-wrap:wrap;gap:var(--lg-space-2)}.school-page__form label{margin-top:var(--lg-space-1);font-size:var(--lg-text-sm);font-weight:800}.school-page__form label span{color:var(--lg-ink-3);font-weight:500}.school-page__form select,.school-page__form textarea{width:100%;min-width:0;min-height:var(--lg-target-lg);padding:var(--lg-space-3) var(--lg-space-4);border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font:inherit;font-size:var(--lg-text-sm)}.school-page__form select:disabled{cursor:not-allowed;opacity:.55}.school-page .button{min-height:var(--lg-target);padding:0 var(--lg-space-5);border:var(--lg-border) solid var(--lg-eco-blue);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue);box-shadow:none;color:#fff;font-size:var(--lg-text-sm);font-weight:800;transition:background-color var(--lg-dur-fast) var(--lg-ease-out),border-color var(--lg-dur-fast) var(--lg-ease-out)}.school-page .button:hover:not(:disabled){border-color:var(--lg-eco-blue-press);background:var(--lg-eco-blue-press);color:#fff;box-shadow:none;transform:none}.school-page .button:active:not(:disabled){box-shadow:none;transform:scale(var(--lg-press-scale))}.school-page .button:disabled{box-shadow:none;opacity:.55}.school-page .button--quiet{border-color:var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-eco-blue-ink)}.school-page .button--quiet:hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.school-page :where(a,button,select,textarea):focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}.school-page__empty{display:grid;justify-items:start;gap:var(--lg-space-3);margin:0;color:var(--lg-ink-3);font-size:var(--lg-text-sm)}.school-page__empty p{margin:0}.school-page__error,.school-page__notice{margin:0;padding:var(--lg-space-3) var(--lg-space-4);border-radius:var(--lg-radius-md);font-size:var(--lg-text-sm);font-weight:700}.school-page__error{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.school-page__notice{background:var(--lg-correct-wash);color:var(--lg-correct-ink)}@media(prefers-reduced-motion:reduce){.school-page .button{transition:none}}.goal-students{margin-top:var(--lg-space-6, 24px)}.goal-students__heading h3{margin:0;font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy);color:var(--lg-ink)}.goal-students__heading p,.goal-students__note,.goal-students__empty,.goal-students__loading{margin:var(--lg-space-1) 0 0;font-size:var(--lg-text-sm);line-height:var(--lg-leading-body);color:var(--lg-ink-2)}.goal-students__loading{display:flex;align-items:center;gap:var(--lg-space-2);padding:var(--lg-space-3) 0}.goal-students__goals,.goal-students__list{margin:var(--lg-space-4) 0 0;padding:0;list-style:none}.goal-students__goal+.goal-students__goal{margin-top:var(--lg-space-2)}.goal-students__goal details{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface)}.goal-students__goal summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--lg-space-2);min-height:var(--lg-target);padding:var(--lg-space-3) var(--lg-space-4);cursor:pointer;border-radius:inherit;list-style-position:inside}.goal-students__goal summary:focus-visible{outline:none;box-shadow:var(--lg-focus)}.goal-students__goal-name{font-weight:var(--lg-weight-heavy);color:var(--lg-ink)}.goal-students__counts{font-size:var(--lg-text-sm);color:var(--lg-ink-2);font-variant-numeric:tabular-nums}.goal-students__goal details[open]>:not(summary){margin-inline:var(--lg-space-4)}.goal-students__goal details[open]{padding-bottom:var(--lg-space-3)}.goal-students__student{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"avatar who status" "avatar action action";align-items:center;gap:var(--lg-space-1) var(--lg-space-3);padding:var(--lg-space-3) 0;border-top:1px solid var(--lg-line)}.goal-students__student img,.goal-students__initials{grid-area:avatar;align-self:start;width:32px;height:32px;border-radius:var(--lg-radius-pill);object-fit:cover}.goal-students__initials{display:grid;place-items:center;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.goal-students__who{grid-area:who;display:grid;min-width:0}.goal-students__who strong{overflow:hidden;color:var(--lg-ink);text-overflow:ellipsis;white-space:nowrap}.goal-students__who span{font-size:var(--lg-text-xs);line-height:var(--lg-leading-body);color:var(--lg-ink-2)}.goal-students__status{grid-area:status;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);color:var(--lg-ink);white-space:nowrap}.goal-students__student--done .goal-students__status{color:var(--lg-correct-ink)}.goal-students__student--behind .goal-students__status,.goal-students__student--missed .goal-students__status{color:var(--lg-wrong-ink)}.goal-students__action{grid-area:action;display:flex;flex-wrap:wrap;align-items:center;gap:var(--lg-space-2)}.goal-students__action:empty{display:none}.goal-students__action .lg-btn{min-height:var(--lg-target)}.goal-students__result{font-size:var(--lg-text-xs);color:var(--lg-ink-2)}@media(min-width:720px){.goal-students__student{grid-template-columns:32px minmax(0,1fr) auto auto;grid-template-areas:"avatar who status action"}.goal-students__student img,.goal-students__initials{align-self:center}.goal-students__action{justify-content:flex-end;min-width:150px}}.content-draft{display:grid;gap:10px;margin:0 0 16px;padding:14px;border:1px solid var(--vc-purple-soft-2);border-radius:12px;background:var(--vc-purple-soft)}.content-draft h3{margin:0;font-size:var(--lg-text-sm)}.content-draft>p{margin:0;color:var(--vc-ink-2);font-size:var(--lg-text-xs);line-height:1.45}.content-draft__form{display:grid;gap:6px}.content-draft__form label{font-size:var(--lg-text-xs);font-weight:800}.content-draft__form input,.content-draft__form select{min-height:44px;padding:8px 10px;border:1px solid var(--vc-line-2);border-radius:10px;background:var(--vc-surface);color:var(--vc-ink);font:inherit;font-size:var(--lg-text-xs)}.content-draft__row{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.content-draft__row label{display:grid;gap:4px}.content-draft__primary,.content-draft__secondary{min-height:44px;padding:0 16px;border-radius:var(--vc-radius-pill);font:inherit;font-size:var(--lg-text-xs);font-weight:800;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),background-color .16s ease-out}.content-draft__primary{border:1px solid var(--vc-purple-dark);background:var(--vc-purple);color:var(--vc-surface)}.content-draft__primary:hover:not(:disabled){background:var(--vc-purple-dark)}.content-draft__secondary{border:1px solid var(--vc-line-2);background:var(--vc-surface);color:var(--vc-ink-2)}.content-draft__secondary:hover:not(:disabled){border-color:var(--vc-purple);color:var(--vc-purple-dark)}.content-draft__primary:active:not(:disabled),.content-draft__secondary:active:not(:disabled){transform:translateY(1px)}.content-draft__primary:disabled,.content-draft__secondary:disabled{cursor:not-allowed;opacity:.55}.content-draft__primary:focus-visible,.content-draft__secondary:focus-visible,.content-draft__form input:focus-visible,.content-draft__form select:focus-visible{outline:3px solid var(--vc-purple);outline-offset:2px}.content-draft__status{margin:0;min-height:1em;color:var(--vc-ink-2);font-size:var(--lg-text-xs)}.content-draft__error{margin:0;color:var(--vc-coral-dark);font-size:var(--lg-text-xs);font-weight:700}.content-draft__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.content-draft__list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--vc-line);border-radius:10px;background:var(--vc-surface)}.content-draft__list dl{display:grid;gap:2px;margin:0;min-width:0}.content-draft__list dl div{display:flex;gap:6px;font-size:var(--lg-text-xs)}.content-draft__list dt{color:var(--vc-ink-3);font-weight:700}.content-draft__list dd{margin:0;overflow-wrap:anywhere}.content-draft__actions{display:flex;gap:6px}@media(prefers-reduced-motion:reduce){.content-draft__primary,.content-draft__secondary{transition:none}}.boss-quest-authoring{border-top:var(--lg-border) solid var(--lg-line);padding-top:var(--lg-space-3)}.boss-quest-authoring label{display:block;margin-bottom:var(--lg-space-2);font:var(--lg-weight-strong) var(--lg-text-sm)/1.3 var(--lg-font);color:var(--lg-ink)}.boss-quest-authoring textarea{width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:var(--lg-text-sm);color:var(--lg-ink)}.boss-quest-authoring p{margin:var(--lg-space-2) 0;font-size:var(--lg-text-xs);line-height:var(--lg-leading-body);color:var(--lg-ink-2)}.boss-quest-authoring__actions{display:flex;flex-wrap:wrap;gap:var(--lg-space-2)}.boss-quest-authoring button{min-height:44px}.boss-quest-authoring [role=alert]{color:var(--lg-wrong-ink)}.boss-quest-authoring :focus-visible{outline:none;box-shadow:var(--lg-focus)}.goal-prompt{display:grid;gap:var(--lg-space-5)}.goal-prompt__prompt{display:grid;gap:var(--lg-space-2)}.goal-prompt__prompt label{font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);color:var(--lg-ink)}.goal-prompt__prompt textarea{width:100%;min-height:96px;padding:var(--lg-space-3) var(--lg-space-4);border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font:inherit;line-height:var(--lg-leading-body);resize:vertical}.goal-prompt__prompt textarea:focus-visible{outline:none;border-color:var(--lg-eco-blue);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}.goal-prompt__prompt-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--lg-space-3)}.goal-prompt__prompt-row p{flex:1 1 260px;margin:0;font-size:var(--lg-text-xs);color:var(--lg-ink-2)}.goal-prompt__error{margin:0;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);color:var(--lg-wrong-ink)}.goal-prompt__reading{display:grid;gap:var(--lg-space-4);padding:var(--lg-space-5);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash)}.goal-prompt__reading h3{margin:0;font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy);letter-spacing:var(--lg-track-heading);line-height:var(--lg-leading-snug);color:var(--lg-ink)}.goal-prompt__tags{display:grid;gap:var(--lg-space-3);margin:0}.goal-prompt__tags>div{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:var(--lg-space-3)}.goal-prompt__tags dt{font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);color:var(--lg-ink-2)}.goal-prompt__tags dd{display:flex;flex-wrap:wrap;gap:var(--lg-space-2);margin:0}.goal-prompt__tag{display:inline-flex;align-items:center;gap:var(--lg-space-1);min-height:36px;padding:0 var(--lg-space-3);border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.goal-prompt__tag:has(button){padding-right:var(--lg-space-1)}.goal-prompt__tag--main{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue);color:#fff}.goal-prompt__tag button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.goal-prompt__tag button:hover{background:#161f3214}.goal-prompt__tag--main button:hover{background:#ffffff2e}.goal-prompt__tag button:focus-visible{outline:none;box-shadow:var(--lg-focus)}.goal-prompt__add-tag select{min-height:36px;padding:0 var(--lg-space-3);border:var(--lg-border) dashed var(--lg-ink-3);border-radius:var(--lg-radius-pill);background:transparent;color:var(--lg-ink-2);font:inherit;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);cursor:pointer}.goal-prompt__add-tag select:focus-visible{outline:none;box-shadow:var(--lg-focus)}.goal-prompt__aside{margin:0;font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.goal-prompt__aside s{text-decoration-thickness:2px;text-decoration-color:var(--lg-ink-3)}.goal-prompt__items{display:grid;gap:var(--lg-space-4)}.goal-prompt__items-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--lg-space-2) var(--lg-space-4)}.goal-prompt__items-head h3{margin:0;font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy);letter-spacing:var(--lg-track-heading)}.goal-prompt__verified{display:inline-flex;align-items:center;gap:var(--lg-space-2);margin:0;font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);color:var(--lg-correct-ink)}.goal-prompt__group{display:grid;gap:var(--lg-space-2)}.goal-prompt__group h4{display:flex;align-items:center;gap:var(--lg-space-2);margin:0;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy)}.goal-prompt__group h4:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--dot)}.goal-prompt__group h4 span{font-weight:var(--lg-weight-strong);color:var(--lg-ink-3)}.goal-prompt__group--verb{--dot: var(--lg-cat-verb)}.goal-prompt__group--word{--dot: var(--lg-cat-vocab)}.goal-prompt__group ul{display:grid;gap:var(--lg-space-2);margin:0;padding:0;list-style:none}.goal-prompt__row{display:flex;align-items:center;justify-content:space-between;gap:var(--lg-space-3);padding:var(--lg-space-2) var(--lg-space-2) var(--lg-space-2) var(--lg-space-4);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-tile);background:var(--lg-surface);transition:background-color var(--lg-dur-fast) var(--lg-ease-out),border-color var(--lg-dur-fast) var(--lg-ease-out)}.goal-prompt__row p{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--lg-space-2);min-width:0;margin:0}.goal-prompt__row strong{font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy);overflow-wrap:anywhere}.goal-prompt__row p span{font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.goal-prompt__row[data-choice=no]{border-color:transparent;background:var(--lg-canvas)}.goal-prompt__row[data-choice=no] p,.goal-prompt__row[data-choice=no] p span{color:var(--lg-ink-3)}.goal-prompt__row[data-choice=no] strong{text-decoration:line-through;text-decoration-thickness:2px}.goal-prompt__yn{display:inline-flex;flex:none;gap:4px;padding:4px;border-radius:var(--lg-radius-md);background:var(--lg-line)}.goal-prompt__yn button{display:inline-flex;align-items:center;justify-content:center;gap:var(--lg-space-1);min-width:64px;min-height:var(--lg-target);padding:0 var(--lg-space-3);border:0;border-radius:12px;background:transparent;color:var(--lg-ink-2);font:inherit;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);cursor:pointer;transition:background-color var(--lg-dur-fast) var(--lg-ease-out),color var(--lg-dur-fast) var(--lg-ease-out)}.goal-prompt__yn button:focus-visible{outline:none;box-shadow:var(--lg-focus)}.goal-prompt__yn button[value=yes][aria-pressed=true]{background:var(--lg-correct);color:#fff}.goal-prompt__yn button[value=no][aria-pressed=true]{background:var(--lg-surface);color:var(--lg-wrong-ink);box-shadow:0 2px 0 var(--lg-line-strong)}.goal-prompt__count{margin:0;font-size:var(--lg-text-sm);color:var(--lg-ink-2)}.goal-prompt__count strong{color:var(--lg-ink)}.goal-prompt__add{display:flex;flex-wrap:wrap;gap:var(--lg-space-2)}.goal-prompt__add input{flex:1 1 220px;min-height:var(--lg-target);padding:0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font:inherit}.goal-prompt__add input:focus-visible{outline:none;border-color:var(--lg-eco-blue);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}@media(max-width:639.98px){.goal-prompt__tags>div{grid-template-columns:minmax(0,1fr);gap:var(--lg-space-2)}.goal-prompt__row{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){.goal-prompt__row,.goal-prompt__yn button{transition-duration:0ms}}:root[data-motion=reduced] .goal-prompt__row,:root[data-motion=reduced] .goal-prompt__yn button{transition-duration:0ms}@keyframes tp-enter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}@keyframes tp-fade{0%{opacity:0}to{opacity:1}}.app-main .teacher-page.tp-workspace{max-width:var(--lg-content);margin:0 auto;padding:0 var(--lg-margin);color:var(--lg-ink)}.app-main .teacher-page.tp-workspace .back-link{min-height:var(--lg-target);margin:0;padding:0;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);transition:color var(--lg-dur-fast) ease}.app-main .teacher-page.tp-workspace .back-link:hover{color:var(--lg-eco-blue-ink);transform:none}.app-main .teacher-page.tp-workspace .back-link:hover svg{transform:translate(-2px)}.app-main .teacher-page.tp-workspace .workspace-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--lg-gutter);row-gap:var(--lg-space-2);align-items:center;margin:0;padding:var(--lg-space-3) 0 var(--lg-space-5);border:0}.app-main .teacher-page.tp-workspace .workspace-hero__identity,.app-main .teacher-page.tp-workspace .workspace-hero__identity>div,.app-main .teacher-page.tp-workspace .workspace-hero__aside{display:contents}.app-main .teacher-page.tp-workspace .language-token{grid-column:1;grid-row:1;align-self:start;width:56px;height:56px;background:transparent;color:inherit}.app-main .teacher-page.tp-workspace .workspace-hero h1{grid-column:2 / span 7;grid-row:1;align-self:end;max-width:none;margin:0;font-family:var(--lg-font-display);font-size:var(--lg-text-2xl);font-weight:var(--lg-weight-display);letter-spacing:var(--lg-track-display);line-height:var(--lg-leading-tight)}.app-main .teacher-page.tp-workspace .workspace-hero__subtitle{grid-column:2 / span 7;grid-row:2;align-self:start;margin:0;color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-body)}.app-main .teacher-page.tp-workspace .workspace-hero .class-code{grid-column:9 / span 4;grid-row:1;align-self:start;justify-self:end;max-width:100%;min-height:var(--lg-target);padding:0 var(--lg-space-2) 0 var(--lg-space-3);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none}.app-main .teacher-page.tp-workspace .workspace-hero .class-code__label{display:inline;color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.app-main .teacher-page.tp-workspace .workspace-hero .class-code code{font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);letter-spacing:.04em;overflow-wrap:anywhere}.app-main .teacher-page.tp-workspace .workspace-hero__actions{grid-column:9 / span 4;grid-row:2;align-self:start;justify-self:end;display:flex;align-items:center;gap:var(--lg-space-2);margin:0}.app-main .teacher-page.tp-workspace .workspace-hero__actions .button{min-height:var(--lg-target)}.app-main .teacher-page.tp-workspace .workspace-hero .icon-button--hero{width:var(--lg-target);height:var(--lg-target);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink-2);transform:none}.app-main .teacher-page.tp-workspace .workspace-hero .icon-button--hero:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.app-main .teacher-page.tp-workspace .workspace-summary{grid-column:1 / -1;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-columns:auto;overflow:visible;margin:0;padding-top:var(--lg-space-4);border:0;border-top:2px solid var(--lg-line);border-radius:0;background:transparent}.app-main .teacher-page.tp-workspace .workspace-summary>span{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-height:0;padding:0 var(--lg-space-4);border:0}.app-main .teacher-page.tp-workspace .workspace-summary>span:first-child{padding-left:0}.app-main .teacher-page.tp-workspace .workspace-summary>span+span{border-left:2px solid var(--lg-line)}.app-main .teacher-page.tp-workspace .workspace-summary__metric svg{display:none}.app-main .teacher-page.tp-workspace .workspace-summary__metric strong{color:var(--lg-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-display);line-height:1.1;font-variant-numeric:tabular-nums}.app-main .teacher-page.tp-workspace .workspace-summary__metric small{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none;white-space:normal}.app-main .teacher-page.tp-workspace .workspace-summary__metric small:first-letter{text-transform:uppercase}.app-main .teacher-page.tp-workspace .workspace-tabs{margin:0;gap:var(--lg-space-6);border-bottom:2px solid var(--lg-line)}.app-main .teacher-page.tp-workspace .workspace-tabs__button{min-height:var(--lg-target);padding:0 2px;border-bottom:2px solid transparent;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);transition:border-color var(--lg-dur-fast) ease,color var(--lg-dur-fast) ease}.app-main .teacher-page.tp-workspace .workspace-tabs__button:hover{color:var(--lg-ink)}.app-main .teacher-page.tp-workspace .workspace-tabs__button.is-active{border-bottom-color:var(--lg-eco-blue);color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .workspace-tabs__button svg{opacity:1}.app-main .teacher-page.tp-workspace .workspace-panel{min-height:0;margin:0;padding:var(--lg-space-6) 0 var(--lg-space-5)}.app-main .teacher-page.tp-workspace .workspace-panel h2{font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-heavy);letter-spacing:var(--lg-track-heading);line-height:var(--lg-leading-snug)}.app-main .teacher-page.tp-workspace .panel-heading{margin-bottom:var(--lg-space-4)}.app-main .teacher-page.tp-workspace .panel-heading .button{min-height:var(--lg-target)}.app-main .teacher-page.tp-workspace .reveal-on-scroll{transform:translate3d(0,8px,0);transition:opacity var(--lg-dur-base) var(--lg-ease-out),transform var(--lg-dur-base) var(--lg-ease-out)}.app-main .teacher-page.tp-workspace .reveal-on-scroll.is-revealed{transform:none}.app-main .teacher-page.tp-workspace .notes-panel textarea{display:block;width:100%;min-height:200px;padding:var(--lg-space-4);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);line-height:var(--lg-leading-body);resize:vertical}.app-main .teacher-page.tp-workspace .notes-empty{display:flex;align-items:center;gap:var(--lg-space-4);margin-bottom:var(--lg-space-4);padding:var(--lg-space-4);border-radius:var(--lg-radius-md);background:var(--lg-canvas)}.app-main .teacher-page.tp-workspace .notes-empty img{flex:none;width:64px;height:auto}.app-main .teacher-page.tp-workspace .notes-empty strong{display:block;color:var(--lg-ink);font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy)}.app-main .teacher-page.tp-workspace .notes-empty p{margin:var(--lg-space-1) 0 0;color:var(--lg-ink-2);font-size:var(--lg-text-sm)}.app-main .teacher-page.tp-workspace .notes-panel textarea:focus{outline:0;border-color:var(--lg-eco-blue);box-shadow:var(--lg-focus)}.app-main .teacher-page.tp-workspace .notes-panel textarea:disabled{background:var(--lg-canvas);color:var(--lg-ink-2)}.app-main .teacher-page.tp-workspace .panel-footer{align-items:center;justify-content:space-between;margin-top:var(--lg-space-3)}.app-main .teacher-page.tp-workspace .panel-footer .button{min-height:var(--lg-target)}.app-main .teacher-page.tp-workspace .save-state{color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);line-height:var(--lg-leading-ui)}.app-main .teacher-page.tp-workspace .save-state.is-saved{color:var(--lg-correct-ink);animation:none}.app-main .teacher-page.tp-workspace .student-grid{display:block;min-height:0;padding:0;border-top:2px solid var(--lg-line);border-bottom:0}.app-main .teacher-page.tp-workspace .student-row{width:auto;border-bottom:2px solid var(--lg-line);animation:tp-enter var(--lg-dur-base) var(--lg-ease-out) both;animation-delay:calc(min(var(--motion-index, 0),8) * var(--lg-stagger))}.app-main .teacher-page.tp-workspace .student-card{display:flex;align-items:center;gap:var(--lg-space-3);width:100%;min-height:var(--lg-target-lg);padding:var(--lg-space-2) var(--lg-space-2);color:var(--lg-ink);text-align:left;text-decoration:none;transition:background-color var(--lg-dur-fast) ease}.app-main .teacher-page.tp-workspace .student-card:hover{background:var(--lg-canvas)}.app-main .teacher-page.tp-workspace .student-card:focus-visible{outline:0;box-shadow:var(--lg-focus)}.app-main .teacher-page.tp-workspace .student-card__avatar{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;overflow:hidden;border:0;border-radius:50%;background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);transition:none}.app-main .teacher-page.tp-workspace .student-card__avatar img{width:100%;height:100%;object-fit:cover}.app-main .teacher-page.tp-workspace .student-card:hover .student-card__avatar,.app-main .teacher-page.tp-workspace .student-card:focus-visible .student-card__avatar{transform:none;box-shadow:none}.app-main .teacher-page.tp-workspace .student-card__name{display:block;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);line-height:var(--lg-leading-ui);text-align:left;text-overflow:ellipsis;white-space:nowrap;-webkit-line-clamp:unset}.app-main .teacher-page.tp-workspace .student-card:hover .student-card__name,.app-main .teacher-page.tp-workspace .student-card:focus-visible .student-card__name{color:var(--lg-ink)}.app-main .teacher-page.tp-workspace .student-card__arrow{flex:0 0 auto;color:var(--lg-ink-3);transition:color var(--lg-dur-fast) ease}.app-main .teacher-page.tp-workspace .student-card:hover .student-card__arrow{color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav{padding:0;border:0;border-radius:0;background:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__row+.week-nav__row{margin-top:var(--lg-space-3);padding-top:0;border-top:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__months{position:relative;padding:var(--lg-space-1);scroll-padding-inline:var(--lg-space-1)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__arrow{width:var(--lg-target);height:var(--lg-target);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink-2);box-shadow:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__arrow:hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month{min-height:var(--lg-target);padding:var(--lg-space-1) var(--lg-space-3);border:2px solid transparent;border-radius:var(--lg-radius-pill);color:var(--lg-ink-2)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month:hover:not(:disabled){background:var(--lg-canvas);color:var(--lg-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month.is-current{border-color:transparent;background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month.is-current small{color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month strong{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month small{color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day{min-height:72px;border:2px solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);box-shadow:none;transform:none}@media(hover:hover){.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day:hover:not(:disabled):not(.is-selected){border-color:var(--lg-eco-blue);background:var(--lg-surface)}}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-selected{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-ink);box-shadow:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-selected .week-nav__day-number{color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-today:not(.is-selected){box-shadow:inset 0 -3px 0 var(--lg-eco-blue)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-number{font-family:var(--lg-font-display);font-weight:var(--lg-weight-display)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-name,.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-short,.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-count{color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-selected .week-nav__day-name,.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-selected .week-nav__day-count{color:var(--lg-ink-2)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.has-goals .week-nav__day-count{color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel :is(.week-nav__day-short,.week-nav__legend){display:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-results__scene{display:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lanes{gap:var(--lg-space-6) var(--lg-space-5);margin-top:var(--lg-space-5)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lane+.goal-lane{padding:0;border:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lane__heading{padding:0 0 var(--lg-space-3);border-bottom:2px solid var(--lg-line)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lane__heading h3{font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-add{min-height:var(--lg-target);padding:0 var(--lg-space-2);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lane__empty{display:block;min-height:0;margin:0;padding:var(--lg-space-5) 0;border:0;border-radius:0;background:transparent;color:var(--lg-ink-3);font-size:var(--lg-text-sm);text-align:left}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--lg-space-3);margin-top:var(--lg-space-3)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card{gap:var(--lg-space-3);padding:var(--lg-space-4);border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none;animation:tp-enter var(--lg-dur-base) var(--lg-ease-out) both;animation-delay:calc(min(var(--motion-index, 0),8) * var(--lg-stagger))}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card:hover{box-shadow:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card:focus-within{border-color:var(--lg-eco-blue)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card.is-incomplete{border-color:var(--lg-wrong-soft);background:var(--lg-surface)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__image-wrap{display:block;border-radius:var(--lg-radius-md);overflow:hidden}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__kind{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__target{padding:2px 8px;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);letter-spacing:0;text-transform:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__state{color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__state-dot{background:var(--lg-correct)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__state.is-warning{color:var(--lg-wrong-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__state.is-warning .goal-card__state-dot{background:var(--lg-wrong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__title{min-height:var(--lg-target);color:var(--lg-ink);font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__title:hover{color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__game-name{color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__sets a{border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__sets a:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__footer{gap:var(--lg-space-3);padding-top:var(--lg-space-3);border-top:2px solid var(--lg-line)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__summary{gap:var(--lg-space-5)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__metric{gap:2px}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__metric strong{color:var(--lg-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-lg);font-weight:var(--lg-weight-display);font-variant-numeric:tabular-nums}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__metric>span{color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__actions{gap:var(--lg-space-2)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit,.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__print{position:relative;justify-content:center;width:var(--lg-target);min-width:var(--lg-target);height:var(--lg-target);min-height:var(--lg-target);padding:0;border:2px solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);transition:border-color var(--lg-dur-fast) ease,background-color var(--lg-dur-fast) ease,color var(--lg-dur-fast) ease}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit>span,.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__print>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit:hover,.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__print:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit.is-primary{width:auto;padding:0 var(--lg-space-4);border-color:var(--lg-eco-blue);background:var(--lg-eco-blue);color:#fff}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit.is-primary>span{position:static;width:auto;height:auto;overflow:visible;clip:auto}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card__edit.is-primary:hover{background:var(--lg-eco-blue-press);color:#fff}.app-main .teacher-page.tp-workspace .teacher-plan-panel :is(button,a):focus-visible{outline:0;box-shadow:var(--lg-focus)}.app-main .teacher-page.tp-workspace .progress-board{border-top:0}.app-main .teacher-page.tp-workspace .progress-board__heading{min-height:0;margin-bottom:var(--lg-space-3)}.app-main .teacher-page.tp-workspace .progress-board__heading h3{font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy)}.app-main .teacher-page.tp-workspace .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--lg-space-4);padding-top:var(--lg-space-4);border:0;border-top:2px solid var(--lg-line)}.app-main .teacher-page.tp-workspace .metric{min-height:0;padding:0;border:0;gap:var(--lg-space-1);animation:tp-enter var(--lg-dur-base) var(--lg-ease-out) both;animation-delay:calc(min(var(--motion-index, 0),8) * var(--lg-stagger))}.app-main .teacher-page.tp-workspace .metric>span{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.app-main .teacher-page.tp-workspace .metric strong{display:block;color:var(--lg-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-display);line-height:1.1;font-variant-numeric:tabular-nums;animation:none}.app-main .teacher-page.tp-workspace .panel-link{min-height:var(--lg-target);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .panel-link:hover{color:var(--lg-eco-blue-press);transform:none}.app-main .teacher-page.tp-workspace .panel-link:hover svg{transform:none}.app-main .teacher-page.tp-workspace .progress-note{color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.app-main .teacher-page.tp-workspace .settings-popover{border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);animation:tp-enter var(--lg-dur-base) var(--lg-ease-out) both}body:has(.goal-edit-backdrop){overflow:hidden}body:has(.goal-edit-backdrop) #root{visibility:hidden}.dialog-backdrop.goal-edit-backdrop{padding:0;place-items:stretch;background:var(--lg-surface)}.dialog-backdrop.goal-edit-backdrop .create-dialog.goal-edit-dialog{width:100%;height:100dvh;max-height:none;padding:0;border:0;border-radius:0}.dialog-backdrop.goal-edit-backdrop .goal-edit-dialog>:is(.goal-edit__header,.goal-edit__hero,.goal-edit__body,.goal-edit__footer){padding-inline:max(20px,calc((100% - 1080px)/2 + 30px))}.dialog-backdrop .create-dialog.new-goal,.dialog-backdrop .create-dialog.goal-edit-dialog{border:2px solid var(--lg-line);border-radius:var(--lg-radius-xl);background:var(--lg-surface);box-shadow:none}.dialog-backdrop .create-dialog.new-goal .new-goal__fields input,.dialog-backdrop .create-dialog.new-goal .new-goal__fields select,.dialog-backdrop .create-dialog.new-goal .new-goal__search,.dialog-backdrop .create-dialog.goal-edit-dialog input,.dialog-backdrop .create-dialog.goal-edit-dialog select{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink)}.dialog-backdrop .create-dialog.new-goal .new-goal__fields input:focus-visible,.dialog-backdrop .create-dialog.new-goal .new-goal__fields select:focus-visible,.dialog-backdrop .create-dialog.new-goal .new-goal__search:focus-visible,.dialog-backdrop .create-dialog.goal-edit-dialog input:focus-visible,.dialog-backdrop .create-dialog.goal-edit-dialog select:focus-visible{outline:0;border-color:var(--lg-eco-blue);box-shadow:var(--lg-focus)}.dialog-backdrop .create-dialog.new-goal .new-goal__fields input[aria-invalid=true],.dialog-backdrop .create-dialog.goal-edit-dialog input[aria-invalid=true]{border-color:var(--lg-wrong-ink)}.dialog-backdrop .create-dialog.new-goal .new-goal__switches,.dialog-backdrop .create-dialog.new-goal .new-goal__words{border-color:var(--lg-line-strong);background:var(--lg-canvas)}@media(min-width:1200px){.app-main .teacher-page.tp-workspace .workspace-hero{grid-template-columns:56px minmax(0,1fr) auto auto}.app-main .teacher-page.tp-workspace .workspace-hero h1{font-size:var(--lg-text-xl)}.app-main .teacher-page.tp-workspace .workspace-hero h1{grid-column:2;grid-row:1}.app-main .teacher-page.tp-workspace .workspace-hero__subtitle{grid-column:2;grid-row:2}.app-main .teacher-page.tp-workspace .workspace-hero .class-code{grid-column:3;grid-row:1}.app-main .teacher-page.tp-workspace .workspace-hero__actions{grid-column:4;grid-row:1}}@media(max-width:1023px){.app-main .teacher-page.tp-workspace .workspace-hero{grid-template-columns:auto minmax(0,1fr)}.app-main .teacher-page.tp-workspace .workspace-hero h1{grid-column:2 / -1}.app-main .teacher-page.tp-workspace .workspace-hero__subtitle{grid-column:1 / -1;grid-row:2}.app-main .teacher-page.tp-workspace .workspace-hero .class-code{grid-column:1 / -1;grid-row:3;justify-self:start}.app-main .teacher-page.tp-workspace .workspace-hero__actions{grid-column:1 / -1;grid-row:4;justify-self:start}.app-main .teacher-page.tp-workspace .workspace-summary{grid-row:5}}@media(max-width:1023px){.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__days{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));overflow:visible}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__days li{min-width:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day{padding-inline:2px}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-short{display:block}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__months{--months-shown: 5;gap:0}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__month{flex-basis:calc(100% / var(--months-shown))}}@media(max-width:719px){.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__row{gap:var(--lg-space-1)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__months{--months-shown: 3}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__row--days{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"days days days" "prev legend next";row-gap:var(--lg-space-2)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__row--days>.week-nav__arrow:first-child{grid-area:prev}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__row--days>.week-nav__arrow:last-child{grid-area:next}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__days{grid-area:days;gap:0;margin-inline:calc(-1 * var(--lg-space-4))}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__legend{grid-area:legend;display:flex;align-items:center;justify-content:center;gap:var(--lg-space-2);color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__legend:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lg-eco-blue)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day{min-height:60px;padding:var(--lg-space-1) 0 var(--lg-space-3);border-color:transparent;background:none}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.is-selected{border-color:transparent;background:var(--lg-eco-blue-wash)}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-main .teacher-page.tp-workspace .teacher-plan-panel .week-nav__day.has-goals:after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;border-radius:50%;background:var(--lg-eco-blue);translate:-50% 0}}@media(max-width:639px){.app-main .teacher-page.tp-workspace .workspace-hero h1{font-size:var(--lg-text-xl)}.app-main .teacher-page.tp-workspace .language-token{width:48px;height:48px}.app-main .teacher-page.tp-workspace .workspace-summary>span{padding:0 var(--lg-space-3)}.app-main .teacher-page.tp-workspace .workspace-tabs{gap:var(--lg-space-3);justify-content:space-between}.app-main .teacher-page.tp-workspace .workspace-tabs__button{font-size:var(--lg-text-sm)}.app-main .teacher-page.tp-workspace .workspace-tabs__button svg{display:none}.app-main .teacher-page.tp-workspace .workspace-hero .class-code__label{white-space:nowrap}.app-main .teacher-page.tp-workspace .workspace-hero .class-code{flex-wrap:wrap;row-gap:var(--lg-space-1);height:auto;border-radius:var(--lg-radius-md);padding:var(--lg-space-2) var(--lg-space-2) var(--lg-space-2) var(--lg-space-3)}.app-main .teacher-page.tp-workspace .workspace-hero .class-code>button{order:0}.app-main .teacher-page.tp-workspace .workspace-hero .class-code code{order:1;flex:1 0 100%;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.app-main .teacher-page.tp-workspace .progress-board__heading{flex-direction:column;align-items:flex-start;gap:var(--lg-space-1)}.app-main .teacher-page.tp-workspace .panel-footer{align-items:stretch;flex-direction:column-reverse}.app-main .teacher-page.tp-workspace .panel-footer .button{width:100%}.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-lanes{grid-template-columns:minmax(0,1fr);gap:var(--lg-space-6)}.app-main .teacher-page.tp-workspace .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lg-space-5) var(--lg-space-4)}}@media(prefers-reduced-motion:reduce){.app-main .teacher-page.tp-workspace .student-row,.app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card,.app-main .teacher-page.tp-workspace .metric,.app-main .teacher-page.tp-workspace .settings-popover{animation-name:tp-fade;animation-duration:.16s;animation-delay:0ms}.app-main .teacher-page.tp-workspace .reveal-on-scroll{transform:none;transition:opacity .16s ease-out}}:root[data-motion=reduced] .app-main .teacher-page.tp-workspace .student-row,:root[data-motion=reduced] .app-main .teacher-page.tp-workspace .teacher-plan-panel .goal-card,:root[data-motion=reduced] .app-main .teacher-page.tp-workspace .metric,:root[data-motion=reduced] .app-main .teacher-page.tp-workspace .settings-popover{animation-name:tp-fade;animation-duration:.16s;animation-delay:0ms}:root[data-motion=reduced] .app-main .teacher-page.tp-workspace .reveal-on-scroll{transform:none;transition:opacity .16s ease-out}.printable-page{min-height:100dvh;padding:24px;background:var(--lg-canvas);color:var(--lg-ink);font-family:var(--lg-font);font-weight:var(--lg-weight-body)}.printable-toolbar{width:min(var(--lg-content),100%);margin:0 auto 18px;display:flex;align-items:center;gap:12px}.printable-back,.printable-controls,.printable-print-button{display:inline-flex;align-items:center;gap:7px}.printable-back{color:var(--lg-ink);font-weight:var(--lg-weight-strong);text-decoration:none;margin-right:auto;transition:color var(--lg-dur-fast) ease,transform var(--lg-dur-fast) ease}.printable-back:hover{color:var(--lg-eco-blue-ink);transform:translate(-2px)}.printable-controls{padding:8px 10px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-controls input{width:54px;border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);padding:5px;font:inherit}.printable-count-control{display:inline-flex;align-items:center;overflow:hidden;border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface)}.printable-count-control input{width:42px;border:0;border-radius:0;padding:5px 2px;text-align:center}.printable-count-control button{width:28px;height:29px;padding:0;border:0;border-radius:0;background:transparent;color:var(--lg-ink);font-size:var(--lg-text-md);line-height:1}.printable-count-control button:hover:not(:disabled){background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.printable-count-control button:focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:-2px}.printable-controls button,.printable-print-button{min-height:42px;padding:0 16px;border:var(--lg-border) solid var(--lg-eco-blue);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue);color:#fff;font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);cursor:pointer;transition:transform var(--lg-dur-instant) ease,background-color var(--lg-dur-fast) ease}.printable-controls button:hover:not(:disabled),.printable-print-button:hover:not(:disabled){background:var(--lg-eco-blue-press);border-color:var(--lg-eco-blue-press)}.printable-controls button:active:not(:disabled),.printable-print-button:active:not(:disabled){transform:translateY(2px) scale(.98)}.printable-controls button:focus-visible,.printable-print-button:focus-visible,.printable-back:focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}.printable-controls--workflow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.printable-controls--workflow button:disabled,.printable-print-button:disabled{opacity:.5;cursor:not-allowed}.printable-status{padding:5px 8px;border-radius:var(--lg-radius-sm);background:var(--lg-correct-wash);color:var(--lg-correct-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);font-variant-numeric:tabular-nums}.printable-print-button{background:var(--lg-eco-blue)}.printable-workflow-error{width:min(var(--lg-content),100%);margin:0 auto 12px;color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-sheet{width:min(var(--lg-content),100%);margin:0 auto;padding:52px 64px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface)}.printable-header{position:relative;padding-bottom:28px;border-bottom:var(--lg-border) solid var(--lg-ink)}.printable-brand{color:var(--lg-ink);font-size:var(--lg-text-md);font-weight:var(--lg-weight-display);letter-spacing:var(--lg-track-heading)}.printable-brand span{color:var(--lg-eco-blue-ink)}.printable-header h1{margin:0;max-width:760px;font-family:var(--lg-font);font-size:var(--lg-text-2xl);font-weight:var(--lg-weight-display);line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-display)}.printable-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-meta>span{padding:6px 10px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-sm);background:var(--lg-canvas)}.printable-identity{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(120px,.6fr));gap:26px;margin-top:28px;padding-top:22px;border-top:var(--lg-border) solid var(--lg-line)}.printable-identity div{display:grid;gap:7px}.printable-identity small{color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-identity strong{min-height:24px;font-size:var(--lg-text-sm)}.printable-sections{display:grid;gap:0;padding-top:14px}.printable-section{--section-accent: var(--lg-eco-blue);padding:30px 0 34px;border-bottom:var(--lg-border) solid var(--lg-line);break-inside:avoid}.printable-section--cloze{--section-accent: var(--lg-cat-listen)}.printable-section--reading{--section-accent: var(--lg-ink-2)}.printable-section__heading{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-bottom:20px;padding-bottom:16px;border-bottom:var(--lg-border) solid var(--lg-line)}.printable-section__heading>div{display:flex;align-items:baseline;gap:10px;min-width:0}.printable-section__index{flex:0 0 auto;color:var(--section-accent);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);font-variant-numeric:tabular-nums}.printable-section h2{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-heavy);line-height:var(--lg-leading-ui);letter-spacing:var(--lg-track-heading)}.printable-section__heading p{max-width:390px;margin:0;padding:9px 12px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-sm);background:var(--lg-canvas);color:var(--lg-ink-2);font-size:var(--lg-text-xs);line-height:var(--lg-leading-snug);text-align:right}.printable-connect{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:32px}.printable-list{display:grid;gap:9px}.printable-row{display:grid;grid-template-columns:25px minmax(0,1fr) 48px;align-items:center;gap:7px;min-height:28px;font-size:var(--lg-text-sm)}.printable-list--options .printable-row{grid-template-columns:25px minmax(0,1fr)}.printable-row b,.printable-reorder-row>b,.printable-cloze-row>b,.printable-reading__question>b{display:grid;width:25px;height:25px;place-items:center;border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);font-variant-numeric:tabular-nums}.printable-row i,.printable-cloze-row i,.printable-reading__question i{display:block;height:18px;border-bottom:var(--lg-border) solid var(--lg-line-strong)}.printable-reorder{display:grid;gap:18px}.printable-reorder-row{display:grid;gap:8px}.printable-reorder-row>b{display:grid}.printable-token-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px;padding:5px 0 3px}.printable-token-line .printable-token{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);font-size:var(--lg-text-xs);line-height:var(--lg-leading-ui)}.printable-token-separator{display:none}.printable-answer-line{height:29px;border-bottom:var(--lg-border) solid var(--lg-line-strong)}.printable-cloze{display:grid;gap:13px}.printable-cloze-row{display:grid;grid-template-columns:25px minmax(0,1fr) minmax(120px,230px);align-items:end;gap:8px;min-height:30px;font-size:var(--lg-text-sm)}.printable-cloze-story{display:grid;gap:20px}.printable-cloze-story__copy{padding:20px 22px 19px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-canvas)}.printable-cloze-story__copy h3{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:var(--lg-weight-heavy);line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-heading)}.printable-cloze-story__copy>p:first-of-type{margin:8px 0 18px;color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-cloze-story__paragraph{margin:0 0 13px;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-body);line-height:1.75}.printable-cloze-story__paragraph:last-child{margin-bottom:0}.printable-cloze-story__segment{display:inline}.printable-cloze-story__blank{display:inline-block;min-width:104px;height:21px;margin:0 5px;border-bottom:2px solid var(--lg-ink-2);vertical-align:baseline}.printable-cloze-keyset{display:grid;gap:8px;padding:16px 18px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-canvas)}.printable-cloze-keyset>strong{color:var(--lg-correct-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}.printable-cloze-keyset>span{color:var(--lg-ink-2);font-size:var(--lg-text-xs)}.printable-cloze-keyset>div{display:flex;flex-wrap:wrap;gap:7px}.printable-keyset-word{display:inline-flex;min-height:29px;align-items:center;padding:4px 10px;border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.printable-reading__text{margin:0 0 22px;padding:18px 20px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-canvas);font-size:var(--lg-text-md);font-weight:var(--lg-weight-body);line-height:1.7}.printable-reading__questions{display:grid;gap:17px}.printable-reading__question{display:grid;grid-template-columns:25px 1fr;gap:8px;font-size:var(--lg-text-sm)}.printable-reading__question>div{display:grid;gap:12px}.printable-state{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--lg-ink);background:var(--lg-canvas)}.printable-state__wait{display:grid;justify-items:center;gap:12px}.printable-state.is-error{color:var(--lg-wrong-ink)}.printable-state a{color:inherit;font-weight:var(--lg-weight-heavy)}.printable-state h1{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-display);line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-display);text-align:center}.printable-state p{max-width:460px;margin:0;color:var(--lg-ink-2);text-align:center}[contenteditable=true]{border-radius:4px;outline:1px dashed transparent;transition:outline-color var(--lg-dur-fast) ease,background-color var(--lg-dur-fast) ease}[contenteditable=true]:hover{outline-color:var(--lg-line-strong)}[contenteditable=true]:focus{outline:2px solid var(--lg-eco-blue);outline-offset:3px;background:var(--lg-correct-wash)}@media(max-width:760px){.printable-page{padding:12px}.printable-toolbar{flex-wrap:wrap}.printable-controls{order:3;width:100%}.printable-controls--workflow{align-items:stretch}.printable-controls--workflow button{flex:1 1 auto}.printable-sheet{padding:32px 22px}.printable-header h1,.printable-state h1{font-size:var(--lg-text-xl)}.printable-identity,.printable-connect{grid-template-columns:1fr;gap:16px}.printable-section__heading{display:block}.printable-section__heading p{margin-top:12px;text-align:left}.printable-cloze-row{grid-template-columns:25px minmax(0,1fr)}.printable-cloze-row i{grid-column:2}.printable-cloze-story__copy{padding:16px}.printable-cloze-story__blank{min-width:78px}}@media print{@page{size:A4;margin:13mm}.no-print{display:none!important}*,*:before,*:after{animation:none!important;transition:none!important;box-shadow:none!important;text-shadow:none!important}.printable-page{padding:0;background:#fff;color:var(--lg-ink)}.printable-sheet{width:100%;padding:0;border:0;border-radius:0;background:#fff}.printable-header h1{font-size:var(--lg-text-xl)}.printable-sections{gap:0}.printable-section{padding:22px 0}.printable-section:nth-child(2),.printable-section:nth-child(3),.printable-section:nth-child(4){break-before:page}.printable-token-line .printable-token,.printable-cloze-story__copy,.printable-cloze-keyset,.printable-reading__text,.printable-section__heading p,.printable-meta>span{background:#fff}.printable-cloze-keyset{break-inside:avoid}}@media screen{#root>.printable-page{background:var(--lg-canvas);color:var(--lg-ink);font-family:var(--lg-font)}#root>.printable-page .printable-toolbar{align-items:center;flex-wrap:wrap;gap:var(--lg-space-3);margin-bottom:var(--lg-space-4)}#root>.printable-page .printable-back{min-height:var(--lg-target);color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}#root>.printable-page .printable-back:hover{color:var(--lg-eco-blue-ink);transform:none}#root>.printable-page .printable-controls--workflow{flex-wrap:wrap;padding:var(--lg-space-2) var(--lg-space-3);border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}#root>.printable-page .printable-status{display:inline-flex;align-items:center;gap:var(--lg-space-2);padding:var(--lg-space-1) var(--lg-space-3);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy)}#root>.printable-page .printable-status:before{width:8px;height:8px;border-radius:50%;background:var(--lg-ink-3);content:""}#root>.printable-page .printable-controls label{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}#root>.printable-page .printable-count-control{min-height:var(--lg-target);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md)}#root>.printable-page .printable-count-control input{min-height:40px;font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);font-variant-numeric:tabular-nums}#root>.printable-page .printable-count-control button{min-width:var(--lg-target);min-height:var(--lg-target);width:auto;height:auto;border:0;border-radius:0;background:var(--lg-surface);box-shadow:none;color:var(--lg-ink-2);font-size:var(--lg-text-md)}#root>.printable-page .printable-count-control button:hover:not(:disabled){background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}#root>.printable-page .printable-count-control button:disabled{opacity:.5}#root>.printable-page .printable-controls--workflow>button,#root>.printable-page .printable-print-button{display:inline-flex;min-height:var(--lg-target);align-items:center;gap:var(--lg-space-2);padding:0 var(--lg-space-4);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);transform:none}#root>.printable-page .printable-controls--workflow>button:last-child,#root>.printable-page .printable-controls--workflow>button:only-of-type{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue);color:#fff}#root>.printable-page .printable-controls--workflow>button:hover:not(:disabled),#root>.printable-page .printable-print-button:hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink);transform:none}#root>.printable-page .printable-controls--workflow>button:last-child:hover:not(:disabled),#root>.printable-page .printable-controls--workflow>button:only-of-type:hover:not(:disabled){background:var(--lg-eco-blue-press);color:#fff}#root>.printable-page .printable-controls--workflow button:disabled,#root>.printable-page .printable-print-button:disabled{opacity:.5}#root>.printable-page :is(.printable-controls--workflow button,.printable-print-button,.printable-back):focus-visible{outline:0;box-shadow:var(--lg-focus)}#root>.printable-page .printable-sheet{padding:var(--lg-space-7) var(--lg-space-7);border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:none}#root>.printable-page .printable-identity small{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}#root>.printable-page .printable-section__index,#root>.printable-page .printable-cloze-keyset>strong{font-family:var(--lg-font);letter-spacing:0;text-transform:none}#root>.printable-page [contenteditable=true]{border:2px solid transparent;border-radius:var(--lg-radius-sm);outline:2px solid transparent;transition:border-color var(--lg-dur-fast) ease,background-color var(--lg-dur-fast) ease}#root>.printable-page [contenteditable=true]:hover{border-color:var(--lg-ink-3)}#root>.printable-page [contenteditable=true]:focus{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:var(--lg-focus)}@media(max-width:760px){#root>.printable-page .printable-sheet{padding:var(--lg-space-5)}#root>.printable-page .printable-controls--workflow button{flex:1 1 auto}}}.student-goal-detail{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:24px 0 72px;font-family:var(--lg-font);color:var(--lg-ink)}.student-goal-detail__back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:16px;color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:800;text-decoration:none;transition:color var(--lg-dur-fast) var(--lg-ease-out),transform var(--lg-dur-fast) var(--lg-ease-out)}.student-goal-detail__back:hover{color:var(--lg-eco-blue-ink);transform:translate(-2px)}.student-goal-detail__hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);min-height:390px;overflow:hidden;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-xl);background:var(--lg-surface)}.student-goal-detail__hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,5vw,56px)}.student-goal-detail__class-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-bottom:32px;color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:700}.student-goal-detail__class-line .flag{flex:0 0 auto;border-radius:5px}.student-goal-detail__hero h1{max-width:590px;margin:0;font-family:var(--lg-font);font-size:clamp(2.25rem,1.7rem + 2.4vw,3.75rem);font-weight:900;letter-spacing:var(--lg-track-display);line-height:1.1;overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual}.student-goal-detail__intro{max-width:480px;margin:20px 0 0;color:var(--lg-ink-2);font-size:var(--lg-text-md);font-weight:500;line-height:1.5}.student-goal-detail__hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:32px}.student-goal-detail__play,.student-goal-detail__print{min-height:var(--lg-target-lg)}.student-goal-detail__not-open{display:inline-flex;align-items:center;min-height:var(--lg-target-lg);color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:700}.student-goal-detail__hero-status{display:inline-flex;align-items:center;gap:8px;color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:700}.student-goal-detail__hero-status i,.student-goal-detail__status i{width:8px;height:8px;border-radius:50%;background:var(--lg-ink-3)}.student-goal-detail__hero-status--active i,.student-goal-detail__progress--active .student-goal-detail__status i{background:var(--lg-eco-blue)}.student-goal-detail__hero-status--done i,.student-goal-detail__progress--done .student-goal-detail__status i{background:var(--lg-correct)}.student-goal-detail__hero-art{position:relative;min-height:390px;background-color:var(--lg-eco-blue-wash);background-position:center;background-size:cover}.student-goal-detail__hero-art:after{position:absolute;top:0;right:0;bottom:0;left:0;background:#161f3247;content:""}.student-goal-detail__art-label{position:absolute;z-index:1;right:24px;bottom:24px;left:24px;color:#fff}.student-goal-detail__art-label strong{display:block;font-family:var(--lg-font);font-size:var(--lg-text-xl);font-weight:900;letter-spacing:var(--lg-track-heading);line-height:1.1}.student-goal-detail__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px;margin-top:40px}.student-goal-detail__main,.student-goal-detail__side{display:grid;align-content:start;gap:16px;min-width:0}.student-goal-detail__panel{padding:24px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface)}.student-goal-detail__panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.student-goal-detail__panel-heading h2{margin:0;font-family:var(--lg-font);font-size:var(--lg-text-lg);font-weight:850;letter-spacing:var(--lg-track-heading);line-height:1.2}.student-goal-detail__panel-heading>svg{flex:0 0 auto;color:var(--lg-eco-blue)}.student-goal-detail__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--lg-space-5) var(--lg-space-4);margin:0}.student-goal-detail__fact{min-width:0;padding:0;border:0;border-radius:0;background:none}.student-goal-detail__fact dt{margin-bottom:6px;color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:700}.student-goal-detail__fact dd{margin:0;color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:800;overflow-wrap:anywhere}.student-goal-detail__sets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--lg-space-5);margin:0;padding:0;list-style:none}.student-goal-detail__sets li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--lg-target-lg);padding:0;border:0;border-bottom:var(--lg-border) solid var(--lg-line);border-radius:0;background:none;color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:800}.student-goal-detail__sets li svg{flex:0 0 auto;color:var(--lg-eco-blue)}.student-goal-detail__no-material{margin:0;color:var(--lg-ink-3);font-size:var(--lg-text-sm);line-height:1.5}.student-goal-detail__status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-pill);color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:700;white-space:nowrap}.student-goal-detail__progress-line{height:8px;overflow:hidden;border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue-wash)}.student-goal-detail__progress-line span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--lg-eco-blue);transform-origin:left center;transition:transform var(--lg-dur-base) var(--lg-ease-out)}.student-goal-detail__progress--done .student-goal-detail__progress-line span{background:var(--lg-correct)}.student-goal-detail__hero-status--behind i,.student-goal-detail__progress--behind .student-goal-detail__status i,.student-goal-detail__hero-status--missed i,.student-goal-detail__progress--missed .student-goal-detail__status i{background:var(--lg-wrong)}.student-goal-detail__hero-status--upcoming i,.student-goal-detail__progress--upcoming .student-goal-detail__status i{background:var(--lg-spark-press)}.student-goal-detail__target-line{margin:12px 0 0;color:var(--lg-ink-2);font-size:var(--lg-text-sm);line-height:var(--lg-leading-body);font-variant-numeric:tabular-nums}.student-goal-detail__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.student-goal-detail__stat{display:flex;align-items:center;gap:8px;min-width:0}.student-goal-detail__stat-icon{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;color:var(--lg-eco-blue-ink)}.student-goal-detail__stats>:nth-child(3) .student-goal-detail__stat-icon{color:var(--lg-spark-ink)}.student-goal-detail__stat strong,.student-goal-detail__stat span{display:block}.student-goal-detail__stat strong{font-family:var(--lg-font-display);font-size:var(--lg-text-lg);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.student-goal-detail__stat div>span{margin-top:4px;color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:700}.student-goal-detail__last-played{margin:20px 0 0;color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.student-goal-detail__empty-progress{display:flex;align-items:flex-start;gap:10px;color:var(--lg-ink-2)}.student-goal-detail__empty-progress p{margin:0;font-size:var(--lg-text-sm);line-height:1.5}.student-goal-detail__schedule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lg-space-5) var(--lg-space-4);margin:0}.student-goal-detail__schedule-list .student-goal-detail__fact:last-child{grid-column:1 / -1}.student-goal-detail__read-only{display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:700}.student-goal-detail__footnote{display:flex;align-items:center;gap:8px;margin:28px 0 0;color:var(--lg-ink-3);font-size:var(--lg-text-xs);font-weight:700}@media(max-width:820px){.student-goal-detail__hero{grid-template-columns:1fr}.student-goal-detail__hero-art{min-height:250px}.student-goal-detail__hero-copy{min-height:390px}.student-goal-detail__layout{grid-template-columns:1fr;margin-top:28px}}@media(max-width:640px){.student-goal-detail{width:min(100% - 32px,1120px);padding-top:16px}.student-goal-detail__hero{border-radius:var(--lg-radius-lg)}.student-goal-detail__hero-copy{min-height:0;padding:24px 20px}.student-goal-detail__class-line{margin-bottom:24px}.student-goal-detail__hero-art{min-height:210px}.student-goal-detail__panel{padding:20px 16px}.student-goal-detail__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.student-goal-detail__sets{grid-template-columns:1fr}.student-goal-detail__stats,.student-goal-detail__stat{gap:6px}.student-goal-detail__stat-icon{display:none}.student-goal-detail__stat strong{font-size:var(--lg-text-md)}.student-goal-detail__hero-actions{align-items:flex-start;flex-direction:column}.student-goal-detail__hero-actions .lg-btn{width:100%}}@media(prefers-reduced-motion:reduce){.student-goal-detail__back,.student-goal-detail__progress-line span{transition:none}}@property --value{syntax: "<number>"; inherits: true; initial-value: 0;}:root{--lg-eco-blue: oklch(.55 .23 263);--lg-eco-blue-press: oklch(.43 .2 264);--lg-eco-blue-ink: oklch(.42 .19 264);--lg-eco-blue-soft: oklch(.8 .1 256);--lg-eco-blue-wash: oklch(.955 .02 258);--lg-tongue: oklch(.7 .17 10);--lg-spark: oklch(.86 .16 88);--lg-spark-press: oklch(.7 .15 70);--lg-spark-ink: oklch(.5 .11 65);--lg-spark-wash: oklch(.96 .055 92);--lg-correct: oklch(.55 .16 146);--lg-correct-press: oklch(.45 .13 148);--lg-correct-bright: oklch(.74 .2 145);--lg-correct-ink: oklch(.45 .13 148);--lg-correct-wash: oklch(.95 .05 145);--lg-wrong: oklch(.585 .215 26);--lg-wrong-press: oklch(.48 .18 25);--lg-wrong-ink: oklch(.48 .18 25);--lg-wrong-wash: oklch(.955 .022 20);--lg-wrong-soft: oklch(.8 .1 25);--lg-ink: oklch(.24 .04 266);--lg-ink-2: oklch(.44 .035 266);--lg-ink-3: oklch(.54 .03 266);--lg-line: oklch(.905 .014 262);--lg-line-strong: oklch(.845 .02 262);--lg-canvas: oklch(.975 .007 262);--lg-surface: oklch(1 0 0);--lg-cat-workout: var(--lg-eco-blue);--lg-cat-listen: oklch(.556 .102 221);--lg-cat-vocab: oklch(.58 .155 48);--lg-cat-verb: oklch(.55 .2 355);--lg-cat-sentence: oklch(.52 .19 295);--lg-cat-climb: oklch(.52 .1 45);--lg-font: "LANGUAGYM Rounded", ui-rounded, "SF Pro Rounded", system-ui, sans-serif;--lg-font-display: "LANGUAGYM Display", "LANGUAGYM Rounded", system-ui, sans-serif;--lg-text-xs: .8125rem;--lg-text-sm: .9375rem;--lg-text-md: 1.0625rem;--lg-text-lg: clamp(1.1875rem, 1.1rem + .35vw, 1.375rem);--lg-text-xl: clamp(1.5rem, 1.3rem + .9vw, 2rem);--lg-text-2xl: clamp(2rem, 1.6rem + 1.8vw, 3rem);--lg-text-3xl: clamp(2.75rem, 2rem + 3.4vw, 4.75rem);--lg-weight-body: 500;--lg-weight-strong: 700;--lg-weight-heavy: 850;--lg-weight-display: 900;--lg-track-display: -.035em;--lg-track-heading: -.02em;--lg-leading-tight: 1.1;--lg-leading-body: 1.5;--lg-space-1: 4px;--lg-space-2: 8px;--lg-space-3: 12px;--lg-space-4: 16px;--lg-space-5: 24px;--lg-space-6: 32px;--lg-space-7: 48px;--lg-space-8: 64px;--lg-space-9: 96px;--lg-space-10: 128px;--lg-radius-sm: 10px;--lg-radius-md: 16px;--lg-radius-lg: 24px;--lg-radius-xl: 32px;--lg-radius-pill: 999px;--lg-border: 2px;--lg-press-scale: .97;--lg-press-scale-soft: .985;--lg-radius-tile: 20px;--lg-echo-reach: 14px;--lg-shadow-float: 0 12px 32px -12px oklch(.24 .04 266 / .28);--lg-focus: 0 0 0 3px var(--lg-surface), 0 0 0 6px var(--lg-eco-blue);--lg-dur-instant: 90ms;--lg-dur-fast: .16s;--lg-dur-base: .24s;--lg-dur-slow: .32s;--lg-dur-spring: .44s;--lg-dur-celebrate: .9s;--lg-ease-out: cubic-bezier(.22, 1, .36, 1);--lg-ease-in: cubic-bezier(.55, 0, 1, .45);--lg-ease-in-out: cubic-bezier(.65, 0, .35, 1);--lg-ease-snappy: linear(0, .028, .094, .182, .28, .382, .481, .573, .655, .728, .791, .843, .886, .921, .949, .97, .985, .997, 1.005, 1.01, 1.013, 1.014, 1.015, 1.014, 1.013, 1.012, 1.01, 1.007, 1.005, 1.003, 1.002, 1.001, 1);--lg-ease-pop: linear(0, .08, .262, .488, .711, .902, 1.044, 1.134, 1.175, 1.179, 1.156, 1.119, 1.078, 1.039, 1.007, .985, .972, .967, .969, .974, .981, .989, .995, 1, 1.004, 1.006, 1.006, 1.005, 1.004, 1.003, 1.002, 1, 1);--lg-ease-bounce: linear(0, .101, .336, .621, .886, 1.091, 1.215, 1.261, 1.245, 1.189, 1.116, 1.044, .986, .949, .933, .934, .947, .965, .985, 1.001, 1.012, 1.017, 1.018, 1.015, 1.01, 1.005, 1.001, .997, .996, .995, .996, .998, 1, 1);--lg-stagger: 45ms;--lg-anticipate: 70ms;--lg-overlap: 50ms;--lg-echo-dur: .64s;--lg-content: 1120px;--lg-reading: 66ch;--lg-target: 44px;--lg-bp-tablet: 640px;--lg-bp-desktop: 1024px;--lg-target-lg: 56px;--lg-grid-cols: 12;--lg-gutter: clamp(16px, 2vw, 24px);--lg-margin: clamp(20px, 5vw, 48px);--lg-leading-snug: 1.2;--lg-leading-ui: 1.25}.lg-grid{display:grid;grid-template-columns:repeat(var(--lg-grid-cols),minmax(0,1fr));gap:var(--lg-gutter);max-width:var(--lg-content);margin-inline:auto;padding-inline:var(--lg-margin)}@media(max-width:639.98px){.lg-grid{grid-template-columns:minmax(0,1fr)}.lg-grid>*{grid-column:1 / -1!important}}:root[data-reading=comfort]{--lg-text-md: 1.1875rem;--lg-leading-body: 1.8}:root[data-reading=comfort] body{letter-spacing:.035em;word-spacing:.16em}:where(a,button,input,select,textarea,[tabindex]){scroll-margin-top:96px;scroll-margin-bottom:120px}.lg-btn{--btn-bg: var(--lg-eco-blue);--btn-fg: #fff;--btn-echo: var(--lg-eco-blue);--btn-border: transparent;--btn-hover: var(--lg-eco-blue-press);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--lg-space-2);min-height:var(--lg-target-lg);padding:0 var(--lg-space-6);border:var(--lg-border) solid var(--btn-border);border-radius:var(--lg-radius-pill);background:var(--btn-bg);color:var(--btn-fg);font:var(--lg-weight-heavy) var(--lg-text-md)/1 var(--lg-font);letter-spacing:-.005em;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:scale .24s var(--lg-ease-snappy),background-color var(--lg-dur-fast) var(--lg-ease-out),border-color var(--lg-dur-fast) var(--lg-ease-out)}.lg-btn:before,.lg-btn:after{content:"";position:absolute;inset:calc(var(--lg-border) * -1);border-radius:inherit;pointer-events:none;opacity:0;border:2px solid var(--btn-echo);will-change:auto}.lg-btn.lg-echo:after{animation:lg-echo var(--lg-echo-dur) var(--lg-ease-out)}.lg-btn.lg-echo:before{--echo-k: .6;animation:lg-echo var(--lg-echo-dur) var(--lg-ease-out) 90ms}@keyframes lg-echo{0%{opacity:.7;scale:1}to{opacity:0;scale:calc(1 + (var(--echo-sx, 1.14) - 1) * var(--echo-k, 1)) calc(1 + (var(--echo-sy, 1.5) - 1) * var(--echo-k, 1))}}@media(hover:hover)and (pointer:fine){.lg-btn:hover:not(:disabled,[aria-disabled=true],[aria-busy=true]){background-color:var(--btn-hover, var(--btn-bg));border-color:var(--btn-hover-border, var(--btn-border))}}.lg-btn:active:not(:disabled,[aria-disabled=true]){scale:var(--lg-press-scale);transition-duration:var(--lg-dur-instant);transition-timing-function:var(--lg-ease-out)}.lg-btn:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-btn:disabled:not([aria-busy=true]),.lg-btn[aria-disabled=true]:not([aria-busy=true]){--btn-bg: var(--lg-line);--btn-fg: var(--lg-ink-3);cursor:not-allowed}.lg-btn--secondary{--btn-bg: var(--lg-surface);--btn-fg: var(--lg-eco-blue-ink);--btn-border: var(--lg-line-strong);--btn-hover: var(--lg-eco-blue-wash);--btn-hover-border: var(--lg-eco-blue)}.lg-btn--ghost{--btn-bg: transparent;--btn-fg: var(--lg-eco-blue-ink);--btn-hover: var(--lg-eco-blue-wash)}.lg-btn--correct{--btn-bg: var(--lg-correct);--btn-echo: var(--lg-correct);--btn-hover: var(--lg-correct-press)}.lg-btn--wrong{--btn-bg: var(--lg-wrong);--btn-echo: var(--lg-wrong);--btn-hover: var(--lg-wrong-press)}.lg-btn--spark{--btn-bg: var(--lg-spark);--btn-fg: var(--lg-ink);--btn-echo: var(--lg-spark-press);--btn-hover: oklch(.81 .16 82)}.lg-btn--block{width:100%}.lg-btn--sm{min-height:var(--lg-target);padding:0 var(--lg-space-5);font-size:var(--lg-text-sm)}.lg-btn>.lg-bars{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:fit-content;opacity:0;scale:.6;transition:opacity var(--lg-dur-fast) var(--lg-ease-out),scale var(--lg-dur-spring) var(--lg-ease-pop)}.lg-btn[aria-busy=true]{color:transparent;pointer-events:none}.lg-btn[aria-busy=true]>.lg-bars{opacity:1;scale:1;color:var(--btn-fg)}.lg-btn>.lg-bars i{animation-play-state:paused}.lg-btn[aria-busy=true]>.lg-bars i{animation-play-state:running}.lg-btn--secondary[aria-busy=true]>.lg-bars{color:var(--lg-eco-blue)}.lg-bars{display:inline-flex;align-items:center;gap:3px;height:18px;flex:none}.lg-bars i{display:block;width:4px;height:100%;border-radius:2px;background:currentColor;scale:1 .35;animation:lg-bar .9s var(--lg-ease-in-out) infinite alternate}.lg-bars i:nth-child(2){animation-duration:1.1s;animation-delay:-.42s}.lg-bars i:nth-child(3){animation-duration:.8s;animation-delay:-.16s}@keyframes lg-bar{0%{scale:1 .3}60%{scale:1 1}to{scale:1 .55}}.lg-choice{--c-border: var(--lg-line-strong);--c-bg: var(--lg-surface);--c-fg: var(--lg-ink);--c-key: var(--lg-ink-3);display:flex;align-items:center;gap:var(--lg-space-3);width:100%;min-height:64px;padding:var(--lg-space-3) var(--lg-space-5);border:var(--lg-border) solid var(--c-border);border-radius:var(--lg-radius-tile);background:var(--c-bg);color:var(--c-fg);font:var(--lg-weight-strong) var(--lg-text-md)/var(--lg-leading-ui) var(--lg-font);text-align:left;cursor:pointer;transition:scale .2s var(--lg-ease-snappy),background-color var(--lg-dur-fast),border-color var(--lg-dur-fast),color var(--lg-dur-fast)}.lg-choice kbd{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--lg-canvas);color:var(--c-key);font:var(--lg-weight-heavy) var(--lg-text-xs)/1 var(--lg-font)}.lg-choice>.lg-bars{margin-left:auto;opacity:0;scale:.4;translate:6px 0;transition:opacity var(--lg-dur-fast) var(--lg-ease-out),scale var(--lg-dur-spring) var(--lg-ease-pop),translate var(--lg-dur-spring) var(--lg-ease-pop)}.lg-choice>.lg-bars i{animation-play-state:paused}@media(hover:hover)and (pointer:fine){.lg-choice:hover:not(:disabled){--c-bg: var(--lg-canvas)}}.lg-choice:active:not(:disabled){scale:var(--lg-press-scale-soft)}.lg-choice:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-choice[aria-checked=true],.lg-choice[aria-pressed=true]{--c-border: var(--lg-eco-blue);--c-bg: var(--lg-surface);--c-fg: var(--lg-eco-blue-ink);--c-key: #fff}.lg-choice[aria-checked=true] kbd,.lg-choice[aria-pressed=true] kbd{background:var(--lg-eco-blue)}.lg-choice:is([aria-checked=true],[aria-pressed=true])>.lg-bars{opacity:1;scale:1;translate:0 0}.lg-choice:is([aria-checked=true],[aria-pressed=true])>.lg-bars i{animation-play-state:running}.lg-choice[data-state=correct]{--c-border: var(--lg-correct);--c-bg: var(--lg-correct-wash);--c-fg: var(--lg-correct-ink);--c-key: #fff}.lg-choice[data-state=correct] kbd{background:var(--lg-correct)}.lg-choice[data-state=wrong]{--c-border: var(--lg-wrong);--c-bg: var(--lg-wrong-wash);--c-fg: var(--lg-wrong-ink);--c-key: #fff}.lg-choice[data-state=wrong] kbd{background:var(--lg-wrong)}.lg-choice[data-state]>.lg-bars{opacity:0;scale:.4}.lg-choice:disabled{cursor:default}.lg-choice:disabled:not([data-state=correct],[data-state=wrong]){--c-fg: var(--lg-ink-3);--c-key: var(--lg-line-strong)}.lg-input{width:100%;min-height:var(--lg-target-lg);padding:0 var(--lg-space-4);border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font:var(--lg-weight-body) var(--lg-text-md)/1.3 var(--lg-font);transition:border-color var(--lg-dur-fast),background-color var(--lg-dur-fast)}.lg-input::placeholder{color:var(--lg-ink-3)}.lg-input:focus-visible{outline:none;border-color:var(--lg-eco-blue);background:var(--lg-surface);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}.lg-input[aria-invalid=true]{border-color:var(--lg-wrong);background:var(--lg-wrong-wash)}.lg-field{display:grid;gap:var(--lg-space-2)}.lg-field label{font:var(--lg-weight-strong) var(--lg-text-sm)/1.2 var(--lg-font);color:var(--lg-ink)}.lg-field .lg-help{font-size:var(--lg-text-xs);color:var(--lg-ink-2)}.lg-field .lg-error{font-size:var(--lg-text-xs);color:var(--lg-wrong-ink);font-weight:var(--lg-weight-strong)}.lg-progress{position:relative;height:28px;background:var(--lg-line-strong);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cg fill='%23000'%3E%3Crect x='1' y='10' width='4' height='8' rx='2'/%3E%3Crect x='8' y='5' width='4' height='18' rx='2'/%3E%3Crect x='15' y='1' width='4' height='26' rx='2'/%3E%3Crect x='22' y='7' width='4' height='14' rx='2'/%3E%3Crect x='29' y='11' width='4' height='6' rx='2'/%3E%3Crect x='36' y='4' width='4' height='20' rx='2'/%3E%3Crect x='43' y='8' width='4' height='12' rx='2'/%3E%3Crect x='50' y='2' width='4' height='24' rx='2'/%3E%3C/g%3E%3C/svg%3E") 0 50% / 56px 28px repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='28'%3E%3Cg fill='%23000'%3E%3Crect x='1' y='10' width='4' height='8' rx='2'/%3E%3Crect x='8' y='5' width='4' height='18' rx='2'/%3E%3Crect x='15' y='1' width='4' height='26' rx='2'/%3E%3Crect x='22' y='7' width='4' height='14' rx='2'/%3E%3Crect x='29' y='11' width='4' height='6' rx='2'/%3E%3Crect x='36' y='4' width='4' height='20' rx='2'/%3E%3Crect x='43' y='8' width='4' height='12' rx='2'/%3E%3Crect x='50' y='2' width='4' height='24' rx='2'/%3E%3C/g%3E%3C/svg%3E") 0 50% / 56px 28px repeat-x}.lg-progress:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--lg-eco-blue);transform-origin:0 50%;scale:var(--value, 0) 1;transition:scale var(--lg-dur-spring) var(--lg-ease-pop)}.lg-progress>span{display:none}.lg-feedback{position:relative;display:grid;grid-template-columns:auto 1fr;gap:var(--lg-space-2) var(--lg-space-4);align-items:center;padding:var(--lg-space-5);border-radius:26px;background:var(--lg-correct-wash);color:var(--lg-correct-ink);--echo: var(--lg-correct)}.lg-feedback:before{content:"";position:absolute;left:34px;top:-8px;width:18px;height:18px;border-radius:4px;rotate:45deg;background:inherit}.lg-feedback:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;border:2px solid var(--echo);opacity:0}.lg-feedback[data-state=wrong]{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink);--echo: var(--lg-wrong)}.lg-feedback h3{font:var(--lg-weight-heavy) var(--lg-text-lg)/var(--lg-leading-snug) var(--lg-font);letter-spacing:var(--lg-track-heading)}.lg-feedback p{color:var(--lg-ink);font-size:var(--lg-text-sm)}.lg-feedback .lg-btn{grid-column:1 / -1}.lg-feedback[data-enter]:not([data-enter=content]){animation:lg-coach-in var(--lg-dur-spring) var(--lg-ease-pop) both;transform-origin:43px -8px}.lg-feedback[data-enter]>*{animation:lg-rise var(--lg-dur-slow) var(--lg-ease-out) both}.lg-feedback[data-enter]>:nth-child(1){animation:lg-pop-in var(--lg-dur-spring) var(--lg-ease-pop) 90ms both}.lg-feedback[data-enter]>:nth-child(2){animation-delay:.14s}.lg-feedback[data-enter]>:nth-child(3){animation-delay:.2s}.lg-feedback[data-enter]:after{animation:lg-coach-echo .76s var(--lg-ease-out) .16s}@keyframes lg-coach-in{0%{opacity:0;scale:.78;translate:-6px -10px;rotate:-3deg}35%{opacity:1}}@keyframes lg-coach-echo{0%{opacity:.6;scale:1}to{opacity:0;scale:1.035 1.12}}@keyframes lg-rise{0%{opacity:0;translate:0 8px}}.lg-code{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,48px);gap:var(--lg-space-2);max-width:100%}.lg-code input{width:100%;min-width:0;min-height:var(--lg-target-lg);padding:0;text-align:center;border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font:var(--lg-weight-heavy) var(--lg-text-xl)/1 var(--lg-font);text-transform:uppercase;caret-color:var(--lg-eco-blue);transition:border-color var(--lg-dur-fast),translate var(--lg-dur-instant) var(--lg-ease-out)}.lg-code input:focus-visible{outline:none;border-color:var(--lg-eco-blue);box-shadow:0 0 0 4px var(--lg-eco-blue-wash)}.lg-code[aria-invalid=true] input{border-color:var(--lg-wrong);background:var(--lg-wrong-wash)}.lg-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 var(--lg-space-3);border-radius:var(--lg-radius-pill);background:var(--chip-bg, var(--lg-eco-blue));color:#fff;font:var(--lg-weight-strong) var(--lg-text-xs)/1 var(--lg-font)}.lg-chip--button{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:0;cursor:pointer;font-size:var(--lg-text-sm)}.lg-chip--button[aria-pressed=false]{--chip-bg: var(--lg-line);color:var(--lg-ink)}.lg-chip--button:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-counter{display:inline-flex;align-items:center;gap:6px;font:900 1.5rem/1 var(--lg-font-display);font-variant-numeric:tabular-nums;letter-spacing:.01em}.lg-counter svg{width:24px;height:24px}.lg-counter[data-kind=streak]{color:var(--lg-eco-blue-ink)}.lg-counter[data-kind=xp]{color:var(--lg-spark-ink)}.lg-tracks{display:grid;gap:var(--lg-space-2);list-style:none;padding:0}.lg-track{--t-dot: var(--lg-eco-blue);--t-fg: var(--lg-ink);display:grid;grid-template-columns:36px 1fr auto;gap:var(--lg-space-3);align-items:center;width:100%;min-height:60px;padding:var(--lg-space-2) var(--lg-space-4);border:0;border-radius:var(--lg-radius-tile);background:var(--lg-canvas);color:var(--t-fg);font:var(--lg-weight-strong) var(--lg-text-md)/var(--lg-leading-snug) var(--lg-font);text-align:left;cursor:pointer;transition:scale .2s var(--lg-ease-snappy),background-color var(--lg-dur-fast)}.lg-track>.dot{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--t-dot);color:#fff;font:900 1rem/1 var(--lg-font-display)}.lg-track>.dot svg{width:18px;height:18px}.lg-track>.meta{font:800 var(--lg-text-sm)/1 var(--lg-font-display);color:var(--lg-ink-2);font-variant-numeric:tabular-nums}.lg-track:hover{background:var(--lg-eco-blue-wash)}.lg-track:active{scale:var(--lg-press-scale-soft)}.lg-track:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-track[aria-current=step]{background:var(--lg-surface);box-shadow:inset 0 0 0 2px var(--lg-eco-blue)}.lg-track[data-state=done]{--t-dot: var(--lg-correct)}.lg-track[data-state=locked]{--t-dot: var(--lg-line-strong);--t-fg: var(--lg-ink-3);cursor:not-allowed}.lg-track[data-state=locked]:hover{background:var(--lg-canvas)}.lg-segmented{display:inline-flex;padding:4px;gap:4px;border-radius:var(--lg-radius-md);background:var(--lg-line)}.lg-segmented button{min-height:var(--lg-target);padding:0 var(--lg-space-4);border:0;border-radius:12px;background:transparent;color:var(--lg-ink-2);font:var(--lg-weight-strong) var(--lg-text-sm)/1 var(--lg-font);cursor:pointer;transition:background-color var(--lg-dur-fast),color var(--lg-dur-fast)}.lg-segmented button[aria-pressed=true]{background:var(--lg-surface);color:var(--lg-ink);box-shadow:0 2px 0 var(--lg-line-strong)}.lg-segmented button:focus-visible{outline:none;box-shadow:var(--lg-focus)}.lg-icon{width:24px;height:24px;flex:none}.table-wrap{overflow-x:auto;border-radius:var(--lg-radius-lg)}.lg-card{padding:var(--lg-space-5);border:var(--lg-border) solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-surface)}.lg-toast{display:inline-flex;align-items:center;gap:var(--lg-space-3);padding:var(--lg-space-3) var(--lg-space-4);border-radius:var(--lg-radius-md);background:var(--lg-ink);color:#fff;box-shadow:var(--lg-shadow-float);font:var(--lg-weight-strong) var(--lg-text-sm)/1.3 var(--lg-font)}.lg-skeleton{display:block;border-radius:var(--lg-radius-sm);background:var(--lg-line);position:relative;overflow:hidden}.lg-skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;translate:-100% 0;background:linear-gradient(90deg,transparent,oklch(1 0 0 / .6),transparent);animation:lg-shimmer 1.3s var(--lg-ease-in-out) infinite}@keyframes lg-shimmer{to{translate:100% 0}}.lg-draw{stroke-dasharray:32;stroke-dashoffset:32;animation:lg-draw var(--lg-dur-slow) var(--lg-ease-out) .12s forwards}@keyframes lg-draw{to{stroke-dashoffset:0}}.lg-pop-in{animation:lg-pop-in var(--lg-dur-spring) var(--lg-ease-pop) both}@keyframes lg-pop-in{0%{scale:.6;opacity:0}30%{opacity:1}}.lg-shake{animation:lg-shake .42s both}@keyframes lg-shake{0%{translate:0 0;animation-timing-function:var(--lg-ease-out)}14%{translate:-10px 0;animation-timing-function:var(--lg-ease-in-out)}38%{translate:8px 0;animation-timing-function:var(--lg-ease-in-out)}60%{translate:-5px 0;animation-timing-function:var(--lg-ease-in-out)}80%{translate:2px 0;animation-timing-function:var(--lg-ease-out)}to{translate:0 0}}.lg-bump{animation:lg-bump .52s both;transform-origin:50% 60%}@keyframes lg-bump{0%{scale:1 1;animation-timing-function:var(--lg-ease-in)}13%{scale:1.02 .95;animation-timing-function:var(--lg-ease-out)}42%{scale:1.06 1.08;animation-timing-function:var(--lg-ease-in-out)}70%{scale:.99 1;animation-timing-function:var(--lg-ease-out)}to{scale:1 1}}.lg-stagger>*{animation:lg-rise var(--lg-dur-slow) var(--lg-ease-out) both}.lg-stagger>:nth-child(2){animation-delay:calc(var(--lg-stagger) * 1)}.lg-stagger>:nth-child(3){animation-delay:calc(var(--lg-stagger) * 2)}.lg-stagger>:nth-child(4){animation-delay:calc(var(--lg-stagger) * 3)}.lg-stagger>:nth-child(5){animation-delay:calc(var(--lg-stagger) * 4)}.lg-stagger>:nth-child(6){animation-delay:calc(var(--lg-stagger) * 5)}.lg-stagger>:nth-child(7){animation-delay:calc(var(--lg-stagger) * 6)}.lg-stagger>:nth-child(n+8){animation-delay:calc(var(--lg-stagger) * 7)}@media(prefers-reduced-motion:reduce){.lg-pop-in,.lg-feedback[data-enter],.lg-stagger>*{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both}.lg-feedback[data-enter]>*{animation:none}.lg-shake,.lg-bump,.lg-skeleton:after{animation:none}.lg-draw{animation:none;stroke-dashoffset:0}.lg-progress:before{transition-timing-function:var(--lg-ease-out);transition-duration:var(--lg-dur-fast)}.lg-btn,.lg-choice,.lg-track{transition-duration:0ms}.lg-btn.lg-echo:after,.lg-btn.lg-echo:before,.lg-feedback[data-enter]:after{animation:none}.lg-bars i{animation:none;scale:1 .7}.lg-choice>.lg-bars{transition:opacity var(--lg-dur-fast) var(--lg-ease-out);scale:1;translate:0 0}}:root[data-motion=reduced] .lg-pop-in,:root[data-motion=reduced] .lg-feedback[data-enter],:root[data-motion=reduced] .lg-stagger>*{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both}:root[data-motion=reduced] .lg-feedback[data-enter]>*{animation:none}:root[data-motion=reduced] .lg-shake,:root[data-motion=reduced] .lg-bump,:root[data-motion=reduced] .lg-skeleton:after{animation:none}:root[data-motion=reduced] .lg-draw{animation:none;stroke-dashoffset:0}:root[data-motion=reduced] .lg-progress:before{transition-timing-function:var(--lg-ease-out);transition-duration:var(--lg-dur-fast)}:root[data-motion=reduced] .lg-btn,:root[data-motion=reduced] .lg-choice,:root[data-motion=reduced] .lg-track{transition-duration:0ms}:root[data-motion=reduced] .lg-btn.lg-echo:after,:root[data-motion=reduced] .lg-btn.lg-echo:before,:root[data-motion=reduced] .lg-feedback[data-enter]:after{animation:none}:root[data-motion=reduced] .lg-bars i{animation:none;scale:1 .7}:root[data-motion=reduced] .lg-choice>.lg-bars{transition:opacity var(--lg-dur-fast) var(--lg-ease-out);scale:1;translate:0 0}@keyframes lg-fade-in{0%{opacity:0}}[data-anim],[data-anim]>[data-part]{transform-box:fill-box;transform-origin:50% 50%}[data-anim]>[data-part][transform]{transform-box:view-box;transform-origin:0 0}[data-anim=listen]{--i-anim: lg-i-sway .7s var(--lg-ease-in-out)}[data-anim=speak]{--i-anim: lg-i-talk .52s var(--lg-ease-out) 2;transform-origin:20% 100%}[data-anim=read]{--i-anim: lg-i-page .64s var(--lg-ease-in-out)}[data-anim=write]{--i-anim: lg-i-write .76s var(--lg-ease-in-out);transform-origin:15% 85%}[data-anim=pop]{--i-anim: lg-bump .52s both}[data-anim=push]{--i-anim: lg-i-push .56s var(--lg-ease-out)}[data-anim=push][data-dir=back]{--i-dx: -1}[data-anim=push][data-dir=up]{--i-dx: 0;--i-dy: -1}[data-anim=push][data-dir=down]{--i-dx: 0;--i-dy: 1}[data-anim=push][data-dir=out]{--i-dx: .7;--i-dy: -.7}[data-anim=lift]{--i-anim: lg-i-lift .64s var(--lg-ease-pop)}[data-anim=spin]{--i-anim: lg-i-spin .7s var(--lg-ease-pop)}[data-anim=rewind]{--i-anim: lg-i-rewind .64s var(--lg-ease-out)}[data-anim=turn]{--i-anim: lg-i-turn var(--lg-dur-spring) var(--lg-ease-pop)}[data-anim=blink]{--i-anim: lg-i-blink .36s var(--lg-ease-in-out)}[data-anim=scan]{--i-anim: lg-i-scan .64s var(--lg-ease-in-out)}[data-anim=drop]{--i-anim: lg-i-drop .52s var(--lg-ease-pop)}[data-anim=grow]{--i-anim: lg-i-grow .52s var(--lg-ease-pop);transform-origin:50% 100%}[data-anim=tilt]{--i-anim: lg-i-tilt .56s var(--lg-ease-in-out);transform-origin:50% 100%}[data-anim=unlock]{--i-anim: lg-i-unlock .56s var(--lg-ease-in-out);transform-origin:25% 50%}[data-anim=nope]{--i-anim: lg-i-nope .36s var(--lg-ease-out)}[data-anim=tap]{--i-anim: lg-i-tap .36s var(--lg-ease-out);transform-origin:30% 20%}[data-anim=copy]>:last-child{--i-part: lg-i-stack .52s var(--lg-ease-pop)}[data-anim=lid]>:first-child{--i-part: lg-i-lid .56s var(--lg-ease-pop);transform-origin:0% 100%}:is(.lg-anim-host:focus-visible,.lg-anim-host.is-playing) [data-anim]{animation:var(--i-anim, none)}:is(.lg-anim-host:focus-visible,.lg-anim-host.is-playing) [data-anim]>[data-part]{animation:var(--i-part, none)}@media(hover:hover)and (pointer:fine){.lg-anim-host:hover [data-anim]{animation:var(--i-anim, none)}.lg-anim-host:hover [data-anim]>[data-part]{animation:var(--i-part, none)}}@keyframes lg-i-sway{20%{rotate:-14deg}50%{rotate:10deg}75%{rotate:-5deg}to{rotate:0deg}}@keyframes lg-i-talk{30%{scale:1.12 .9}60%{scale:.96 1.06}}@keyframes lg-i-page{0%{scale:1 1}35%{scale:-.15 1}36%{scale:.15 1}to{scale:1 1}}@keyframes lg-i-write{15%{rotate:-10deg;translate:-2px 0}35%{rotate:6deg;translate:3px -1px}55%{rotate:-6deg;translate:6px 0}75%{rotate:3deg;translate:3px 0}to{rotate:0deg;translate:0 0}}@keyframes lg-i-push{30%{translate:calc(5px * var(--i-dx, 1)) calc(5px * var(--i-dy, 0))}55%{translate:calc(-2px * var(--i-dx, 1)) calc(-2px * var(--i-dy, 0))}to{translate:0 0}}@keyframes lg-i-lift{40%{translate:0 -5px;scale:1.08}to{translate:0 0;scale:1}}@keyframes lg-i-spin{0%{rotate:-90deg;scale:.7}}@keyframes lg-i-rewind{0%{rotate:360deg}}@keyframes lg-i-turn{0%{rotate:-90deg}}@keyframes lg-i-blink{45%{scale:1 .1}}@keyframes lg-i-scan{25%{translate:-2px -1px}55%{translate:2px -1px}80%{translate:0 1px}to{translate:0 0}}@keyframes lg-i-drop{35%{translate:0 4px;scale:1.04 .94}to{translate:0 0;scale:1}}@keyframes lg-i-grow{0%{scale:1 .55}}@keyframes lg-i-tilt{25%{rotate:-9deg}55%{rotate:6deg}80%{rotate:-2deg}to{rotate:0deg}}@keyframes lg-i-unlock{40%{rotate:-28deg}to{rotate:0deg}}@keyframes lg-i-nope{20%{translate:-2px 0}45%{translate:2px 0}70%{translate:-1px 0}to{translate:0 0}}@keyframes lg-i-tap{40%{scale:.82}}@keyframes lg-i-stack{40%{translate:3px -3px}to{translate:0 0}}@keyframes lg-i-lid{40%{translate:0 -3px;rotate:-8deg}to{translate:0 0;rotate:0deg}}.lg-reveal{opacity:0;translate:0 24px;transition:opacity var(--lg-dur-slow) var(--lg-ease-out),translate var(--lg-dur-spring) var(--lg-ease-out)}.lg-reveal.is-in{opacity:1;translate:0 0}@supports (animation-timeline: view()){.lg-reveal,.lg-reveal.is-in{opacity:1;translate:0 0;transition:none;animation:lg-reveal linear both;animation-timeline:view();animation-range:entry 5% entry 55%}@keyframes lg-reveal{0%{opacity:0;translate:0 32px}}}.lg-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,var(--lg-ink) 6%,var(--lg-ink) 94%,transparent);mask-image:linear-gradient(90deg,transparent,var(--lg-ink) 6%,var(--lg-ink) 94%,transparent)}.lg-marquee__track{display:flex;gap:var(--lg-space-2);width:max-content;animation:lg-marquee var(--marquee-dur, 38s) linear infinite}.lg-marquee--reverse .lg-marquee__track{animation-direction:reverse}.lg-marquee:is(:hover,:focus-within) .lg-marquee__track{animation-play-state:paused}@keyframes lg-marquee{to{translate:-50% 0}}.lg-sonar{position:relative}.lg-sonar:before,.lg-sonar:after{content:"";position:absolute;top:12%;right:14%;bottom:12%;left:14%;border-radius:50%;border:2px solid var(--lg-eco-blue);opacity:0;pointer-events:none;animation:lg-sonar 5.6s var(--lg-ease-out) infinite}.lg-sonar:after{animation-delay:.24s}@keyframes lg-sonar{0%,70%{opacity:0;scale:.85}72%{opacity:.35;scale:.85}to{opacity:0;scale:1.35}}@media(prefers-reduced-motion:reduce){[data-anim],[data-anim]>[data-part]{animation:none!important}.lg-reveal,.lg-reveal.is-in{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both;translate:0 0;transition:none}.lg-marquee__track{animation:none;flex-wrap:wrap;width:auto}.lg-marquee__track [aria-hidden=true]{display:none}.lg-marquee{-webkit-mask-image:none;mask-image:none}.lg-sonar:before,.lg-sonar:after{animation:none}}:root[data-motion=reduced] [data-anim],:root[data-motion=reduced] [data-anim]>[data-part]{animation:none!important}:root[data-motion=reduced] .lg-reveal,:root[data-motion=reduced] .lg-reveal.is-in{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both;translate:0 0;transition:none}:root[data-motion=reduced] .lg-marquee__track{animation:none;flex-wrap:wrap;width:auto}:root[data-motion=reduced] .lg-marquee__track [aria-hidden=true]{display:none}:root[data-motion=reduced] .lg-marquee{-webkit-mask-image:none;mask-image:none}:root[data-motion=reduced] .lg-sonar:before,:root[data-motion=reduced] .lg-sonar:after{animation:none}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities;@font-face{font-family:LANGUAGYM Rounded;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/languagym-sans-rounded-var.woff2)format("woff2")}@font-face{font-family:LANGUAGYM Display;font-style:normal;font-weight:700 900;font-display:swap;src:url(/fonts/languagym-display-condensed.woff2)format("woff2")}:root{color-scheme:light;color:var(--lg-ink);background:var(--lg-canvas);font-synthesis:none;text-rendering:optimizelegibility;--vc-font:"LANGUAGYM Rounded", ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vc-display:"LANGUAGYM Rounded", ui-rounded, system-ui, sans-serif;--vc-mono:var(--lg-font);--vc-cream:#f4f7fc;--vc-surface:#fff;--vc-ink:#161f32;--vc-ink-2:#495266;--vc-ink-3:#666f81;--vc-purple:#2061f5;--vc-purple-dark:#113fbb;--vc-purple-soft:#e8f1fe;--vc-purple-soft-2:var(--lg-line);--vc-coral:#2061f5;--vc-coral-dark:#113fbb;--vc-coral-soft:#e8f1fe;--vc-green:#15892f;--vc-green-soft:#dbf8da;--vc-yellow:#fdca3a;--vc-pink:#f46a86;--vc-blue:#2061f5;--vc-orange:#c05708;--vc-line:#dbe0e9;--vc-line-2:#c5ccda;--vc-radius:24px;--vc-radius-sm:16px;--vc-radius-pill:999px;--vc-shadow-hard:0 0 #161f3200;--vc-shadow-soft:0 12px 28px -18px #161f3259;--vc-shadow-lift:0 22px 44px -22px #161f3266;font-family:LANGUAGYM Rounded,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth;scrollbar-gutter:stable;overflow-y:scroll}body{background:var(--vc-cream);min-width:320px;color:var(--vc-ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes route-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes panel-arrive{0%{opacity:0;clip-path:inset(0 0 9% round 26px);transform:translateY(18px)}to{opacity:1;clip-path:inset(0 round 26px);transform:none}}@keyframes card-arrive{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:none}}@keyframes pop-arrive{0%{opacity:0;transform:translateY(8px)scale(.95)}68%{opacity:1;transform:translateY(-1px)scale(1.01)}to{opacity:1;transform:none}}@keyframes ink-ripple{0%{opacity:.14;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(2.7)}}@keyframes save-celebrate{0%{transform:scale(1)}42%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes count-pop{0%{opacity:.35;transform:scale(.92)}72%{opacity:1;transform:scale(1.035)}to{transform:scale(1)}}.route-frame{animation:.32s ease-out both route-arrive}.scroll-progress{z-index:90;background:var(--vc-purple);height:3px;transform:scaleX(var(--scroll-progress,0));transform-origin:0;pointer-events:none;position:fixed;inset:0 0 auto}.app-header{z-index:40;border-bottom:1px solid var(--vc-line);background:var(--vc-cream);transition:box-shadow .22s,background-color .22s;position:sticky;top:0}.app-header__inner{align-items:center;gap:16px;width:min(1400px,100% - 32px);min-height:76px;margin:0 auto;display:flex}.brand{transform-origin:0;flex:none;width:168px;margin-right:14px;transition:transform .16s cubic-bezier(.2,.82,.2,1);display:flex;position:relative}.brand:after{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);content:"";transform-origin:0;border-radius:999px;height:4px;transition:transform .22s cubic-bezier(.2,.82,.2,1);position:absolute;bottom:-5px;left:4%;right:4%;transform:scaleX(.22)rotate(-1deg)}.brand img{width:100%;height:auto;transition:transform .18s cubic-bezier(.2,.82,.2,1);display:block}@media(hover:hover)and (pointer:fine){.brand:hover:after{transform:scaleX(1)}.brand:hover img{transform:scale(1.025)}}.primary-nav{align-items:center;gap:3px;min-width:0;display:flex}.primary-nav__link{border-radius:var(--vc-radius-pill);min-height:38px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);white-space:nowrap;align-items:center;gap:7px;padding:0 13px;font-weight:750;text-decoration:none;transition:transform .18s cubic-bezier(.2,.9,.3,1.25),background-color .16s,color .16s;display:inline-flex;position:relative;overflow:hidden}.primary-nav__icon{object-fit:contain;flex:0 0 24px;width:24px;height:24px;transition:transform .18s cubic-bezier(.2,.9,.3,1.25);display:block}.primary-nav__link:hover .primary-nav__icon,.primary-nav__link.is-active .primary-nav__icon{transform:scale(1.08)}.primary-nav__link:hover{background:var(--vc-purple-soft);color:var(--vc-purple)}.primary-nav__link.is-active{background:var(--vc-purple);color:#fff;box-shadow:none}.primary-nav__link.is-active:hover{background:var(--vc-purple);color:#fff}.header-utility{align-items:center;gap:12px;margin-left:auto;display:flex}.environment-menu{flex:none;position:relative}.environment-menu__trigger{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:44px;color:var(--vc-ink-2);font:inherit;font-size:var(--lg-text-xs);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:750;display:inline-flex}.environment-menu__trigger:hover,.environment-menu__trigger.is-open{border-color:var(--lg-eco-blue);color:var(--lg-eco-blue-ink)}.environment-menu__trigger:focus-visible,.environment-menu__item:focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:2px}.environment-menu__popover{z-index:60;border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:190px;box-shadow:var(--lg-shadow-float);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.environment-menu__item{border-radius:var(--lg-radius-sm);min-height:44px;color:var(--vc-ink-2);gap:2px;padding:8px 10px;text-decoration:none;display:grid}.environment-menu__item:hover,.environment-menu__item.is-active{background:var(--lg-eco-blue-wash);box-shadow:inset 0 0 0 2px var(--lg-eco-blue);color:var(--lg-eco-blue-ink)}.environment-menu__item span{font-size:var(--lg-text-xs);font-weight:750}.environment-menu__item small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:500}.header-utility>.nav-stats:not(.nav-stats--loading),.header-utility>.account-control__profile,.header-utility>.button:where(:not([data-slot])){animation:.22s ease-out both header-utility-arrive}.nav-stats{border-top:1px solid var(--vc-line);border-bottom:1px solid var(--vc-line);align-items:center;min-height:43px;padding:0 3px;display:inline-flex}.nav-stat{border-radius:var(--lg-radius-sm);min-height:34px;color:var(--vc-ink-3);align-items:center;gap:5px;padding:0 10px;text-decoration:none;transition:transform .18s,background-color .18s,color .18s;display:inline-flex;position:relative;overflow:hidden}.nav-stat+.nav-stat{border-left:1px solid var(--vc-line-2)}.nav-stat:hover{background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.nav-stat strong{color:var(--vc-purple);font-family:var(--vc-display);font-size:var(--lg-text-sm);line-height:1}.nav-stat small{font-size:var(--lg-text-xs);font-weight:750}.nav-stat>span{color:var(--vc-purple);font-size:var(--lg-text-xs);opacity:.68}.nav-stats--loading{justify-content:center;min-width:112px;padding-inline:10px}.account-control__profile{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-pill);background:var(--lg-surface);min-width:54px;min-height:51px;box-shadow:var(--vc-shadow-hard);color:var(--vc-ink-3);font:inherit;cursor:pointer;align-items:center;gap:5px;padding:4px 6px 4px 4px;text-decoration:none;transition:transform .18s,border-color .18s,color .18s;display:inline-flex}.account-control__profile:hover{color:var(--vc-purple);border-color:#2061f55c}.account-control__profile.is-open{border-color:var(--lg-line-strong);background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.account-menu{z-index:30;position:relative}.account-menu__popover{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-surface);width:232px;box-shadow:none;gap:3px;padding:8px;animation:.15s ease-out both account-menu-arrive;display:grid;position:absolute;top:calc(100% + 10px);right:0}.account-menu__identity{border-bottom:1px solid var(--vc-line);gap:3px;margin-bottom:3px;padding:10px 10px 11px;display:grid}.account-menu__identity strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__identity span{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__popover a,.account-menu__popover form button,.account-menu__popover .account-menu__signout{border-radius:var(--lg-radius-sm);width:100%;min-height:38px;color:var(--vc-ink-2);font:inherit;font-size:var(--lg-text-xs);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 10px;font-weight:800;text-decoration:none;display:flex}.account-menu__popover a:hover,.account-menu__popover form button:hover,.account-menu__popover .account-menu__signout:hover{background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.account-menu__icon{object-fit:contain;flex:0 0 22px;width:22px;height:22px;display:block}.account-menu__popover form{border-top:1px solid var(--vc-line);margin:3px 0 0;padding-top:3px}.account-menu__popover .account-menu__signout{border-top:1px solid var(--vc-line);border-radius:var(--lg-radius-sm);color:var(--lg-eco-blue-ink);margin-top:3px;padding-top:3px}.account-menu__popover form button{color:var(--lg-eco-blue-ink)}@keyframes account-menu-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.account-control__profile img,.account-control__fallback{background:var(--vc-purple-soft);object-fit:cover;border:0;border-radius:50%;flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.account-control__fallback{color:var(--vc-purple);font-family:var(--vc-display);font-size:var(--lg-text-xs);font-weight:800}.account-control__name{display:none}.account-control__loading{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-pill);background:var(--lg-surface);place-items:center;min-width:54px;min-height:51px;padding:4px 6px 4px 4px;display:grid}@keyframes header-utility-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.app-main{width:min(1400px,100% - 32px);margin:0 auto;padding:46px 0 76px}.app-main:has(.workspace-page){background:var(--lg-canvas);width:100%;max-width:none;padding:24px clamp(12px,2.4vw,36px) 56px}.page{min-width:0}.page-heading,.workspace-hero,.panel-heading,.dialog-heading,.dialog-actions,.panel-footer,.goal-row,.module-row,.back-link{align-items:center;display:flex}.page-heading{justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading--narrow{max-width:720px}.eyebrow{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin:0 0 8px;font-weight:700;line-height:1.25}.eyebrow,[class$=__eyebrow],[class$=__kicker],.admin-overline,.admin-kicker,.connect-overline,.connect-kicker,.admin-test-overline,.admin-test-lane,.page-heading__intro,.review-page__heading .page-heading__intro,.admin-hero__meta,.admin-health-strip__status,.account-hero__identity>div>p:not(.eyebrow),.account-hero--settings>div>p:not(.eyebrow),.vocab-set-hero__copy>p:not(.eyebrow),.verb-vocab-hero .vocab-set-hero__copy>p:not(.eyebrow),.workspace-hero>div>p:not(.eyebrow),.student-workspace-hero>div>p:not(.eyebrow),.avatar-studio-heading>div>p:not(.eyebrow),.admin-hero__copy>p,.admin-test-topbar>div>p,.class-calendar__hero>div>p,.about-masthead__lead,.about-section__heading>p,.about-language__copy>p,.about-game__meta,.about-support__role-topline,.account-panel__heading>div>p,.panel-heading>div>p,.student-goal-detail__panel-heading p,.set-collection__head p,.vocab-examples-intro p,.admin-panel-heading p{display:none!important}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1,h2,h3,h4{font-family:var(--vc-display)}h1{color:var(--vc-ink);letter-spacing:0;margin:0;font-size:clamp(2.35rem,4vw,3.8rem);font-weight:800;line-height:.99}h2{color:var(--vc-ink);margin:0;font-size:1.35rem;line-height:1.16}.page-heading__intro,.workspace-hero p:not(.eyebrow){max-width:650px;color:var(--vc-ink-3);font-size:var(--lg-text-sm);margin:12px 0 0;line-height:1.6}.button:where(:not([data-slot])),.icon-button,.class-card__open,.back-link,.module-row{isolation:isolate;position:relative;overflow:hidden}.button:where(:not([data-slot])){border:1px solid var(--vc-purple);border-radius:var(--lg-radius-sm);background:var(--vc-purple);min-height:42px;box-shadow:none;color:#fff;font-size:var(--lg-text-xs);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;text-decoration:none;transition:transform .16s cubic-bezier(.2,.9,.3,1.25),background-color .16s,box-shadow .16s;display:inline-flex}.button:where(:not([data-slot])):hover:not(:disabled){background:var(--vc-purple-dark);box-shadow:none}.button:where(:not([data-slot])):active:not(:disabled){box-shadow:none;transform:translateY(2px)scale(.98)}.button:where(:not([data-slot])):disabled{opacity:.55;box-shadow:none}.button--quiet:where(:not([data-slot])):hover:not(:disabled){background:var(--vc-purple-soft);box-shadow:none;color:var(--vc-purple);border-color:#2061f559}.button--danger:where(:not([data-slot])){border-color:var(--lg-wrong-soft);background:var(--lg-wrong-wash);box-shadow:none;color:var(--lg-wrong-ink)}.button--danger:where(:not([data-slot])):hover:not(:disabled){border-color:var(--lg-wrong-soft);background:var(--lg-line);box-shadow:none;color:var(--lg-wrong-press)}.icon-button{border-radius:var(--lg-radius-sm);width:40px;height:40px;color:var(--vc-ink-3);background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:transform .17s,background-color .17s,color .17s;display:inline-grid}.icon-button:hover{background:var(--vc-purple-soft);color:var(--vc-purple)}.icon-button--hero{border-color:var(--vc-line);background:var(--lg-surface);border-radius:50%;width:44px;height:44px}.ink-ripple{z-index:0;pointer-events:none;background:currentColor;border-radius:50%;width:14px;height:14px;animation:.52s cubic-bezier(.2,.7,.3,1) both ink-ripple;position:absolute}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.class-card{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-height:244px;box-shadow:var(--vc-shadow-soft);animation:card-arrive .4s calc(var(--motion-index,0) * 42ms) ease-out both;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:24px;transition:border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.2,.9,.3,1.2);display:grid}.class-card:hover{box-shadow:var(--vc-shadow-lift);border-color:#2061f56b}.class-card__topline{display:contents}.language-pill{border-radius:var(--vc-radius-pill);background:var(--vc-purple-soft);color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;border:1px solid oklch(55% .23 263/.2);grid-column:1;justify-self:start;padding:5px 8px;font-weight:700}.class-card__date{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);text-align:right;grid-column:2}.class-card h2{grid-column:1/-1;align-self:center;margin:23px 0 18px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.08}.class-card__people{min-width:0;color:var(--vc-ink-3);font-size:var(--lg-text-xs);grid-column:1;align-self:end;align-items:center;gap:12px;display:flex}.class-card__people>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.class-card__empty{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.class-card__open{border-radius:var(--lg-radius-sm);min-height:35px;color:var(--vc-purple);font-size:var(--lg-text-xs);grid-column:2;align-self:end;align-items:center;gap:7px;margin:0 -9px -9px 0;padding:0 10px;font-weight:800;text-decoration:none;transition:color .18s,background-color .18s,transform .18s;display:inline-flex}.class-card__open svg{transition:transform .18s}.class-card:hover .class-card__open{background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.class-card:hover .class-card__open svg{transform:translate(3px)}.class-card__open:active{transform:scale(.96)}.avatar-stack{align-items:center;min-width:0;padding-left:3px;display:flex}.avatar-stack img,.avatar-stack__more{border:2px solid var(--lg-surface);background:var(--vc-purple-soft-2);object-fit:cover;border-radius:50%;place-items:center;width:32px;height:32px;margin-left:-7px;transition:transform .18s;display:grid}.avatar-stack img:first-child{margin-left:0}.avatar-stack img:hover{z-index:3;transform:scale(1.12)}.avatar-stack__more{color:var(--vc-purple-dark);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs)}.empty-state,.state-surface{border:1px dashed var(--vc-line-2);border-radius:var(--vc-radius-sm);background:var(--lg-surface);min-height:150px;color:var(--vc-ink-3);text-align:center;justify-content:center;align-items:center;gap:13px;padding:28px;display:flex}.empty-state h2,.state-surface strong{color:var(--vc-ink);font-size:var(--lg-text-sm)}.empty-state p,.state-surface p{margin:5px 0 0;line-height:1.5}.empty-state--inline{text-align:left;justify-content:flex-start;min-height:112px}.state-surface{margin-top:32px}.state-surface--error{color:var(--lg-wrong-ink)}.state-surface--error a{color:var(--vc-purple)}.dialog-backdrop{z-index:80;background:#161f325c;place-items:center;padding:24px;transition:opacity .18s;animation:.18s ease-out both route-arrive;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.dialog-backdrop.is-closing{opacity:0}.create-dialog{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);width:min(100%,475px);box-shadow:var(--lg-shadow-float);padding:26px;transition:opacity .18s,transform .18s cubic-bezier(.4,0,1,1);animation:.28s cubic-bezier(.2,.8,.2,1) both pop-arrive}.create-dialog.is-closing{opacity:0;transform:translateY(12px)scale(.975)}.join-class-dialog{width:min(100%,580px);max-height:min(720px,100dvh - 48px);overflow-y:auto}.join-class-dialog .dialog-heading{align-items:flex-start}.join-class-dialog .dialog-heading>div{min-width:0}.join-class-dialog .dialog-heading p:not(.eyebrow){color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:7px 0 0;line-height:1.45}.join-class-dialog__form{margin-top:22px}.join-class-dialog__form label small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:500;line-height:1.4}.join-class-dialog__input-wrap{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);color:var(--vc-purple-dark);align-items:center;gap:10px;margin-top:-5px;padding:0 13px;transition:box-shadow .16s,transform .16s;display:flex}.join-class-dialog__input-wrap:focus-within{box-shadow:none}.join-class-dialog__input-wrap input{width:100%;min-height:52px;color:var(--vc-ink);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.09em;background:0 0;border:0;outline:2px solid #0000;padding:0;font-weight:800}.join-class-dialog__input-wrap input::placeholder{color:var(--vc-ink-3);opacity:.75}.join-class-dialog__status{color:var(--vc-purple-dark);font-size:var(--lg-text-xs);margin:-5px 0 0}.join-class-dialog__actions{flex-wrap:wrap;margin-top:3px}.join-class-dialog__preview{gap:16px;margin-top:22px;display:grid}.join-class-dialog__class{border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:16px;display:grid}.join-class-dialog__teacher-avatar{border:3px solid var(--lg-surface);background:var(--lg-eco-blue-wash);width:52px;height:52px;box-shadow:0 0 0 2px var(--vc-purple);color:var(--lg-eco-blue-ink);font-family:var(--vc-display);font-size:var(--lg-text-xs);border-radius:50%;place-items:center;font-weight:850;display:grid;overflow:hidden}.join-class-dialog__teacher-avatar img{object-fit:cover;width:100%;height:100%;display:block}.join-class-dialog__class>div{min-width:0}.join-class-dialog__label{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:850}.join-class-dialog__class h3{overflow-wrap:anywhere;margin:4px 0 0;font-size:1.18rem;line-height:1.08}.join-class-dialog__class p{color:var(--vc-ink-2);font-size:var(--lg-text-xs);align-items:center;gap:5px;margin:7px 0 0;font-weight:750;display:flex}.join-class-dialog__facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.join-class-dialog__facts>div{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);gap:5px;min-width:0;padding:10px 12px;display:grid}.join-class-dialog__facts span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.join-class-dialog__facts strong{overflow-wrap:anywhere;color:var(--vc-ink);font-size:var(--lg-text-xs)}.join-class-dialog__preview>.class-code{margin-top:0}.join-class-dialog__confirmation{border-radius:var(--lg-radius-md);background:var(--lg-surface);border:1px solid oklch(55% .23 263/.22);padding:15px}.join-class-dialog__confirmation.is-complete{background:var(--vc-green-soft);border-color:#15892f47}.join-class-dialog__confirmation-row{align-items:center;gap:11px;display:flex}.join-class-dialog__confirmation-row>div{flex:1;min-width:0}.join-class-dialog__confirmation-row strong{color:var(--vc-ink);font-size:var(--lg-text-xs)}.join-class-dialog__confirmation-row p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0;line-height:1.45}.join-class-dialog__confirmation-row p strong{font-size:inherit}.join-class-dialog__confirmation-icon{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);width:38px;height:38px;color:var(--vc-purple-dark);flex:none;place-items:center;display:grid}.join-class-dialog__confirmation.is-complete .join-class-dialog__confirmation-icon{background:var(--lg-surface);color:var(--vc-green-dark)}.join-class-dialog__confirmation .form-error{margin:13px 0 0}@media(max-width:520px){.join-class-dialog{padding:20px}.join-class-dialog__class{grid-template-columns:46px minmax(0,1fr) auto;gap:10px;padding:13px}.join-class-dialog__teacher-avatar{width:46px;height:46px}.join-class-dialog__facts{grid-template-columns:1fr 1fr}.join-class-dialog__facts>div:last-child{grid-column:1/-1}.join-class-dialog__actions{flex-direction:column-reverse;align-items:stretch}.join-class-dialog__actions .button:where(:not([data-slot])){width:100%}.join-class-dialog__confirmation-row{align-items:flex-start}}.dialog-heading{justify-content:space-between;gap:16px}.dialog-heading h2{font-size:1.48rem}.form-stack{gap:17px;margin-top:25px;display:grid}.form-stack label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);gap:7px;font-weight:750;display:grid}.form-stack input,.form-stack select,.notes-panel textarea{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;color:var(--vc-ink)}.form-stack input:focus,.form-stack select:focus,.notes-panel textarea:focus{outline:2px solid var(--vc-purple-soft-2);outline-offset:1px;border-color:#2061f58c}.dialog-actions{justify-content:flex-end;gap:10px}.form-error{color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);margin:0;line-height:1.4}.workspace-page{width:min(100%,1312px);margin:0 auto;padding:0 0 30px}.workspace-shell{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-height:min(780px,100vh - 130px);box-shadow:none;animation:.42s ease-out both panel-arrive;overflow:hidden}.back-link{width:fit-content;color:var(--vc-ink-2);font-size:var(--lg-text-xs);border:0;gap:6px;margin:0 0 12px;padding:5px 0;font-weight:750;text-decoration:none;transition:color .17s,transform .2s cubic-bezier(.2,.9,.3,1.2)}.back-link svg{transition:transform .2s cubic-bezier(.2,.9,.3,1.2)}.back-link:hover{color:var(--vc-purple);transform:translate(-1px)}.back-link:hover svg{transform:translate(-4px)}.workspace-hero{border-bottom:1px solid var(--vc-line-2);justify-content:space-between;align-items:center;gap:20px;padding:19px clamp(20px,6vw,80px) 26px}.workspace-hero__identity{grid-template-columns:60px minmax(0,1fr);align-items:center;gap:16px;min-width:0;display:grid}.workspace-hero__aside{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.workspace-hero__kicker{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin-bottom:6px;font-weight:800;line-height:1.25;display:block}.workspace-hero__subtitle{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:7px;line-height:1.35;display:block}.language-token{border-radius:var(--lg-radius-md);background:var(--vc-purple);color:#fff;width:60px;height:60px;font-family:var(--vc-display);letter-spacing:.04em;place-items:center;font-size:1.22rem;font-weight:800;display:grid}.workspace-hero h1{max-width:20ch;font-size:clamp(2rem,3.4vw,2.65rem)}.workspace-hero p:not(.eyebrow){font-size:var(--lg-text-xs);margin-top:8px}.workspace-summary{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);grid-auto-columns:minmax(88px,1fr);grid-auto-flow:column;min-width:0;display:grid;overflow:hidden}.workspace-summary>span{grid-template-columns:auto 1fr;align-items:center;gap:2px 7px;min-height:62px;padding:9px 12px;display:grid}.workspace-summary>span+span{border-left:1px solid var(--vc-line-2)}.workspace-summary__metric svg{color:var(--vc-purple);grid-row:span 2}.workspace-summary__metric strong{font-family:var(--vc-display);font-size:var(--lg-text-sm);line-height:1}.workspace-summary__metric small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;font-weight:700}.workspace-tabs{border-bottom:1px solid var(--vc-line-2);scrollbar-width:none;align-items:stretch;gap:29px;margin:0 clamp(20px,6vw,80px);display:flex;overflow-x:auto}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tabs__button{min-height:56px;color:var(--vc-ink-3);font-size:var(--lg-text-xs);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;align-items:center;gap:7px;padding:0 1px;font-weight:800;transition:border-color .16s,color .16s,transform .16s;display:inline-flex;position:relative}.workspace-tabs__button:hover{color:var(--vc-ink)}.workspace-tabs__button.is-active{border-bottom-color:var(--vc-purple);color:var(--vc-purple-dark)}.workspace-tabs__button svg{opacity:.72;flex:none}.workspace-tabs__button.is-active svg{opacity:1}.workspace-panel{min-height:360px;margin:0 clamp(20px,6vw,80px);padding:31px 0 15px}.notes-panel textarea{resize:vertical;min-height:170px;padding:16px;line-height:1.62;display:block}.notes-panel textarea:disabled{background:var(--lg-canvas);color:var(--vc-ink-2)}.panel-footer{justify-content:space-between;gap:18px;margin-top:13px}.save-state{color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:700}.save-state.is-saved{color:var(--vc-green);align-items:center;gap:5px;animation:.36s ease-out both save-celebrate;display:inline-flex}.panel-heading{justify-content:space-between;gap:16px;margin-bottom:23px}.panel-heading .eyebrow{margin-bottom:5px}.student-grid{border-top:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);flex-wrap:wrap;align-items:flex-start;gap:12px 10px;min-height:128px;padding:14px 0 12px;display:flex}.student-row{width:72px;animation:card-arrive .34s calc(var(--motion-index,0) * 42ms) ease-out both;display:block}.student-card{width:72px;min-height:96px;color:var(--vc-ink-2);text-align:center;align-content:start;justify-items:center;gap:7px;text-decoration:none;display:grid}.student-card__avatar{border:2px solid var(--lg-surface);background:var(--vc-purple-soft);width:64px;height:64px;box-shadow:0 0 0 1px var(--vc-line);border-radius:50%;place-items:center;transition:transform .2s cubic-bezier(.2,.9,.3,1.25),box-shadow .2s;display:grid;overflow:hidden}.student-card__avatar img{background:var(--vc-purple-soft);object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.student-card__name{width:100%;min-height:2.35em;color:var(--vc-ink-2);font-size:var(--lg-text-xs);text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:800;line-height:1.18;display:-webkit-box;overflow:hidden}.student-card:hover .student-card__avatar,.student-card:focus-visible .student-card__avatar{transform:scale(1.08);box-shadow:0 0 0 2px #2061f559}.student-card:hover .student-card__name,.student-card:focus-visible .student-card__name{color:var(--vc-purple-dark)}.week-picker{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-canvas);grid-template-columns:minmax(0,1fr) minmax(9rem,1.25fr) minmax(0,1fr);margin-bottom:17px;display:grid;overflow:hidden}.week-picker__button,.week-picker__current{min-height:65px;color:var(--vc-ink-2);text-align:left;background:0 0;border:0;align-content:center;gap:3px;padding:8px 12px;display:grid}.week-picker__button{transition:background-color .16s,color .16s}.week-picker__button:hover{background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.week-picker__button--next{text-align:right}.week-picker__button small,.week-picker__current small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.week-picker__button strong,.week-picker__current strong{font-family:var(--vc-display);font-size:var(--lg-text-xs);line-height:1.2}.week-picker__current{border-right:1px solid var(--vc-line);border-left:1px solid var(--vc-line);text-align:center;justify-items:center}.week-picker__current button{color:var(--vc-purple);font-size:var(--lg-text-xs);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:800;text-decoration:underline}.week-strip{border-top:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);grid-template-columns:repeat(7,minmax(72px,1fr));min-width:0;margin:0 0 28px;display:grid;position:relative;overflow:hidden}.week-strip__day{border:0;border-right:1px solid var(--vc-line-2);background:var(--lg-surface);min-width:0;min-height:78px;color:var(--vc-ink-3);text-align:center;border-bottom:3px solid #0000;align-content:center;place-items:center;gap:3px;padding:8px 4px;transition:color .16s,background-color .16s;display:grid;position:relative;overflow:hidden}.week-strip__day:last-of-type{border-right:0}.week-strip__day:hover{color:var(--vc-ink);background:var(--lg-canvas)}.week-strip__day.is-active{border-bottom-color:var(--vc-purple);color:var(--vc-ink)}.week-strip__day span,.week-strip__day small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700;line-height:1.1}.week-strip__day strong{color:inherit;font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1}.week-strip__day small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);letter-spacing:0;text-transform:none;font-weight:600}.goal-lanes{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;display:grid}.goal-lane{min-width:0}.goal-lane+.goal-lane{border-left:1px solid var(--vc-line-2);padding-left:23px}.goal-lane__heading{border-bottom:1px solid var(--vc-line-2);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.goal-lane__heading h3{margin:0;font-size:1.18rem}.goal-add{color:var(--vc-purple);font-size:var(--lg-text-xs);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:800;display:inline-flex}.goal-add:hover{color:var(--vc-purple-dark);text-underline-offset:3px;text-decoration:underline}.goal-card-grid{gap:9px;margin-top:12px;display:grid}.goal-card{border-bottom:1px solid var(--vc-line);animation:card-arrive .34s calc(var(--motion-index,0) * 34ms) ease-out both;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.goal-card__copy{gap:4px;min-width:0;display:grid}.goal-card__kind{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.goal-card__copy strong{color:var(--vc-ink);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-card__copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.goal-card__edit,.goal-card__print{color:var(--vc-ink-2);font-size:var(--lg-text-xs);flex:none;align-items:center;gap:5px;padding:5px 0;font-weight:800;text-decoration:none;display:inline-flex}.goal-card__edit:hover{color:var(--vc-purple)}.goal-card__print,.goal-card__print:hover{color:var(--lg-eco-blue-ink)}.goal-lane__empty{min-height:86px;color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-align:center;place-items:center;padding:16px 0;display:grid}.goal-list{border-top:1px solid var(--vc-line);margin-top:20px;display:grid}.goal-row{border-bottom:1px solid var(--vc-line);justify-content:space-between;gap:16px;min-height:82px;padding:14px 0}.goal-row__copy{gap:3px;min-width:0;display:grid}.goal-row__kind{color:var(--vc-purple);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700}.goal-row__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-row__copy small{color:var(--vc-ink-3)}.metric-grid{border-top:1px solid var(--vc-line-2);border-left:1px solid var(--vc-line-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric{border-right:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);min-height:136px;animation:card-arrive .34s calc(var(--motion-index,0) * 42ms) ease-out both;flex-direction:column;justify-content:space-between;padding:18px;display:flex}.metric span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.metric strong{color:var(--vc-purple);font-family:var(--vc-display);animation:count-pop .35s calc(var(--motion-index,0) * 42ms) ease-out both;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1;display:inline-block}.progress-board{border-top:1px solid var(--vc-line-2)}.progress-board__heading{justify-content:space-between;align-items:center;gap:16px;min-height:58px;display:flex}.progress-board__heading h3{font-size:var(--lg-text-md);margin:0}.panel-link{color:var(--vc-purple);font-size:var(--lg-text-xs);align-items:center;gap:6px;padding:5px 0;font-weight:800;text-decoration:none;transition:color .16s,transform .16s cubic-bezier(.2,.9,.3,1.2);display:inline-flex;position:relative;overflow:hidden}.panel-link:hover{color:var(--vc-purple-dark);transform:translate(2px)}.panel-link svg{transition:transform .16s cubic-bezier(.2,.9,.3,1.2)}.panel-link:hover svg{transform:translate(3px)}.progress-note{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:16px 0 0}.reveal-on-scroll{opacity:0;transition:opacity .42s ease-out,transform .52s cubic-bezier(.2,.8,.2,1);transform:translateY(18px)}.reveal-on-scroll.is-revealed{opacity:1;transform:none}.settings-menu{z-index:5;flex:none;position:relative}.workspace-hero .icon-button--hero{box-shadow:none;background:0 0;border-color:#0000}.workspace-hero .icon-button--hero:hover{background:var(--lg-canvas);color:var(--vc-purple);transform:scale(1.04)}.settings-popover{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);width:min(300px,100vw - 48px);box-shadow:var(--lg-shadow-float);gap:9px;padding:15px;animation:.2s ease-out both pop-arrive;display:grid;position:absolute;top:52px;right:0}.settings-popover.is-closing{opacity:0;transition:opacity .14s ease-in,transform .14s ease-in;animation:none;transform:translateY(-5px)scale(.98)}.settings-popover strong{font-size:var(--lg-text-xs)}.settings-popover p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0;line-height:1.5}.settings-popover .button:where(:not([data-slot])){width:fit-content;margin-top:4px}.settings-popover__confirm{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);margin:0;font-weight:700}.module-list{border-top:1px solid var(--vc-line-2);max-width:820px;display:grid}.module-row{border-bottom:1px solid var(--vc-line-2);gap:17px;min-height:106px;padding:18px 0;text-decoration:none;transition:color .18s,transform .18s}.module-row:hover{color:var(--vc-purple);transform:translate(4px)}.module-row__icon{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);width:46px;height:46px;color:var(--vc-purple);border:1px solid oklch(55% .23 263/.22);flex:none;place-items:center;display:grid}.module-row__copy{gap:5px;min-width:0;display:grid}.module-row__copy strong{font-family:var(--vc-display);font-size:var(--lg-text-sm)}.module-row__copy small{color:var(--vc-ink-3);line-height:1.4}.module-row__action{color:var(--vc-purple);font-size:var(--lg-text-xs);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-weight:800;display:inline-flex}.not-found{padding-top:48px}@media(max-width:980px){.app-header__inner{flex-wrap:wrap;gap:9px 16px;min-height:auto;padding:12px 0}.primary-nav{order:3;width:100%;padding-bottom:3px;overflow-x:auto}.header-utility{margin-left:auto}.nav-stats{display:none}.class-grid{grid-template-columns:1fr}}@media(max-width:720px){.app-header__inner,.app-main{width:min(100% - 32px,1400px)}.app-main{padding-top:30px}.brand{width:143px;margin-right:0}.primary-nav__link{min-height:35px;font-size:var(--lg-text-xs);gap:6px;padding:0 10px}.primary-nav__icon{flex-basis:22px;width:22px;height:22px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading .button:where(:not([data-slot])){width:100%}.workspace-shell{border-radius:var(--lg-radius-md)}.workspace-hero{flex-direction:column;align-items:flex-start}.workspace-hero__aside{justify-content:space-between;width:100%}.workspace-hero__identity{grid-template-columns:48px minmax(0,1fr);gap:12px}.language-token{border-radius:var(--lg-radius-sm);width:48px;height:48px;font-size:var(--lg-text-sm)}.workspace-tabs{gap:21px}.workspace-tabs__button{min-height:52px}.panel-heading{flex-direction:column;align-items:flex-start}.panel-heading .button:where(:not([data-slot])){width:100%}.panel-footer{flex-direction:column;align-items:flex-start}.panel-footer .button:where(:not([data-slot])){width:100%}.goal-lanes{grid-template-columns:1fr;gap:26px}.goal-lane+.goal-lane{border-top:1px solid var(--vc-line-2);border-left:0;padding-top:25px;padding-left:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.app-header__inner,.app-main{width:min(100% - 32px,1400px)}.header-utility{gap:6px}.account-control__profile,.account-control__loading{min-height:44px;padding:3px 5px 3px 3px}.account-control__profile img,.account-control__fallback{flex-basis:34px;width:34px;height:34px}.app-main:has(.workspace-page){padding:10px 0 38px}.workspace-shell{border-left:0;border-right:0;border-radius:0}.back-link,.workspace-hero,.workspace-tabs,.workspace-panel{margin-left:18px;margin-right:18px}.workspace-hero{padding-left:0;padding-right:0}.workspace-summary{width:100%}.workspace-hero__actions{justify-content:flex-end;width:100%}.workspace-tabs{gap:18px}.workspace-tabs__button{font-size:var(--lg-text-xs)}.week-picker{grid-template-columns:1fr 1.1fr 1fr}.week-picker__button,.week-picker__current{min-height:60px;padding:7px}.week-picker__button strong,.week-picker__current strong{font-size:var(--lg-text-xs)}.week-strip{grid-template-columns:repeat(7,minmax(55px,1fr));overflow-x:auto}.week-strip__day{min-width:55px;min-height:72px}.metric{min-height:112px;padding:14px}.module-row__action{display:none}}.brand-logo-fallback{color:var(--vc-ink);font-family:var(--vc-display);letter-spacing:-.12em;font-size:1.45rem;font-weight:800;line-height:1;display:inline-flex}.brand-logo-fallback__letter{display:inline-block}.brand-logo-fallback__letter--yellow{color:var(--lg-spark-ink)}.brand-logo-fallback__letter--coral{color:var(--lg-eco-blue-ink)}.brand-logo-fallback__letter--green{color:var(--vc-green)}.brand-logo-fallback__letter--blue{color:var(--vc-blue)}.brand-logo-fallback__letter--pink{color:var(--lg-wrong-ink)}.brand-logo-fallback__letter--purple{color:var(--vc-purple)}.brand-logo-fallback__letter--orange{color:var(--lg-spark-ink)}.login-provider__mark{flex:0 0 20px;width:20px;height:20px;display:inline-flex}.login-provider__mark svg{width:100%;height:100%;display:block}.login-provider__copy{align-items:baseline;min-width:0;display:inline-flex}.login-provider__prefix{margin-right:.25em}.login-provider__badge{color:var(--lg-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;grid-area:2/2;justify-self:start;margin-top:2px;font-weight:700;line-height:1}.login-provider--apple .login-provider__badge{color:var(--lg-ink-3)}.login-coming-soon{border:1.5px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-canvas);color:var(--lg-ink-3);gap:5px;padding:15px 16px;display:grid}.login-coming-soon__label{color:var(--lg-ink-3);font-size:var(--lg-text-xs);letter-spacing:.08em;font-weight:800}.login-coming-soon p{font-size:var(--lg-text-xs);margin:0;line-height:1.45}@media(max-width:520px){.login-provider__prefix{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.page-scene{transition:none!important;animation:none!important}}.student-workspace-page .workspace-shell,.student-workspace-hero{background:var(--lg-canvas)}.student-workspace-hero .student-section-kicker{margin-bottom:6px;display:block}.student-section-kicker{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800;line-height:1.25}.student-workspace-summary{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);grid-template-columns:minmax(135px,1.5fr) repeat(3,minmax(90px,1fr));min-width:min(100%,405px);display:grid;overflow:hidden}.student-workspace-summary>span{grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;min-height:72px;padding:12px 15px;display:grid}.student-workspace-summary svg{color:var(--vc-purple);grid-row:span 2}.student-workspace-summary strong{font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1}.student-workspace-summary small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.student-workspace-summary__teacher{grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr)!important;column-gap:10px!important}.student-workspace-summary__teacher img{border:1px solid var(--vc-line-2);background:var(--vc-purple-soft);object-fit:cover;border-radius:50%;grid-row:span 2;width:36px;height:36px}.student-workspace-summary__teacher strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-week-panel,.student-calendar-panel,.student-progress-panel,.student-notes-panel{background:var(--lg-canvas)}.student-week-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:23px;display:flex}.student-week-intro h2{margin-top:5px;font-size:clamp(1.55rem,2.5vw,2.1rem)}.student-week-intro p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0}.student-today-meter{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-pill);background:var(--lg-eco-blue-wash);min-height:38px;color:var(--lg-eco-blue-ink);white-space:nowrap;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.student-today-meter strong{font-family:var(--vc-display);font-size:var(--lg-text-sm)}.student-today-meter span{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.student-week-navigation{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);margin-bottom:26px;padding:14px}.student-week-navigation__heading{border-bottom:1px solid var(--vc-line);justify-content:space-between;align-items:center;gap:14px;padding:2px 3px 13px;display:flex}.student-week-navigation__arrows{gap:6px;display:flex}.student-week-navigation__arrows button{border:1px solid var(--vc-line-2);background:var(--lg-surface);width:32px;height:32px;color:var(--vc-ink-2);border-radius:50%;place-items:center;display:grid}.student-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.student-week-day{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-width:0;min-height:74px;color:var(--vc-ink-2);text-align:center;align-content:center;place-items:center;gap:3px;padding:8px 5px;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:grid}.student-week-day:hover{border-color:var(--vc-purple);background:var(--vc-purple-soft)}.student-week-day.is-selected{border-color:var(--lg-eco-blue);background:var(--vc-ink);color:var(--lg-surface)}.student-week-day strong{font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1}.student-week-day span{max-width:100%;color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.student-week-day small{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.student-week-day.is-selected span,.student-week-day.is-selected small{color:#ffffffb3}.student-goal-lane+.student-goal-lane{border-left-color:var(--vc-line-2)}.student-goal-lane__kicker{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin-bottom:3px;font-weight:800;display:block}.student-goal-lane__count{background:var(--vc-purple-soft);width:28px;height:28px;color:var(--vc-purple-dark);font-family:var(--vc-display);font-size:var(--lg-text-xs);border-radius:50%;place-items:center;display:grid}.student-goal-row{align-items:center;gap:16px;padding:14px 0}.student-goal-row__meta{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);flex-wrap:wrap;gap:5px 12px;font-weight:700;display:flex}.student-goal-sets{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.student-goal-sets span{border:1px solid var(--vc-line-2);max-width:100%;color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 7px;overflow:hidden}.student-goal-row__play{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-pill);background:var(--lg-surface);min-height:34px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);flex:none;align-items:center;gap:7px;padding:0 10px;font-weight:800;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:inline-flex}.student-goal-row__game{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.student-goal-row__play:hover .student-goal-row__game{color:inherit}.student-calendar-panel{padding-top:0}.student-calendar-panel .class-calendar__surface{box-shadow:none;background:0 0;border:0;border-radius:0}.student-progress-panel .panel-heading p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0}.student-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.student-progress-list{border-top:1px solid var(--vc-line-2);margin-top:30px}.student-progress-list h3{font-size:var(--lg-text-sm);margin:0;padding:18px 0 9px}.student-progress-row{border-top:1px solid var(--vc-line);color:var(--vc-ink);justify-content:space-between;align-items:center;gap:18px;padding:12px 0;text-decoration:none;display:flex}.student-progress-row:hover{color:var(--vc-purple)}.student-progress-row span{gap:4px;min-width:0;display:grid}.student-progress-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-progress-row small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs)}.student-progress-empty{text-align:left;justify-content:flex-start;margin-top:24px}.student-notes-panel blockquote{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--vc-ink-2);font-size:var(--lg-text-sm);white-space:pre-wrap;margin:0;padding:20px 22px;line-height:1.65}@media(max-width:820px){.student-workspace-summary{min-width:0}.student-workspace-summary__teacher{display:none!important}.student-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-workspace-summary>span+span{border-left:0}.student-workspace-summary>span:nth-child(3),.student-workspace-summary>span:nth-child(4){border-left:1px solid var(--vc-line-2)}.student-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.student-week-intro{flex-direction:column;align-items:flex-start}.student-today-meter{justify-content:center;align-self:stretch}.student-week-navigation{padding:10px 8px}.student-week-strip{grid-template-columns:repeat(7,minmax(70px,1fr));overflow-x:auto}.student-week-strip li{min-width:70px}.student-goal-row{flex-direction:column;align-items:flex-start}.student-goal-row__play{align-self:flex-start}.student-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.module-list--choices{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:none;display:grid}.module-list--choices .module-row--choice{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--vc-surface);min-width:0;min-height:500px;color:var(--vc-ink);box-shadow:none;grid-template-rows:270px minmax(0,1fr);align-items:stretch;gap:0;padding:0;transition:border-color .16s,background-color .16s,transform .22s cubic-bezier(.175,.885,.32,1.275),box-shadow .22s;animation:.48s cubic-bezier(.175,.885,.32,1.15) both module-card-enter;display:grid;overflow:hidden}.module-list--choices .module-row--choice:nth-child(2){animation-delay:90ms}.module-list--choices .module-row--choice:hover,.module-list--choices .module-row--choice:focus-visible{border-color:var(--vc-purple);background:var(--lg-surface);color:var(--vc-ink);box-shadow:none}.module-list--choices .module-row--choice:hover .module-card__art svg,.module-list--choices .module-row--choice:focus-visible .module-card__art svg{transform:scale(1.045)}.module-list--choices .module-row--choice:hover .module-art__book,.module-list--choices .module-row--choice:hover .module-art__word-card{animation-duration:2.2s}.module-list--choices .module-row--choice:hover .module-art__pencil{animation-duration:1.35s}.module-list--choices .module-row--choice:hover .module-art__spark{animation-duration:1.1s}.module-list--choices .module-row--choice:focus-visible{outline-offset:3px;outline:3px solid oklch(55% .23 263/.2)}.module-list--choices .module-row--choice:nth-child(2) .module-row__icon{border-color:var(--lg-line);background:var(--vc-green-soft);color:var(--lg-correct-press)}.module-card__art{border-bottom:1px solid var(--vc-line-2);place-items:stretch stretch;display:grid;position:relative;overflow:hidden}.module-card__art--verb{background:var(--lg-eco-blue-wash)}.module-card__art--vocab{background:var(--lg-canvas)}.module-card__art svg{width:100%;height:100%;transition:transform .48s cubic-bezier(.175,.885,.32,1.275);display:block}.module-art__ground{fill:#ffffff80}.module-art__book,.module-art__word-card,.module-art__bubble{transform-box:fill-box;transform-origin:50%}.module-art__book{animation:3.8s ease-in-out infinite module-card-bob}.module-art__word-card{animation:4.2s ease-in-out .2s infinite module-card-bob}.module-art__word-card--back{animation-delay:-.8s}.module-art__bubble{animation:3.2s ease-in-out infinite module-card-bubble}.module-art__pencil{transform-box:fill-box;transform-origin:30% 90%;animation:2.8s ease-in-out infinite module-pencil-wiggle}.module-art__spark{transform-box:fill-box;transform-origin:50%;animation:2.2s ease-in-out infinite module-spark-pop}.module-art__spark--two{animation-delay:-.7s}.module-art__dot{animation:2.4s ease-in-out infinite module-dot-hop}.module-art__dot--two{animation-delay:-.9s}@keyframes module-card-bob{0%,to{transform:translateY(2px)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}@keyframes module-card-enter{0%{opacity:0;transform:translateY(20px)rotate(1deg)scale(.98)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes module-card-bubble{0%,to{transform:translateY(2px)rotate(-1deg)scale(.98)}50%{transform:translateY(-4px)rotate(1deg)scale(1)}}@keyframes module-pencil-wiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)translateY(-2px)}}@keyframes module-spark-pop{0%,to{opacity:.72;transform:scale(.86)rotate(-8deg)}50%{opacity:1;transform:scale(1.08)rotate(8deg)}}@keyframes module-dot-hop{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.module-card__body{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;padding:22px 26px 24px;display:grid}.module-list--choices .module-row__icon{border-radius:var(--lg-radius-md);background:var(--vc-purple-soft-2);width:56px;height:56px;color:var(--vc-purple)}.module-list--choices .module-row__copy{gap:6px}.module-list--choices .module-row__copy strong{font-family:var(--vc-display);font-size:1.45rem;line-height:1.05}.module-list--choices .module-row__copy small{max-width:30ch;font-size:var(--lg-text-xs);line-height:1.45}.module-list--choices .module-row__action{align-self:end}.module-list--choices .module-row__action svg{transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.module-list--choices .module-row--choice:hover .module-row__action svg,.module-list--choices .module-row--choice:focus-visible .module-row__action svg{transform:translate(5px)}@media(max-width:820px){.module-list--choices{grid-template-columns:1fr}}@media(max-width:560px){.module-list--choices .module-row--choice{grid-template-rows:220px minmax(0,1fr);min-height:430px}.module-card__body{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:18px 20px 20px}.module-list--choices .module-row__icon{border-radius:var(--lg-radius-md);width:48px;height:48px}.module-list--choices .module-row__copy strong{font-size:1.25rem}.module-list--choices .module-row__action{grid-column:2;align-self:start;margin-left:0;display:inline-flex}}@media(prefers-reduced-motion:reduce){.module-list--choices .module-row--choice,.module-list--choices .module-row--choice:hover{box-shadow:none;transition:none;transform:none}.module-list--choices .module-card__art svg{transition:none;transform:none!important}.module-list--choices .module-row--choice,.module-list--choices .module-art__book,.module-list--choices .module-art__word-card,.module-list--choices .module-art__bubble,.module-list--choices .module-art__pencil,.module-list--choices .module-art__spark,.module-list--choices .module-art__dot{animation:none}}.module-page--library{isolation:isolate;border:2px solid var(--lg-line-strong);border-radius:var(--vc-radius);background:var(--vc-blue);min-height:calc(100dvh - 168px);box-shadow:none;padding:clamp(28px,5vw,68px);position:relative;overflow:hidden}.module-page--library:before,.module-page--library:after{z-index:-1;aspect-ratio:1.7;border:2px solid var(--lg-line-strong);content:"";pointer-events:none;border-radius:48% 52% 38% 62%/61% 38% 62% 39%;width:clamp(150px,24vw,330px);display:none;position:absolute}.module-page--library:before{background:var(--lg-eco-blue-wash);top:-76px;right:-48px;transform:rotate(-12deg)}.module-page--library:after{background:var(--lg-eco-blue-wash);bottom:-72px;left:-54px;transform:rotate(16deg)}.module-page--library .page-heading{z-index:2;grid-template-columns:minmax(0,1fr) auto;align-items:end;max-width:none;margin-bottom:clamp(28px,4vw,48px);display:grid;position:relative}.module-page--library .eyebrow,.module-page--library .page-heading__intro{color:var(--lg-surface)}.module-page--library .eyebrow{letter-spacing:.14em}.module-page--library h1{max-width:9ch;color:var(--lg-surface);font-size:clamp(3rem,7vw,6.4rem);line-height:.87}.module-page--library .page-heading__intro{max-width:43ch;font-weight:700}.module-page__doodles{width:clamp(130px,16vw,220px);height:112px;display:none;position:relative}.module-page__doodles i{font-style:normal;display:block;position:absolute}.module-page__doodles .is-ring{aspect-ratio:1;border:18px solid var(--lg-spark);width:68px;box-shadow:0 0 0 2px var(--vc-ink),inset 0 0 0 2px var(--vc-ink);border-radius:50%;bottom:4px;right:16px}.module-page__doodles .is-cube{aspect-ratio:1;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:34px;top:12px;left:20px;transform:rotate(30deg)}.module-page__doodles .is-scribble{color:var(--lg-surface);font-size:5rem;line-height:1;top:0;right:64px;transform:rotate(-12deg)}.module-page--library .module-list--choices{z-index:1;gap:clamp(18px,3vw,34px);position:relative}.module-page--library .module-row--choice{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-height:0;box-shadow:none;grid-template-rows:minmax(240px,29vw) auto;transition:transform .26s cubic-bezier(.175,.885,.32,1.18),box-shadow .26s;animation:.52s cubic-bezier(.175,.885,.32,1.18) both library-poster-arrive}.module-page--library .module-row--choice:nth-child(2){animation-delay:70ms}.module-page--library .module-row--choice:hover,.module-page--library .module-row--choice:focus-visible{border-color:var(--lg-eco-blue);box-shadow:none;transform:translateY(-8px)}.module-page--library .module-row--pink:hover,.module-page--library .module-row--pink:focus-visible{box-shadow:none}.module-page--library .module-card__art{border-bottom:2px solid var(--lg-line-strong);background:var(--vc-blue);min-height:0;overflow:hidden}.module-page--library .module-card__art img{object-fit:cover;width:100%;height:100%;transition:transform .52s cubic-bezier(.175,.885,.32,1.18);display:block;transform:scale(1.015)}.module-page--library .module-card__art>picture{width:100%;height:100%;display:block}.module-page--library .module-row--choice:hover .module-card__art img,.module-page--library .module-row--choice:focus-visible .module-card__art img{transform:scale(1.055)translateY(-3px)}.module-card__art-mark{border-top:4px solid var(--lg-surface);border-bottom:4px solid var(--lg-surface);border-radius:50%;width:54px;height:22px;animation:2.8s ease-in-out infinite library-mark-pulse;position:absolute;bottom:16px;right:18px;transform:rotate(-12deg)}.module-page--library .module-card__body{background:var(--lg-surface);grid-template-columns:66px minmax(0,1fr) auto;gap:18px;padding:clamp(20px,3vw,30px)}.module-page--library .module-row__icon{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-blue);width:66px;height:66px;color:var(--lg-surface);box-shadow:none;overflow:hidden}.module-page--library .module-list--choices .module-row--choice .module-row__icon{border-color:var(--lg-line-strong);background:var(--vc-blue);color:var(--lg-surface)}.module-page--library .module-row__icon img{object-fit:cover;width:100%;height:100%;display:block}.module-page--library .module-row__copy strong{color:var(--vc-ink);font-size:clamp(1.35rem,2.4vw,1.9rem)}.module-page--library .module-row__copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:650}.module-page--library .module-row__action{border:2px solid var(--lg-line-strong);border-radius:var(--vc-radius-pill);background:var(--lg-eco-blue-wash);min-height:40px;box-shadow:none;color:var(--lg-eco-blue-ink);align-self:center;padding:0 13px}.module-page--library .module-row--pink .module-row__action{background:var(--lg-eco-blue-wash)}@keyframes library-poster-arrive{0%{opacity:0;transform:translateY(28px)rotate(1deg)scale(.975)}to{opacity:1;transform:none}}@keyframes library-blob-float{50%{transform:translate(8px,10px)rotate(-7deg)}}@keyframes library-ring-turn{to{transform:rotate(360deg)}}@keyframes library-cube-hop{50%{transform:translateY(-10px)rotate(40deg)}}@keyframes library-mark-pulse{50%{transform:rotate(-5deg)scaleX(.82)}}@media(max-width:820px){.module-page--library{padding:30px 22px 38px}.module-page--library .page-heading{grid-template-columns:1fr}.module-page__doodles{transform-origin:100% 0;position:absolute;top:0;right:0;transform:scale(.72)}.module-page--library .module-row--choice{grid-template-rows:minmax(230px,53vw) auto}}@media(max-width:560px){.module-page--library{border-radius:var(--lg-radius-lg);box-shadow:none;margin-inline:-4px;padding:28px 14px 30px}.module-page--library h1{font-size:clamp(2.9rem,16vw,4.6rem)}.module-page__doodles{display:none}.module-page--library .module-card__body{grid-template-columns:54px minmax(0,1fr);gap:13px;padding:17px}.module-page--library .module-row__icon{border-radius:var(--lg-radius-md);width:54px;height:54px}.module-page--library .module-row__action{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.module-page--library:before,.module-page--library:after,.module-page__doodles i,.module-card__art-mark,.module-page--library .module-row--choice{animation:none}.module-page--library .module-row--choice:hover,.module-page--library .module-row--choice:focus-visible{transform:none}}.classes-page{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius);background:var(--lg-surface);box-shadow:var(--vc-shadow-soft);animation:.36s ease-out both panel-arrive;overflow:hidden}.classes-page__masthead{border-bottom:1px solid var(--vc-line-2);margin:0;padding:25px 30px 23px}.classes-page__masthead .eyebrow{display:none}.classes-page__masthead h1{font-size:clamp(1.75rem,2.8vw,2.25rem)}.class-directory{padding:28px 30px 32px}.class-directory__heading{border-bottom:1px solid var(--vc-line-2);justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:23px;padding-bottom:23px;display:flex}.class-directory__heading h1,.class-directory__heading h2{margin:0;font-size:clamp(1.6rem,2.6vw,2rem);line-height:1.1}.class-directory__heading .eyebrow{color:var(--lg-eco-blue-ink)}.class-directory__heading .page-heading__intro{font-size:var(--lg-text-sm);margin-top:8px}.class-directory__actions{flex:none;align-items:center;gap:10px;display:flex}.class-directory__total{border-radius:var(--vc-radius-pill);background:var(--vc-purple-soft);min-height:38px;color:var(--vc-purple-dark);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);white-space:nowrap;border:1px solid oklch(55% .23 263/.24);align-items:center;padding:0 14px;font-weight:700;display:inline-flex}.class-directory .button:where(:not([data-slot])){min-height:40px}.discover-class-entry{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);min-height:40px;color:var(--vc-purple-dark);font-size:var(--lg-text-xs);border:1px solid oklch(55% .23 263/.24);align-items:center;gap:8px;padding:0 13px;font-weight:800;text-decoration:none;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex}.discover-class-entry:hover,.discover-class-entry:focus-visible{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.discover-class-entry:active{transform:translateY(1px)}.discover-class-entry:focus-visible{outline:3px solid var(--vc-purple-dark);outline-offset:3px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;display:grid;position:relative}.class-card{--card-ease:cubic-bezier(.2, .82, .2, 1);isolation:isolate;border-radius:var(--vc-radius);background:var(--lg-surface);cursor:pointer;min-width:0;min-height:248px;transition:transform .36s var(--card-ease),border-color .16s ease-out,box-shadow .36s var(--card-ease),opacity .16s ease;border:1px solid oklch(24% .04 266/.11);flex-direction:column;padding:24px 24px 20px;animation:none;display:flex;position:relative;overflow:hidden;transform:translate(0);box-shadow:inset 0 1px #ffffffe6,0 18px 36px -31px #161f3280}.class-card:before,.class-card:after{z-index:0;pointer-events:none;content:"";position:absolute}.class-card:before{border-radius:inherit;background:var(--lg-eco-blue-wash);opacity:0;transform-origin:100% 100%;transition:opacity .18s ease-out,transform .48s var(--card-ease);top:-1px;right:-1px;bottom:-1px;left:-1px;transform:scale(.9)}.class-card:after{background:var(--vc-purple);opacity:.82;transform-origin:100%;height:3px;transition:transform .43s var(--card-ease);border-radius:0 0 999px 999px;top:0;left:24px;right:24px;transform:scaleX(0)}.class-card:is(:hover,:focus-within){border-color:#2061f566;transform:translateY(-8px)scale(1.008);box-shadow:inset 0 1px #fffffff5,0 30px 48px -30px #161f3275}.class-card:is(:hover,:focus-within):before{opacity:1;transform:scale(1)}.class-card:is(:hover,:focus-within):after{transform:scaleX(1)}.class-card:active{transform:translateY(-1px)scale(.994);box-shadow:inset 0 1px #ffffffe6,0 14px 28px -26px #161f3273}.class-card.is-opening{pointer-events:none;opacity:.78;transform:translateY(-2px)scale(.992)}.class-card__header{z-index:1;transition:transform .36s var(--card-ease);justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:relative}.class-card:is(:hover,:focus-within) .class-card__header{transform:translate(2px,-1px)}.class-card__header h2{width:auto;min-width:0;margin:0}.class-card__title{color:var(--vc-ink);font-family:var(--vc-display);letter-spacing:-.01em;text-overflow:ellipsis;transition:color .16s ease-out,transform .36s var(--card-ease);white-space:nowrap;margin-block:-11px;padding-block:11px;font-size:clamp(1.3rem,2.1vw,1.55rem);font-weight:800;line-height:1.12;text-decoration:none;display:block;overflow:hidden;transform:translate(0)}.class-card__title:hover,.class-card:is(:hover,:focus-within) .class-card__title{color:var(--vc-purple-dark)}.class-card:is(:hover,:focus-within) .class-card__title{transform:translate(2px)}.class-card__header .flag{margin-top:3px}.class-card__teacher{z-index:1;min-width:0;transition:transform .4s var(--card-ease);grid-template-columns:minmax(0,1fr);align-items:center;gap:12px;margin-top:16px;display:grid;position:relative}.class-card:is(:hover,:focus-within) .class-card__teacher{transform:translate(4px)}.class-card__teacher-face{background:var(--vc-purple-soft);width:40px;height:40px;box-shadow:0 0 0 3px var(--lg-surface),0 0 0 4px #2061f547;transition:transform .4s var(--card-ease),box-shadow .22s ease-out;border-radius:50%;place-items:center;display:grid;overflow:hidden;transform:translate(0)}.class-card__teacher-face img{object-fit:cover;width:100%;height:100%;display:block}.class-card:is(:hover,:focus-within) .class-card__teacher-face{box-shadow:0 0 0 3px var(--lg-surface),0 0 0 5px #2061f53d;transform:translateY(-2px)scale(1.035)}.class-card__teacher-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.class-card__teacher-copy strong{color:var(--vc-ink);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.class-card__teacher-copy small{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;flex:none;font-weight:700}.class-card__body{z-index:1;border-top:1px solid var(--vc-line);transition:border-color .18s ease-out,transform .42s var(--card-ease);align-items:center;gap:12px;margin-top:auto;padding-top:20px;padding-right:112px;display:flex;position:relative}.class-card:is(:hover,:focus-within) .class-card__body{border-color:#2061f529;transform:translate(-2px)}.class-card__faces{align-items:center;padding-left:3px;display:flex}.class-card__face{background:var(--vc-purple-soft);width:40px;height:40px;box-shadow:0 0 0 3px var(--lg-surface),0 4px 10px -7px #161f32b3;transition:transform .36s var(--card-ease),box-shadow .18s ease-out;border-radius:50%;place-items:center;margin-left:-12px;display:grid;overflow:hidden;transform:translate(0)}.class-card__face:first-child{margin-left:0}.class-card__face img{object-fit:cover;width:100%;height:100%;display:block}.class-card:is(:hover,:focus-within) .class-card__face{transform:translateY(-2px)}.class-card:is(:hover,:focus-within) .class-card__face:nth-child(2){transition-delay:28ms;transform:translate(3px,-5px)}.class-card:is(:hover,:focus-within) .class-card__face:nth-child(3){transition-delay:56ms;transform:translate(6px,-3px)}.class-card:is(:hover,:focus-within) .class-card__face:nth-child(n+4){transition-delay:76ms;transform:translate(8px,-2px)}.class-card .class-card__face:hover{z-index:4;box-shadow:0 0 0 3px var(--lg-surface),0 10px 18px -9px #161f32b8;transform:translate(4px,-9px)scale(1.12)}.class-card__face--more{background:var(--vc-ink);color:var(--lg-surface);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);font-weight:700}.class-card__empty{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0}.class-card__count{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;margin:0;font-weight:700}.class-card__open-corner{z-index:2;border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);width:48px;height:48px;color:var(--vc-purple-dark);box-shadow:none;transition:border-color .16s ease-out,background-color .18s ease-out,box-shadow .32s var(--card-ease),color .18s ease-out,transform .18s ease-out;border:1px solid oklch(55% .23 263/.19);place-items:center;text-decoration:none;display:grid;position:absolute;bottom:20px;right:20px;overflow:hidden;transform:translate(0)}.class-card__open-corner:before{pointer-events:none;content:"";transition:transform .52s 70ms var(--card-ease);background:0 0;position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-130%)}.class-card__open-corner-in{z-index:1;color:inherit;font-size:var(--lg-text-xs);white-space:nowrap;transition:transform .3s var(--card-ease);justify-content:center;align-items:center;gap:7px;font-weight:800;display:inline-flex;position:relative}.class-card__open-corner svg{transition:transform .3s var(--card-ease);flex:none}.class-card__open-label{opacity:0;max-width:0;transition:opacity .14s ease-out,transform .3s var(--card-ease);overflow:hidden;transform:translate(7px)}.class-card:is(:hover,:focus-within) .class-card__open-corner,.class-card__open-corner:focus-visible{border-color:var(--vc-purple-dark);background:var(--vc-purple-dark);width:112px;box-shadow:none;color:var(--lg-surface);transform:translateY(-3px)}.class-card:is(:hover,:focus-within) .class-card__open-corner:before,.class-card__open-corner:focus-visible:before{transform:translate(130%)}.class-card:is(:hover,:focus-within) .class-card__open-label,.class-card__open-corner:focus-visible .class-card__open-label{opacity:1;max-width:48px;transform:translate(0)}.class-card:is(:hover,:focus-within) .class-card__open-corner svg,.class-card__open-corner:focus-visible svg{transform:translate(2px)}.class-card__open-corner:active{box-shadow:none;transform:translateY(2px)scale(.98)}.class-card__open-corner:focus-visible{outline:3px solid var(--vc-purple-dark);outline-offset:3px}.class-directory__empty{border-radius:var(--vc-radius);min-height:144px}.school-directory{border-top:1px solid var(--vc-line-2);margin:0 30px 34px;padding:28px 0 0}.school-directory__heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.school-directory__heading h2{margin:0;font-size:clamp(1.45rem,2.4vw,1.9rem)}.school-directory__heading p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:7px 0 0}.teacher-groups{gap:30px;display:grid}.teacher-group__heading{align-items:center;gap:12px;margin-bottom:13px;display:flex}.teacher-group__heading h3{font-size:var(--lg-text-md);margin:0}.teacher-group__heading span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.school-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.school-class-card{--card-ease:cubic-bezier(.2, .82, .2, 1);border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:190px;box-shadow:none;transition:transform .22s var(--card-ease),border-color .16s ease,box-shadow .22s ease;flex-direction:column;padding:17px;display:flex}.school-class-card:hover{box-shadow:none;border-color:#2061f561}.school-class-card__top{grid-template-columns:39px minmax(0,1fr);align-items:center;gap:11px;min-width:0;display:grid}.school-class-card__flag{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);place-items:center;width:39px;height:39px;display:grid}.school-class-card__top h3{font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.school-class-card__top p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:5px 0 0}.school-class-card .class-code{align-self:flex-start;margin-top:15px}.school-class-card__foot{justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:15px;display:flex}.school-class-card__teacher{color:var(--vc-ink-2);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.school-class-card__open,.school-class-card__join{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);min-height:31px;color:var(--vc-purple-dark);font-size:var(--lg-text-xs);border:1px solid oklch(55% .23 263/.2);align-items:center;gap:5px;padding:0 9px;font-weight:850;text-decoration:none;transition:transform .16s,background-color .16s;display:inline-flex}.school-class-card__open:hover,.school-class-card__join:hover{background:var(--lg-eco-blue-wash)}.school-class-card__join:disabled{cursor:progress;opacity:.65}@media(max-width:1050px){.school-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.school-directory{margin:0 20px 28px}.school-directory__heading{flex-direction:column;align-items:flex-start;gap:10px}.school-class-grid{grid-template-columns:1fr}}.class-scene{z-index:2147483000;pointer-events:auto;background:var(--lg-eco-blue);clip-path:circle(0 at var(--scene-x,50vw) var(--scene-y,50vh));will-change:clip-path;place-items:center;display:grid;position:fixed;top:-2px;right:-2px;bottom:-2px;left:-2px;overflow:hidden}.class-scene--cover{animation:.3s cubic-bezier(.2,.82,.2,1) both class-ink-in}.class-scene--reveal{animation:.3s cubic-bezier(.62,0,.2,1) both class-ink-out}@keyframes class-ink-in{0%{clip-path:circle(0 at var(--scene-x,50vw) var(--scene-y,50vh))}38%{clip-path:circle(34vmax at var(--scene-x,50vw) var(--scene-y,50vh))}to{clip-path:circle(160vmax at var(--scene-x,50vw) var(--scene-y,50vh))}}@keyframes class-ink-out{0%{clip-path:inset(0)}35%{clip-path:inset(0 0 22% round 0 0 46% 46%/0 0 26% 26%)}to{clip-path:inset(0 0 104% round 0 0 8% 8%/0 0 4% 4%)}}.class-scene__shape{border:2px solid var(--lg-line-strong);opacity:0;pointer-events:none;animation:.36s cubic-bezier(.2,.82,.2,1) both class-shape-arrive;display:none;position:absolute}.class-scene__shape--one{aspect-ratio:1.8;background:var(--lg-eco-blue-wash);border-radius:43% 57% 36% 64%/58% 42%;width:34vw;display:none;top:-8%;left:-5%;transform:rotate(-12deg)}.class-scene__shape--two{aspect-ratio:1.45;background:var(--lg-eco-blue-wash);border-radius:58% 42% 62% 38%/44% 58% 42% 56%;width:30vw;animation-delay:70ms;display:none;top:6%;right:-8%}.class-scene__shape--three{aspect-ratio:2;background:var(--lg-eco-blue-wash);border-radius:44% 56% 38% 62%/62% 41% 59% 38%;width:38vw;animation-delay:.12s;display:none;bottom:-9%;right:4%}.class-scene__shape--four{aspect-ratio:1.4;background:var(--vc-green);border-radius:64% 36% 48% 52%/39% 61% 43% 57%;width:29vw;animation-delay:.16s;display:none;bottom:5%;left:-7%}@keyframes class-shape-arrive{0%{opacity:0;transform:translateY(28px)rotate(-9deg)scale(.86)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}.class-scene__drop{left:var(--scene-x,50vw);top:var(--scene-y,50vh);border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:1.05rem;height:1.05rem;box-shadow:none;opacity:0;border-radius:50%;animation:.42s cubic-bezier(.3,.9,.25,1) both class-drop-hop;position:absolute;transform:translate(-50%,-50%)scale(.4)}@keyframes class-drop-hop{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}16%{opacity:1;transform:translate(-50%,-50%)scale(1)}58%{opacity:1;top:calc(50% - 4.2rem);left:50%;transform:translate(-50%,-50%)scale(.86)}to{opacity:0;top:calc(50% - 2.6rem);left:50%;transform:translate(-50%,-50%)scale(2.4)}}.class-scene__cargo{z-index:4;color:var(--vc-ink);text-align:center;justify-items:center;gap:.7rem;padding:0 6vw;animation:.36s cubic-bezier(.2,.8,.2,1) 70ms both class-cargo-in;display:grid;position:relative}.class-scene__cargo small{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);box-shadow:none;font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;border-radius:999px;padding:.48rem .72rem;font-weight:900}.class-scene__cargo strong{max-width:18ch;font-family:var(--vc-display);letter-spacing:-.01em;font-size:clamp(1.9rem,5.4vw,3.4rem);font-weight:900;line-height:1.04;display:block}.class-scene__brand{aspect-ratio:9/2;border:2px solid var(--lg-line);border-radius:var(--lg-radius-xl);background:var(--lg-surface);width:clamp(11.25rem,26vw,18.75rem);box-shadow:none;place-items:center;padding:.75rem 1rem;display:grid;position:relative;transform:none}.class-scene__brand:before{z-index:0;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);content:"";border-radius:50%;width:64px;height:42px;animation:.78s cubic-bezier(.2,.8,.2,1) .11s both class-brand-badge;display:none;position:absolute;top:-14px;right:-18px;transform:rotate(13deg)}.class-scene__brand:after{z-index:0;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);opacity:0;content:"";width:54px;height:32px;animation:.62s cubic-bezier(.2,.8,.2,1) .18s both class-brand-badge;display:none;position:absolute;bottom:-14px;left:-16px;transform:rotate(-11deg)scale(.7)}.class-scene__brand img{z-index:1;transform-origin:50% 70%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:auto;animation:.4s cubic-bezier(.2,.82,.2,1) 45ms both class-brand-arrive;display:block;position:relative}@keyframes class-brand-arrive{0%{opacity:0;transform:translateY(14px)scale(.82,.92)}58%{opacity:1;transform:translateY(-3px)scale(1.035,.985)}78%{transform:translateY(1px)scale(.995,1.01)}to{opacity:1;transform:none}}@keyframes class-brand-badge{0%{opacity:0;transform:rotate(-18deg)scale(.7)}68%{opacity:1;transform:rotate(5deg)scale(1.08)}to{opacity:1;transform:rotate(0)scale(1)}}.class-scene__progress{gap:7px;margin-top:.2rem;display:inline-flex}.class-scene__progress i{border:2px solid var(--lg-line-strong);background:var(--vc-cream);border-radius:50%;width:12px;height:12px;animation:.72s ease-in-out infinite class-progress-pop}.class-scene__progress i:nth-child(2){background:var(--lg-eco-blue-wash);animation-delay:.12s}.class-scene__progress i:nth-child(3){background:var(--lg-eco-blue-wash);animation-delay:.24s}@keyframes class-progress-pop{0%,to{transform:translateY(0)scale(.9)}45%{transform:translateY(-6px)scale(1.08)}}@keyframes class-cargo-in{0%{opacity:0;transform:translateY(1.5rem)scale(.94)}to{opacity:1;transform:none}}.class-scene--reveal .class-scene__cargo{animation:.22s cubic-bezier(.6,0,.9,.3) both class-cargo-out}.class-scene--reveal .class-scene__drop{display:none}@keyframes class-cargo-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-1.1rem)scale(.97)}}.workspace-page{animation:.46s cubic-bezier(.2,.8,.2,1) both class-arrive}.workspace-page .workspace-hero{animation:.52s cubic-bezier(.2,.8,.2,1) 40ms both class-arrive-hero}.workspace-page .workspace-tabs,.workspace-page [role=tabpanel]{animation:.52s cubic-bezier(.2,.8,.2,1) .12s both class-arrive-hero}@keyframes class-arrive{0%{opacity:.6;transform:scale(.985)}to{opacity:1;transform:none}}@keyframes class-arrive-hero{0%{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.class-scene,.class-scene__shape,.class-scene__drop,.class-scene__cargo,.class-scene__brand:before,.class-scene__brand:after,.class-scene__brand img,.class-scene__progress i{display:none;animation-duration:1ms!important}.class-scene__drop{display:none}.workspace-page,.workspace-page .workspace-hero,.workspace-page .workspace-tabs,.workspace-page [role=tabpanel]{animation:none}}@media(max-width:1120px){.class-grid{grid-template-columns:1fr}}@media(max-width:760px){.classes-page__masthead{padding:20px}.class-directory{padding:22px 20px 26px}.class-directory__heading{flex-direction:column;align-items:flex-start;padding-bottom:20px}.class-directory__actions{width:100%}.class-directory__actions .button:where(:not([data-slot])),.class-directory__actions .discover-class-entry{flex:1;justify-content:center}}@media(max-width:480px){.class-directory__total{display:none}.class-card{min-height:236px;padding:20px}.class-card:after{left:20px;right:20px}.class-card__header h2{font-size:1.25rem}.class-card__body{gap:8px;padding-top:16px;padding-right:56px}.class-card__face{width:34px;height:34px;margin-left:-15px}.class-card__count{font-size:var(--lg-text-xs);letter-spacing:.07em}.class-card__open-corner{border-radius:var(--lg-radius-md);width:44px;height:44px;bottom:16px;right:16px}}@media(forced-colors:active){.class-card{box-shadow:none;background:canvas;border-color:canvastext}.class-card:before,.class-card:after,.class-card__open-corner:before{display:none}.class-card__teacher-face,.class-card__face{box-shadow:none;outline:1px solid canvastext}.class-card__open-corner{box-shadow:none;color:linktext;background:canvas;border-color:linktext}.class-card:is(:hover,:focus-within) .class-card__open-corner,.class-card__open-corner:focus-visible{color:highlighttext;background:highlight}}.week-nav{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-sm);background:var(--lg-surface);margin:20px 0 25px;padding:12px 13px 13px}.week-nav__row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.week-nav__row+.week-nav__row{border-top:1px solid var(--vc-line);margin-top:8px;padding-top:8px}.week-nav__arrow{border:1px solid var(--vc-line-2);background:var(--lg-surface);width:31px;height:31px;color:var(--vc-ink-2);border-radius:50%;place-items:center;padding:0;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:grid}.week-nav__arrow:hover:not(:disabled){border-color:var(--vc-purple);background:var(--vc-purple-soft);color:var(--vc-purple-dark);transform:scale(1.06)}.week-nav__arrow:disabled{opacity:.32}.week-nav__months{overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:none;gap:6px;min-width:0;padding:2px;display:flex;overflow-x:auto}.week-nav__months::-webkit-scrollbar{display:none}.week-nav__month{border-radius:var(--vc-radius-pill);color:var(--vc-ink-2);scroll-snap-align:center;background:0 0;border:1px solid #0000;flex-direction:column;flex:none;align-items:center;gap:1px;padding:6px 12px;transition:border-color .16s,background-color .16s,color .16s;display:flex}.week-nav__month strong{font-family:var(--vc-display);font-size:var(--lg-text-xs);line-height:1.15}.week-nav__month small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.08em}.week-nav__month:hover{background:var(--vc-purple-soft);color:var(--vc-ink)}.week-nav__month.is-current{background:var(--vc-ink);color:var(--lg-surface)}.week-nav__month.is-current small{color:#ffffffad}.week-nav__days{scrollbar-width:none;grid-auto-columns:minmax(72px,1fr);grid-auto-flow:column;gap:6px;min-width:0;margin:0;padding:2px;list-style:none;display:grid;overflow-x:auto}.week-nav__days::-webkit-scrollbar{display:none}.week-nav__day{border:1px solid var(--vc-line);border-radius:var(--vc-radius-sm);background:var(--lg-surface);width:100%;min-width:0;min-height:76px;color:var(--vc-ink);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:8px 6px 9px;transition:border-color .16s,background-color .16s,color .16s,transform .16s;display:flex;position:relative}.week-nav__day:hover:not(.is-selected){border-color:var(--vc-purple);background:var(--vc-purple-soft)}.week-nav__day.is-selected{border-color:var(--lg-eco-blue);background:var(--vc-ink);color:var(--lg-surface)}.week-nav__day.is-selected:hover{transform:none}.week-nav__day.is-today:not(.is-selected){border-color:var(--lg-eco-blue);box-shadow:0 0 0 1px var(--vc-ink)}.week-nav__day-number{color:inherit;font-family:var(--vc-display);font-variant-numeric:tabular-nums;font-size:1.18rem;font-weight:800;line-height:1}.week-nav__day-name{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;font-weight:700}.week-nav__day-count{color:var(--vc-ink-3);font-size:var(--lg-text-xs);white-space:nowrap;margin-top:2px}.week-nav__day.has-goals .week-nav__day-count{color:var(--vc-purple-dark)}.week-nav__day.is-selected .week-nav__day-name,.week-nav__day.is-selected .week-nav__day-count{color:#ffffffb8}.week-nav__day.is-fetching{border-color:var(--vc-purple);background:var(--vc-purple-soft);color:var(--vc-ink)}.week-nav__day.is-fetching .week-nav__day-number,.week-nav__day.is-fetching .week-nav__day-name{opacity:.42}.week-nav__day.is-fetching .week-nav__day-count{place-items:center;min-height:17px;display:grid}.week-results{isolation:isolate;position:relative}.week-results__board{z-index:1;position:relative}.week-results__scene{z-index:4;border-radius:var(--vc-radius);pointer-events:none;contain:paint;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.week-results__veil{opacity:0;background:#f4f7fcf0;place-items:center;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.week-results.is-scene-covering .week-results__veil{animation:.2s ease-out both week-veil-in}.week-results.is-scene-revealing .week-results__veil{animation:.2s ease-in both week-veil-out}.week-results.is-scene-revealing .week-results__board{animation:.24s cubic-bezier(.2,0,0,1) both week-board-arrive}@keyframes week-veil-in{0%{opacity:0}to{opacity:1}}@keyframes week-veil-out{0%{opacity:1}to{opacity:0}}@keyframes week-board-arrive{0%{transform:translate(-9px)scale(.99)}to{transform:translate(0)scale(1)}}@media(max-width:650px){.week-nav{padding:10px 8px}.week-nav__month{padding-inline:10px}.week-nav__days{grid-auto-columns:minmax(70px,auto)}}@media(prefers-reduced-motion:reduce){.class-card,.class-card *,.class-scene,.class-scene *,.week-nav__day,.week-nav__day:before,.week-nav__day:after,.week-results *,.week-results :before,.week-results :after{transition:none!important;animation:none!important}.week-nav__months{scroll-behavior:auto}}.new-goal{width:min(100%,980px)}.new-goal__steps{gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.new-goal__steps li{border:1px solid var(--vc-line-2);color:var(--vc-ink-3);font-size:var(--lg-text-xs);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-weight:750;transition:border-color .18s,background-color .18s,color .18s,transform .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}.new-goal__steps li span{display:inline-flex}.new-goal__steps li.is-on{border-color:var(--vc-purple);background:var(--vc-purple);color:#fff;transform:translateY(-1px)}.new-goal__steps li.is-on span{animation:.26s cubic-bezier(.2,.8,.2,1) both new-goal-step-mark}.new-goal__steps li.is-done{background:var(--vc-green-soft);color:var(--lg-correct-ink);border-color:#15892f66}.new-goal__body{max-height:min(58vh,600px);margin-top:18px;overflow-y:auto}.new-goal__body>*{animation:.24s cubic-bezier(.2,.8,.2,1) both new-goal-step-forward-in}.new-goal.is-backward .new-goal__body>*{animation-name:new-goal-step-backward-in}@keyframes new-goal-step-forward-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes new-goal-step-backward-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes new-goal-step-mark{0%{transform:scale(.72)rotate(-10deg)}70%{transform:scale(1.12)rotate(3deg)}to{transform:none}}.new-goal__days{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.new-goal__day{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);text-align:left;cursor:pointer;gap:2px;padding:11px 8px;transition:border-color .15s,background .15s,transform .15s;display:grid}.new-goal__day:hover{border-color:var(--vc-purple)}.new-goal__day strong{color:var(--vc-ink);font-size:var(--lg-text-md);line-height:1}.new-goal__day small{color:var(--vc-ink-2);font-size:var(--lg-text-xs)}.new-goal__day em{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);font-style:normal}.new-goal__day.is-today{border-color:#df292e80}.new-goal__day.is-on{border-color:var(--vc-purple);background:var(--vc-purple-soft)}.new-goal__date{color:var(--vc-ink-2);font-size:var(--lg-text-xs);grid-column:1/-1;gap:6px;margin-top:4px;font-weight:750;display:grid}.new-goal__date input{border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:42px;color:var(--vc-ink);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);cursor:pointer;border:0;outline:0;padding:0 12px;font-weight:700;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .14s cubic-bezier(.2,.8,.2,1)}.new-goal__date input:hover{background:var(--lg-canvas);box-shadow:none}.new-goal__date input:focus{background:var(--lg-surface);box-shadow:0 0 0 3px #2061f51f}.new-goal__date input:focus-visible{outline:0;box-shadow:0 0 0 3px #fdca3acc}.new-goal__date input:active{transform:translateY(1px);box-shadow:0 0 0 2px #2061f529}.new-goal__date input::-webkit-calendar-picker-indicator{border-radius:var(--lg-radius-sm);background-color:var(--lg-eco-blue-wash);cursor:pointer;opacity:.82;margin-right:1px;padding:4px;transition:background-color .18s,opacity .18s,transform .14s}.new-goal__date input:hover::-webkit-calendar-picker-indicator{background-color:var(--lg-eco-blue-wash);opacity:1}.new-goal__date input:active::-webkit-calendar-picker-indicator{background-color:var(--vc-blue);transform:scale(.94)}.new-goal__content{gap:12px;display:grid}.new-goal__content-choice{justify-content:space-between;align-items:center;gap:12px;display:flex}.new-goal__choice-label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);font-weight:800}.new-goal__switch{border:1px solid var(--vc-line-2);background:var(--lg-surface);border-radius:999px;gap:4px;width:fit-content;padding:4px;display:inline-flex}.new-goal__switch button{min-height:34px;color:var(--vc-ink-2);font-family:inherit;font-size:var(--lg-text-xs);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 16px;font-weight:750}.new-goal__switch button.is-on{background:var(--vc-purple);color:#fff}.new-goal__custom{border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);border:1px dashed oklch(55% .23 263/.36);gap:10px;padding:14px;display:grid}.new-goal__custom--vocab{background:var(--vc-coral-soft);border-color:#df292e66}.new-goal__custom h3{color:var(--vc-ink);font-size:var(--lg-text-sm);margin:0}.new-goal__custom p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:3px 0 0;line-height:1.4}.new-goal__custom label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);gap:6px;font-weight:750;display:grid}.new-goal__custom input,.new-goal__custom textarea{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;font:inherit;font-size:var(--lg-text-xs);padding:10px 11px}.new-goal__custom textarea{resize:vertical;min-height:132px;line-height:1.45}.new-goal__search{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:42px;color:var(--vc-ink-3);align-items:center;gap:9px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.new-goal__search:focus-within{border-color:var(--vc-purple);box-shadow:0 0 0 4px var(--vc-purple-soft)}.new-goal__search input{width:100%;font-family:inherit;font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.new-goal__sets{gap:6px;margin:0;padding:0;list-style:none;display:grid}.new-goal__set{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.new-goal__set:hover{border-color:var(--vc-purple)}.new-goal__set.is-on{border-color:var(--vc-purple);background:var(--vc-purple-soft)}.new-goal__set-copy{gap:1px;min-width:0;display:grid}.new-goal__set-copy strong{color:var(--vc-ink);font-size:var(--lg-text-xs);font-weight:750}.new-goal__set-copy small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs)}.new-goal__tick{border:1.5px solid var(--vc-line-2);width:20px;height:20px;color:var(--lg-surface);border-radius:50%;flex:none;place-items:center;display:grid}.new-goal__set.is-on .new-goal__tick{border-color:var(--vc-purple);background:var(--vc-purple)}.new-goal__words{border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);border:1px dashed oklch(55% .23 263/.3);padding:12px;animation:.22s cubic-bezier(.2,.8,.2,1) both pop-arrive}.new-goal__words-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.new-goal__words-head strong{color:var(--vc-ink);font-size:var(--lg-text-xs)}.new-goal__toggle{color:var(--vc-ink-2);font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;font-weight:700;display:inline-flex}.new-goal__word-list{flex-wrap:wrap;gap:5px;max-height:150px;margin-top:10px;display:flex;overflow-y:auto}.new-goal__word{border:1px solid var(--vc-line-2);background:var(--lg-surface);color:var(--vc-ink-2);font-family:inherit;font-size:var(--lg-text-xs);cursor:pointer;border-radius:999px;padding:5px 10px;font-weight:650}.new-goal__word.is-on{border-color:var(--vc-purple);background:var(--vc-purple);color:#fff}.new-goal__note{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0}.new-goal__games{gap:12px;display:grid}.new-goal__filters{flex-wrap:wrap;gap:5px;display:flex}.new-goal__filters button{border:1px solid var(--vc-line-2);background:var(--lg-surface);min-height:32px;color:var(--vc-ink-2);font-family:inherit;font-size:var(--lg-text-xs);cursor:pointer;border-radius:999px;padding:0 12px;font-weight:750}.new-goal__filters button.is-on{border-color:var(--vc-purple);background:var(--vc-purple);color:#fff}.new-goal__game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.new-goal__game{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);text-align:left;cursor:pointer;gap:9px;padding:0 0 12px;transition:border-color .15s,background .15s,transform .15s;display:grid;overflow:hidden}.new-goal__game:hover{border-color:var(--vc-purple)}.new-goal__game.is-on{border-color:var(--vc-purple);background:var(--vc-purple-soft);box-shadow:inset 0 0 0 1px var(--vc-purple)}.new-goal__game-media{aspect-ratio:16/7;background:var(--vc-blue);display:block;position:relative;overflow:hidden}.new-goal__game-media:after{content:"";pointer-events:none;background:#161f322e;position:absolute;top:0;right:0;bottom:0;left:0}.new-goal__game-media img{object-fit:cover;width:100%;height:100%;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:block}.new-goal__game:hover .new-goal__game-media img{transform:scale(1.045)}.new-goal__game-media>span{z-index:1;color:var(--lg-surface);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;background:#161f32a3;border:1px solid oklch(100% 0 0/.72);border-radius:999px;padding:3px 7px;font-weight:800;position:absolute;bottom:8px;right:9px}.new-goal__game-copy{gap:3px;padding:0 12px;display:grid}.new-goal__game strong{color:var(--vc-ink);font-size:var(--lg-text-sm);font-weight:800}.new-goal__game small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);line-height:1.4}.new-goal__game-modes{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.new-goal__game-modes em,.new-goal__game-modes b{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;border-radius:999px;padding:1px 6px;font-style:normal;font-weight:700}.new-goal__game-modes em{border:1px solid var(--vc-line-2);color:var(--vc-ink-3)}.new-goal__game-modes b{background:var(--vc-coral-soft);color:var(--lg-eco-blue-ink)}.new-goal__finals{grid-template-columns:minmax(0,1fr) 110px;gap:10px;display:grid}.new-goal__finals label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);gap:6px;font-weight:750;display:grid}.new-goal__finals input{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:42px;font-family:inherit;font-size:var(--lg-text-xs);padding:0 11px}.new-goal__actions{justify-content:space-between;margin-top:18px}.new-goal__switches label{animation:.18s ease-out both pop-arrive}@media(prefers-reduced-motion:reduce){.new-goal,.new-goal *,.settings-popover{transition:none!important;animation:none!important}.new-goal__steps li.is-on{transform:none}}@media(max-width:620px){.new-goal__days{grid-template-columns:repeat(2,minmax(0,1fr))}.new-goal__game-grid,.new-goal__finals{grid-template-columns:minmax(0,1fr)}.new-goal__game-setup{flex-direction:column;align-items:stretch}.new-goal__game-setup .button:where(:not([data-slot])){width:100%}}.workspace-hero__actions{flex:none;align-items:center;gap:10px;display:flex}.workspace-hero__actions .button:where(:not([data-slot])){min-height:42px}@media(max-width:620px){.workspace-hero__actions .button:where(:not([data-slot])){padding:0 12px}}.new-goal__lanes{gap:14px;display:grid}.new-goal__lane{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);gap:9px;padding:13px;display:grid}.new-goal__lane--vocab{border-color:#df292e47}.new-goal__lane-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.new-goal__lane-head h3{font-size:var(--lg-text-sm);margin:0;font-weight:800}.new-goal__lane-count{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.new-goal__lane .new-goal__sets{max-height:176px;overflow-y:auto}.new-goal__lane--vocab .new-goal__set.is-on{border-color:var(--lg-eco-blue);background:var(--vc-coral-soft)}.new-goal__lane--vocab .new-goal__set.is-on .new-goal__tick{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash)}.new-goal__options{gap:14px;display:grid}.new-goal__game-setup{border-top:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.new-goal__game-setup>div{gap:5px;min-width:0;display:grid}.new-goal__game-setup strong{color:var(--vc-ink);font-size:var(--lg-text-xs)}.new-goal__game-setup span{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.new-goal__game-setup .button:where(:not([data-slot])){flex:none}.new-goal__summary{border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);gap:2px;padding:11px 13px;display:grid}.new-goal__summary strong{color:var(--vc-purple-dark);font-size:var(--lg-text-sm)}.new-goal__summary span{color:var(--vc-ink-2);font-size:var(--lg-text-xs)}.new-goal__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.new-goal__fields label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);gap:6px;font-weight:750;display:grid}.new-goal__fields label:first-child{grid-column:1/-1}.new-goal__field{align-content:start;gap:6px;min-width:0;display:grid}.new-goal__field .new-goal__note{margin:0}.new-goal__advanced{border-top:1px solid var(--vc-line-2)}.new-goal__advanced summary{color:var(--vc-purple-dark);font-size:var(--lg-text-xs);cursor:pointer;padding:12px 0 3px;font-weight:800}.new-goal__advanced-body{gap:12px;padding-top:10px;display:grid}.new-goal__fields input,.new-goal__fields select{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:42px;font-family:inherit;font-size:var(--lg-text-xs);padding:0 11px}.new-goal__switches{border-radius:var(--lg-radius-md);background:var(--vc-coral-soft);border:1px dashed oklch(58.5% .215 26/.35);flex-wrap:wrap;gap:8px 16px;margin:0;padding:12px 13px;display:flex}.new-goal__switches legend{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;padding:0 6px;font-weight:700}.new-goal__switches label{color:var(--vc-ink-2);font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;font-weight:700;display:inline-flex}@media(max-width:620px){.new-goal__fields{grid-template-columns:minmax(0,1fr)}}.create-dialog.new-goal{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-cream);width:min(100%,980px);max-height:calc(100dvh - 40px);color:var(--vc-ink);box-shadow:none;padding:30px;overflow:hidden}.dialog-backdrop:has(.create-dialog.new-goal){background:#161f3294}.create-dialog.new-goal .dialog-heading{border-bottom:2px solid var(--lg-line-strong);padding-bottom:14px}.create-dialog.new-goal .dialog-heading h2{color:var(--vc-ink);font-family:var(--vc-display);letter-spacing:0}.create-dialog.new-goal .dialog-heading .eyebrow{color:var(--vc-purple)}.create-dialog.new-goal .new-goal__steps li{border:2px solid var(--lg-line-strong);background:var(--lg-surface);color:var(--vc-ink-2)}.create-dialog.new-goal .new-goal__steps li.is-on{border-color:var(--lg-line-strong);background:var(--vc-blue);color:#fff}.create-dialog.new-goal .new-goal__steps li.is-done{border-color:var(--lg-line-strong);background:var(--vc-green);color:#fff}.create-dialog.new-goal .new-goal__day,.create-dialog.new-goal .new-goal__set,.create-dialog.new-goal .new-goal__game,.create-dialog.new-goal .new-goal__search,.create-dialog.new-goal .new-goal__fields input,.create-dialog.new-goal .new-goal__fields select{border:2px solid var(--lg-line-strong);background:var(--lg-surface);color:var(--vc-ink)}.create-dialog.new-goal .new-goal__date input{background:var(--lg-surface);color:var(--vc-ink);border:0}.create-dialog.new-goal .new-goal__date input:hover{background:var(--lg-canvas)}.create-dialog.new-goal .new-goal__day:hover,.create-dialog.new-goal .new-goal__set:hover,.create-dialog.new-goal .new-goal__game:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash)}.create-dialog.new-goal .new-goal__day.is-on,.create-dialog.new-goal .new-goal__set.is-on,.create-dialog.new-goal .new-goal__game.is-on{border-color:var(--lg-line-strong);background:var(--lg-eco-blue-wash);box-shadow:none}.create-dialog.new-goal .new-goal__day.is-today{box-shadow:inset 0 -3px 0 var(--lg-eco-blue)}.create-dialog.new-goal .new-goal__switch button.is-on,.create-dialog.new-goal .new-goal__filters button.is-on,.create-dialog.new-goal .new-goal__word.is-on{border-color:var(--lg-line-strong);background:var(--vc-blue);color:#fff}.create-dialog.new-goal .new-goal__lane{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface)}.create-dialog.new-goal .new-goal__lane--vocab{border-color:var(--lg-eco-blue)}.create-dialog.new-goal .new-goal__words{border:2px dashed var(--vc-ink);background:var(--vc-purple-soft)}.create-dialog.new-goal .new-goal__summary{border:2px solid var(--lg-line-strong);background:var(--vc-blue);color:#fff}.create-dialog.new-goal .new-goal__summary strong,.create-dialog.new-goal .new-goal__summary span{color:var(--lg-surface)}.create-dialog.new-goal .new-goal__switches{border:2px dashed var(--vc-ink);background:var(--vc-coral-soft)}.create-dialog.new-goal .new-goal__actions{border-top:2px solid var(--lg-line-strong);padding-top:14px}.create-dialog.new-goal .new-goal__actions .button:where(:not([data-slot])){border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);box-shadow:none}.create-dialog.new-goal .new-goal__actions .button:where(:not([data-slot])):hover:not(:disabled){background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);box-shadow:none}.create-dialog.new-goal .new-goal__actions .button--quiet:where(:not([data-slot])){background:var(--lg-surface)}.create-dialog.new-goal .new-goal__actions .button--quiet:where(:not([data-slot])):hover:not(:disabled){background:var(--vc-purple-soft)}.goal-edit-backdrop{z-index:90;background:#161f32ad}.goal-edit-dialog{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-cream);width:min(100%,1080px);max-height:calc(100dvh - 32px);color:var(--vc-ink);box-shadow:none;grid-template-rows:auto auto minmax(0,1fr) auto;padding:0;display:grid;overflow:hidden}.goal-edit__header{justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 30px 20px;display:flex}.goal-edit__header h2{color:var(--vc-ink);font-family:var(--vc-display);margin:4px 0 0;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1}.goal-edit__header p:last-child{max-width:58ch;color:var(--vc-ink-2);font-size:var(--lg-text-xs);margin:9px 0 0;line-height:1.45}.goal-edit__header .eyebrow{color:var(--vc-purple)}.goal-edit__hero{background:var(--lg-eco-blue-wash);grid-template-columns:minmax(220px,330px) minmax(0,1fr);align-items:center;gap:22px;padding:18px 30px;display:grid}.goal-edit__hero-media{aspect-ratio:16/7;border-radius:var(--lg-radius-sm);background:var(--vc-blue);box-shadow:none;border:0;position:relative;overflow:hidden}.goal-edit__hero-media img{object-fit:cover;width:100%;height:100%;display:block}.goal-edit__hero-label{color:var(--lg-surface);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;background:#161f32b8;border-radius:999px;align-items:center;gap:5px;padding:4px 8px;font-weight:800;display:inline-flex;position:absolute;bottom:8px;right:9px}.goal-edit__hero-copy{gap:6px;min-width:0;display:grid}.goal-edit__hero-copy strong{font-family:var(--vc-display);font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.05}.goal-edit__hero-copy>span:last-child{max-width:50ch;color:var(--vc-ink-2);font-size:var(--lg-text-xs);line-height:1.45}.goal-edit__eyebrow,.goal-edit__section-kicker{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:850}.goal-edit__body{overscroll-behavior:contain;min-height:0;padding:24px 30px;overflow-y:auto}.goal-edit__layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:48px;display:grid}.goal-edit__main,.goal-edit__rail{gap:32px;min-width:0;display:grid}.goal-edit__section{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.goal-edit__section--game{background:0 0}.goal-edit__section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.goal-edit__section-heading h3{font-size:var(--lg-text-md);margin:4px 0 0;line-height:1.1}.goal-edit__section-heading>svg{color:var(--vc-blue)}.goal-edit__fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.goal-edit__field{min-width:0;color:var(--vc-ink-2);font-size:var(--lg-text-xs);gap:6px;font-weight:800;display:grid}.goal-edit__field--wide{grid-column:1/-1}.goal-edit__field input{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:43px;color:var(--vc-ink);font:inherit;font-size:var(--lg-text-xs);outline:2px solid #0000;padding:0 11px}.goal-edit__field input:focus{border-color:var(--vc-blue);box-shadow:0 0 0 3px #2061f52e}.goal-edit__hint{color:var(--vc-ink-3);font-weight:600;line-height:1.4}.goal-edit__set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.goal-edit__set-search{margin:0 0 12px;display:block}.goal-edit__set-search input{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:42px;color:var(--vc-ink);font:inherit;padding:0 12px}.goal-edit__set-search input:focus-visible{border-color:var(--vc-blue);outline-offset:1px;outline:2px solid oklch(55% .23 263/.2)}.goal-edit__set{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-width:0;color:var(--vc-ink);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .16s,background-color .16s;display:flex}.goal-edit__set:hover{border-color:var(--vc-blue)}.goal-edit__set.is-selected{border-color:var(--lg-eco-blue);background:var(--vc-green);color:#fff;box-shadow:none}.goal-edit__set>span:first-child{gap:3px;min-width:0;display:grid}.goal-edit__set strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-edit__set small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs)}.goal-edit__set.is-selected small{color:#fffc}.goal-edit__set-check{border:2px solid;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;display:grid}.goal-edit__empty{color:var(--vc-ink-2);font-size:var(--lg-text-xs);margin:0;line-height:1.5}.goal-edit__game-grid{gap:9px;display:grid}.goal-edit__game{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-width:0;color:var(--vc-ink);text-align:left;cursor:pointer;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px;transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .16s,background-color .16s;display:grid}.goal-edit__game:hover:not(:disabled){border-color:var(--vc-blue)}.goal-edit__game.is-selected{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:none}.goal-edit__game:disabled{cursor:not-allowed;opacity:.56}.goal-edit__game-banner{aspect-ratio:16/8;border-radius:var(--lg-radius-sm);background:var(--vc-blue);display:block;overflow:hidden}.goal-edit__game-banner img{object-fit:cover;width:100%;height:100%;transition:transform .18s;display:block}.goal-edit__game:hover:not(:disabled) .goal-edit__game-banner img{transform:scale(1.06)}.goal-edit__game-copy{gap:3px;min-width:0;display:grid}.goal-edit__game-copy strong{font-size:var(--lg-text-xs);line-height:1.2}.goal-edit__game-copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;line-height:1.35;overflow:hidden}.goal-edit__game-meta{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;font-weight:850}.goal-edit__game-settings{border-top:2px solid var(--lg-line-strong);gap:6px;margin-top:14px;padding-top:13px;display:grid}.goal-edit__game-settings>span{font-size:var(--lg-text-xs);align-items:center;gap:7px;display:flex}.goal-edit__game-settings>span svg{color:var(--lg-eco-blue-ink)}.goal-edit__game-settings small{color:var(--vc-ink-2);font-size:var(--lg-text-xs)}.goal-edit__game-settings .button:where(:not([data-slot])){justify-self:start;min-height:36px;margin-top:2px;padding-inline:11px}.goal-edit__loading{min-height:280px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);place-items:center;gap:10px;display:grid}.goal-edit__error{margin:0 0 16px}.goal-edit__footer{background:var(--lg-eco-blue-wash);justify-content:space-between;align-items:center;gap:18px;padding:16px 30px 20px;display:flex}.goal-edit__footer>span{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.goal-edit__blocker{color:var(--lg-wrong-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);margin:0;font-weight:800;line-height:1.4}.goal-edit__footer>div{gap:9px;display:flex}.goal-edit__footer .button:where(:not([data-slot])){background:var(--vc-blue);color:#fff;box-shadow:none;border:2px solid #0000}.goal-edit__footer .button--quiet:where(:not([data-slot])){border-color:var(--lg-line-strong);background:var(--lg-surface);color:var(--vc-ink);box-shadow:none}.goal-edit__footer .button>svg{flex:none}.goal-card__title{width:fit-content;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}@media(max-width:820px){.goal-edit-dialog{max-height:calc(100dvh - 24px)}.goal-edit__header,.goal-edit__body,.goal-edit__footer{padding-inline:20px}.goal-edit__hero{grid-template-columns:minmax(160px,240px) minmax(0,1fr);padding-inline:20px}.goal-edit__layout{grid-template-columns:minmax(0,1fr)}.goal-edit__game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.goal-edit-dialog{border-radius:var(--lg-radius-md);width:min(100%,100vw - 18px);box-shadow:none}.goal-edit__header{padding-top:20px}.goal-edit__hero{grid-template-columns:minmax(0,1fr);gap:13px}.goal-edit__fields,.goal-edit__set-grid,.goal-edit__game-grid{grid-template-columns:minmax(0,1fr)}.goal-edit__game{grid-template-columns:88px minmax(0,1fr)}.goal-edit__game-meta{grid-column:2}.goal-edit__footer{flex-direction:column;align-items:stretch}.goal-edit__footer>div{grid-template-columns:1fr 1fr;display:grid}.goal-edit__footer>div>.button:where(:not([data-slot])){white-space:nowrap;padding-inline:12px}}@media(prefers-reduced-motion:reduce){.goal-edit-dialog,.goal-edit-dialog *,.new-goal__game-media img{transition:none!important;animation:none!important}}.goal-card__title{color:var(--vc-ink);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;text-decoration:none;overflow:hidden}.goal-card__title:hover{color:var(--vc-purple)}.goal-card__sets{flex-wrap:wrap;gap:4px;display:flex}.goal-card__sets a{border:1px solid var(--vc-line-2);color:var(--vc-ink-2);font-size:var(--lg-text-xs);border-radius:999px;padding:2px 8px;font-weight:650;text-decoration:none;transition:border-color .15s,color .15s}.goal-card__sets a:hover{border-color:var(--vc-purple);color:var(--vc-purple)}.goal-card__sets a.is-missing{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink);border-color:#df292e66;align-items:center;gap:6px;font-weight:750;display:inline-flex}.goal-card__sets a.is-missing span{background:var(--lg-eco-blue-wash);width:14px;height:14px;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);border-radius:50%;place-items:center;display:grid}.goal-card.is-incomplete{border-bottom-color:#df292e59}.goal-card__edit.is-primary{color:var(--lg-eco-blue-ink)}.local-loading-surface{min-height:150px;color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-align:center;align-content:center;place-items:center;gap:8px;padding:24px;font-weight:850;display:grid}@keyframes inline-loader-hop{0%{transform:translateY(3px)rotate(-5deg)scale(.9)}to{transform:translateY(-3px)rotate(5deg)scale(1.05)}}.page-scene{z-index:2147482500;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--lg-eco-blue);pointer-events:auto;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.page-scene:before,.page-scene:after{aspect-ratio:1.7;border:2px solid var(--lg-line-strong);content:"";pointer-events:none;width:44vw;min-width:210px;display:none;position:absolute}.page-scene:before{border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);display:none;top:-10%;left:-7%;transform:rotate(-9deg)}.page-scene:after{border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);display:none;bottom:-12%;right:-9%;transform:rotate(11deg)}.page-scene--show{animation:.28s cubic-bezier(.2,.82,.2,1) both page-scene-in}.page-scene--hide{animation:.2s cubic-bezier(.4,0,1,1) both page-scene-out}@keyframes page-scene-in{0%{opacity:0;clip-path:inset(0 0 100% round 0 0 42% 42%)}to{opacity:1;clip-path:inset(0)}}@keyframes page-scene-out{0%{opacity:1;clip-path:inset(0)}to{opacity:0;clip-path:inset(100% 0 0 round 42% 42% 0 0)}}@media(max-width:520px){.page-scene{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.page-scene:before,.page-scene:after{border-width:2px;min-width:170px;display:none}.class-scene__cargo{gap:.58rem;padding-inline:1.4rem}.class-scene__brand{border-radius:var(--lg-radius-xl);width:min(68vw,15rem);box-shadow:none;background:var(--lg-surface);border-width:2px;border:2px solid var(--lg-line);padding:.62rem .8rem;transform:none}.class-scene__brand:before{border-width:2px;width:48px;height:31px;display:none;top:-10px;right:-12px}.class-scene__brand:after{border-width:2px;width:42px;height:24px;display:none;bottom:-10px;left:-11px}.class-scene__cargo strong{max-width:15ch;font-size:clamp(1.75rem,9vw,2.5rem)}.class-scene__shape{border-width:2px;display:none}.class-scene__shape--one{width:55vw;display:none}.class-scene__shape--two{width:48vw;display:none}.class-scene__shape--three{width:62vw;display:none}.class-scene__shape--four{width:49vw;display:none}}button,.week-nav__day,.week-nav__month,.new-goal__day,.new-goal__set,.new-goal__word,.new-goal__game,.class-card__face,.goal-card__sets a,.workspace-tabs__button,.language-token{-webkit-user-select:none;user-select:none}button:focus:not(:focus-visible){outline:2px solid #0000}@media(prefers-reduced-motion:reduce){.page-scene{transition:none!important;animation:none!important}}.button:where(:not([data-slot])).is-busy{cursor:progress}.button:where(:not([data-slot])).is-busy:after{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);width:7px;height:7px;box-shadow:none;content:"";margin:0 25px 0 2px;animation:.66s cubic-bezier(.2,.82,.2,1) infinite alternate inline-loader-hop}@media(prefers-reduced-motion:reduce){.button:where(:not([data-slot])).is-busy:after{animation:none}}.new-goal__loading{grid-column:1/-1;place-items:center;min-height:128px;display:grid}.finder{gap:10px;margin:0 0 26px;display:grid}.finder__field{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);align-items:center;gap:11px;min-height:54px;padding:0 8px 0 16px;transition:border-color .18s,box-shadow .18s;display:flex}.finder__field:focus-within{border-color:var(--vc-purple);box-shadow:0 0 0 4px var(--vc-purple-soft)}.finder__icon{color:var(--vc-ink-3);flex:none;transition:color .18s}.finder__field:focus-within .finder__icon{color:var(--vc-purple)}.finder__suggestions{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);gap:2px;padding:6px;display:grid}.finder__suggestion{border-radius:var(--lg-radius-sm);width:100%;min-width:0;min-height:48px;color:var(--vc-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:8px 10px;transition:background-color .16s,color .16s;display:grid}.finder__suggestion:hover,.finder__suggestion:focus-visible{background:var(--vc-purple-soft);color:var(--vc-purple-dark);outline:2px solid #0000}.finder__suggestion-kind{min-width:54px;color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800;line-height:1}.finder__suggestion-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.finder__suggestion-copy strong{color:inherit;font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:800;line-height:1.2;overflow:hidden}.finder__suggestion-copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.finder__field input{min-width:0;height:52px;color:var(--vc-ink);font-family:inherit;font-size:var(--lg-text-sm);background:0 0;border:0;outline:2px solid #0000;flex:1}.finder__field input::placeholder{color:var(--lg-ink-3)}.finder__key{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);flex:none;padding:3px 8px;line-height:1.2}.finder__field:focus-within .finder__key{opacity:0}.finder__clear{width:30px;height:30px;color:var(--vc-ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:background-color .16s,color .16s,transform .16s;display:grid}.finder__clear:hover{background:var(--vc-coral-soft);color:var(--lg-eco-blue-ink)}.finder__count{border-left:1px solid var(--vc-line);height:30px;color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);white-space:nowrap;flex:none;align-items:baseline;gap:5px;padding:0 12px 0 13px;line-height:30px;display:flex}.finder__count strong{color:var(--vc-ink);font-size:var(--lg-text-sm);font-weight:800;transition:color .18s}.finder__count em{font-style:normal}.finder.has-query .finder__count strong{color:var(--vc-purple-dark)}.finder.has-no-results .finder__count strong{color:var(--lg-eco-blue-ink)}.finder__langs{flex-wrap:wrap;gap:6px;display:flex}.finder__langs button{border:1px solid var(--vc-line-2);background:var(--lg-surface);min-height:34px;color:var(--vc-ink-2);font-family:inherit;font-size:var(--lg-text-xs);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 13px 0 9px;font-weight:700;transition:border-color .16s,background-color .16s,color .16s,transform .16s cubic-bezier(.2,.9,.3,1.3);display:inline-flex}.finder__langs button:first-child{padding-left:14px}.finder__langs button:hover{border-color:var(--vc-purple)}.finder__langs button i{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);width:22px;height:22px;color:var(--vc-purple-dark);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.04em;place-items:center;font-style:normal;font-weight:700;transition:background-color .16s,color .16s;display:grid}.finder__langs button.is-on{border-color:var(--vc-purple);background:var(--vc-purple);color:#fff}.finder__langs button.is-on i{color:var(--lg-surface);background:#ffffff38}@media(max-width:620px){.finder__field{min-height:48px;padding-left:13px}.finder__field input{height:46px;font-size:var(--lg-text-sm)}.finder__key{display:none}.finder__count{padding:0 8px 0 10px}}.flag{border-radius:var(--lg-radius-sm);box-shadow:0 0 0 2px var(--lg-surface),0 0 0 3px #161f321a,0 4px 10px -4px #161f3280;flex:none;display:block;position:relative;overflow:hidden;transform:translateZ(0)}.flag:after{pointer-events:none;content:"";background:0 0;position:absolute;top:0;right:0;bottom:0;left:0}.flag svg{display:block}.class-card .flag{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s cubic-bezier(.2,.8,.2,1)}.class-card:is(:hover,:focus-within) .flag{box-shadow:0 0 0 2px var(--lg-surface),0 0 0 3px #2061f547,0 10px 18px -8px #161f328c;transform:translate(-3px,-2px)scale(1.06)}.language-token{background:0 0;border-radius:0;place-items:center;width:auto;height:auto;padding:0;display:grid}.language-token .flag{border-radius:var(--lg-radius-sm)}.finder__langs .flag{border-radius:4px;box-shadow:0 0 0 1.5px #ffffffe6,0 0 0 2.5px #161f321f}.finder__langs button.is-on .flag{box-shadow:0 0 0 1.5px #fffffff2,0 0 0 2.5px #ffffff59}@media(prefers-reduced-motion:reduce){.class-card .flag{transition:none}.class-card:is(:hover,:focus-within) .flag{transform:none}}body.is-legacy-react-route{overflow:hidden}.legacy-react-route{z-index:0;background:var(--lg-canvas);position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.legacy-react-route__frame{opacity:0;background:var(--lg-canvas);border:0;width:100%;height:100%;transition:opacity .18s cubic-bezier(.2,.8,.2,1),transform .22s cubic-bezier(.2,.8,.2,1);display:block;transform:translateY(4px)scale(.998)}.legacy-react-route.is-loaded .legacy-react-route__frame{opacity:1;transform:none}.legacy-react-route__loading{z-index:1;background:var(--lg-canvas);opacity:1;visibility:visible;pointer-events:auto;align-content:center;place-items:center;gap:16px;transition:opacity .12s,visibility linear;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.legacy-react-route.is-loaded .legacy-react-route__loading{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility 0s linear .12s}@media(prefers-reduced-motion:reduce){.legacy-react-route__frame,.legacy-react-route__loading{transition:none}.legacy-react-route__frame{transform:none}}html{scrollbar-gutter:stable;max-width:100%;scroll-padding-top:84px;overflow:clip scroll}body{min-width:0;max-width:100%}body:not(.is-legacy-react-route){padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left)}:where(img,picture,video,canvas,svg){max-width:100%}.app-frame{min-height:100dvh}.app-header{padding-top:env(safe-area-inset-top)}.app-main{padding-bottom:max(76px,calc(48px + env(safe-area-inset-bottom)))}.legacy-react-route,.legacy-react-route__frame,.legacy-react-route__loading{width:100%;height:100%}.route-frame:has(.legacy-react-route){animation:none;transform:none}@media(max-width:720px){button,.button:where(:not([data-slot])),[role=button]{min-width:44px;min-height:44px!important}.brand,.primary-nav__link,.nav-stat,.button:where(:not([data-slot])),.icon-button,.class-card__title,.class-card__open,.back-link,.goal-add,.goal-card__edit,.goal-card__print,.panel-link,.finder__langs button{min-height:44px}.brand{align-items:center}.primary-nav{overscroll-behavior-inline:contain;scrollbar-width:none;margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.primary-nav::-webkit-scrollbar{display:none}.primary-nav__link{padding-left:12px;padding-right:12px}.button:where(:not([data-slot])){min-height:44px!important}.icon-button{width:44px;height:44px}.class-card__title{white-space:normal;align-items:center;display:flex}.goal-add,.goal-card__edit,.panel-link{align-items:center;padding-top:0;padding-bottom:0}.finder__langs button{padding-left:10px;padding-right:14px}.dialog-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:center}.create-dialog{max-height:calc(100dvh - max(24px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));overscroll-behavior:contain;overflow-y:auto}}@media(max-width:380px){.app-header__inner,.app-main{width:min(100% - 32px,1400px)}.brand{width:132px}.page-heading h1{font-size:clamp(2rem,13vw,2.5rem)}}.goal-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,238px),1fr));align-items:stretch}.goal-card{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:142px;padding:14px;animation-duration:.35s}.goal-card__copy{align-content:start}.goal-card__title{white-space:normal}.goal-card__sets{min-width:0}.goal-card__sets a{overflow-wrap:anywhere;max-width:100%}.goal-lanes{align-items:start}.week-nav__day.is-switching{border-color:var(--lg-line-strong);background:var(--lg-eco-blue-wash)}.week-results__scene{background:0 0;place-items:center;display:grid}.week-results__sweep{background:var(--lg-eco-blue-wash);transform-origin:0;width:100%;height:100%;transform:scaleX(0)}.week-results.is-scene-switching .week-results__sweep{animation:.36s cubic-bezier(.2,0,0,1) both week-sweep}.week-results.is-scene-switching .week-results__board{animation:.36s cubic-bezier(.2,0,0,1) both week-board-settle}@keyframes week-sweep{0%{opacity:0;transform:scaleX(0)}28%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes week-board-settle{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:720px){.goal-card-grid{grid-template-columns:minmax(0,1fr)}.goal-card{min-height:0}}@media(prefers-reduced-motion:reduce){.week-results.is-scene-switching .week-results__sweep,.week-results.is-scene-switching .week-results__board{animation:none}}.class-card--student{height:232px;min-height:0;padding:19px 21px 17px}.class-card--student .class-card__header{gap:12px}.class-card--student .class-card__title{font-size:1.3rem}.class-card--student .class-card__teacher{gap:10px;margin-top:15px}.class-card--student .class-card__teacher-face{width:34px;height:34px}.class-card--student .class-card__teacher-copy strong{font-size:var(--lg-text-xs)}.class-card__goal-summary{z-index:1;border-top:1px solid var(--vc-line);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:12px;padding-top:10px;display:grid;position:relative}.goal-blob{border:2px solid var(--lg-line-strong);background:var(--lg-spark);width:56px;height:51px;box-shadow:none;color:var(--vc-ink);border-radius:54% 46% 42% 58%/58% 45% 55% 42%;align-content:center;place-items:center;animation:5.8s ease-in-out infinite goal-blob-breathe;display:grid;transform:rotate(-4deg)}.goal-blob span{font-family:var(--vc-display);font-size:1.42rem;font-weight:800;line-height:.9}.goal-blob small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin-top:4px;font-weight:800;line-height:1}@keyframes goal-blob-breathe{0%,to{border-radius:54% 46% 42% 58%/58% 45% 55% 42%;transform:rotate(-4deg)translateY(0)}35%{border-radius:42% 58% 55% 45%/47% 53% 44% 56%;transform:rotate(2deg)translateY(-2px)}70%{border-radius:59% 41% 48% 52%/53% 43% 57% 47%;transform:rotate(-1deg)translateY(1px)}}.class-card__goal-copy{gap:3px;min-width:0;display:grid}.class-card__goal-label{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.class-card__goal-copy strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-card__goal-points{color:var(--lg-eco-blue-ink);grid-template-columns:auto auto;align-items:center;gap:6px;display:grid}.class-card__goal-points>svg{border-radius:var(--lg-radius-sm);background:var(--vc-coral-soft);border:1px solid oklch(58.5% .215 26/.25);width:25px;height:25px;padding:5px}.class-card__goal-points>span{justify-items:end;gap:2px;display:grid}.class-card__goal-points small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800;line-height:1}.class-card__goal-points strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1}.student-goals-page{max-width:1320px;margin:0 auto}.student-goals-page__heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.student-goals-page__heading h1{font-size:clamp(2.35rem,5vw,4rem)}.student-goals-total{border-radius:var(--lg-radius-lg);background:var(--vc-purple-soft);color:var(--vc-purple-dark);box-shadow:none;border:1px solid oklch(55% .23 263/.2);grid-template-columns:auto auto;align-items:center;column-gap:9px;padding:15px 18px;display:grid}.student-goals-total svg{color:var(--lg-eco-blue-ink);grid-row:span 2}.student-goals-total strong{font-family:var(--vc-display);font-size:1.6rem;line-height:.9}.student-goals-total span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.student-goals-layout{grid-template-columns:218px minmax(0,1fr);align-items:start;gap:18px;display:grid}.student-goals-sidebar{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-width:0;box-shadow:var(--vc-shadow-soft);padding:14px;position:sticky;top:94px}.student-goals-sidebar__heading{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;justify-content:space-between;align-items:center;gap:10px;padding:3px 5px 12px;font-weight:800;display:flex}.student-goals-sidebar__heading strong{color:var(--vc-ink);font-size:var(--lg-text-xs)}.student-goals-sidebar__nav{gap:9px;display:grid}.student-goals-sidebar__item{border-radius:var(--lg-radius-md);width:100%;min-height:58px;color:var(--vc-ink-2);text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;transition:background-color .18s,border-color .18s,color .18s,transform .18s cubic-bezier(.2,.9,.3,1.2);display:grid}.student-goals-sidebar__item:hover{filter:brightness(1.06);transform:translate(3px)}.student-goals-sidebar__item.is-selected{box-shadow:none;border-color:#ffffffe0;transform:translate(3px)}.student-goals-sidebar__item .flag{border-radius:var(--lg-radius-sm);box-shadow:0 0 0 2px #ffffffc7,0 4px 8px -4px #161f3273;width:33px!important;height:22px!important}.student-goals-sidebar__copy{gap:3px;min-width:0;display:grid}.student-goals-sidebar__copy strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.student-goals-sidebar__copy small{color:var(--class-nav-text);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.student-goals-sidebar__copy small{color:color-mix(in srgb,var(--class-nav-text) 82%,transparent)}}.student-goals-sidebar__copy small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.student-goals-sidebar__item>svg{opacity:.42;transition:transform .18s,opacity .18s}.student-goals-sidebar__item:hover>svg,.student-goals-sidebar__item.is-selected>svg{opacity:1;transform:translate(2px)}.student-goals-stage{--class-accent:var(--vc-purple);--class-soft:var(--vc-purple-soft);--class-ink:var(--vc-purple-dark);--class-line:oklch(55% .23 263/.24);--class-stage:var(--vc-purple);border:1px solid var(--class-line);border-radius:var(--lg-radius-lg);background:var(--class-stage);min-width:0;min-height:560px;box-shadow:none;padding:22px;animation:.36s ease-out both card-arrive}.student-goals-stage--red,.student-goals-sidebar__item--red{--class-accent:var(--lg-wrong);--class-soft:var(--lg-canvas);--class-ink:var(--lg-wrong-press);--class-line:oklch(58.5% .215 26/.3);--class-stage:var(--lg-wrong);--class-nav:var(--lg-wrong);--class-nav-text:var(--lg-surface)}.student-goals-stage--orange,.student-goals-sidebar__item--orange{--class-accent:var(--lg-spark-press);--class-soft:var(--lg-eco-blue-wash);--class-ink:var(--lg-wrong-press);--class-line:oklch(70% .15 70/.3);--class-stage:var(--lg-spark-press);--class-nav:var(--lg-spark-press);--class-nav-text:var(--lg-surface)}.student-goals-stage--yellow,.student-goals-sidebar__item--yellow{--class-accent:var(--lg-spark);--class-soft:var(--lg-line);--class-ink:var(--lg-spark-ink);--class-line:oklch(86% .16 88/.34);--class-stage:var(--lg-spark);--class-nav:var(--lg-spark);--class-nav-text:var(--lg-spark-ink)}.student-goals-stage--green,.student-goals-sidebar__item--green{--class-accent:var(--lg-correct);--class-soft:var(--lg-canvas);--class-ink:var(--lg-correct-press);--class-line:oklch(55% .16 146/.3);--class-stage:var(--lg-correct);--class-nav:var(--lg-correct);--class-nav-text:var(--lg-surface)}.student-goals-stage--blue,.student-goals-sidebar__item--blue,.student-goals-stage--purple,.student-goals-sidebar__item--purple{--class-accent:var(--lg-eco-blue);--class-soft:var(--lg-eco-blue-wash);--class-ink:var(--lg-eco-blue-ink);--class-line:oklch(55% .23 263/.3);--class-stage:var(--lg-eco-blue);--class-nav:var(--lg-eco-blue);--class-nav-text:var(--lg-surface)}.student-goals-sidebar__item--red,.student-goals-sidebar__item--orange,.student-goals-sidebar__item--yellow,.student-goals-sidebar__item--green,.student-goals-sidebar__item--blue,.student-goals-sidebar__item--purple{background:var(--class-nav);color:var(--class-nav-text)}.student-goals-stage__header{border-bottom:1px solid var(--class-line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:2px 4px 20px;display:grid}.student-goals-stage__language{color:#fffc;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.12em;font-weight:800}.student-goals-stage h2{color:var(--lg-surface);margin:5px 0 0;font-size:1.55rem}.student-goals-stage__count{color:var(--lg-surface);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;background:#161f3226;border:1px solid oklch(100% 0 0/.28);border-radius:999px;padding:.42rem .58rem;font-weight:800}.student-goals-stage__header{border-bottom-color:#ffffff57}.student-goals-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:20px;display:grid}.student-goal-card{border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-width:0;color:var(--vc-ink);box-shadow:none;border:1px solid oklch(24% .04 266/.12);grid-template-rows:auto 1fr;text-decoration:none;transition:border-color .18s,box-shadow .22s,transform .22s cubic-bezier(.2,.9,.3,1.2);display:grid;overflow:hidden;transform:translateZ(0)}.student-goal-card:hover,.student-goal-card:focus-visible{border-color:var(--class-accent);box-shadow:var(--lg-focus)}.student-goal-card__visual{aspect-ratio:16/8.4;display:block;position:relative;overflow:hidden}.student-goal-card__visual>picture,.review-goal-card__visual>picture{width:100%;height:100%;display:block}.student-goal-card__visual img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:block}.student-goal-card:hover .student-goal-card__visual img,.student-goal-card:focus-visible .student-goal-card__visual img{transform:scale(1.06)}.student-goal-card__shade{background:#161f3273;position:absolute;top:0;right:0;bottom:0;left:0}.student-goal-card__game-name{color:var(--lg-surface);font-family:var(--vc-display);font-size:1.18rem;font-weight:800;line-height:1;position:absolute;bottom:.95rem;left:1rem;right:1rem}.student-goal-card__kicker{color:var(--lg-surface);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.1em;background:#161f323b;border:1px solid oklch(100% 0 0/.3);border-radius:999px;padding:.32rem .45rem;font-weight:800;position:absolute;top:.85rem;right:1rem}.student-goal-card__body{flex-direction:column;align-items:flex-start;min-width:0;padding:15px 17px 16px;display:flex}.student-goal-card__eyebrow{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.student-goal-card__title{width:100%;font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;line-height:1.1;display:block;overflow:hidden}.student-goal-card__instruction{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:7px;line-height:1.42;display:block}.student-goal-card__action{background:var(--vc-ink);width:100%;min-height:39px;color:var(--lg-surface);font-size:var(--lg-text-xs);border-radius:999px;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;padding:0 5px 0 12px;font-weight:800;transition:background-color .18s,transform .18s cubic-bezier(.2,.9,.3,1.2),box-shadow .18s;display:inline-flex}.student-goal-card:hover .student-goal-card__action,.student-goal-card:focus-visible .student-goal-card__action{background:var(--class-ink);box-shadow:none}.student-goal-card__action-icon{background:#ffffff2b;border-radius:50%;place-items:center;width:29px;height:29px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:grid}.student-goal-card:hover .student-goal-card__action-icon,.student-goal-card:focus-visible .student-goal-card__action-icon{transform:translate(3px)}.student-goals-stage__empty{color:#ffffffdb;align-items:center;gap:14px;min-height:240px;padding:20px 5px;display:flex}.student-goals-stage__empty h3{color:var(--lg-surface);font-size:var(--lg-text-sm);margin:0}.student-goals-stage__empty p{color:#ffffffd1;font-size:var(--lg-text-xs);margin:5px 0 0}.student-goals-empty{text-align:left;min-height:210px}.student-goals-empty .button:where(:not([data-slot])){margin-top:16px}.student-goal-page{max-width:1040px;margin:0 auto}.student-goal-page>.back-link{align-items:center;gap:7px;margin-bottom:24px;display:inline-flex}.student-goal-page__header{border-bottom:1px solid oklch(24% .04 266/.14);justify-content:space-between;align-items:end;gap:24px;padding-bottom:22px;display:flex}.student-goal-page__header h1{max-width:760px;font-family:var(--vc-display);margin:5px 0 7px;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.94}.student-goal-page__header p:last-child{color:var(--vc-ink-3);margin:0}.student-goal-page__header>svg{color:var(--lg-eco-blue-ink);flex:none}.student-goal-page__content{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:28px;margin-top:28px;display:grid}.student-goal-page__cover{border-radius:var(--lg-radius-lg);background:var(--vc-ink);min-height:280px;position:relative;overflow:hidden}.student-goal-page__cover img{object-fit:cover;width:100%;height:100%;min-height:280px;display:block}.student-goal-page__cover span{color:var(--lg-surface);font-family:var(--vc-display);font-size:1.25rem;font-weight:800;position:absolute;bottom:16px;left:18px;right:18px}.student-goal-page__details{align-self:center;padding:5px 0}.student-goal-page__details>p{color:var(--vc-ink-3);font-size:var(--lg-text-sm);margin:0;line-height:1.55}.student-goal-page__details dl{border-top:1px solid oklch(24% .04 266/.14);gap:0;margin:24px 0;display:grid}.student-goal-page__details dl div{border-bottom:1px solid oklch(24% .04 266/.1);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.student-goal-page__details dt{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.student-goal-page__details dd{color:var(--vc-ink);margin:0;font-weight:800}.student-goal-page__details .button:where(:not([data-slot])){align-items:center;gap:8px;display:inline-flex}@media(max-width:720px){.student-goal-page__header{align-items:start}.student-goal-page__content{grid-template-columns:1fr;gap:20px}.student-goal-page__cover,.student-goal-page__cover img{min-height:220px}}@media(max-width:980px){.student-goals-layout{grid-template-columns:190px minmax(0,1fr)}.student-goals-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.student-goals-page__heading{flex-direction:column;align-items:flex-start}.student-goals-total{align-self:stretch}.student-goals-layout{grid-template-columns:1fr}.student-goals-sidebar{position:static}.student-goals-sidebar__nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.student-goals-stage{min-height:0}}@media(max-width:480px){.class-card--student{height:220px;padding:17px 18px 15px}.class-card__goal-summary{grid-template-columns:51px minmax(0,1fr) auto;gap:9px}.goal-blob{width:51px;height:47px}.goal-blob span{font-size:1.28rem}.student-goals-stage{border-radius:var(--lg-radius-lg);padding:15px}.student-goals-stage__header{grid-template-columns:1fr;gap:9px;padding-bottom:15px}.student-goals-stage__count{justify-self:start}.student-goals-card-grid{gap:12px;padding-top:15px}.student-goal-card__body{padding:13px 14px 14px}}@media(prefers-reduced-motion:reduce){.goal-blob{animation:none}}.review-page{max-width:1320px;margin:0 auto}.review-page__heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.review-page__heading h1{font-size:clamp(2.35rem,5vw,4rem)}.review-page__summary{border-radius:var(--lg-radius-lg);background:var(--vc-purple-soft);color:var(--vc-purple-dark);box-shadow:none;border:1px solid oklch(55% .23 263/.2);grid-template-columns:auto auto;align-items:center;column-gap:9px;padding:15px 18px;display:grid}.review-page__summary svg{color:var(--lg-eco-blue-ink);grid-row:span 2}.review-page__summary strong{font-family:var(--vc-display);font-size:1.6rem;line-height:.9}.review-page__summary span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.review-section-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-bottom:18px;display:grid}.review-section-nav__card{border:1px solid var(--review-section-line);border-radius:var(--lg-radius-lg);background:var(--review-section-bg);min-height:108px;color:var(--review-section-ink);text-align:left;box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;transition:transform .2s cubic-bezier(.2,.9,.3,1.2),box-shadow .2s,filter .2s;display:grid;position:relative;overflow:hidden}.review-section-nav__card:after{content:"";pointer-events:none;background:#ffffff21;border-radius:50%;width:110px;height:110px;position:absolute;bottom:-36px;right:9%}.review-section-nav__card:hover,.review-section-nav__card:focus-visible{filter:brightness(1.04);box-shadow:none}.review-section-nav__card[aria-pressed=true]{outline:3px solid var(--review-section-ink)}@supports (color:color-mix(in lab,red,red)){.review-section-nav__card[aria-pressed=true]{outline:3px solid color-mix(in srgb,var(--review-section-ink) 27%,transparent)}}.review-section-nav__card[aria-pressed=true]{outline-offset:2px}.review-section-nav__card--yellow{--review-section-bg:var(--lg-spark);--review-section-ink:var(--lg-spark-ink);--review-section-line:var(--lg-spark);--review-section-shadow:oklch(50% .11 65/.18)}.review-section-nav__card--purple{--review-section-bg:var(--lg-eco-blue);--review-section-ink:var(--lg-surface);--review-section-line:var(--lg-eco-blue-press);--review-section-shadow:oklch(42% .19 264/.23)}.review-section-nav__icon{z-index:1;border:1px solid var(--review-section-ink);place-items:center;width:51px;height:51px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){.review-section-nav__icon{border:1px solid color-mix(in srgb,var(--review-section-ink) 24%,transparent)}}.review-section-nav__icon{border-radius:var(--lg-radius-md);background:var(--review-section-ink)}@supports (color:color-mix(in lab,red,red)){.review-section-nav__icon{background:color-mix(in srgb,var(--review-section-ink) 12%,transparent)}}.review-section-nav__copy{z-index:1;gap:3px;min-width:0;display:grid;position:relative}.review-section-nav__copy small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;opacity:.72;font-weight:850}.review-section-nav__copy strong{font-family:var(--vc-display);font-size:1.48rem;line-height:1}.review-section-nav__copy>span{font-size:var(--lg-text-xs);opacity:.76;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.review-section-nav__arrow{z-index:1;transition:transform .2s cubic-bezier(.2,.9,.3,1.2);position:relative}.review-section-nav__card:hover .review-section-nav__arrow,.review-section-nav__card:focus-visible .review-section-nav__arrow{transform:translate(4px)}.review-layout{grid-template-columns:218px minmax(0,1fr);align-items:start;gap:18px;display:grid}.review-sidebar{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-width:0;box-shadow:var(--vc-shadow-soft);padding:14px;position:sticky;top:94px}.review-sidebar__heading{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;justify-content:space-between;align-items:center;gap:10px;padding:3px 5px 12px;font-weight:800;display:flex}.review-sidebar__heading strong{color:var(--vc-ink);font-size:var(--lg-text-xs)}.review-sidebar__nav{gap:9px;display:grid}.review-sidebar__item{border-radius:var(--lg-radius-md);background:var(--review-nav);width:100%;min-height:60px;color:var(--review-nav-text);text-align:left;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;transition:filter .18s,transform .18s cubic-bezier(.2,.9,.3,1.2),box-shadow .18s;display:grid}.review-sidebar__item:hover{filter:brightness(1.06);transform:translate(3px)}.review-sidebar__item.is-selected{box-shadow:none;border-color:#ffffffeb;transform:translate(3px)}.review-sidebar__item .flag{border-radius:var(--lg-radius-sm);box-shadow:0 0 0 2px #fffc,0 4px 8px -4px #161f3273;width:33px!important;height:22px!important}.review-sidebar__item>span:not(.flag){gap:3px;min-width:0;display:grid}.review-sidebar__item strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.review-sidebar__item small{color:var(--review-nav-text);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.review-sidebar__item small{color:color-mix(in srgb,var(--review-nav-text) 82%,transparent)}}.review-sidebar__item small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.review-sidebar__item>svg{opacity:.68;transition:transform .18s}.review-sidebar__item:hover>svg,.review-sidebar__item.is-selected>svg{opacity:1;transform:translate(2px)}.review-sidebar__item--red{--review-nav:var(--lg-wrong);--review-ink:var(--lg-wrong-press);--review-nav-text:var(--lg-surface)}.review-sidebar__item--orange{--review-nav:var(--lg-spark-press);--review-ink:var(--lg-wrong-press);--review-nav-text:var(--lg-surface)}.review-sidebar__item--yellow{--review-nav:var(--lg-spark);--review-ink:var(--lg-spark-ink);--review-nav-text:var(--lg-spark-ink)}.review-sidebar__item--green{--review-nav:var(--lg-correct);--review-ink:var(--lg-correct-press);--review-nav-text:var(--lg-surface)}.review-sidebar__item--blue,.review-sidebar__item--purple{--review-nav:var(--lg-eco-blue);--review-ink:var(--lg-eco-blue-ink);--review-nav-text:var(--lg-surface)}.review-board{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-width:0;box-shadow:var(--vc-shadow-soft);overflow:hidden}.review-board__heading{border-bottom:1px solid var(--vc-line-2);background:var(--lg-canvas);justify-content:space-between;align-items:flex-end;gap:18px;padding:22px 23px 19px;display:flex}.review-board__kicker{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.review-board h2{margin:5px 0 0;font-size:1.55rem}.review-board__range{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.review-controls{grid-template-columns:minmax(200px,1fr) auto;align-items:center;gap:10px;padding:16px 23px 10px;display:grid}.review-search{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:40px;color:var(--vc-ink-3);align-items:center;gap:9px;padding:0 12px;transition:border-color .16s,box-shadow .16s;display:flex}.review-search:focus-within{border-color:var(--vc-purple);box-shadow:0 0 0 3px var(--vc-purple-soft)}.review-search input{width:100%;min-width:0;color:var(--vc-ink);font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.review-periods{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-canvas);align-items:center;gap:3px;padding:3px;display:inline-flex}.review-periods button{border-radius:var(--lg-radius-sm);min-height:32px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);white-space:nowrap;background:0 0;border:0;padding:0 9px;font-weight:800;transition:background-color .16s,color .16s,transform .16s}.review-periods button:hover{color:var(--vc-purple)}.review-periods button.is-selected{background:var(--vc-purple);color:#fff;box-shadow:none}.review-custom-range{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.review-custom-range label{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);align-items:center;gap:6px;min-height:34px;padding:0 7px;display:inline-flex}.review-custom-range input{color:var(--vc-ink);font:700 var(--lg-text-xs) var(--lg-font);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:2px solid #0000}.review-topics{align-items:center;gap:6px;padding:7px 23px 15px;display:flex;overflow-x:auto}.review-topics__label{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;margin-right:4px;font-weight:800}.review-topics button{border:1px solid var(--vc-line-2);background:var(--lg-surface);min-height:29px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);white-space:nowrap;border-radius:999px;padding:0 10px;font-weight:750;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.review-topics button:hover{border-color:var(--vc-purple);color:var(--vc-purple)}.review-topics button.is-selected{border-color:var(--vc-purple);background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.review-goal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 23px 23px;display:grid}.review-goal-card{border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;color:var(--vc-ink);border:1px solid oklch(24% .04 266/.12);grid-template-rows:auto 1fr;text-decoration:none;transition:border-color .18s,box-shadow .22s,transform .22s cubic-bezier(.2,.9,.3,1.2);display:grid;overflow:hidden;transform:translateZ(0);box-shadow:0 20px 34px -28px #161f32ad}.review-goal-card:hover{border-color:var(--vc-purple);box-shadow:none}.review-goal-card:focus-visible{border-color:var(--vc-purple);box-shadow:var(--lg-focus)}.review-goal-card__visual{aspect-ratio:16/8.4;display:block;position:relative;overflow:hidden}.review-goal-card__visual img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.2,1);display:block}.review-goal-card:hover .review-goal-card__visual img,.review-goal-card:focus-visible .review-goal-card__visual img{transform:scale(1.06)}.review-goal-card__shade{background:#161f3273;position:absolute;top:0;right:0;bottom:0;left:0}.review-goal-card__game{color:var(--lg-surface);font-family:var(--vc-display);font-size:var(--lg-text-md);font-weight:800;line-height:1;position:absolute;bottom:.85rem;left:.9rem;right:.9rem}.review-goal-card__kicker{color:var(--lg-surface);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.1em;background:#161f323d;border:1px solid oklch(100% 0 0/.3);border-radius:999px;padding:.28rem .4rem;font-weight:800;position:absolute;top:.75rem;right:.85rem}.review-goal-card__body{flex-direction:column;align-items:flex-start;min-width:0;padding:13px 14px 14px;display:flex}.review-goal-card__eyebrow{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;align-items:center;gap:4px;font-weight:800;display:inline-flex}.review-goal-card__title{width:100%;font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;line-height:1.1;display:block;overflow:hidden}.review-goal-card__topics{flex-wrap:wrap;gap:4px;margin-top:7px;display:flex}.review-goal-card__topics span{background:var(--vc-purple-soft);color:var(--vc-purple-dark);font-size:var(--lg-text-xs);border-radius:999px;padding:3px 6px;font-weight:750}.review-goal-card__description{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:7px;line-height:1.4;display:block}.review-goal-card__stats{width:100%;color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-weight:750;display:flex}.review-goal-card__stats span{align-items:center;gap:4px;display:inline-flex}.review-goal-card__stats svg{color:var(--vc-green)}.review-goal-card__action{background:var(--vc-ink);width:100%;min-height:35px;color:var(--lg-surface);font-size:var(--lg-text-xs);border-radius:999px;justify-content:space-between;align-items:center;gap:8px;margin-top:11px;padding:0 4px 0 11px;font-weight:800;transition:background-color .18s,transform .18s cubic-bezier(.2,.9,.3,1.2),box-shadow .18s;display:inline-flex}.review-goal-card:hover .review-goal-card__action,.review-goal-card:focus-visible .review-goal-card__action{background:var(--vc-purple);box-shadow:none}.review-goal-card__action-icon{background:#ffffff2b;border-radius:50%;place-items:center;width:27px;height:27px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:grid}.review-goal-card:hover .review-goal-card__action-icon,.review-goal-card:focus-visible .review-goal-card__action-icon{transform:translate(3px)}.review-goal-grid--loading{min-height:300px}.review-goal-grid--loading .local-loading-surface{grid-column:1/-1;min-height:300px}.review-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:5px 23px 23px;display:grid}.review-progress-card{border:1px solid var(--review-progress-line);border-radius:var(--lg-radius-lg);background:var(--review-progress-bg);min-height:280px;color:var(--review-progress-ink);box-shadow:none;padding:24px}.review-progress-card--yellow{--review-progress-bg:var(--lg-spark);--review-progress-ink:var(--lg-spark-ink);--review-progress-line:var(--lg-spark);--review-progress-shadow:oklch(50% .11 65/.18)}.review-progress-card--purple{--review-progress-bg:var(--lg-eco-blue);--review-progress-ink:var(--lg-surface);--review-progress-line:var(--lg-eco-blue-press);--review-progress-shadow:oklch(42% .19 264/.23)}.review-progress-card__topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.review-progress-card__label{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:850}.review-progress-card__icon{border:1px solid var(--review-progress-ink);place-items:center;width:43px;height:43px;display:grid}@supports (color:color-mix(in lab,red,red)){.review-progress-card__icon{border:1px solid color-mix(in srgb,var(--review-progress-ink) 25%,transparent)}}.review-progress-card__icon{border-radius:var(--lg-radius-md);background:var(--review-progress-ink)}@supports (color:color-mix(in lab,red,red)){.review-progress-card__icon{background:color-mix(in srgb,var(--review-progress-ink) 12%,transparent)}}.review-progress-card__metric{align-items:baseline;gap:10px;margin-top:42px;display:flex}.review-progress-card__metric strong{font-family:var(--vc-display);letter-spacing:-.03em;font-size:clamp(3rem,5vw,4.7rem);line-height:.86}.review-progress-card__metric span{max-width:120px;font-size:var(--lg-text-xs);opacity:.76;font-weight:800;line-height:1.15}.review-progress-card__bar{background:var(--review-progress-ink);border-radius:999px;height:12px;margin-top:34px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.review-progress-card__bar{background:color-mix(in srgb,var(--review-progress-ink) 18%,transparent)}}.review-progress-card__bar span{border-radius:inherit;background:var(--review-progress-ink);min-width:9px;height:100%;transition:none;display:block}.review-progress-card__footer{font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);justify-content:space-between;align-items:center;gap:12px;margin-top:15px;font-weight:750;display:flex}.review-progress-card__footer strong{font-size:var(--lg-text-xs)}.review-progress-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 23px 23px;display:grid}.review-progress-stat{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--lg-canvas);min-width:0;min-height:104px;padding:15px}.review-progress-stat>span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:850;display:block;overflow:hidden}.review-progress-stat strong{color:var(--vc-ink);font-family:var(--vc-display);margin-top:16px;font-size:1.75rem;line-height:.9;display:block}.review-progress-stat small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:7px;font-weight:750;display:block}.review-progress-stat--points{background:var(--vc-purple-soft);border-color:#2061f53d}.review-progress-stat--points strong{color:var(--vc-purple-dark)}.review-progress-grid--loading{min-height:280px}.review-progress-grid--loading .local-loading-surface{grid-column:1/-1;min-height:280px}.review-inline-error{border-radius:var(--lg-radius-sm);background:var(--lg-wrong-wash);color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);border:1px solid oklch(58.5% .215 26/.28);margin:0 23px 23px;padding:14px;font-weight:750}.review-empty{border:1px dashed var(--vc-line-2);border-radius:var(--lg-radius-md);min-height:220px;color:var(--vc-purple);align-items:center;gap:14px;margin:0 23px 23px;padding:20px;display:flex}.review-empty h3{color:var(--vc-ink);font-size:var(--lg-text-sm);margin:0}.review-empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:5px 0 0}.review-empty--page{background:var(--lg-surface);margin:0}@media(max-width:1120px){.review-goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-progress-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.review-results{min-height:760px}}@media(max-width:820px){.review-layout{grid-template-columns:1fr}.review-sidebar{position:static}.review-sidebar__nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media(max-width:720px){.review-page__heading{flex-direction:column;align-items:flex-start}.review-page__summary{align-self:stretch}.review-section-nav{grid-template-columns:1fr}.review-section-nav__card{min-height:94px}.review-board__heading{flex-direction:column;align-items:flex-start;gap:8px}.review-controls{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.review-periods{justify-content:flex-start;width:100%;overflow-x:auto}.review-periods button{flex:none;padding:0 9px}.review-custom-range{flex-wrap:wrap;justify-content:flex-start}.review-topics{padding-left:16px;padding-right:16px}.review-goal-grid,.review-progress-grid{grid-template-columns:1fr;padding-left:16px;padding-right:16px}.review-progress-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:16px;padding-right:16px}.review-results{min-height:1120px}.review-inline-error,.review-empty{margin-left:16px;margin-right:16px}}.student-goal-card,.review-goal-card{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);box-shadow:none;animation:.42s cubic-bezier(.175,.885,.32,1.18) both pop-game-card-arrive}.student-goal-card:hover,.student-goal-card:focus-visible,.review-goal-card:hover,.review-goal-card:focus-visible{border-color:var(--lg-eco-blue);box-shadow:none;transform:translateY(-5px)}.student-goal-card__visual,.review-goal-card__visual{aspect-ratio:2;border-bottom:2px solid var(--lg-line-strong);background:var(--vc-blue)}.student-goal-card__visual img,.review-goal-card__visual img{object-position:center}.student-goal-card__shade,.review-goal-card__shade{display:none}.student-goal-card__kicker,.review-goal-card__kicker{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink);border-radius:999px;padding:.3rem .48rem;inset:.72rem .72rem auto auto}.student-goal-card__game-name,.review-goal-card__game{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);width:auto;max-width:calc(100% - 1.44rem);box-shadow:none;color:var(--vc-ink);font-size:var(--lg-text-sm);padding:.42rem .62rem;bottom:.72rem;left:.72rem;right:auto}.student-goal-card__body,.review-goal-card__body{background:var(--lg-eco-blue-wash)}.student-goal-card__eyebrow,.review-goal-card__eyebrow{color:var(--lg-eco-blue-ink)}.student-goal-card__action,.review-goal-card__action{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink)}.student-goal-card:hover .student-goal-card__action,.student-goal-card:focus-visible .student-goal-card__action,.review-goal-card:hover .review-goal-card__action,.review-goal-card:focus-visible .review-goal-card__action{background:var(--lg-eco-blue-wash);box-shadow:none}.student-goal-card__action-icon,.review-goal-card__action-icon{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash)}.review-goal-card__topics span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-goal-page__cover{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);box-shadow:none;overflow:hidden}.student-goal-page__cover img{aspect-ratio:2;object-fit:cover}.student-goal-page__cover span{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);width:auto;box-shadow:none;color:var(--vc-ink);padding:8px 12px;bottom:16px;left:16px;right:auto}@keyframes pop-game-card-arrive{0%{opacity:0;transform:translateY(18px)rotate(.6deg)scale(.985)}to{opacity:1;transform:none}}@media(max-width:720px){.student-goal-card,.review-goal-card{border-radius:var(--lg-radius-md);box-shadow:none}.student-goal-page__cover{box-shadow:none}}@media(prefers-reduced-motion:reduce){.student-goal-card,.review-goal-card{animation:none}.student-goal-card:hover,.student-goal-card:focus-visible,.review-goal-card:hover,.review-goal-card:focus-visible{transform:none}}.class-calendar-page{width:min(100%,1240px);margin:0 auto;padding-bottom:24px}.class-calendar__back{margin-bottom:22px}.class-calendar__hero{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px;display:flex}.class-calendar__identity{align-items:center;gap:16px;min-width:0;display:flex}.class-calendar__flag{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);width:62px;height:62px;box-shadow:none;flex:none;place-items:center;display:grid}.class-calendar__flag .flag{box-shadow:0 0 0 2px var(--lg-surface),0 0 0 3px var(--vc-ink)}.class-calendar__identity h1{font-size:clamp(2rem,4vw,3.4rem)}.class-calendar__identity p:not(.eyebrow){color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0}.class-calendar__summary{border:2px solid var(--lg-line-strong);background:var(--vc-surface);box-shadow:none;flex:none;align-items:stretch;display:flex}.class-calendar__summary span{grid-template-columns:auto auto;align-content:center;column-gap:7px;min-width:126px;padding:11px 14px;display:grid}.class-calendar__summary span+span{border-left:2px solid var(--lg-line-strong)}.class-calendar__summary svg{color:var(--lg-eco-blue-ink);grid-row:span 2;align-self:center}.class-calendar__summary strong{font-family:var(--vc-display);font-size:1.2rem;line-height:1}.class-calendar__summary small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.class-calendar__surface{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-surface);box-shadow:none;animation:.42s ease-out both panel-arrive;overflow:hidden}.class-calendar__surface-head{border-bottom:2px solid var(--lg-line-strong);justify-content:space-between;align-items:flex-end;gap:24px;padding:25px 28px 22px;display:flex}.class-calendar__surface-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem)}.class-calendar__surface-head p:not(.eyebrow){max-width:46ch;color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0;line-height:1.5}.class-calendar__view-switch{border:2px solid var(--lg-line-strong);background:var(--vc-cream);flex:none;gap:4px;padding:4px;display:flex}.class-calendar__view-switch button{min-height:36px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);background:0 0;border:0;padding:0 12px;font-weight:800}.class-calendar__view-switch button:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.class-calendar__view-switch button.is-active{background:var(--vc-ink);color:var(--lg-surface)}.class-calendar__toolbar{justify-content:center;padding:20px 28px 8px;display:flex}.class-calendar__period-nav{align-items:center;gap:15px;display:flex}.class-calendar__arrow{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:38px;height:38px;color:var(--lg-eco-blue-ink);border-radius:50%;place-items:center;transition:transform .16s,background-color .16s;display:grid}.class-calendar__arrow:hover{background:var(--lg-eco-blue-wash)}.class-calendar__period{text-align:center;justify-items:center;gap:3px;min-width:220px;display:grid}.class-calendar__period h3{margin:0;font-size:1.35rem}.class-calendar__period button{color:var(--vc-purple-dark);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-underline-offset:3px;background:0 0;border:0;padding:2px 5px;font-weight:800;text-decoration:underline}.class-calendar__months{scroll-behavior:smooth;scrollbar-width:none;gap:5px;margin:11px 28px 0;padding:4px 0 13px;display:flex;overflow-x:auto}.class-calendar__months::-webkit-scrollbar{display:none}.class-calendar__months button{border-radius:var(--lg-radius-sm);min-width:64px;color:var(--vc-ink-2);background:0 0;border:2px solid #0000;flex-direction:column;flex:none;align-items:center;gap:1px;padding:7px 10px;display:flex}.class-calendar__months button:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash)}.class-calendar__months button.is-current{border-color:var(--lg-line-strong);background:var(--vc-blue);color:#fff;box-shadow:none}.class-calendar__months strong{font-family:var(--vc-display);font-size:var(--lg-text-xs);line-height:1.1}.class-calendar__months small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);font-weight:700}.class-calendar__months button.is-current small{color:#fffc}.class-calendar__legend{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;flex-wrap:wrap;align-items:center;gap:17px;padding:10px 28px 15px;font-weight:700;display:flex}.class-calendar__legend span{align-items:center;gap:6px;display:inline-flex}.class-calendar__legend i,.class-calendar__goal i{border:2px solid var(--lg-line-strong);background:var(--vc-blue);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.class-calendar__legend i.is-vocab,.class-calendar__goal--vocab i{background:var(--lg-eco-blue-wash)}.class-calendar__scroll-wrap{border-top:2px solid var(--lg-line-strong);outline:2px solid #0000;overflow-x:auto}.class-calendar__scroll-wrap:focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}.class-calendar__month-grid{min-width:720px}.class-calendar__weekdays{border-bottom:2px solid var(--lg-line-strong);background:var(--vc-cream);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.class-calendar__weekdays span{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;padding:9px 12px;font-weight:800}.class-calendar__month{grid-template-columns:repeat(7,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.class-calendar__month-day{border-right:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);background:var(--vc-surface);min-height:128px;padding:10px}.class-calendar__month-day:nth-child(7n){border-right:0}.class-calendar__month-day.is-outside{background:var(--lg-canvas);color:var(--vc-ink-3)}.class-calendar__month-day.is-selected{background:var(--vc-purple-soft);box-shadow:inset 0 0 0 2px var(--lg-eco-blue)}.class-calendar__month-day.is-today{box-shadow:inset 0 4px 0 var(--lg-spark)}.class-calendar__month-day header{justify-content:space-between;align-items:flex-start;gap:6px;min-height:27px;display:flex}.class-calendar__date-link{color:var(--vc-ink);align-items:baseline;gap:6px;text-decoration:none;display:inline-flex}.class-calendar__date-link:hover .class-calendar__day-number{color:var(--vc-purple-dark);text-underline-offset:3px;text-decoration:underline}.class-calendar__day-number{font-family:var(--vc-display);font-size:var(--lg-text-md);font-weight:800;line-height:1}.class-calendar__mobile-dow{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700;display:none}.class-calendar__today{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;padding:3px 5px;font-weight:800}.class-calendar__goals{gap:5px;margin-top:8px;display:grid}.class-calendar__goal{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);min-width:0;color:var(--vc-ink);font-size:var(--lg-text-xs);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px 7px;font-weight:750;text-decoration:none;transition:transform .16s,background-color .16s;display:grid}.class-calendar__goal:hover{background:var(--lg-eco-blue-wash);transform:translate(2px)}.class-calendar__goal span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-calendar__goal small{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);white-space:nowrap}.class-calendar__goal--vocab{background:var(--vc-coral-soft)}.class-calendar__goal.is-compact{grid-template-columns:auto minmax(0,1fr);padding:5px 6px}.class-calendar__rest{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.class-calendar__week{grid-template-columns:repeat(7,minmax(155px,1fr));min-width:1100px;margin:0;padding:0;list-style:none;display:grid}.class-calendar__week-day{border-right:1px solid var(--vc-line-2);background:var(--vc-surface);min-height:300px;padding:13px}.class-calendar__week-day:last-child{border-right:0}.class-calendar__week-day.is-today{background:var(--vc-purple-soft);box-shadow:inset 0 4px 0 var(--lg-spark)}.class-calendar__week-day header{border-bottom:2px solid var(--lg-line-strong);justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:12px;display:flex}.class-calendar__week-day header a{color:var(--vc-ink);gap:2px;text-decoration:none;display:grid}.class-calendar__week-day header a:hover strong{color:var(--vc-purple-dark)}.class-calendar__week-day header span{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.class-calendar__week-day header strong{font-family:var(--vc-display);font-size:1.5rem;line-height:1}.class-calendar__week-day header small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:700}.class-calendar__week-day header>span{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-align:right}.class-calendar__week-day ul{gap:8px;margin:13px 0 0;padding:0;list-style:none;display:grid}.class-calendar__week-day .class-calendar__goal{grid-template-columns:auto minmax(0,1fr);align-content:center;min-height:68px;padding:9px}.class-calendar__week-day .class-calendar__goal small{display:none}.class-calendar__week-day .class-calendar__goal span{white-space:normal}.class-calendar__week-rest{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.class-calendar__day-view{background:var(--vc-cream);padding:28px}.class-calendar__day-hero{border-bottom:2px solid var(--lg-line-strong);align-items:center;gap:15px;padding-bottom:20px;display:flex}.class-calendar__day-date{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);width:70px;height:70px;box-shadow:none;align-content:center;place-items:center;display:grid}.class-calendar__day-date strong{font-family:var(--vc-display);font-size:1.8rem;line-height:.9}.class-calendar__day-date small{font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:800}.class-calendar__day-hero p{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin:0 0 4px;font-weight:800}.class-calendar__day-hero h3{margin:0;font-size:1.45rem}.class-calendar__day-goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.class-calendar__day-goals .class-calendar__goal{min-height:58px;font-size:var(--lg-text-xs);padding:12px}.class-calendar__day-goals .class-calendar__goal small{font-size:var(--lg-text-xs)}.class-calendar__day-empty{border:2px dashed var(--vc-ink);background:var(--vc-surface);min-height:112px;color:var(--vc-green);align-items:center;gap:12px;margin-top:18px;padding:20px;display:flex}.class-calendar__day-empty strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-md)}.class-calendar__day-empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0}@media(max-width:760px){.class-calendar-page{padding-bottom:10px}.class-calendar__hero{flex-direction:column;align-items:flex-start;gap:17px}.class-calendar__summary{width:100%}.class-calendar__summary span{flex:1;min-width:0}.class-calendar__surface-head{flex-direction:column;align-items:flex-start;padding:21px 18px 18px}.class-calendar__view-switch{width:100%}.class-calendar__view-switch button{flex:1}.class-calendar__toolbar{padding:17px 18px 7px}.class-calendar__months{margin-inline:18px}.class-calendar__legend{padding-inline:18px}.class-calendar__day-goals{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.class-calendar__identity{align-items:flex-start}.class-calendar__flag{border-radius:var(--lg-radius-sm);width:52px;height:52px}.class-calendar__flag .flag{width:30px!important;height:auto!important}.class-calendar__summary span{padding:10px 11px}.class-calendar__summary small{font-size:var(--lg-text-xs)}.class-calendar__period{min-width:0}.class-calendar__period h3{font-size:var(--lg-text-md)}.class-calendar__day-view{padding:20px 16px}}@media(prefers-reduced-motion:reduce){.class-calendar__surface,.class-calendar__goal,.class-calendar__arrow{transition:none;animation:none}.class-calendar__months{scroll-behavior:auto}}.app-main:has(.avatar-studio-page){background:var(--vc-cream);width:100%;max-width:none;padding:clamp(24px,4vw,54px) clamp(12px,3vw,42px) 90px}.avatar-studio-page{width:min(100%,1420px);margin:0 auto}.avatar-studio-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:clamp(26px,4vw,48px);display:flex}.avatar-studio-heading>div{min-width:0}.avatar-studio-heading h1{max-width:10ch;font-size:clamp(3rem,7vw,6.8rem);line-height:.82}.avatar-studio-heading>div>p:last-child{max-width:650px;color:var(--vc-ink-3);margin:19px 0 0;font-size:clamp(.92rem,1.4vw,1.05rem);line-height:1.62}.avatar-studio-heading__edition{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);min-height:42px;box-shadow:none;font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex;transform:rotate(1.5deg)}.avatar-studio-shell{grid-template-columns:minmax(330px,.86fr) minmax(540px,1.55fr);align-items:start;gap:clamp(28px,5vw,74px);display:grid}.avatar-preview-panel{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);min-width:0;box-shadow:none;color:var(--vc-cream);padding:clamp(18px,2.5vw,30px);position:sticky;top:104px}.avatar-preview-panel__topline{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;font-weight:800;display:flex}.avatar-preview-panel__topline span:last-child{border:2px solid var(--lg-line-strong);min-height:28px;box-shadow:none;color:var(--vc-ink);border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.avatar-preview-panel__topline .is-unsaved,.avatar-preview-panel__topline .is-saved{background:var(--lg-eco-blue-wash)}.avatar-preview-stage{isolation:isolate;aspect-ratio:1;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);box-shadow:none;border-radius:44% 56% 50% 50%/55% 46% 54% 45%;position:relative;overflow:hidden}.avatar-preview-stage>img{z-index:2;border:2px solid var(--lg-line-strong);background:var(--vc-blue);object-fit:cover;border-radius:50%;width:88%;height:88%;animation:.36s cubic-bezier(.175,.885,.32,1.2) both avatar-swap-in;display:block;position:absolute;top:6%;right:6%;bottom:6%;left:6%}.avatar-preview-stage__sun{z-index:1;aspect-ratio:1;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;width:24%;animation:8s ease-in-out infinite avatar-orbit;position:absolute;top:2%;right:7%}.avatar-preview-stage__bean{z-index:1;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-green);width:34%;height:23%;position:absolute;bottom:-5%;left:-4%;transform:rotate(22deg)}.avatar-preview-stage__scribble{z-index:3;pointer-events:none;width:34%;position:absolute;bottom:3%;right:-1%;overflow:visible}.avatar-preview-stage__scribble path{fill:none;stroke:var(--lg-surface);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:240;animation:4.8s ease-in-out infinite avatar-scribble}.avatar-preview-stage__burst{z-index:4;pointer-events:none;position:absolute;top:50%;right:50%;bottom:50%;left:50%}.avatar-preview-stage__burst i{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);opacity:0;border-radius:50%;width:14px;height:14px;position:absolute}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i{animation:.68s cubic-bezier(.2,.75,.3,1) both avatar-confetti}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i:first-child{--burst-x:-132px;--burst-y:-145px;background:var(--lg-eco-blue-wash)}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i:nth-child(2){--burst-x:122px;--burst-y:-118px;background:var(--lg-eco-blue-wash);animation-delay:40ms}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i:nth-child(3){--burst-x:145px;--burst-y:78px;background:var(--vc-green);animation-delay:80ms}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i:nth-child(4){--burst-x:-138px;--burst-y:96px;background:var(--lg-eco-blue-wash);animation-delay:.11s}.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i:nth-child(5){--burst-x:18px;--burst-y:-168px;background:var(--lg-surface);animation-delay:60ms}.avatar-preview-panel__identity{justify-content:space-between;align-items:center;gap:18px;margin-top:24px;display:flex}.avatar-preview-panel__identity>div{display:grid}.avatar-preview-panel__identity span:first-child{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.avatar-preview-panel__identity strong{color:var(--lg-surface);font-family:var(--vc-display);margin-top:3px;font-size:clamp(2.1rem,4vw,3.4rem);line-height:.9}.avatar-preview-panel__identity small{color:var(--lg-eco-blue-wash);font-size:var(--lg-text-xs);margin-top:7px;font-weight:700}.avatar-preview-panel__swatch{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);width:52px;height:52px;box-shadow:none;flex:0 0 52px;transform:rotate(-8deg)}.avatar-preview-panel__swatch.is-yellow,.avatar-preview-panel__swatch.is-coral,.avatar-preview-panel__swatch.is-pink{background:var(--lg-eco-blue-wash)}.avatar-preview-panel__swatch.is-green{background:var(--vc-green)}.avatar-preview-panel__actions{grid-template-columns:.86fr 1.14fr;gap:9px;margin-top:24px;display:grid}.avatar-preview-panel__actions .button:where(:not([data-slot])){border-width:2px;border-color:var(--lg-line-strong);min-height:49px}.avatar-preview-panel__actions .button--quiet:where(:not([data-slot])){background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--vc-ink)}.avatar-save-button,.avatar-save-button:hover:not(:disabled){background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink)}.avatar-save-button:disabled{border-color:var(--lg-line-strong);color:#161f32ad;opacity:1;background:#f4f7fcb8}.avatar-preview-panel__status{min-height:1.25rem;color:var(--lg-eco-blue-wash);font-size:var(--lg-text-xs);text-align:center;margin:16px 0 0;font-weight:700}.avatar-collection{min-width:0;padding-top:4px}.avatar-collection__heading{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:22px;display:flex}.avatar-collection__heading h2{font-size:clamp(1.9rem,3.4vw,3.2rem);line-height:.94}.avatar-collection__heading>p{max-width:310px;color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0;line-height:1.55}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(13px,1.8vw,21px);display:grid}.avatar-choice{min-width:0;color:var(--vc-ink);text-align:left;background:0 0;border:0;padding:0;animation:.43s cubic-bezier(.175,.885,.32,1.16) both avatar-choice-in;display:grid;position:relative;overflow:visible}.avatar-choice--yellow{--avatar-accent:var(--lg-spark)}.avatar-choice--coral{--avatar-accent:var(--lg-eco-blue)}.avatar-choice--pink{--avatar-accent:var(--lg-wrong-soft)}.avatar-choice--green{--avatar-accent:var(--vc-green)}.avatar-choice:nth-child(2){animation-delay:32ms}.avatar-choice:nth-child(3){animation-delay:64ms}.avatar-choice:nth-child(4){animation-delay:96ms}.avatar-choice:nth-child(5){animation-delay:.128s}.avatar-choice:nth-child(6){animation-delay:.16s}.avatar-choice:nth-child(7){animation-delay:.192s}.avatar-choice:nth-child(8){animation-delay:.224s}.avatar-choice:nth-child(9){animation-delay:.256s}.avatar-choice:nth-child(10){animation-delay:.288s}.avatar-choice:nth-child(11){animation-delay:.32s}.avatar-choice:nth-child(12){animation-delay:.352s}.avatar-choice__visual{aspect-ratio:1;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);box-shadow:none;transition:transform .21s cubic-bezier(.175,.885,.32,1.22),box-shadow .21s,border-radius .21s;display:block;position:relative;overflow:hidden}.avatar-choice__visual img{object-fit:cover;width:100%;height:100%;transition:transform .31s cubic-bezier(.2,.8,.2,1);display:block}.avatar-choice__check{border:2px solid var(--lg-line-strong);background:var(--avatar-accent);width:34px;height:34px;box-shadow:none;opacity:0;border-radius:50%;place-items:center;transition:opacity .15s,transform .22s cubic-bezier(.175,.885,.32,1.3);display:grid;position:absolute;top:9px;right:9px;transform:scale(.55)rotate(-18deg)}.avatar-choice__copy{padding:13px 6px 0;display:grid}.avatar-choice__copy strong{font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1}.avatar-choice__copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:5px;font-weight:700}.avatar-choice:hover .avatar-choice__visual{border-radius:var(--lg-radius-lg);box-shadow:none;transform:translateY(-5px)}.avatar-choice:hover .avatar-choice__visual img{transform:scale(1.035)}.avatar-choice:active .avatar-choice__visual{box-shadow:none;transform:translate(3px,3px)scale(.985)}.avatar-choice.is-selected .avatar-choice__visual{box-shadow:none;border-width:3px;transform:translateY(-4px)}.avatar-choice.is-selected .avatar-choice__check{opacity:1;transform:none}.avatar-choice.is-selected .avatar-choice__copy strong{color:var(--vc-purple-dark)}.avatar-mobile-dock{display:none}@keyframes avatar-choice-in{0%{opacity:0;transform:translateY(18px)rotate(1.4deg)scale(.97)}to{opacity:1;transform:none}}@keyframes avatar-swap-in{0%{opacity:.3;transform:scale(.92)rotate(-2deg)}68%{opacity:1;transform:scale(1.025)rotate(.5deg)}to{opacity:1;transform:none}}@keyframes avatar-scribble{0%,12%{stroke-dashoffset:240px}32%,78%{stroke-dashoffset:0}to{stroke-dashoffset:-240px}}@keyframes avatar-orbit{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-8px,10px)rotate(9deg)}}@keyframes avatar-confetti{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)rotate(0)}28%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(1.15) rotate(220deg)}}@media(max-width:1100px){.avatar-studio-shell{grid-template-columns:minmax(300px,.8fr) minmax(440px,1.35fr);gap:34px}.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.avatar-preview-panel__actions{grid-template-columns:1fr}}@media(max-width:820px){.app-main:has(.avatar-studio-page){padding-bottom:120px}.avatar-studio-heading{flex-direction:column;align-items:flex-start;gap:21px}.avatar-studio-heading h1{font-size:clamp(3.5rem,16vw,6.2rem)}.avatar-studio-heading__edition{align-self:flex-start}.avatar-studio-shell{grid-template-columns:1fr;gap:46px}.avatar-preview-panel{width:min(100%,620px);margin:0 auto;position:static}.avatar-preview-panel__actions{grid-template-columns:1fr 1.2fr}.avatar-collection__heading{align-items:flex-start}.avatar-mobile-dock{z-index:75;right:12px;bottom:max(12px,env(safe-area-inset-bottom));border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);min-height:72px;box-shadow:none;justify-content:space-between;align-items:center;gap:12px;padding:9px 9px 9px 11px;animation:.3s cubic-bezier(.175,.885,.32,1.2) both avatar-dock-in;display:flex;position:fixed;left:12px}.avatar-mobile-dock__identity{align-items:center;gap:9px;min-width:0;display:flex}.avatar-mobile-dock__identity>img{border:2px solid var(--lg-line-strong);object-fit:cover;border-radius:50%;flex:0 0 48px;width:48px;height:48px}.avatar-mobile-dock__identity>span{min-width:0;display:grid}.avatar-mobile-dock__identity small{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.avatar-mobile-dock__identity strong{font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar-mobile-dock .button:where(:not([data-slot])){border:2px solid var(--lg-line-strong);flex:none;min-height:48px}}@media(max-width:560px){.app-main:has(.avatar-studio-page){padding-left:12px;padding-right:12px}.avatar-studio-heading .back-link{margin-bottom:18px}.avatar-studio-heading h1{font-size:clamp(3.25rem,18vw,5rem)}.avatar-preview-panel{border-radius:var(--lg-radius-lg);box-shadow:none;padding:16px}.avatar-preview-panel__actions{grid-template-columns:1fr}.avatar-preview-panel__actions .button:where(:not([data-slot])){min-height:50px}.avatar-collection__heading{flex-direction:column;gap:10px}.avatar-collection__heading>p{max-width:100%}.avatar-grid{gap:12px}.avatar-choice__visual{border-radius:var(--lg-radius-md);box-shadow:none}.avatar-choice__copy{padding:10px 4px 0}.avatar-choice__copy strong{font-size:var(--lg-text-sm)}.avatar-choice__copy small{font-size:var(--lg-text-xs)}}@media(max-width:380px){.avatar-grid{grid-template-columns:1fr}.avatar-choice{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:12px}.avatar-choice__copy{padding:0}.avatar-mobile-dock__identity>span{display:none}.avatar-mobile-dock .button:where(:not([data-slot])){flex:1}}@keyframes avatar-dock-in{0%{opacity:0;transform:translateY(22px)scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.avatar-choice,.avatar-preview-stage>img,.avatar-preview-stage__sun,.avatar-preview-stage__scribble path,.avatar-preview-stage.is-celebrating .avatar-preview-stage__burst i,.avatar-mobile-dock{animation:none!important}.avatar-choice__visual,.avatar-choice__visual img,.avatar-choice__check{transition:none}.avatar-choice:hover .avatar-choice__visual,.avatar-choice.is-selected .avatar-choice__visual{transform:none}}.app-header__inner{min-height:68px}.app-main{padding-top:30px;padding-bottom:max(44px,calc(24px + env(safe-area-inset-bottom)))}.page-heading{margin-bottom:22px}.page-heading__intro,.workspace-hero p:not(.eyebrow){font-size:var(--lg-text-xs);margin-top:8px;line-height:1.48}.button:where(:not([data-slot])),.icon-button,.account-control__profile{border-width:2px;border-color:var(--lg-line-strong)}.button:where(:not([data-slot])){border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink)}.button:where(:not([data-slot])):hover:not(:disabled){background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink)}.button:where(:not([data-slot])):active:not(:disabled){box-shadow:none}.button--quiet:where(:not([data-slot])){border-color:var(--lg-line-strong);background:var(--lg-surface);box-shadow:none;color:var(--vc-ink)}.button--quiet:where(:not([data-slot])):hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--vc-purple-soft);box-shadow:none;color:var(--vc-ink)}.module-page--library{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);box-shadow:none;padding:clamp(24px,3vw,38px)}.module-page--library .page-heading{margin-bottom:22px}.module-page--library h1{max-width:12ch;font-size:clamp(2.55rem,5vw,4.6rem);line-height:.9}.module-page--library .page-heading__intro{max-width:50ch}.module-page__doodles{height:82px}.module-page--library .module-list--choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.module-page--library .module-row--choice{border-radius:var(--lg-radius-md);box-shadow:none;grid-template-rows:auto auto}.module-page--library .module-row--pink{box-shadow:none}.module-page--library .module-card__art{aspect-ratio:2}.module-page--library .module-card__body{grid-template-columns:52px minmax(0,1fr) auto;gap:13px;padding:15px}.module-page--library .module-row__icon{border-radius:var(--lg-radius-md);width:52px;height:52px;box-shadow:none}.module-page--library .module-row__copy strong{font-size:1.2rem}.module-page--library .module-row__copy small{font-size:var(--lg-text-xs);line-height:1.4}.module-page--library .module-row__action{min-height:38px;box-shadow:none;padding:0 12px}.student-goals-page__heading,.review-page__heading{margin-bottom:18px;padding-bottom:16px}.student-goals-page__heading h1,.review-page__heading h1{font-size:clamp(2.3rem,4vw,3.5rem)}.student-goals-layout{grid-template-columns:205px minmax(0,1fr);gap:14px}.student-goals-stage{padding:18px}.student-goals-stage__header{padding-bottom:13px}.student-goals-card-grid,.review-goal-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,245px),1fr));gap:12px}.student-goals-card-grid{padding-top:14px}.review-goal-grid{padding:0 16px 16px}.student-goal-card__body,.review-goal-card__body{padding:11px 12px 12px}.student-goal-card__instruction,.review-goal-card__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;display:-webkit-box;overflow:hidden}.student-goal-card__action,.review-goal-card__action{min-height:36px;margin-top:9px}.student-goals-stage__empty{min-height:130px}.student-goal-page>.back-link{margin-bottom:14px}.student-goal-page__header{padding-bottom:15px}.student-goal-page__header h1{font-size:clamp(2rem,4.2vw,3.75rem)}.student-goal-page__content{gap:20px;margin-top:20px}.student-goal-page__cover,.student-goal-page__cover img{min-height:0}.student-goal-page__cover img{aspect-ratio:2}.student-goal-page__details dl{margin:17px 0}.review-section-nav{gap:10px;margin-bottom:13px}.review-section-nav__card{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);min-height:82px;box-shadow:none;padding:12px 14px}.review-section-nav__icon{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);width:42px;height:42px}.review-section-nav__copy strong{font-size:var(--lg-text-md)}.review-layout{grid-template-columns:205px minmax(0,1fr);gap:14px}.review-sidebar,.review-board{border:2px solid var(--lg-line-strong);box-shadow:none}.review-board__heading{padding:14px 16px 12px}.review-controls{padding:12px 16px 8px}.review-topics{padding:5px 16px 12px}.review-results,.review-goal-grid--loading{min-height:0}.review-progress-grid{gap:12px;padding:4px 16px 16px}.review-progress-card{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);min-height:205px;box-shadow:none;padding:18px}.review-progress-card__metric{margin-top:26px}.review-progress-card__metric strong{font-size:clamp(2.55rem,4.5vw,3.8rem)}.review-progress-card__bar{margin-top:24px}.review-progress-stats{padding:0 16px 16px}.review-empty{min-height:130px;margin:0 16px 16px}.workspace-shell{min-height:0}.workspace-panel{min-height:0;padding-top:24px}.workspace-hero{padding-top:14px;padding-bottom:18px}.week-strip{margin-bottom:20px}.avatar-studio-heading{margin-bottom:28px}.avatar-studio-heading .back-link{margin-bottom:16px}.avatar-studio-heading h1{font-size:clamp(2.8rem,5.5vw,4.8rem)}.avatar-studio-shell{grid-template-columns:minmax(285px,.7fr) minmax(620px,1.65fr);gap:clamp(24px,3.5vw,48px)}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1100px){.avatar-studio-shell{grid-template-columns:minmax(280px,.72fr) minmax(0,1.5fr)}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.student-goals-layout,.review-layout{grid-template-columns:1fr}.student-goals-sidebar,.review-sidebar{position:static}.student-goals-sidebar__nav,.review-sidebar__nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.avatar-studio-shell{grid-template-columns:1fr}.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.app-header__inner{min-height:0;padding-block:8px}.app-main{width:min(100% - 32px,1400px);padding-top:20px;padding-bottom:max(32px,calc(18px + env(safe-area-inset-bottom)))}.brand{width:132px}.nav-stats{display:none}.page-heading{margin-bottom:17px}.module-page--library{margin-inline:0;padding:20px 14px 18px}.module-page--library .page-heading{grid-template-columns:1fr;margin-bottom:16px}.module-page--library h1{font-size:clamp(2.4rem,13vw,3.6rem)}.module-page__doodles{display:none}.module-page--library .module-list--choices{grid-template-columns:1fr;gap:14px}.module-page--library .module-row--choice{grid-template-rows:auto auto}.module-page--library .module-card__art{aspect-ratio:2;min-height:0}.student-goals-page__heading,.review-page__heading{flex-direction:row;align-items:flex-start;gap:12px}.student-goals-total,.review-page__summary{align-self:flex-start;min-width:0;padding-inline:10px}.student-goals-total span,.review-page__summary span{display:none}.student-goals-stage{padding:14px}.student-goals-card-grid,.review-goal-grid{grid-template-columns:1fr}.review-section-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.review-section-nav__card{grid-template-columns:auto minmax(0,1fr);min-height:74px;padding:10px}.review-section-nav__copy>span,.review-section-nav__arrow{display:none}.review-controls,.review-goal-grid,.review-progress-grid,.review-progress-stats{padding-left:12px;padding-right:12px}.review-results{min-height:0}.student-goal-page__content{grid-template-columns:1fr}.avatar-studio-heading{margin-bottom:20px}.avatar-studio-heading h1{font-size:clamp(2.8rem,15vw,4.2rem)}.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){.account-control__profile{min-width:48px}.account-control__profile svg{display:none}.module-page--library .module-card__body{grid-template-columns:46px minmax(0,1fr);padding:12px}.module-page--library .module-row__icon{width:46px;height:46px}.module-page--library .module-row__action{grid-column:2;justify-self:start}.review-section-nav__icon{width:36px;height:36px}.review-section-nav__copy strong{font-size:var(--lg-text-sm)}.review-progress-stats{grid-template-columns:1fr 1fr}}@media(hover:none){.class-card:is(:hover,:focus-within),.student-goal-card:hover,.review-goal-card:hover,.module-page--library .module-row--choice:hover{transform:none}}.account-control__profile{gap:7px;min-width:64px;min-height:58px;padding:3px 7px 3px 3px;overflow:visible}.account-control__avatar{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:48px;height:48px;box-shadow:none;border-radius:50%;flex:0 0 48px;place-items:center;display:grid;overflow:hidden}.account-control__profile .account-control__avatar img,.account-control__profile .account-control__avatar .account-control__fallback{object-fit:cover;background:0 0;border:0;border-radius:0;place-items:center;width:100%;max-width:none;height:100%;display:grid}.account-control__profile .account-control__avatar img{transform-origin:50% 38%;transform:scale(1.34)}.account-control__profile:hover .account-control__avatar{box-shadow:none}.app-main:has(.avatar-gallery){background:var(--vc-cream);width:100%;max-width:none;padding:clamp(20px,3vw,36px) clamp(12px,3vw,40px) 86px}.avatar-gallery{width:min(100%,1440px)}.avatar-gallery__heading{margin-bottom:clamp(22px,3vw,34px)}.avatar-gallery__heading .back-link{margin-bottom:14px}.avatar-gallery__heading h1{max-width:11ch;font-size:clamp(2.8rem,5.2vw,4.9rem);line-height:.88}.avatar-gallery__heading>div>p:last-child{max-width:700px;font-size:var(--lg-text-sm);margin-top:13px;line-height:1.5}.avatar-gallery__layout{grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:clamp(26px,3.5vw,50px)}.avatar-gallery__preview{padding:15px;top:88px}.avatar-gallery__stage{border-radius:var(--lg-radius-lg)}.avatar-gallery__stage>img{width:92%;height:92%;top:4%;right:4%;bottom:4%;left:4%}.avatar-gallery__preview .avatar-preview-panel__identity{margin-top:17px}.avatar-gallery__preview .avatar-preview-panel__actions{margin-top:16px}.avatar-gallery__preview .avatar-preview-panel__status{margin-top:11px}.avatar-gallery__collection{min-width:0}.avatar-gallery__collection-heading{margin-bottom:15px}.avatar-gallery__collection-heading h2{font-size:clamp(1.9rem,3.4vw,3rem)}.avatar-gallery__filters{scrollbar-width:none;gap:7px;margin:0 0 17px;padding:3px 3px 6px;display:flex;overflow-x:auto}.avatar-gallery__filters::-webkit-scrollbar{display:none}.avatar-gallery__filters button{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:44px;box-shadow:none;color:var(--vc-ink);font-size:var(--lg-text-xs);white-space:nowrap;flex:none;align-items:center;gap:7px;padding:0 11px;font-weight:800;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex}.avatar-gallery__filters button span{border:2px solid var(--lg-line-strong);background:var(--vc-cream);min-width:22px;height:22px;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:50%;place-items:center;display:grid}.avatar-gallery__filters button:hover{background:var(--vc-purple-soft)}.avatar-gallery__filters button.is-active{background:var(--lg-eco-blue);color:var(--lg-surface);box-shadow:none}.avatar-gallery__viewport{overscroll-behavior:contain;scrollbar-color:var(--lg-wrong-soft) transparent;scrollbar-width:thin;max-height:min(68vh,720px);padding:3px 13px 13px 3px;overflow-y:auto}.avatar-gallery__grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.avatar-gallery__grid .avatar-choice{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0}.avatar-gallery__grid .avatar-choice__visual{border-radius:var(--lg-radius-md);box-shadow:none}.avatar-gallery__grid .avatar-choice__copy{padding:10px 4px 0}.avatar-gallery__grid .avatar-choice__copy strong{font-size:var(--lg-text-sm)}.avatar-gallery__grid .avatar-choice__copy small{font-size:var(--lg-text-xs);margin-top:3px}.avatar-gallery__mobile-dock{display:none}@media(max-width:1180px){.avatar-gallery__layout{grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:28px}.avatar-gallery__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:900px){.avatar-gallery__layout{grid-template-columns:minmax(270px,310px) minmax(0,1fr);gap:24px}.avatar-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-gallery__collection-heading{flex-direction:column;align-items:flex-start;gap:7px}.avatar-gallery__collection-heading>p{max-width:100%}}@media(max-width:760px){.app-main:has(.avatar-gallery){padding:18px 12px 116px}.avatar-gallery__heading{align-items:flex-start;gap:16px;margin-bottom:20px}.avatar-gallery__heading h1{font-size:clamp(2.7rem,14vw,4rem)}.avatar-gallery__heading .avatar-studio-heading__edition{min-height:36px}.avatar-gallery__layout{grid-template-columns:1fr;gap:34px}.avatar-gallery__preview{width:min(100%,500px);margin:0 auto;position:static}.avatar-gallery__viewport{max-height:none;padding-right:7px;overflow:visible}.avatar-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.avatar-gallery__mobile-dock{right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;left:10px}.avatar-gallery__mobile-dock .avatar-mobile-dock__identity>img{flex-basis:52px;width:52px;height:52px}}@media(max-width:430px){.avatar-gallery__heading .avatar-studio-heading__edition{display:none}.avatar-gallery__filters{margin-left:-3px;margin-right:-12px;padding-right:15px}.avatar-gallery__grid{gap:9px}.avatar-gallery__grid .avatar-choice__visual{border-radius:var(--lg-radius-sm);box-shadow:none}.avatar-gallery__grid .avatar-choice__copy{text-align:center;padding-top:8px}.avatar-gallery__grid .avatar-choice__copy strong{font-size:var(--lg-text-xs)}.avatar-gallery__grid .avatar-choice__copy small,.avatar-gallery__mobile-dock .avatar-mobile-dock__identity>span{display:none}.avatar-gallery__mobile-dock .button:where(:not([data-slot])){flex:1}}@media(hover:none){.avatar-gallery__filters button:hover,.avatar-gallery__grid .avatar-choice:hover .avatar-choice__visual{transform:none}}.vocab-set-page{width:min(100%,1320px);margin:0 auto;padding-bottom:36px}.vocab-set-page__back{margin-bottom:15px}.vocab-set-hero{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);min-height:286px;box-shadow:none;color:#fff;grid-template-columns:minmax(220px,300px) minmax(0,1fr) auto;align-items:center;gap:28px;padding:30px 34px;animation:.46s cubic-bezier(.175,.885,.32,1.18) both vocab-set-rise;display:grid;position:relative;overflow:hidden}.vocab-set-hero:after{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);content:"";width:118px;height:24px;position:absolute;bottom:-11px;right:18%;transform:rotate(-3deg)}.vocab-set-hero__art{aspect-ratio:1.25;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);width:100%;max-width:260px;box-shadow:none;justify-self:center;place-items:center;display:grid;position:relative;transform:rotate(-2deg)}.vocab-set-hero__art img{object-fit:contain;width:68%;height:68%;display:block;transform:rotate(2deg)}.vocab-set-hero__ring{border:12px solid var(--lg-spark);width:55px;height:55px;box-shadow:0 0 0 2px var(--vc-ink),inset 0 0 0 2px var(--vc-ink);border-radius:50%;animation:8s linear infinite vocab-ring-turn;position:absolute;top:-13px;right:-12px}.vocab-set-hero__tile{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);width:56px;height:52px;color:var(--lg-eco-blue-ink);font-family:var(--vc-display);font-size:var(--lg-text-md);place-items:center;font-style:normal;font-weight:900;display:grid;position:absolute;bottom:-12px;left:-10px;transform:rotate(6deg)}.vocab-set-hero__copy{z-index:1;min-width:0;position:relative}.vocab-set-hero__copy .eyebrow{color:var(--lg-spark-ink)}.vocab-set-hero h1{overflow-wrap:anywhere;max-width:18ch;color:var(--lg-surface);font-family:var(--vc-display);letter-spacing:0;margin:0;font-size:3.45rem;font-weight:850;line-height:.94}.vocab-set-meta{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.vocab-set-meta>span{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-cream);min-height:38px;box-shadow:none;color:var(--vc-ink);font-size:var(--lg-text-xs);align-items:center;gap:8px;padding:6px 10px;font-weight:850;display:inline-flex}.vocab-set-meta .flag{border:2px solid var(--lg-line-strong);border-radius:3px;overflow:hidden}.vocab-set-owner{color:#ffffffe0;font-size:var(--lg-text-xs);flex-wrap:wrap;gap:6px 15px;margin:16px 0 0;line-height:1.4;display:flex}.vocab-set-owner a{color:var(--lg-surface);text-underline-offset:3px;font-weight:750;text-decoration-thickness:1px}.vocab-set-hero__manage{z-index:1;align-self:start;position:relative}.vocab-set-manage{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);min-height:46px;box-shadow:none;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:900;text-decoration:none;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex}.vocab-set-manage:hover:not(:disabled){background:var(--lg-eco-blue-wash);box-shadow:none;transform:translate(-2px,-2px)}.vocab-set-manage:disabled{box-shadow:none;opacity:.68}.vocab-set-inline-error{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-wrong-wash);color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);margin:14px 0 0;padding:10px 13px;font-weight:800}.vocab-set-actions{grid-template-columns:minmax(0,1fr);gap:13px;max-width:420px;margin:22px 0 30px;display:grid}.vocab-set-action{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);min-width:0;min-height:78px;box-shadow:none;color:var(--lg-eco-blue-ink);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:12px 16px;text-decoration:none;transition:transform .17s,box-shadow .17s,background-color .17s;display:grid;position:relative}.vocab-set-action>svg{box-sizing:content-box;border:2px solid var(--lg-line-strong);background:var(--vc-cream);border-radius:50%;padding:8px}.vocab-set-action span{gap:2px;min-width:0;display:grid}.vocab-set-action small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.vocab-set-action strong{font-size:var(--lg-text-xs)}.vocab-set-action.is-print{background:var(--vc-green-soft)}.vocab-set-action:hover{box-shadow:none;transform:translate(-3px,-3px)}.vocab-set-action.is-print:hover{background:var(--lg-correct-wash)}.vocab-set-content{border-top:2px solid var(--lg-line-strong);padding-top:24px}.vocab-set-content__head{justify-content:space-between;align-items:end;gap:22px;margin-bottom:18px;display:flex}.vocab-set-content__head h2{font-family:var(--vc-display);letter-spacing:0;margin:0;font-size:2rem;line-height:1}.vocab-set-tabs{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;gap:5px;padding:4px;display:flex}.vocab-set-tabs button{border-radius:var(--lg-radius-sm);min-height:42px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);background:0 0;border:2px solid #0000;align-items:center;gap:7px;padding:0 13px;font-weight:850;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.vocab-set-tabs button span{border:2px solid var(--lg-line-strong);background:var(--vc-cream);min-width:23px;height:23px;color:var(--vc-ink);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:50%;place-items:center;display:grid}.vocab-set-tabs button:hover{background:var(--vc-purple-soft);color:var(--vc-ink)}.vocab-set-tabs button.is-active{border-color:var(--lg-eco-blue);background:var(--vc-ink);color:var(--lg-surface)}.vocab-set-filter{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;margin-bottom:17px;padding:7px 8px 7px 13px;display:grid}.vocab-set-filter input{width:100%;min-height:42px;color:var(--vc-ink);font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000;padding:0}.vocab-set-filter button{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:38px;height:38px;color:var(--lg-eco-blue-ink);border-radius:50%;place-items:center;padding:0;display:grid}.vocab-set-filter>span{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);white-space:nowrap;padding:0 8px;font-weight:800}.vocab-word-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.vocab-word{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:118px;box-shadow:none;animation:vocab-word-arrive .36s calc(var(--vocab-order) * 32ms) cubic-bezier(.175,.885,.32,1.18) both;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;padding:14px;transition:transform .16s,box-shadow .16s,background-color .16s;display:grid;position:relative}.vocab-word:nth-child(4n+2){background:var(--vc-purple-soft)}.vocab-word:nth-child(4n+3){background:var(--vc-coral-soft)}.vocab-word:nth-child(4n){background:var(--vc-green-soft)}.vocab-word:hover{box-shadow:none;transform:translate(-2px,-2px)}.vocab-word__number{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:32px;height:32px;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:50%;place-items:center;font-weight:900;display:grid}.vocab-word__copy{gap:5px;min-width:0;display:grid}.vocab-word__copy strong{overflow-wrap:anywhere;font-family:var(--vc-display);font-size:var(--lg-text-md);line-height:1.08}.vocab-word__copy small{overflow-wrap:anywhere;color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:650}.vocab-word__category{border:2px solid var(--lg-line-strong);background:var(--vc-cream);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;border-radius:999px;align-self:start;padding:4px 6px;font-weight:850}.vocab-word>p{border-top:2px solid var(--lg-line-strong);font-size:var(--lg-text-xs);grid-column:2/-1;margin:4px 0 0;padding-top:8px;line-height:1.4}.vocab-set-empty{border:2px dashed var(--vc-ink);border-radius:var(--lg-radius-md);background:var(--lg-surface);text-align:left;justify-content:center;align-items:center;gap:13px;min-height:120px;padding:22px;display:flex}.vocab-set-empty strong{font-size:var(--lg-text-xs)}.vocab-set-empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0}.vocab-examples-panel{gap:16px;display:grid}.vocab-examples-intro{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);box-shadow:none;justify-content:space-between;align-items:center;gap:22px;padding:18px 20px;display:flex}.vocab-examples-intro h3{font-family:var(--vc-display);margin:0;font-size:1.35rem}.vocab-examples-intro p:not(.eyebrow){font-size:var(--lg-text-xs);margin:5px 0 0;line-height:1.45}.vocab-examples-intro .eyebrow{color:var(--vc-ink)}.vocab-examples-intro button{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);min-height:44px;box-shadow:none;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);flex:none;align-items:center;gap:8px;padding:0 14px;font-weight:900;display:inline-flex}.vocab-examples-intro button:hover:not(:disabled){background:var(--lg-surface)}.vocab-examples-intro button:disabled{box-shadow:none;opacity:.58}.vocab-example-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.vocab-example-list li{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:10px 14px;display:grid}.vocab-example-list li>span{border:2px solid var(--lg-line-strong);background:var(--vc-purple-soft);width:32px;height:32px;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:50%;place-items:center;font-weight:900;display:grid}.vocab-example-list li>div{gap:4px;min-width:0;display:grid}.vocab-example-list strong{overflow-wrap:anywhere;font-size:var(--lg-text-xs)}.vocab-example-list small{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.vocab-example-list em{border:2px solid var(--lg-line-strong);background:var(--vc-green-soft);font-size:var(--lg-text-xs);border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-style:normal;font-weight:850;display:inline-flex}.vocab-examples-placeholder{border:2px dashed var(--vc-ink);border-radius:var(--lg-radius-sm);background:var(--lg-surface);color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;grid-template-columns:1.5fr 1fr auto;gap:12px;padding:16px;font-weight:800;display:grid}@keyframes vocab-set-rise{0%{opacity:0;transform:translateY(16px)rotate(.25deg)}to{opacity:1;transform:none}}@keyframes vocab-word-arrive{0%{opacity:0;transform:translateY(10px)rotate(.4deg)}to{opacity:1;transform:none}}@keyframes vocab-ring-turn{to{transform:rotate(360deg)}}@media(max-width:980px){.vocab-set-hero{grid-template-columns:190px minmax(0,1fr);padding:26px}.vocab-set-hero__manage{position:absolute;top:20px;right:20px}.vocab-set-hero h1{max-width:15ch;padding-right:110px;font-size:2.8rem}.vocab-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.vocab-set-page{padding-bottom:22px}.vocab-set-hero{border-radius:var(--lg-radius-md);min-height:0;box-shadow:none;grid-template-columns:112px minmax(0,1fr);gap:17px;padding:21px}.vocab-set-hero__art{border-radius:var(--lg-radius-md);width:112px;box-shadow:none}.vocab-set-hero__ring{border-width:7px;width:34px;height:34px;top:-8px;right:-7px}.vocab-set-hero__tile{width:40px;height:38px;font-size:var(--lg-text-xs);bottom:-8px;left:-6px}.vocab-set-hero h1{max-width:none;padding-right:0;font-size:2.15rem}.vocab-set-meta{margin-top:14px}.vocab-set-meta>span{min-height:34px;font-size:var(--lg-text-xs)}.vocab-set-owner{grid-column:1/-1}.vocab-set-hero__manage{grid-column:1/-1;justify-self:stretch;position:static}.vocab-set-manage{width:100%}.vocab-set-actions{grid-template-columns:1fr;gap:9px;max-width:none;margin:18px 0 25px}.vocab-set-action{min-height:66px}.vocab-set-content__head{flex-direction:column;align-items:flex-start}.vocab-set-content__head h2{font-size:1.7rem}.vocab-set-tabs{width:100%}.vocab-set-tabs button{flex:1 1 0;justify-content:center;min-height:44px}.vocab-word-grid{grid-template-columns:1fr}.vocab-word{min-height:100px}.vocab-examples-intro{flex-direction:column;align-items:stretch}.vocab-examples-intro button{justify-content:center}}@media(max-width:430px){.vocab-set-hero{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:17px}.vocab-set-hero__art{width:82px}.vocab-set-hero__ring{display:none}.vocab-set-hero__tile{width:34px;height:32px}.vocab-set-hero h1{font-size:1.75rem}.vocab-set-meta{grid-column:1/-1}.vocab-set-meta>span{min-height:32px;padding-inline:8px}.vocab-set-owner{font-size:var(--lg-text-xs)}.vocab-set-filter{grid-template-columns:auto minmax(0,1fr) auto}.vocab-set-filter>span{grid-column:1/-1;padding:0 0 3px 27px}.vocab-word{grid-template-columns:32px minmax(0,1fr)}.vocab-word__category{grid-column:2;justify-self:start}.vocab-example-list li{grid-template-columns:32px minmax(0,1fr)}.vocab-example-list em{grid-column:2;justify-self:start}.vocab-examples-placeholder{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.vocab-set-hero,.vocab-word,.vocab-set-hero__ring{animation:none}.vocab-set-page :is(a,button,li){transition:none}.vocab-set-action:hover,.vocab-set-manage:hover:not(:disabled),.vocab-word:hover{transform:none}}.verb-library-page,.verb-set-page{width:min(100%,1320px);margin:0 auto;padding-bottom:38px}.verb-library-heading{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);min-height:230px;box-shadow:none;color:#fff;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:28px;margin-bottom:22px;padding:26px 30px;animation:.46s cubic-bezier(.175,.885,.32,1.18) both verb-panel-in;display:grid;position:relative;overflow:hidden}.verb-library-heading:before{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);content:"";border-radius:50%;width:130px;height:48px;position:absolute;bottom:-22px;left:36%;transform:rotate(-7deg)}.verb-library-heading>div:first-child{z-index:1;min-width:0;position:relative}.verb-library-heading .back-link{border-color:var(--lg-line-strong);background:var(--vc-cream);color:var(--vc-ink);margin-bottom:16px}.verb-library-heading .eyebrow{color:var(--lg-spark-ink)}.verb-library-heading h1{color:var(--lg-surface);font-family:var(--vc-display);margin:0;font-size:3.5rem;font-weight:850;line-height:.92}.verb-library-heading>div:first-child>p:last-child{color:#ffffffe0;max-width:610px;font-size:var(--lg-text-xs);margin:13px 0 0;line-height:1.5}.verb-library-heading__art{aspect-ratio:1.28;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);width:220px;box-shadow:none;justify-self:end;place-items:center;display:grid;position:relative;transform:rotate(2deg)}.verb-library-heading__art img{object-fit:contain;width:72%;height:72%;transform:rotate(-2deg)}.verb-library-heading__art i,.verb-library-heading__art span{border:2px solid var(--lg-line-strong);color:var(--vc-ink);place-items:center;font-style:normal;font-weight:950;display:grid;position:absolute}.verb-library-heading__art i{background:var(--lg-eco-blue-wash);border-radius:50%;width:45px;height:45px;top:-13px;right:17px}.verb-library-heading__art span{border-radius:var(--lg-radius-sm);background:var(--vc-green-soft);width:48px;height:39px;font-size:1.25rem;bottom:17px;right:-10px}.verb-create{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);box-shadow:none;grid-template-columns:minmax(240px,.8fr) minmax(230px,1fr) minmax(330px,1.2fr) auto;align-items:end;gap:18px;padding:18px;animation:.46s cubic-bezier(.175,.885,.32,1.18) 70ms both verb-panel-in;display:grid}.verb-create__intro{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;display:grid}.verb-create__intro>span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:42px;height:42px;box-shadow:none;border-radius:50%;place-items:center;display:grid}.verb-create__intro h2{font-family:var(--vc-display);margin:1px 0 0;font-size:1.42rem;line-height:1}.verb-create__intro p:last-child{font-size:var(--lg-text-xs);margin:6px 0 0;line-height:1.4}.verb-create__intro .eyebrow{color:var(--vc-ink);margin:0 0 4px}.verb-create__name,.verb-create__languages{border:0;gap:7px;margin:0;padding:0;display:grid}.verb-create__name>span,.verb-create__languages legend{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:900}.verb-create__name input{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:48px;box-shadow:none;color:var(--vc-ink);font-size:var(--lg-text-xs);outline:2px solid #0000;padding:0 13px}.verb-create__name input:focus{background:var(--vc-purple-soft)}.verb-create__languages>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.verb-create__languages label{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:48px;font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;padding:0 9px;font-weight:850;display:flex}.verb-create__languages label.is-selected{background:var(--vc-green-soft);box-shadow:inset 0 0 0 2px var(--lg-eco-blue)}.verb-create__languages input{opacity:0;pointer-events:none;position:absolute}.verb-create__languages label>svg:last-child{margin-left:auto}.verb-create__languages .flag{border:2px solid var(--lg-line-strong);border-radius:2px;flex:none;overflow:hidden}.verb-create__submit{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-ink);min-height:49px;box-shadow:none;color:var(--lg-surface);font-size:var(--lg-text-xs);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:900;transition:transform .16s,box-shadow .16s;display:inline-flex}.verb-create__submit:hover:not(:disabled){box-shadow:none;transform:translate(-2px,-2px)}.verb-create__submit:disabled{box-shadow:none;opacity:.55}.verb-library-error{color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);grid-column:2/-1;margin:-3px 0 0;font-weight:850}.verb-collection{border-top:2px solid var(--lg-line-strong);margin-top:30px;padding-top:24px}.verb-collection__head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px;display:flex}.verb-collection__head h2{font-family:var(--vc-display);margin:0;font-size:2rem;line-height:1}.verb-collection__head>span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:999px;padding:6px 9px;font-weight:900}.verb-library-search{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:17px;padding:6px 7px 6px 13px;display:grid}.verb-library-search input{min-height:42px;font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.verb-library-search button{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.verb-set-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.verb-set-card{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:205px;box-shadow:none;color:var(--vc-ink);animation:verb-card-in .38s calc(var(--verb-card-order) * 42ms) cubic-bezier(.175,.885,.32,1.18) both;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px;text-decoration:none;transition:transform .17s,box-shadow .17s,background-color .17s;display:grid;position:relative}.verb-set-card:nth-child(4n+2){background:var(--vc-purple-soft)}.verb-set-card:nth-child(4n+3){background:var(--vc-coral-soft)}.verb-set-card:nth-child(4n){background:var(--vc-green-soft)}.verb-set-card:hover{box-shadow:none;transform:translate(-3px,-3px)}.verb-set-card__language{border:2px solid var(--lg-line-strong);background:var(--vc-cream);min-height:36px;font-size:var(--lg-text-xs);border-radius:999px;justify-self:end;align-items:center;gap:7px;padding:5px 8px;font-weight:850;display:inline-flex}.verb-set-card__language .flag{border:2px solid var(--lg-line-strong);border-radius:2px;overflow:hidden}.verb-set-card__copy{grid-column:1/-1;min-width:0}.verb-set-card__copy h3{overflow-wrap:anywhere;font-family:var(--vc-display);margin:0;font-size:1.25rem;line-height:1.05}.verb-set-card__copy p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.4;display:-webkit-box;overflow:hidden}.verb-set-card__foot{border-top:2px solid var(--lg-line-strong);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) 36px;align-self:end;align-items:end;gap:8px;padding-top:12px;display:grid}.verb-set-card__foot>span{font-size:var(--lg-text-xs);align-items:center;gap:6px;font-weight:850;display:flex}.verb-set-card__foot time{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.verb-set-card__foot i{border:2px solid var(--lg-line-strong);background:var(--vc-blue);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.verb-library-empty,.verb-editor-empty{border:2px dashed var(--vc-ink);border-radius:var(--lg-radius-md);background:var(--lg-surface);justify-content:center;align-items:center;gap:13px;min-height:124px;padding:22px;display:flex}.verb-library-empty strong,.verb-editor-empty strong{font-size:var(--lg-text-xs)}.verb-library-empty p,.verb-editor-empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0}.verb-library-pager{justify-content:space-between;align-items:center;gap:14px;margin-top:20px;display:flex}.verb-library-pager button{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:44px;box-shadow:none;font-size:var(--lg-text-xs);align-items:center;gap:6px;padding:0 12px;font-weight:850;display:inline-flex}.verb-library-pager button:disabled{box-shadow:none;opacity:.45}.verb-library-pager>span{font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs)}.verb-set-page__back{margin-bottom:15px}.verb-set-hero{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--vc-blue);min-height:276px;box-shadow:none;color:#fff;grid-template-columns:245px minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 32px;animation:.46s cubic-bezier(.175,.885,.32,1.18) both verb-panel-in;display:grid;position:relative;overflow:hidden}.verb-set-hero:after{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);content:"";border-radius:50%;width:136px;height:40px;position:absolute;bottom:-17px;right:25%;transform:rotate(-5deg)}.verb-set-hero__art{aspect-ratio:1.15;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);width:225px;box-shadow:none;place-items:center;display:grid;position:relative;transform:rotate(-2deg)}.verb-set-hero__art img{object-fit:contain;width:72%;height:72%;transform:rotate(2deg)}.verb-set-hero__art i,.verb-set-hero__art span{border:2px solid var(--lg-line-strong);color:var(--vc-ink);place-items:center;font-style:normal;font-weight:950;display:grid;position:absolute}.verb-set-hero__art i{background:var(--lg-eco-blue-wash);border-radius:50%;width:46px;height:46px;top:-13px;right:15px}.verb-set-hero__art span{border-radius:var(--lg-radius-sm);background:var(--vc-green-soft);width:49px;height:42px;font-size:1.3rem;bottom:-10px;left:14px}.verb-set-hero__copy{z-index:1;min-width:0;position:relative}.verb-set-hero__copy .eyebrow{color:var(--lg-spark-ink)}.verb-set-hero h1{overflow-wrap:anywhere;max-width:17ch;color:var(--lg-surface);font-family:var(--vc-display);margin:0;font-size:3.15rem;font-weight:850;line-height:.94}.verb-set-meta{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.verb-set-meta>span{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-cream);min-height:36px;box-shadow:none;color:var(--vc-ink);font-size:var(--lg-text-xs);align-items:center;gap:7px;padding:5px 9px;font-weight:850;display:inline-flex}.verb-set-meta .flag{border:2px solid var(--lg-line-strong);border-radius:2px;overflow:hidden}.verb-set-owner{color:#ffffffd9;font-size:var(--lg-text-xs);flex-wrap:wrap;gap:5px 12px;margin:14px 0 0;display:flex}.verb-set-owner a{color:var(--lg-surface);text-underline-offset:3px;font-weight:800}.verb-set-owner time{opacity:.8}.verb-set-stats{z-index:1;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-cream);width:150px;box-shadow:none;color:var(--vc-ink);margin:0;display:grid;position:relative}.verb-set-stats>div{border-bottom:2px solid var(--lg-line-strong);grid-template-columns:44px minmax(0,1fr);align-items:center;min-height:54px;padding:6px 10px;display:grid}.verb-set-stats>div:last-child{border-bottom:0}.verb-set-stats dt{font-family:var(--vc-display);font-size:1.45rem;font-weight:900}.verb-set-stats dd{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin:0;font-weight:900}.verb-set-clone{z-index:2;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);min-height:42px;box-shadow:none;font-size:var(--lg-text-xs);align-items:center;gap:7px;padding:0 11px;font-weight:900;display:inline-flex;position:absolute;bottom:21px;right:31px}.verb-set-message{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);font-size:var(--lg-text-xs);align-items:center;gap:7px;margin:14px 0 0;padding:10px 13px;font-weight:850;display:flex}.verb-set-message.is-error{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.verb-set-message.is-success{background:var(--vc-green-soft);color:var(--lg-correct-press)}.verb-editor{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr);align-items:start;gap:18px;margin-top:27px;display:grid;position:relative}.verb-editor-panel{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);min-width:0;box-shadow:none;padding:20px;animation:.43s cubic-bezier(.175,.885,.32,1.18) 80ms both verb-panel-in}.verb-editor-verbs{background:var(--vc-purple-soft)}.verb-editor-settings{background:var(--vc-coral-soft);animation-delay:.13s;position:sticky;top:88px}.verb-editor-panel>header{justify-content:space-between;align-items:end;gap:15px;margin-bottom:15px;display:flex}.verb-editor-panel>header h2{font-family:var(--vc-display);margin:0;font-size:1.65rem;line-height:1}.verb-editor-verbs>header>span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:999px;padding:5px 8px;font-weight:900}.verb-editor-settings>header>svg{box-sizing:content-box;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;padding:8px}.verb-editor-search{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 7px 6px 12px;display:grid}.verb-editor-search input{min-height:40px;font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.verb-editor-search button{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.verb-editor-search kbd{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-cream);font-family:var(--vc-mono);font-size:var(--lg-text-xs);padding:4px 7px}.verb-editor-toolbar{flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0 16px;display:flex}.verb-editor-toolbar>button{border:2px solid var(--lg-line-strong);background:var(--lg-surface);min-height:38px;font-size:var(--lg-text-xs);border-radius:999px;padding:0 10px;font-weight:850}.verb-editor-toolbar>button:hover:not(:disabled){background:var(--lg-eco-blue-wash)}.verb-editor-toolbar>button:disabled{opacity:.45}.verb-editor-only{font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;margin-left:auto;font-weight:850;display:flex}.verb-editor-only input{opacity:0;position:absolute}.verb-editor-only>span{border:2px solid var(--lg-line-strong);background:var(--lg-surface);border-radius:999px;width:38px;height:22px;position:relative}.verb-editor-only>span:after{border:2px solid var(--lg-line-strong);background:var(--vc-cream);content:"";border-radius:50%;width:13px;height:13px;transition:transform .16s,background-color .16s;position:absolute;top:3px;left:3px}.verb-editor-only input:checked+span{background:var(--vc-green-soft)}.verb-editor-only input:checked+span:after{background:var(--vc-green);transform:translate(16px)}.verb-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.verb-choice-grid>label{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:48px;animation:verb-card-in .3s calc(var(--verb-choice-order) * 22ms) ease-out both;cursor:pointer;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;display:grid}.verb-choice-grid>label.is-selected{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);box-shadow:none}.verb-choice-grid input{opacity:0;position:absolute}.verb-choice-grid label>span{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-cream);place-items:center;width:24px;height:24px;display:grid}.verb-choice-grid label.is-selected>span{background:var(--vc-green-soft)}.verb-choice-grid strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.verb-choice-grid a{border:2px solid var(--lg-line-strong);background:var(--vc-blue);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.verb-settings-name{gap:7px;display:grid}.verb-settings-name>span,.verb-settings-group legend{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:900}.verb-settings-name input{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:47px;color:var(--vc-ink);outline:2px solid #0000;padding:0 12px}.verb-settings-name input:focus{box-shadow:none}.verb-settings-share{cursor:pointer;grid-template-columns:39px minmax(0,1fr);align-items:center;gap:2px 10px;margin:15px 0;display:grid}.verb-settings-share input{opacity:0;position:absolute}.verb-settings-share>span{border:2px solid var(--lg-line-strong);background:var(--lg-surface);border-radius:999px;grid-row:1/3;width:39px;height:23px;position:relative}.verb-settings-share>span:after{border:2px solid var(--lg-line-strong);background:var(--vc-cream);content:"";border-radius:50%;width:14px;height:14px;transition:transform .16s,background-color .16s;position:absolute;top:3px;left:3px}.verb-settings-share input:checked+span{background:var(--vc-green-soft)}.verb-settings-share input:checked+span:after{background:var(--vc-green);transform:translate(16px)}.verb-settings-share strong{font-size:var(--lg-text-xs)}.verb-settings-share small{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.verb-settings-group{border:0;border-top:2px solid var(--lg-line-strong);align-content:start;align-self:start;gap:9px;margin:0;padding:14px 0 0;display:grid}.verb-settings-group+.verb-settings-group{margin-top:14px}.verb-settings-group legend{width:100%;padding:0 0 9px}.verb-settings-group legend span{float:right;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);text-align:center;border-radius:999px;min-width:21px;padding:3px 5px}.verb-settings-group>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.verb-settings-group label{border:1.5px solid var(--lg-ink-3);border-radius:var(--lg-radius-sm);background:var(--lg-surface);height:38px;color:var(--vc-ink);font-size:var(--lg-text-xs);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-weight:800;line-height:1.15;transition:border-color .14s,background-color .14s,box-shadow .14s;display:inline-flex}.verb-gender-choice{align-items:center;gap:5px;display:inline-flex}.verb-gender-choice svg{color:var(--vc-purple);flex:none}.verb-settings-group label:hover:not(:has(input:disabled)){border-color:var(--lg-eco-blue);background:var(--vc-purple-soft)}.verb-settings-group label.is-selected{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:inset 0 -2px #161f321f}.verb-settings-group label:has(input:focus-visible){outline:3px solid var(--lg-eco-blue);outline-offset:3px}.verb-settings-group label:has(input:disabled){color:var(--lg-ink-3);cursor:default;opacity:.72}.verb-settings-group input{opacity:0;position:absolute}.verb-savebar{right:max(18px,50vw - 660px);bottom:max(16px,env(safe-area-inset-bottom));z-index:30;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-cream);box-shadow:none;align-items:center;gap:24px;padding:9px 10px 9px 14px;animation:.26s cubic-bezier(.175,.885,.32,1.2) both verb-save-in;display:flex;position:fixed}.verb-savebar p{font-size:var(--lg-text-xs);align-items:center;gap:7px;margin:0;font-weight:850;display:flex}.verb-savebar p span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite verb-save-pulse}.verb-savebar>div{gap:7px;display:flex}.verb-savebar button{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:42px;font-size:var(--lg-text-xs);align-items:center;gap:7px;padding:0 11px;font-weight:900;display:inline-flex}.verb-savebar button[type=submit]{background:var(--lg-eco-blue-wash);box-shadow:none}.verb-examples{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:none;margin-top:22px;overflow:clip}.verb-examples>summary{background:var(--lg-eco-blue-wash);cursor:pointer;justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:12px 17px;list-style:none;display:flex}.verb-examples>summary::-webkit-details-marker{display:none}.verb-examples>summary>span{grid-template-columns:36px minmax(0,1fr);align-items:center;gap:1px 10px;display:grid}.verb-examples>summary>span>svg{box-sizing:content-box;border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;grid-row:1/3;padding:7px}.verb-examples>summary strong{font-family:var(--vc-display);font-size:var(--lg-text-md)}.verb-examples>summary small{font-size:var(--lg-text-xs)}.verb-examples>summary>svg{transition:transform .18s}.verb-examples[open]>summary>svg{transform:rotate(180deg)}.verb-examples__body{border-top:2px solid var(--lg-line-strong);padding:18px}.verb-examples__body>header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:15px;display:flex}.verb-examples__body h2{font-family:var(--vc-display);margin:0;font-size:1.45rem}.verb-examples__body>header>div:last-child{gap:8px;display:flex}.verb-examples__body button,.verb-examples__body header a{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);min-height:43px;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);align-items:center;gap:7px;padding:0 11px;font-weight:900;text-decoration:none;display:inline-flex}.verb-examples__body header a{background:var(--vc-green-soft)}.verb-examples__body button:disabled{opacity:.5}.verb-examples__body ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.verb-examples__body li{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:9px 12px;display:grid}.verb-examples__body li:nth-child(2n){background:var(--vc-coral-soft)}.verb-examples__body li>span{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:31px;height:31px;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:50%;place-items:center;font-weight:900;display:grid}.verb-examples__body li>div{gap:3px;min-width:0;display:grid}.verb-examples__body li strong{overflow-wrap:anywhere;font-size:var(--lg-text-xs)}.verb-examples__body li small{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.verb-examples__body li em{border:2px solid var(--lg-line-strong);background:var(--lg-surface);font-size:var(--lg-text-xs);text-transform:capitalize;border-radius:999px;padding:5px 8px;font-style:normal;font-weight:850}.verb-examples__empty{border:2px dashed var(--vc-ink);border-radius:var(--lg-radius-sm);background:var(--vc-cream);justify-content:center;align-items:center;gap:10px;min-height:94px;display:flex}.verb-examples__empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0}@keyframes verb-panel-in{0%{opacity:0;transform:translateY(14px)rotate(.2deg)}to{opacity:1;transform:none}}@keyframes verb-card-in{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes verb-save-in{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}@keyframes verb-save-pulse{50%{transform:scale(1.35)}}@media(max-width:1080px){.verb-create{grid-template-columns:minmax(230px,.8fr) minmax(0,1fr)}.verb-create__languages{grid-column:1}.verb-create__submit{grid-column:2}.verb-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verb-set-hero{grid-template-columns:190px minmax(0,1fr) 135px;gap:20px;padding:25px}.verb-set-hero__art{width:180px}.verb-set-hero h1{font-size:2.6rem}.verb-editor{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.verb-choice-grid{grid-template-columns:1fr}}@media(max-width:780px){.verb-library-heading{grid-template-columns:minmax(0,1fr) 135px;min-height:190px;padding:22px}.verb-library-heading h1{font-size:2.7rem}.verb-library-heading__art{width:130px}.verb-create{grid-template-columns:1fr}.verb-create__languages,.verb-create__submit{grid-column:auto}.verb-create__submit{width:100%}.verb-editor{grid-template-columns:1fr}.verb-editor-settings{position:static}.verb-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verb-set-hero{grid-template-columns:125px minmax(0,1fr);min-height:0;padding:21px}.verb-set-hero__art{width:120px}.verb-set-hero h1{font-size:2.15rem}.verb-set-stats{grid-column:1/-1;grid-template-columns:repeat(3,1fr);width:100%}.verb-set-stats>div{border-right:2px solid var(--lg-line-strong);border-bottom:0;grid-template-columns:1fr;justify-items:center}.verb-set-stats>div:last-child{border-right:0}.verb-set-clone{grid-column:1/-1;justify-content:center;width:100%;position:static}.verb-examples__body>header{flex-direction:column;align-items:stretch}.verb-examples__body>header>div:last-child{flex-wrap:wrap}.verb-savebar{right:12px;bottom:max(10px,env(safe-area-inset-bottom));justify-content:space-between;left:12px}}@media(max-width:560px){.verb-library-page,.verb-set-page{padding-bottom:24px}.verb-library-heading{grid-template-columns:1fr;gap:16px;padding:18px}.verb-library-heading h1{font-size:2.35rem}.verb-library-heading__art{display:none}.verb-create{padding:15px}.verb-create__languages>div,.verb-set-grid{grid-template-columns:1fr}.verb-set-card{min-height:185px}.verb-set-hero{grid-template-columns:82px minmax(0,1fr);gap:13px;padding:17px}.verb-set-hero__art{width:80px}.verb-set-hero__art i{width:31px;height:31px;font-size:var(--lg-text-xs);top:-8px;right:-5px}.verb-set-hero__art span{width:34px;height:30px;font-size:var(--lg-text-xs);bottom:-7px;left:4px}.verb-set-hero h1{font-size:1.72rem}.verb-set-meta,.verb-set-owner{grid-column:1/-1}.verb-editor-panel{padding:15px}.verb-choice-grid{grid-template-columns:1fr}.verb-editor-toolbar{align-items:stretch}.verb-editor-toolbar>button{flex:auto}.verb-editor-only{justify-content:flex-end;width:100%;margin-top:2px}.verb-examples__body{padding:14px}.verb-examples__body>header>div:last-child>*{flex:auto;justify-content:center}.verb-examples__body li{grid-template-columns:31px minmax(0,1fr)}.verb-examples__body li em{grid-column:2;justify-self:start}.verb-savebar{gap:10px;padding-left:10px}.verb-savebar p{font-size:0}.verb-savebar p span{width:10px;height:10px}.verb-savebar>div{flex:1}.verb-savebar button{flex:1;justify-content:center}}@media(hover:none){.verb-set-card:hover,.verb-create__submit:hover:not(:disabled){transform:none}}@media(prefers-reduced-motion:reduce){.verb-library-heading,.verb-create,.verb-set-card,.verb-set-hero,.verb-editor-panel,.verb-choice-grid>label,.verb-savebar,.verb-savebar p span{animation:none}.verb-library-page *,.verb-set-page *{transition:none!important}}.verb-vocab-hero__art{background:var(--lg-eco-blue-wash)}.verb-vocab-hero__art img{width:70%;height:70%}.verb-vocab-owner time{color:#ffffffc2}.verb-vocab-content{margin-top:0}.verb-editor--vocab{margin-top:0;display:block}.verb-editor--vocab .verb-editor-panel{width:100%;min-height:260px}.verb-editor--vocab .verb-editor-settings{position:static}.verb-editor--vocab .verb-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.verb-settings-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.45fr);align-items:start;gap:24px;display:grid}.verb-settings-primary{border-right:2px solid var(--lg-line-strong);padding-right:24px}.verb-settings-options{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:17px 22px;display:grid}.verb-settings-options .verb-settings-group{margin:0}.verb-settings-options .verb-settings-group+.verb-settings-group{margin-top:0}.verb-examples__body--tab{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-purple-soft);min-height:260px;box-shadow:none;padding:20px;animation:.43s cubic-bezier(.175,.885,.32,1.18) 80ms both verb-panel-in}.verb-set-tabs button{white-space:nowrap}@media(max-width:980px){.verb-editor--vocab .verb-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verb-settings-layout{grid-template-columns:1fr}.verb-settings-primary{border-right:0;border-bottom:2px solid var(--lg-line-strong);padding:0 0 18px}}@media(max-width:720px){.verb-set-tabs button{font-size:var(--lg-text-xs);padding-inline:9px}.verb-settings-options{grid-template-columns:1fr}}@media(max-width:520px){.verb-set-tabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.verb-set-tabs button{min-width:0;padding-inline:6px}.verb-set-tabs button svg{display:none}.verb-editor--vocab .verb-choice-grid{grid-template-columns:1fr}.verb-settings-group>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.verb-settings-group label{white-space:normal;text-align:center;width:100%;height:44px;padding-inline:8px}}.app-main:has(.student-workspace-page){background:var(--vc-cream);width:100%;max-width:none;padding:18px clamp(20px,5vw,72px) 64px}.student-workspace-page{width:min(100%,1180px);margin:0 auto}.student-workspace-page .back-link{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0 0 15px;font-weight:800}.student-workspace-page .workspace-shell{min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;animation:none;overflow:visible}.student-workspace-hero{border-bottom:1px solid var(--vc-line-2);background:0 0;grid-template-columns:minmax(280px,1fr) minmax(360px,.95fr);align-items:center;gap:30px;padding:6px 0 24px;display:grid}.student-workspace-hero .language-token{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);width:48px;height:48px;color:var(--lg-eco-blue-ink);box-shadow:none}.student-workspace-hero h1{max-width:24ch;font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1}.student-workspace-hero p:not(.eyebrow){color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:6px}.student-workspace-summary{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(4,minmax(72px,1fr));min-width:0;display:grid}.student-workspace-summary>span{min-height:48px;padding:5px 12px}.student-workspace-summary__teacher{display:none!important}.student-workspace-summary svg{color:var(--lg-eco-blue-ink)}.student-workspace-tabs{border-bottom:1px solid var(--vc-line-2);gap:25px;margin:0}.student-workspace-tabs .workspace-tabs__button{min-height:48px;color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.student-workspace-tabs .workspace-tabs__button.is-active{border-bottom:3px solid var(--lg-eco-blue);color:var(--vc-ink)}.student-workspace-page .workspace-panel{background:0 0;min-height:0;margin:0;padding:34px 0 0}.student-week-intro{align-items:flex-end;margin-bottom:20px}.student-section-kicker{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);letter-spacing:.13em}.student-week-intro h2{margin-top:5px;font-size:clamp(1.75rem,3vw,2.45rem);line-height:1}.student-week-intro p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:8px}.student-today-meter{border:2px solid var(--lg-line-strong);border-radius:var(--vc-radius-pill);background:var(--lg-eco-blue-wash);min-height:35px;box-shadow:none;padding:0 13px}.student-week-navigation{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);box-shadow:none;background:#ffffff8f;margin-bottom:32px;padding:14px 15px 15px}.student-week-navigation__heading{padding:0 1px 12px}.student-week-navigation__heading h2{font-size:var(--lg-text-sm);margin-top:4px}.student-week-navigation__arrows button{border-color:var(--lg-line-strong);width:30px;height:30px;color:var(--vc-ink)}.student-week-navigation__arrows button:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-week-strip{gap:7px;margin-top:13px}.student-week-day{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:78px}.student-week-day:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-week-day.is-selected{border-color:var(--lg-eco-blue);background:var(--vc-ink);box-shadow:none}.student-week-day.is-today:not(.is-selected){box-shadow:inset 0 -4px 0 var(--lg-spark)}.student-goal-lanes{gap:26px}.student-goal-lane+.student-goal-lane{border-left:1px solid var(--vc-line-2);padding-left:26px}.student-goal-lane .goal-lane__heading{padding-bottom:13px}.student-goal-lane__kicker{color:var(--lg-eco-blue-ink)}.student-goal-lane--vocab .student-goal-lane__kicker{color:var(--vc-blue)}.student-goal-lane .goal-lane__heading h3{font-size:1.28rem;line-height:1}.student-goal-lane__count{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:27px;height:27px;color:var(--lg-eco-blue-ink)}.student-goal-lane--vocab .student-goal-lane__count{background:var(--vc-blue);color:#fff}.student-goal-lane .goal-card-grid{gap:10px;margin-top:13px}.student-goal-row{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-height:102px;box-shadow:none;align-items:center;padding:16px 15px 16px 18px;position:relative}.student-goal-lane--vocab .student-goal-row{border-left-color:var(--vc-blue)}.student-goal-row:hover{border-color:var(--lg-eco-blue);border-left-color:var(--lg-eco-blue);box-shadow:none}.student-goal-lane--vocab .student-goal-row:hover{border-left-color:var(--vc-blue)}.student-goal-row .goal-card__copy{gap:5px}.student-goal-row .goal-card__kind{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.student-goal-row .goal-card__copy strong{font-size:var(--lg-text-sm)}.student-goal-row__meta{font-size:var(--lg-text-xs)}.student-goal-sets{max-width:100%}.student-goal-sets span{background:var(--vc-cream)}.student-goal-row__play{border:2px solid var(--lg-line-strong);border-radius:var(--vc-radius-pill);background:var(--lg-eco-blue-wash);min-height:34px;box-shadow:none;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);padding:0 10px}.student-goal-row__play:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-goal-row__game.is-playable{color:inherit}@media(max-width:1080px){.student-workspace-hero{grid-template-columns:minmax(260px,1fr) minmax(300px,.9fr);gap:18px}.student-workspace-summary{grid-template-columns:repeat(3,minmax(70px,1fr))}}@media(max-width:820px){.app-main:has(.student-workspace-page){padding-inline:20px}.student-workspace-hero{grid-template-columns:minmax(0,1fr) auto;gap:18px}.student-workspace-summary{border-top:1px solid var(--vc-line-2);grid-column:1/-1;width:100%;padding-top:10px}.student-workspace-summary>span{justify-content:center}.student-goal-lane+.student-goal-lane{border-top:1px solid var(--vc-line-2);border-left:0;padding-top:25px;padding-left:0}}@media(max-width:620px){.app-main:has(.student-workspace-page){padding:10px 14px 42px}.student-workspace-hero{grid-template-columns:1fr;padding-top:0}.student-workspace-hero .workspace-hero__identity{grid-template-columns:42px minmax(0,1fr)}.student-workspace-hero .language-token{width:42px;height:42px;box-shadow:none}.student-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-workspace-summary>span{padding-inline:5px}.student-workspace-summary>span:nth-child(2){border-left:0}.student-workspace-summary svg{display:none}.student-week-intro{flex-direction:column;align-items:flex-start}.student-today-meter{align-self:flex-start}.student-week-navigation{margin-inline:-2px;padding-inline:9px}.student-week-strip{grid-template-columns:repeat(7,minmax(68px,1fr));overflow-x:auto}.student-week-strip li{min-width:68px}.student-goal-row{flex-direction:column;align-items:flex-start}.student-goal-row__play{align-self:flex-start}}.student-goal-row__game-name{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.student-goal-row__actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.student-goal-row__info,.student-goal-row__play{white-space:nowrap}.student-goal-row__info{border:1px solid var(--vc-line-2);border-radius:var(--vc-radius-pill);background:var(--lg-surface);min-height:34px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);align-items:center;gap:5px;padding:0 8px;font-weight:800;display:inline-flex}.student-goal-row__info:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-goal-info-backdrop{z-index:90;background:#161f3261;place-items:center;padding:22px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.student-goal-info{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-cream);width:min(100%,520px);max-height:min(720px,100dvh - 44px);box-shadow:none;padding:24px;overflow:auto}.student-goal-info__header{border-bottom:1px solid var(--vc-line-2);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;display:flex}.student-goal-info__header h2{margin-top:5px;font-size:1.65rem;line-height:1.02}.student-goal-info__close{border:2px solid var(--lg-line-strong);background:var(--lg-surface);width:32px;height:32px;color:var(--vc-ink);border-radius:50%;flex:none;place-items:center;display:grid}.student-goal-info__close:hover{background:var(--lg-eco-blue-wash)}.student-goal-info__game{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:14px;margin-top:18px;display:grid}.student-goal-info__game>picture{width:132px;height:68px;display:block}.student-goal-info__game img{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);object-fit:cover;width:132px;height:68px;box-shadow:none;display:block;overflow:hidden}.student-goal-info__game div{gap:3px;display:grid}.student-goal-info__game span,.student-goal-info__game small,.student-goal-info__section h3{font-family:var(--lg-font)}.student-goal-info__game span{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);letter-spacing:.1em;font-weight:800}.student-goal-info__game strong{font-family:var(--vc-display);font-size:var(--lg-text-md)}.student-goal-info__game small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);letter-spacing:.02em;font-weight:700}.student-goal-info__description{color:var(--vc-ink-2);font-size:var(--lg-text-xs);margin:18px 0 0;line-height:1.55}.student-goal-info__section{border-top:1px solid var(--vc-line-2);margin-top:22px;padding-top:16px}.student-goal-info__section h3{color:var(--vc-ink-3);font-size:var(--lg-text-xs);letter-spacing:.1em;margin:0 0 10px;font-weight:800}.student-goal-info__section>p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0}.student-goal-info__topics{flex-wrap:wrap;gap:6px;display:flex}.student-goal-info__topics span{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);color:var(--vc-ink);font-size:var(--lg-text-xs);padding:6px 8px;font-weight:750}.student-goal-info__stats{border-top:1px solid var(--vc-line-2);border-left:1px solid var(--vc-line-2);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.student-goal-info__stats div{border-right:1px solid var(--vc-line-2);border-bottom:1px solid var(--vc-line-2);gap:9px;min-width:0;padding:10px 8px;display:grid}.student-goal-info__stats dt{color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:800}.student-goal-info__stats dd{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-sm);margin:0;font-weight:800}@media(max-width:620px){.student-goal-row{grid-template-columns:minmax(0,1fr);gap:11px}.student-goal-row__actions{grid-column:1;justify-content:flex-start}.student-goal-info{padding:20px 17px}.student-goal-info__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-goal-info__stats div:last-child{grid-column:1/-1}}.student-goal-row{background-color:var(--lg-surface);background-image:var(--student-goal-image);min-height:112px;box-shadow:none;background-position:100%;background-repeat:no-repeat;background-size:42% 100%;grid-template-columns:minmax(0,1fr) auto;animation:.36s cubic-bezier(.2,.8,.2,1) both student-goal-enter;display:grid;overflow:hidden}.student-goal-row .goal-card__copy,.student-goal-row__actions{z-index:1;position:relative}.student-goal-row:nth-child(2){animation-delay:55ms}.student-goal-row:nth-child(3){animation-delay:.11s}.student-goal-row:nth-child(4){animation-delay:.165s}.student-goal-row .goal-card__copy{min-width:0}.student-goal-row .goal-card__copy strong,.student-goal-row .student-goal-row__game-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-goal-row__actions{min-width:max-content}.student-goal-row:hover{box-shadow:none;background-position:50%,94%}.student-goal-row__info,.student-goal-row__play{box-shadow:none;transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .16s,color .16s,border-color .16s}.student-goal-row__info:active,.student-goal-row__play:active{transform:translateY(1px)scale(.98)}.student-goal-row__play svg{transition:transform .18s cubic-bezier(.2,.8,.2,1)}.student-goal-row__play:hover svg{transform:translate(3px)}@keyframes student-goal-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.student-goal-info-backdrop{animation:.22s ease-out both student-info-backdrop-in}.student-goal-info{animation:.32s cubic-bezier(.2,.8,.2,1) both student-info-in}@keyframes student-info-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes student-info-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.student-workspace-hero{border-bottom:2px solid var(--lg-line-strong);grid-template-columns:minmax(0,1fr) auto;gap:28px;min-height:72px;padding:0 0 17px;display:grid}.student-workspace-hero:after{background:var(--lg-eco-blue-wash);content:"";width:58px;height:4px;position:absolute;bottom:-4px;right:0}.student-workspace-hero{position:relative}.student-workspace-hero .workspace-hero__identity{grid-template-columns:57px minmax(0,1fr);gap:11px}.student-workspace-hero .language-token{border-radius:var(--lg-radius-sm);width:57px;height:42px;box-shadow:none}.student-workspace-hero .student-section-kicker{font-size:var(--lg-text-xs);margin-bottom:3px}.student-workspace-hero h1{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.05}.student-workspace-hero p:not(.eyebrow){font-size:var(--lg-text-xs);margin-top:4px}.student-workspace-summary{background:0 0;border:0;align-items:center;gap:0;min-width:0;display:flex}.student-workspace-summary>span{grid-template-columns:auto 1fr;min-width:78px;min-height:38px;padding:3px 13px;display:grid}.student-workspace-summary>span+span{border-left:1px solid var(--vc-line-2)}.student-workspace-summary svg{display:none}.student-workspace-summary strong{font-size:var(--lg-text-sm)}.student-workspace-summary small{font-size:var(--lg-text-xs)}.student-workspace-tabs{margin-top:0}.student-workspace-page .workspace-panel{padding-top:38px}.student-week-intro h2{font-size:clamp(1.8rem,3.2vw,2.55rem)}@media(max-width:820px){.student-workspace-hero{grid-template-columns:1fr;gap:12px}.student-workspace-summary{border-top:1px solid var(--vc-line-2);justify-content:flex-start;width:100%;padding-top:9px}.student-workspace-summary>span{justify-content:start;min-width:84px;padding-inline:10px}.student-workspace-summary>span:first-of-type{padding-left:0}}@media(max-width:620px){.student-workspace-hero{min-height:0;padding-bottom:14px}.student-workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.student-workspace-summary>span{min-width:0;padding-inline:5px}.student-workspace-summary>span+span{border-left:1px solid var(--vc-line-2)}.student-workspace-summary>span:first-of-type{padding-left:0}.student-goal-row{background-image:var(--student-goal-image);background-position:bottom;background-size:100% 42%;grid-template-columns:minmax(0,1fr);gap:11px}.student-goal-row:hover{background-position:50%,50% 96%}.student-goal-row__actions{grid-column:1;justify-content:flex-start}}@media(prefers-reduced-motion:reduce){.student-goal-row,.student-goal-info-backdrop,.student-goal-info{animation:none}.student-goal-row,.student-goal-row:hover{background-position:50%,100%}}.student-goal-tile{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background-color:var(--lg-surface);min-width:0;min-height:148px;box-shadow:none;transition:box-shadow .22s,transform .22s cubic-bezier(.2,.8,.2,1);display:block;position:relative;overflow:hidden}.student-goal-tile__image-wrap{z-index:0;pointer-events:none;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.student-goal-tile__image{object-fit:cover;object-position:center;width:43%;height:100%;display:block;position:absolute;inset:0 0 0 auto}.student-goal-tile__body{animation:.38s cubic-bezier(.2,.8,.2,1) both student-tile-enter}.student-goal-tile:nth-child(2) .student-goal-tile__body{animation-delay:60ms}.student-goal-tile:nth-child(3) .student-goal-tile__body{animation-delay:.12s}.student-goal-tile:nth-child(4) .student-goal-tile__body{animation-delay:.18s}.student-goal-tile:hover{box-shadow:none}.student-goal-tile__body{z-index:1;border-right:2px solid var(--lg-line-strong);background:var(--lg-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;width:72%;min-height:148px;padding:18px 20px;display:grid;position:relative}.student-goal-tile__copy{gap:5px;min-width:0;display:grid}.student-goal-tile__kind,.student-goal-tile__game-name{font-family:var(--lg-font);font-weight:800}.student-goal-tile__kind{color:var(--vc-ink-3);font-size:var(--lg-text-xs);letter-spacing:.09em}.student-goal-tile__copy>strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;white-space:nowrap;line-height:1.08;overflow:hidden}.student-goal-tile__game-name{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-goal-tile--vocab .student-goal-tile__game-name{color:var(--vc-blue)}.student-goal-tile__meta{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);flex-wrap:wrap;gap:5px 11px;font-weight:700;display:flex}.student-goal-tile__sets{flex-wrap:wrap;gap:4px;max-width:100%;display:flex;overflow:hidden}.student-goal-tile__sets span{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--vc-cream);max-width:45%;color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;overflow:hidden}.student-goal-tile__actions{gap:7px;min-width:84px;display:grid}.student-goal-tile__info,.student-goal-tile__play{min-height:32px;font-size:var(--lg-text-xs);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-weight:800;transition:background-color .16s,border-color .16s,color .16s,transform .18s cubic-bezier(.2,.8,.2,1);display:inline-flex}.student-goal-tile__info{border:1px solid var(--vc-line-2);background:var(--lg-surface);color:var(--vc-ink-2)}.student-goal-tile__info:hover{border-color:var(--lg-eco-blue);background:var(--vc-cream);color:var(--vc-ink)}.student-goal-tile__play{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);text-decoration:none}.student-goal-tile__play:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-goal-tile__play svg{transition:transform .18s cubic-bezier(.2,.8,.2,1)}.student-goal-tile__play:hover svg{transform:translate(3px)}.student-goal-tile__game{align-items:center;gap:5px;display:inline-flex}@keyframes student-tile-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.student-goal-tile__body{gap:15px;width:82%}}@media(max-width:620px){.student-goal-tile{min-height:228px}.student-goal-tile__image{object-position:center bottom;width:100%;height:40%;inset:auto 0 0}.student-goal-tile__body{background:var(--lg-surface);border-right:0;grid-template-columns:1fr;gap:13px;width:100%;min-height:228px;padding:17px}.student-goal-tile__actions{justify-content:flex-start;display:flex}.student-goal-tile__sets span{max-width:48%}}@media(prefers-reduced-motion:reduce){.student-goal-tile__body,.student-goal-tile:hover,.student-goal-tile__info,.student-goal-tile__play{transition:none;animation:none;transform:none}}.student-goal-lane .goal-card-grid{grid-template-columns:minmax(0,1fr)}.student-goal-tile__copy>strong{text-overflow:clip;white-space:normal;overflow:visible}.student-goal-tile__sets span{max-width:100%}.student-month-rail{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;margin:0 0 12px;display:grid}.student-month-rail>button{border:1px solid var(--vc-line-2);background:var(--lg-surface);width:30px;height:30px;color:var(--vc-ink-2);border-radius:50%;place-items:center;display:grid}.student-month-rail>button:hover{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-month-rail__items{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.student-month-rail__items::-webkit-scrollbar{display:none}.student-month-rail__items button{border-radius:var(--lg-radius-sm);min-width:58px;min-height:39px;color:var(--vc-ink-3);background:0 0;border:1px solid #0000;flex:none;place-items:center;gap:1px;padding:4px 7px;display:grid}.student-month-rail__items button:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-month-rail__items button.is-current{border-color:var(--lg-line-strong);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.student-month-rail__items strong{font-family:var(--vc-display);font-size:var(--lg-text-xs);line-height:1}.student-month-rail__items small{font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);font-weight:700}.student-week-navigation__arrows button:disabled,.student-month-rail button:disabled{cursor:progress;opacity:.45}.student-week-loading{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:32px;color:var(--vc-ink-3);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;align-items:center;gap:8px;margin:-13px 0 13px;padding:6px 10px;font-weight:800;display:flex}.student-week-day{transition:border-color .16s,background-color .18s,color .18s,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}.student-week-day.is-selected{animation:.26s cubic-bezier(.2,.8,.2,1) both student-day-select}@keyframes student-day-select{0%{opacity:.7;transform:translateY(4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media(max-width:620px){.student-month-rail{grid-template-columns:28px minmax(0,1fr) 28px;gap:5px}.student-month-rail__items button{min-width:53px}}@media(prefers-reduced-motion:reduce){.student-week-day.is-selected{animation:none}}.set-create{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);box-shadow:none;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr) minmax(250px,1fr) auto;align-items:end;gap:18px;margin-bottom:30px;padding:20px;display:grid}.set-create__intro{grid-column:1/-1;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;padding-bottom:2px;display:grid}.set-create__icon{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);width:44px;height:44px;box-shadow:none;border-radius:50%;place-items:center;display:grid}.set-create__intro h2{font-family:var(--vc-display);margin:0;font-size:1.55rem;line-height:1}.set-create__intro p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:5px 0 0;line-height:1.4}.set-create__categories{grid-column:1/-1}.set-create__categories legend,.set-create__languages legend,.set-create__name>span{min-height:20px;font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-weight:900;display:flex}.set-create__categories legend span,.set-create__languages legend span{color:var(--vc-ink-3);font-family:var(--vc-font);font-size:var(--lg-text-xs);letter-spacing:0;text-transform:none;font-weight:700}.set-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.set-category{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);cursor:pointer;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:64px;padding:9px 10px;transition:background-color .15s,box-shadow .15s,transform .15s;display:grid}.set-category.is-selected{background:var(--vc-green-soft);box-shadow:none}.set-category:has(input:focus-visible),.set-create__languages label:has(input:focus-visible){outline-offset:2px;outline:3px solid oklch(80% .1 25/.55)}.set-category__icon{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);place-items:center;width:30px;height:30px;display:grid}.set-category.is-selected .set-category__icon{background:var(--lg-eco-blue-wash)}.set-category__copy strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-create__name{align-self:start;gap:7px;display:grid}.set-create__name input:focus{background:var(--vc-purple-soft)}.set-create__languages{align-self:start}.set-create__languages label{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:47px;font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;padding:0 9px;font-weight:850;display:flex}.set-create__languages label.is-selected{background:var(--vc-green-soft);box-shadow:none}.set-create__submit{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-blue);min-height:49px;box-shadow:none;color:#fff;font-size:var(--lg-text-xs);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:900;transition:transform .16s,box-shadow .16s;display:inline-flex}.set-create__submit:hover:not(:disabled){box-shadow:none;transform:translate(-2px,-2px)}.set-create__submit:disabled{box-shadow:none;opacity:.5}.set-create__error{color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);grid-column:1/-1;margin:-4px 0 0;font-weight:850}.vocab-library-page,.vocab-set-page{width:min(100%,1320px);margin:0 auto;padding-bottom:38px}.vocab-library-heading{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);min-height:230px;box-shadow:none;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:28px;margin-bottom:22px;padding:26px 30px;display:grid;position:relative;overflow:hidden}.vocab-library-heading>div:first-child{z-index:1;min-width:0;position:relative}.vocab-library-heading .back-link{border-color:var(--lg-line-strong);background:var(--vc-cream);color:var(--vc-ink);margin-bottom:16px}.vocab-library-heading .eyebrow{color:var(--vc-ink)}.vocab-library-heading h1{color:var(--vc-ink);font-family:var(--vc-display);margin:0;font-size:3.35rem;font-weight:850;line-height:.92}.vocab-library-heading>div:first-child>p:last-child{color:#161f32c7;max-width:610px;font-size:var(--lg-text-xs);margin:13px 0 0;line-height:1.5}.vocab-library-heading__art{aspect-ratio:1.28;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-eco-blue-wash);width:220px;box-shadow:none;justify-self:end;place-items:center;display:grid;position:relative;transform:rotate(-2deg)}.vocab-library-heading__art img{object-fit:contain;width:72%;height:72%;transform:rotate(2deg)}.vocab-library-heading__art i,.vocab-library-heading__art span{border:2px solid var(--lg-line-strong);color:var(--vc-ink);place-items:center;font-style:normal;font-weight:950;display:grid;position:absolute}.vocab-library-heading__art i{border-radius:var(--lg-radius-sm);background:var(--vc-green-soft);width:48px;height:42px;top:-13px;right:17px}.vocab-library-heading__art span{background:var(--vc-blue);color:#fff;border-radius:50%;width:48px;height:39px;bottom:17px;right:-10px}.vocab-collection{border-top:2px solid var(--lg-line-strong);margin-top:30px;padding-top:24px}.vocab-collection__head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px;display:flex}.vocab-collection__head h2{font-family:var(--vc-display);margin:0;font-size:2rem;line-height:1}.vocab-collection__head>span{border:2px solid var(--lg-line-strong);background:var(--vc-green-soft);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);border-radius:999px;padding:6px 9px;font-weight:900}.vocab-library-search{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:17px;padding:6px 7px 6px 13px;display:grid}.vocab-library-search input{min-height:42px;font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.vocab-library-search button{border:2px solid var(--lg-line-strong);background:var(--lg-eco-blue-wash);border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.vocab-set-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.vocab-set-card{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:205px;box-shadow:none;animation:vocab-card-in .3s calc(var(--vocab-card-order) * 32ms) ease-out both;gap:13px;padding:17px;text-decoration:none;transition:transform .17s,box-shadow .17s,background-color .17s;display:grid;position:relative}.vocab-set-card:hover{background:var(--vc-purple-soft);box-shadow:none;transform:translate(-2px,-2px)}.vocab-set-card__language{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;align-items:center;gap:7px;font-weight:900;display:flex}.vocab-set-card__copy{min-width:0}.vocab-set-card__copy h3{overflow-wrap:anywhere;font-family:var(--vc-display);margin:0;font-size:1.3rem;line-height:1.05}.vocab-set-card__copy p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:8px 0 0;line-height:1.4;display:-webkit-box;overflow:hidden}.vocab-set-card__foot{border-top:2px solid var(--lg-line-strong);grid-template-columns:auto minmax(0,1fr) 36px;align-self:end;align-items:end;gap:8px;padding-top:12px;display:grid}.vocab-set-card__foot>span{font-size:var(--lg-text-xs);align-items:center;gap:6px;font-weight:850;display:flex}.vocab-set-card__foot time{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocab-set-card__foot i{border:2px solid var(--lg-line-strong);background:var(--vc-blue);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-style:normal;display:grid}.vocab-library-empty{border:2px dashed var(--vc-ink);border-radius:var(--lg-radius-md);background:var(--lg-surface);justify-content:center;align-items:center;gap:13px;min-height:124px;padding:22px;display:flex}.vocab-library-empty strong{font-size:var(--lg-text-xs)}.vocab-library-empty p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0}@keyframes vocab-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:1080px){.set-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.set-create__name,.set-create__languages{align-self:start}.set-create__submit{align-self:stretch}.vocab-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.set-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.set-create__submit{width:100%}.vocab-library-heading{grid-template-columns:minmax(0,1fr) 135px;min-height:190px;padding:22px}.vocab-library-heading h1{font-size:2.7rem}.vocab-library-heading__art{width:130px}}@media(max-width:560px){.set-create{grid-template-columns:1fr;padding:15px}.set-category-grid,.set-create__languages>div{grid-template-columns:1fr}.vocab-library-heading{grid-template-columns:1fr;gap:16px;padding:18px}.vocab-library-heading h1{font-size:2.35rem}.vocab-library-heading__art{display:none}.vocab-set-grid{grid-template-columns:1fr}.vocab-set-card{min-height:185px}}@media(prefers-reduced-motion:reduce){.set-category,.set-create__languages label,.vocab-set-card{transition:none;animation:none}.set-category.is-selected,.set-create__languages label.is-selected,.vocab-set-card:hover{transform:none}}.verb-library-page,.vocab-library-page{width:min(100%,1160px);margin:0 auto;padding:24px 0 72px}.set-library-header{--set-accent:var(--vc-blue);--set-accent-soft:var(--vc-purple-soft);border-bottom:1px solid var(--vc-line-2);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:28px;padding:0 0 25px;animation:.36s ease-out both set-library-in;display:grid}.set-library-header--vocab{--set-accent:var(--lg-eco-blue);--set-accent-soft:var(--vc-coral-soft)}.set-library-header>div:first-child{min-width:0}.set-library-header .back-link{color:var(--vc-ink-3);font-size:var(--lg-text-xs);box-shadow:none;background:0 0;border:0;margin-bottom:25px;padding:0;display:inline-flex}.set-library-header .back-link:hover{color:var(--vc-ink);background:0 0;transform:none}.set-library-header h1{color:var(--vc-ink);font-family:var(--vc-display);letter-spacing:0;margin:0;font-size:3.6rem;font-weight:800;line-height:.94}.set-library-header p{max-width:38rem;color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:13px 0 0;line-height:1.5}.set-library-header__stat{border:var(--lg-border) solid var(--set-accent);min-width:110px;color:var(--vc-ink-3);grid-template-columns:auto auto;align-items:center;gap:0 9px;padding:7px 0 7px 18px;display:grid}.set-library-header__stat svg{color:var(--set-accent);grid-row:1/span 2}.set-library-header__stat strong{color:var(--vc-ink);font-family:var(--vc-display);font-size:2rem;line-height:.9}.set-library-header__stat span{font-size:var(--lg-text-xs)}.set-create{--set-accent:var(--vc-blue);--set-accent-soft:var(--vc-purple-soft);border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--vc-surface);box-shadow:none;grid-template-columns:250px minmax(0,1fr);align-items:stretch;margin-bottom:54px;animation:.42s ease-out 50ms both set-library-in;display:grid;overflow:hidden}.set-create--vocab{--set-accent:var(--lg-eco-blue);--set-accent-soft:var(--vc-coral-soft)}.set-create__rail{border-right:1px solid var(--vc-line);background:var(--set-accent-soft);flex-direction:column;gap:16px;min-width:0;padding:28px 24px 24px;display:flex}.set-create__rail-icon{border:1px solid var(--set-accent);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:42px;height:42px;color:var(--set-accent);place-items:center;display:grid}.set-create__rail h2{color:var(--vc-ink);font-family:var(--vc-display);margin:0;font-size:1.6rem;line-height:1.02}.set-create__rail p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:8px 0 0;line-height:1.5}.set-create__focus{border-top:1px solid var(--vc-line-2);margin-top:auto;padding-top:22px}.set-create__focus span{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-bottom:7px;font-weight:800;display:block}.set-create__focus strong{color:var(--vc-ink);font-size:var(--lg-text-xs);line-height:1.2;display:block}.set-create__focus small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin-top:6px;line-height:1.4;display:block}.set-create__main{min-width:0;padding:27px 29px 25px}.set-create__categories,.set-create__languages{border:0;min-width:0;margin:0;padding:0}.set-create__categories legend,.set-create__languages legend{width:100%;min-height:22px;color:var(--vc-ink);font-size:var(--lg-text-xs);justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:0;font-weight:850;display:flex}.set-create__categories legend small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);font-weight:600}.set-category-grid{border-top:1px solid var(--vc-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;display:grid}.set-category{border:0;border-bottom:1px solid var(--vc-line);cursor:pointer;background:0 0;border-radius:0;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:10px;min-width:0;min-height:66px;padding:10px 7px;transition:background-color .15s,border-color .15s;display:grid;position:relative}.set-category:hover{background:#161f3206}.set-category.is-selected{box-shadow:inset 0 0 0 2px var(--set-accent);background:var(--set-accent-soft)}.set-category input,.set-create__languages input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.set-category:has(input:focus-visible){outline:3px solid var(--set-accent)}@supports (color:color-mix(in lab,red,red)){.set-category:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--set-accent) 35%,transparent)}}.set-category:has(input:focus-visible){outline-offset:2px}.set-create__languages label:has(input:focus-visible){outline:3px solid var(--lg-eco-blue);outline-offset:2px}.set-category__icon{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:30px;height:30px;color:var(--vc-ink-3);place-items:center;display:grid}.set-category.is-selected .set-category__icon{border-color:var(--set-accent);color:var(--set-accent)}.set-category__copy{gap:3px;min-width:0;display:grid}.set-category__copy strong{color:var(--vc-ink);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-category__copy small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.set-category__check{color:var(--set-accent);opacity:0;place-items:center;display:grid}.set-category.is-selected .set-category__check{opacity:1}.set-create__details{border-top:1px solid var(--vc-line-2);grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:22px;margin-top:25px;padding-top:23px;display:grid}.set-create__name{align-content:start;gap:7px;display:grid}.set-create__name>span,.set-create__languages legend{font-size:var(--lg-text-xs)}.set-create__name input{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:45px;color:var(--vc-ink);font-size:var(--lg-text-xs);box-shadow:none;outline:0;padding:0 12px}.set-create__name input:focus{border-color:var(--set-accent);box-shadow:0 0 0 3px var(--set-accent-soft)}.set-create__name small,.set-create__languages>small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);line-height:1.35}.set-create__languages>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.set-create__languages label{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-sm);background:var(--lg-surface);min-height:45px;color:var(--vc-ink-3);font-size:var(--lg-text-xs);cursor:pointer;align-items:center;gap:7px;padding:0 9px;font-weight:800;transition:background-color .15s,border-color .15s,color .15s;display:flex}.set-create__languages label.is-selected{border-color:var(--set-accent);background:var(--set-accent-soft);color:var(--vc-ink)}.set-create__languages label .flag{border:1px solid var(--vc-line-2);border-radius:2px;flex:none;overflow:hidden}.set-create__languages>small{margin-top:7px;display:block}.set-create__actions{border-top:1px solid var(--vc-line);justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:19px;display:flex}.set-create__actions>small{max-width:33ch;color:var(--vc-ink-3);font-size:var(--lg-text-xs);line-height:1.4}.set-create__submit{border:1px solid var(--set-accent);border-radius:var(--lg-radius-sm);background:var(--set-accent);min-height:44px;color:var(--lg-surface);font-size:var(--lg-text-xs);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:850;transition:transform .15s,background-color .15s;display:inline-flex}.set-create__submit:hover:not(:disabled){background:var(--set-accent)}@supports (color:color-mix(in lab,red,red)){.set-create__submit:hover:not(:disabled){background:color-mix(in srgb,var(--set-accent) 88%,var(--vc-ink))}}.set-create__submit:active:not(:disabled){transform:translateY(1px)}.set-create__submit:disabled{opacity:.45}.set-create__error{color:var(--lg-wrong-ink);font-size:var(--lg-text-xs);margin:16px 0 0;font-weight:800}.set-collection{margin-top:0}.set-collection__head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:19px;display:flex}.set-collection__head h2{color:var(--vc-ink);font-family:var(--vc-display);margin:0;font-size:1.85rem;line-height:1}.set-collection__head p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:7px 0 0;line-height:1.4}.set-collection__head>span{color:var(--vc-ink-3);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);flex:none}.set-search{border-bottom:1px solid var(--vc-line-2);width:min(100%,440px);color:var(--vc-ink-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 14px auto;padding:0 0 9px;display:grid}.set-search input{min-height:35px;color:var(--vc-ink);font-size:var(--lg-text-xs);background:0 0;border:0;outline:2px solid #0000}.set-search input::placeholder{color:var(--vc-ink-3);opacity:.85}.set-search button{border:1px solid var(--vc-line-2);width:27px;height:27px;color:var(--vc-ink-3);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.set-search button:hover{border-color:var(--lg-eco-blue);color:var(--vc-ink)}.set-list{border-top:1px solid var(--vc-line-2)}.set-list-row{--set-accent:var(--vc-blue);--set-accent-soft:var(--vc-purple-soft);border-bottom:1px solid var(--vc-line);min-width:0;color:var(--vc-ink);animation:set-row-in .28s calc(var(--set-row-order) * 24ms) ease-out both;grid-template-columns:40px minmax(0,1fr) auto 28px;align-items:center;gap:17px;padding:15px 5px 15px 0;text-decoration:none;transition:background-color .15s;display:grid}.set-list-row--vocab{--set-accent:var(--lg-eco-blue);--set-accent-soft:var(--vc-coral-soft)}.set-list-row:hover{background:var(--lg-eco-blue-wash)}.set-list-row:focus-visible{outline:3px solid var(--set-accent);outline-offset:2px}.set-list-row__mark{border:1px solid var(--set-accent);place-items:center;width:38px;height:38px;display:grid}@supports (color:color-mix(in lab,red,red)){.set-list-row__mark{border:1px solid color-mix(in srgb,var(--set-accent) 32%,var(--vc-line-2))}}.set-list-row__mark{border-radius:var(--lg-radius-sm);background:var(--set-accent-soft);color:var(--set-accent)}.set-list-row__main{gap:5px;min-width:0;display:grid}.set-list-row__main strong{font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.set-list-row__main small{color:var(--vc-ink-3);font-size:var(--lg-text-xs);-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.4;display:-webkit-box;overflow:hidden}.set-list-row__meta{color:var(--vc-ink-3);font-size:var(--lg-text-xs);white-space:nowrap;justify-content:flex-end;align-items:center;gap:18px;display:flex}.set-list-row__language{color:var(--vc-ink);align-items:center;gap:6px;font-weight:750;display:inline-flex}.set-list-row__language .flag{border:1px solid var(--vc-line-2);border-radius:2px;overflow:hidden}.set-list-row__count{color:var(--vc-ink-3)}.set-list-row__meta time{text-align:right;min-width:78px}.set-list-row__arrow{border:1px solid var(--vc-line-2);width:28px;height:28px;color:var(--set-accent);border-radius:50%;place-items:center;transition:transform .15s,background-color .15s;display:grid}.set-list-row:hover .set-list-row__arrow{background:var(--set-accent-soft);transform:translate(2px)}.set-library-empty{border:1px dashed var(--vc-line-2);min-height:120px;color:var(--vc-ink-3);justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.set-library-empty strong{color:var(--vc-ink);font-size:var(--lg-text-xs);display:block}.set-library-empty p{font-size:var(--lg-text-xs);margin:5px 0 0}@keyframes set-library-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes set-row-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:900px){.verb-library-page,.vocab-library-page{padding:18px 0 54px}.set-create{grid-template-columns:1fr}.set-create__rail{border-right:0;border-bottom:1px solid var(--vc-line);grid-template-columns:42px minmax(0,1fr);gap:0 13px;display:grid}.set-create__rail-icon{grid-row:span 2}.set-create__focus{grid-column:1/-1;margin-top:22px}}@media(max-width:700px){.set-library-header{grid-template-columns:1fr;gap:21px}.set-library-header h1{font-size:2.85rem}.set-library-header__stat{justify-self:start}.set-create__main{padding:22px 19px 20px}.set-category-grid{grid-template-columns:1fr}.set-create__details{grid-template-columns:1fr;gap:20px}.set-create__actions{flex-direction:column;align-items:stretch}.set-create__actions>small{max-width:none}.set-create__submit{width:100%}.set-list-row{grid-template-columns:38px minmax(0,1fr) 28px;gap:11px;padding:14px 0}.set-list-row:hover{padding-left:0}.set-list-row__mark{width:36px;height:36px}.set-list-row__meta{font-size:var(--lg-text-xs);flex-wrap:wrap;grid-column:2/-1;justify-content:flex-start;gap:5px 13px}.set-list-row__meta time{text-align:left;min-width:0}.set-list-row__arrow{grid-area:1/3}}@media(max-width:430px){.verb-library-page,.vocab-library-page{padding-inline:2px}.set-library-header h1{font-size:2.5rem}.set-library-header .back-link{margin-bottom:20px}.set-create__rail{padding:22px 18px 20px}.set-create__languages>div{grid-template-columns:1fr}.set-collection__head{flex-direction:column;align-items:flex-start;gap:8px}.set-search{width:100%}}@media(prefers-reduced-motion:reduce){.set-library-header,.set-create,.set-list-row{animation:none}.set-category,.set-create__languages label,.set-list-row,.set-list-row__arrow{transition:none}}.auth-showcase{--showcase-accent:var(--lg-spark);--showcase-secondary:var(--vc-blue);border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--vc-ink);min-height:500px;box-shadow:none;color:var(--lg-surface);isolation:isolate;padding:20px;animation:.68s cubic-bezier(.2,.8,.2,1) .15s both auth-showcase-in;position:relative;overflow:hidden}.auth-showcase--register{--showcase-accent:var(--lg-eco-blue);--showcase-secondary:var(--vc-purple);box-shadow:none}.auth-showcase:before{z-index:-1;background:var(--showcase-accent);content:"";border:1px solid oklch(100% 0 0/.3);width:58px;height:58px;animation:.9s cubic-bezier(.2,.8,.2,1) .42s both auth-diamond-in;position:absolute;top:-27px;right:30px;transform:rotate(45deg)}.auth-showcase:after{z-index:-1;content:"";border:1px solid oklch(100% 0 0/.12);border-radius:50%;width:238px;height:238px;animation:7s ease-in-out infinite auth-ring-breathe;position:absolute;bottom:76px;right:-92px}.auth-showcase__header,.auth-showcase__copy,.auth-showcase__footer{z-index:1;position:relative}.auth-showcase__header{justify-content:space-between;align-items:center;gap:14px;display:flex}.auth-showcase__brand{color:var(--lg-surface);font-family:var(--vc-display);font-size:var(--lg-text-xs);letter-spacing:-.06em;font-weight:900}.auth-showcase__status{color:#ffffff9e;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.08em;white-space:nowrap;align-items:center;gap:7px;font-weight:700;display:inline-flex}.auth-showcase__status-dot{background:var(--lg-spark);border-radius:50%;width:7px;height:7px;animation:2s ease-out infinite auth-status-pulse;display:block;box-shadow:0 0 #fdca3a80}.auth-showcase__stage{background:var(--lg-ink);border:1px solid oklch(100% 0 0/.18);height:252px;margin:24px 0 22px;position:relative;overflow:hidden}.auth-showcase__stage:before{content:"";border:1px dashed oklch(100% 0 0/.15);border-radius:50%;animation:5s ease-in-out infinite auth-ring-breathe;position:absolute;top:18px;right:18px;bottom:18px;left:18px}.auth-showcase__stage:after{content:"";border:1px solid oklch(100% 0 0/.42);width:8px;height:8px;animation:3s steps(2,end) infinite auth-corner-blink;position:absolute;top:14px;left:14px}.auth-showcase__ring,.auth-showcase__axis,.auth-showcase__orbit,.auth-showcase__core,.auth-showcase__spark{position:absolute}.auth-showcase__ring{border:1px solid oklch(100% 0 0/.23);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-showcase__ring--outer{width:210px;height:210px;animation:18s linear infinite auth-ring-rotate}.auth-showcase__ring--inner{border-style:dashed;border-color:#ffffff57;width:136px;height:136px;animation:12s linear infinite auth-ring-rotate-reverse}.auth-showcase__axis{content:"";background:#ffffff1f;top:50%;left:50%}.auth-showcase__axis--horizontal{width:100%;height:1px;transform:translateY(-50%)}.auth-showcase__axis--vertical{width:1px;height:100%;transform:translate(-50%)}.auth-showcase__orbit{border:1px solid oklch(100% 0 0/.15);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.auth-showcase__orbit--slow{width:226px;height:226px;animation:18s linear infinite auth-orbit}.auth-showcase__orbit--fast{width:158px;height:158px;animation:10s linear infinite auth-orbit-reverse}.auth-showcase__orbit--reverse{border-color:#ffffff38;width:232px;height:112px;animation:14s linear infinite auth-orbit-ellipse;transform:translate(-50%,-50%)rotate(-22deg)}.auth-showcase__chip{border:2px solid var(--lg-line-strong);width:max-content;color:var(--vc-ink);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:5px 8px;font-weight:800;line-height:1;display:block;top:-10px;left:50%;transform:translate(-50%)}.auth-showcase__chip--yellow{background:var(--lg-eco-blue-wash)}.auth-showcase__chip--coral{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.auth-showcase__chip--blue{background:var(--vc-blue);color:#fff}.auth-showcase__core{border:1px solid var(--lg-surface);background:var(--showcase-accent);width:76px;height:76px;color:var(--vc-ink);box-shadow:none;place-content:center;justify-items:center;animation:4s ease-in-out infinite auth-core-float;display:grid;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)}.auth-showcase__core span{font-family:var(--vc-display);letter-spacing:-.12em;font-size:2.45rem;font-weight:900;line-height:.78;transform:translate(-2px)}.auth-showcase__core small{font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;margin-top:7px;font-weight:800;line-height:1}.auth-showcase__spark{border:2px solid var(--lg-line-strong);background:var(--showcase-accent);border-radius:50%;width:7px;height:7px}.auth-showcase__spark--one{animation:4.5s ease-in-out infinite auth-spark-float-one;top:23%;left:27%}.auth-showcase__spark--two{background:var(--lg-eco-blue-wash);animation:5.5s ease-in-out infinite auth-spark-float-two;bottom:24%;right:23%}.auth-showcase__spark--three{background:var(--vc-blue);width:5px;height:5px;animation:3.8s ease-in-out infinite auth-spark-float-three;top:28%;right:30%}.auth-showcase__kicker{color:var(--showcase-accent);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.12em;margin-bottom:9px;font-weight:800;display:block}.auth-showcase__copy p{color:#ffffffad;max-width:34ch;font-size:var(--lg-text-xs);margin:14px 0 0;line-height:1.5}.auth-showcase__footer{color:#ffffff6b;font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);letter-spacing:.08em;grid-template-columns:auto auto auto minmax(24px,1fr);align-items:center;gap:10px;margin-top:26px;font-weight:800;display:grid}.auth-showcase__footer-active{color:var(--lg-surface)}.auth-showcase__footer-active:before{background:var(--showcase-accent);content:"";border-radius:50%;width:5px;height:5px;margin:0 5px 1px 0;display:inline-block}.auth-showcase__footer-line{background:#ffffff47;height:1px}@keyframes auth-showcase-in{0%{opacity:0;transform:translateY(18px)rotate(1.5deg)}to{opacity:1;transform:none}}@keyframes auth-diamond-in{0%{opacity:0;transform:translate(22px,-15px)rotate(45deg)}to{opacity:1;transform:rotate(45deg)}}@keyframes auth-ring-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.035)}}@keyframes auth-ring-rotate{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes auth-ring-rotate-reverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes auth-orbit{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes auth-orbit-reverse{0%{transform:translate(-50%,-50%)rotate(360deg)}to{transform:translate(-50%,-50%)rotate(0)}}@keyframes auth-orbit-ellipse{0%{transform:translate(-50%,-50%)rotate(-22deg)}to{transform:translate(-50%,-50%)rotate(338deg)}}@keyframes auth-core-float{0%,to{transform:translate(-50%,-50%)rotate(-4deg)}50%{transform:translate(-50%,calc(-50% - 5px))rotate(2deg)}}@keyframes auth-status-pulse{0%{box-shadow:0 0 #fdca3a80}70%{box-shadow:0 0 0 6px #fdca3a00}to{box-shadow:0 0 #fdca3a00}}@keyframes auth-corner-blink{0%,44%,to{opacity:.35}45%,70%{opacity:1}}@keyframes auth-spark-float-one{0%,to{transform:translate(0)}50%{transform:translate(7px,-9px)}}@keyframes auth-spark-float-two{0%,to{transform:translate(0)}50%{transform:translate(-8px,6px)}}@keyframes auth-spark-float-three{0%,to{transform:scale(1)}50%{transform:scale(1.7)}}@media(max-width:820px){.auth-showcase{min-height:0}}@media(max-width:560px){.auth-showcase{border-radius:var(--lg-radius-sm);box-shadow:none;padding:16px}.auth-showcase--register{box-shadow:none}.auth-showcase__stage{height:220px;margin-block:20px 19px}.auth-showcase__ring--outer,.auth-showcase__orbit--slow{width:190px;height:190px}.auth-showcase__orbit--reverse{width:200px}.auth-showcase__footer{margin-top:21px}}.auth-visual{min-width:0}.auth-visual__copy{max-width:660px}.auth-visual__eyebrow{color:var(--auth-blue-dark);font-family:var(--vc-mono,monospace);font-size:var(--lg-text-xs);letter-spacing:.16em;margin-bottom:22px;font-weight:900;display:block}.auth-visual__copy h2 span{width:max-content;max-width:100%;animation:.52s cubic-bezier(.2,.8,.2,1) both auth-word-in;display:block}.auth-visual__copy h2 span:nth-child(2){animation-delay:60ms}.auth-visual__copy h2 span:nth-child(3){animation-delay:.12s}.auth-visual__word--pink{color:var(--auth-pink)}.auth-visual__copy p{max-width:46ch;color:var(--lg-ink);font-size:var(--lg-text-sm);margin:28px 0 0;font-weight:650;line-height:1.55;animation:.52s cubic-bezier(.2,.8,.2,1) .18s both auth-copy-in}.auth-visual__artframe{border:3px solid var(--auth-ink);border-radius:var(--lg-radius-md);background:var(--auth-blue);height:clamp(360px,30vw,430px);box-shadow:none;isolation:isolate;margin-top:32px;animation:.6s cubic-bezier(.2,.8,.2,1) .24s both auth-art-in;position:relative;overflow:hidden}.auth-visual__artframe:before{z-index:2;border:3px solid var(--auth-ink);background:var(--auth-yellow);content:"";width:170px;height:18px;animation:4.8s ease-in-out infinite auth-marker-float;position:absolute;top:-10px;right:20%;transform:rotate(-12deg)}.auth-visual__artframe:after{border:3px solid var(--auth-ink);background:var(--auth-pink);content:"";width:160px;height:16px;position:absolute;bottom:36px;right:-32px;transform:rotate(13deg)}.auth-visual__artwork{width:100%;height:100%;display:block}.auth-visual__artwork img{object-fit:cover;object-position:50% 38%;width:100%;height:100%;animation:8s ease-in-out infinite auth-art-drift}.auth-visual--register .auth-visual__artwork img{object-position:48% 41%}.auth-visual__art-label{z-index:3;border:3px solid var(--auth-ink);border-radius:var(--lg-radius-sm);background:var(--auth-white);color:var(--auth-ink);font-family:var(--vc-mono,monospace);font-size:var(--lg-text-xs);letter-spacing:.1em;box-shadow:none;padding:8px 10px;font-weight:900;animation:.52s cubic-bezier(.2,.8,.2,1) .45s both auth-label-in;position:absolute;bottom:17px;right:18px;transform:rotate(-3deg)}.auth-visual__tags{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.auth-visual__tags span{border:2px solid var(--auth-ink);border-radius:var(--lg-radius-sm);background:var(--auth-white);box-shadow:none;color:var(--auth-ink);font-family:var(--vc-mono,monospace);font-size:var(--lg-text-xs);letter-spacing:.08em;padding:7px 9px;font-weight:900;animation:.42s cubic-bezier(.2,.8,.2,1) both auth-tag-in}.auth-visual__tags span:nth-child(2){background:var(--auth-yellow);animation-delay:70ms}.auth-visual__tags span:nth-child(3){background:var(--auth-green);animation-delay:.14s}@keyframes auth-word-in{0%{opacity:0;transform:translateY(105%)rotate(2deg)}to{opacity:1;transform:none}}@keyframes auth-copy-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes auth-art-in{0%{opacity:0;transform:translate(32px)rotate(1deg)}to{opacity:1;transform:none}}@keyframes auth-art-drift{0%,to{transform:scale(1.015)translate(0)rotate(0)}50%{transform:scale(1.045)translate(-8px,5px)rotate(-.5deg)}}@keyframes auth-marker-float{0%,to{transform:translate(0)rotate(-12deg)}50%{transform:translate(-4px,4px)rotate(-6deg)}}@keyframes auth-label-in{0%{opacity:0;transform:translate(12px,8px)rotate(-3deg)}to{opacity:1;transform:rotate(-3deg)}}@keyframes auth-tag-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:1040px){.auth-visual__artframe{height:390px}}@media(max-width:820px){.auth-visual__artframe{height:390px}}@media(max-width:560px){.auth-visual__copy p{font-size:var(--lg-text-xs);margin-top:23px}.auth-visual__artframe{border-radius:var(--lg-radius-sm);height:330px;box-shadow:none;margin-top:26px}.auth-visual__artwork img,.auth-visual--register .auth-visual__artwork img{object-position:center center}.auth-visual__art-label{bottom:13px;right:13px}.auth-visual__tags{margin-top:17px}}@media(prefers-reduced-motion:reduce){.auth-visual__copy h2 span,.auth-visual__copy p,.auth-visual__artframe,.auth-visual__artframe:before,.auth-visual__artwork img,.auth-visual__art-label,.auth-visual__tags span{animation:none}}:root{--vc-game-ink:#161f32;--vc-game-paper:var(--lg-canvas);--vc-game-blue:var(--lg-eco-blue);--vc-game-blue-dark:var(--lg-eco-blue-ink);--vc-game-yellow:var(--lg-spark);--vc-game-pink:var(--lg-wrong-soft);--vc-game-green:var(--lg-correct);--vc-game-coral:var(--lg-wrong);--vc-game-line:#161f322e;--vc-game-display:var(--lg-font-display);--vc-game-body:var(--lg-font)}.goal-game-dialog__overlay{z-index:1200;background:#161f3294;animation:.15s ease-out both vc-game-overlay-in;position:fixed;top:0;right:0;bottom:0;left:0}.goal-game-dialog{z-index:1201;border:2px solid var(--vc-game-ink);border-radius:var(--lg-radius-md);background:var(--lg-surface);width:min(100vw - 32px,860px);max-height:min(900px,100dvh - 32px);color:var(--vc-game-ink);box-shadow:var(--lg-shadow-float);font-family:var(--vc-game-body);scrollbar-color:var(--vc-game-blue) var(--vc-game-paper);scrollbar-width:thin;outline:0;animation:.21s cubic-bezier(.2,.8,.2,1) both vc-game-dialog-in;display:grid;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.goal-game-dialog::selection{background:var(--vc-game-yellow);color:var(--vc-game-ink)}.goal-game-dialog ::selection{background:var(--vc-game-yellow);color:var(--vc-game-ink)}.goal-game-dialog::-webkit-scrollbar{width:10px}.goal-game-dialog::-webkit-scrollbar-track{background:var(--vc-game-paper)}.goal-game-dialog::-webkit-scrollbar-thumb{border:2px solid var(--vc-game-paper);border-radius:var(--lg-radius-sm);background:var(--vc-game-blue)}.goal-game-dialog__header{border-bottom:2px solid var(--vc-game-ink);background:var(--vc-game-yellow);grid-template-columns:126px minmax(0,1fr) 40px;align-items:center;gap:18px;min-height:126px;padding:16px 18px;display:grid;position:relative}.goal-game-dialog__header>picture,.goal-game-dialog__header>img{object-fit:cover;border:2px solid var(--vc-game-ink);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:126px;height:88px;display:block;overflow:hidden}.goal-game-dialog__header>picture img{object-fit:cover;width:100%;height:100%;display:block}.goal-game-dialog__header h2{font-family:var(--vc-game-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.75rem,4vw,2.55rem);font-weight:800;line-height:.98}.goal-game-dialog__header p{color:#161f32b8;max-width:52ch;font-size:var(--lg-text-xs);margin:8px 0 0;line-height:1.45}.goal-game-dialog__close{border:1px solid var(--vc-game-ink);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:40px;height:40px;color:var(--vc-game-ink);cursor:pointer;align-self:start;place-items:center;padding:0;display:grid}.goal-game-dialog__close:hover{background:var(--vc-game-paper)}.goal-game-dialog__body{background:var(--lg-surface);gap:24px;padding:24px;display:grid}.goal-game-dialog__section{border:0;min-width:0;margin:0;padding:0}.goal-game-dialog__section legend{width:100%;font-family:var(--vc-game-display);font-size:var(--lg-text-sm);align-items:center;gap:8px;margin:0 0 10px;padding:0;font-weight:800;display:flex}.goal-game-dialog__section legend svg{color:var(--vc-game-blue)}.goal-game-dialog__choices{border:1px solid var(--vc-game-line);border-radius:var(--lg-radius-sm);display:grid;overflow:hidden}.goal-game-dialog__choices--modes{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.goal-game-dialog__choices--difficulty{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-game-dialog__choices--support{grid-template-columns:1fr}.goal-game-dialog__choices--content{grid-template-columns:repeat(3,minmax(0,1fr))}.goal-game-dialog__choices label{border-right:1px solid var(--vc-game-line);border-bottom:1px solid var(--vc-game-line);background:var(--lg-surface);cursor:pointer;align-items:center;gap:10px;min-width:0;min-height:48px;padding:12px 14px;transition:background-color .14s,color .14s;display:grid;position:relative}.goal-game-dialog__choices label:last-child{border-right:0}.goal-game-dialog__choices label:hover{background:var(--vc-game-paper)}.goal-game-dialog__choices label.is-selected{background:var(--lg-eco-blue-wash);box-shadow:inset 0 0 0 2px var(--vc-game-blue)}.goal-game-dialog__choices label:has(input:focus-visible){outline:3px solid var(--vc-game-pink);outline-offset:-3px}.goal-game-dialog__choices input{opacity:0;width:1px;height:1px;position:absolute}.goal-game-dialog__choices label>svg:last-child{color:var(--vc-game-blue);opacity:0;justify-self:end}.goal-game-dialog__choices label.is-selected>svg:last-child{opacity:1}.goal-game-dialog__choices--modes label{font-size:var(--lg-text-xs);grid-template-columns:minmax(0,1fr) auto;font-weight:800}.goal-game-dialog__choices--difficulty label,.goal-game-dialog__choices--content label{grid-template-columns:minmax(0,1fr) auto;min-height:78px}.goal-game-dialog__choices--support label{border-right:0;grid-template-columns:24px minmax(0,1fr) 18px;min-height:68px}.goal-game-dialog__choices--support label>svg:first-of-type{color:var(--vc-game-coral)}.goal-game-dialog__choices strong{font-size:var(--lg-text-xs);line-height:1.25;display:block}.goal-game-dialog__choices small{color:#161f32a6;font-size:var(--lg-text-xs);margin-top:4px;line-height:1.4;display:block}.goal-game-dialog__textarea-label,.goal-game-dialog__threshold{font-size:var(--lg-text-xs);justify-content:space-between;align-items:baseline;gap:14px;margin-top:14px;font-weight:800;display:flex}.goal-game-dialog__textarea-label{flex-direction:column;align-items:flex-start;gap:5px}.goal-game-dialog__textarea-label small{color:#161f32a6;font-size:var(--lg-text-xs);font-weight:600;line-height:1.45}.goal-game-dialog__textarea-label code{background:var(--vc-game-paper);font:700 var(--lg-text-xs) var(--vc-game-body);border-radius:4px;padding:1px 4px}.goal-game-dialog textarea{resize:vertical;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:132px;color:var(--vc-game-ink);font:600 var(--lg-text-xs)/1.55 var(--vc-game-body);outline:2px solid #0000;margin-top:8px;padding:12px 13px;display:block}.goal-game-dialog textarea:focus{border-color:var(--vc-game-blue);box-shadow:0 0 0 3px #2061f52e}.goal-game-dialog textarea:disabled{background:var(--lg-eco-blue-wash);color:#161f3285;cursor:not-allowed}.goal-game-dialog__textarea-meta{color:#161f3299;font-size:var(--lg-text-xs);justify-content:space-between;gap:12px;margin-top:6px;display:flex}.goal-game-dialog__validation{color:var(--vc-game-coral);font-size:var(--lg-text-xs);margin:7px 0 0;font-weight:750;line-height:1.4}.goal-game-dialog__assessment-toggle{border:1px solid var(--vc-game-line);border-radius:var(--lg-radius-sm);background:var(--lg-surface);cursor:pointer;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:68px;padding:12px 14px;display:grid}.goal-game-dialog__assessment-toggle:hover{background:var(--vc-game-paper)}.goal-game-dialog__assessment-toggle.is-selected{background:var(--lg-eco-blue-wash);box-shadow:inset 0 0 0 2px var(--vc-game-blue)}.goal-game-dialog__assessment-toggle input{width:18px;height:18px;accent-color:var(--vc-game-blue);margin:0}.goal-game-dialog__assessment-toggle input:focus-visible{outline:3px solid var(--vc-game-pink);outline-offset:2px}.goal-game-dialog__assessment-toggle>svg:last-child{color:var(--vc-game-blue);opacity:0}.goal-game-dialog__assessment-toggle.is-selected>svg:last-child{opacity:1}.goal-game-dialog__assessment-toggle strong{font-size:var(--lg-text-xs);line-height:1.25;display:block}.goal-game-dialog__assessment-toggle small{color:#161f32a6;font-size:var(--lg-text-xs);margin-top:4px;font-weight:600;line-height:1.4;display:block}.goal-game-dialog__threshold{align-items:center;margin-top:12px}.goal-game-dialog__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding-top:2px;display:grid}.goal-game-dialog__details>label{gap:8px;display:grid}.goal-game-dialog__details>label>span:first-child{font-size:var(--lg-text-xs);align-items:center;gap:7px;font-weight:800;display:flex}.goal-game-dialog__details>label>span:first-child svg{color:var(--vc-game-green)}.goal-game-dialog__details input,.goal-game-dialog__details select{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-surface);width:100%;min-height:45px;color:var(--vc-game-ink);font:700 var(--lg-text-xs) var(--vc-game-body);outline:2px solid #0000;padding:0 12px}.goal-game-dialog__details input:focus,.goal-game-dialog__details select:focus,.goal-game-dialog__threshold input:focus{border-color:var(--vc-game-blue);box-shadow:0 0 0 3px #2061f52e}.goal-game-dialog__number{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.goal-game-dialog__number input{border:0;border-radius:0;box-shadow:none!important}.goal-game-dialog__number input:disabled{background:var(--lg-eco-blue-wash);color:#161f327a}.goal-game-dialog__number small{color:#161f3299;font-size:var(--lg-text-xs);padding:0 12px}.goal-game-dialog__footer{border-top:1px solid var(--vc-game-line);background:var(--vc-game-paper);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.goal-game-dialog__footer p{color:#161f32a6;max-width:42ch;font-size:var(--lg-text-xs);margin:0;line-height:1.4}.goal-game-dialog__footer>div{gap:8px;display:flex}.goal-game-dialog__primary,.goal-game-dialog__secondary,.goal-discard-dialog__danger{border:1px solid var(--vc-game-ink);border-radius:var(--lg-radius-sm);min-height:44px;font:800 var(--lg-text-xs) var(--vc-game-body);cursor:pointer;padding:0 16px}.goal-game-dialog__primary{background:var(--vc-game-blue);color:var(--lg-surface)}.goal-game-dialog__primary:hover:not(:disabled){background:var(--vc-game-blue-dark)}.goal-game-dialog__primary:disabled{opacity:.46;cursor:not-allowed}.goal-game-dialog__secondary{background:var(--lg-surface);color:var(--vc-game-ink)}.goal-game-dialog__secondary:hover{background:var(--lg-eco-blue-wash)}.goal-game-dialog button:focus-visible{outline:3px solid var(--vc-game-pink);outline-offset:2px}.goal-discard-dialog__overlay{z-index:1300}.goal-discard-dialog{z-index:1301;border:2px solid var(--vc-game-ink);border-radius:var(--lg-radius-md);background:var(--lg-surface);width:min(100vw - 32px,470px);color:var(--vc-game-ink);box-shadow:var(--lg-shadow-float);font-family:var(--vc-game-body);outline:0;padding:26px;animation:.18s cubic-bezier(.2,.8,.2,1) both vc-game-dialog-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.goal-discard-dialog h2{font-family:var(--vc-game-display);letter-spacing:-.025em;margin:0;font-size:2rem;line-height:1}.goal-discard-dialog p{color:#161f32ad;font-size:var(--lg-text-xs);margin:12px 0 0;line-height:1.55}.goal-discard-dialog__actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.goal-discard-dialog__danger{border-color:var(--lg-wrong-press);background:var(--lg-wrong);color:var(--lg-surface)}.goal-discard-dialog__danger:hover{background:var(--lg-wrong-press)}@keyframes vc-game-overlay-in{0%{opacity:0}}@keyframes vc-game-dialog-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))scale(.985)}}@media(max-width:620px){.goal-game-dialog{border-radius:var(--lg-radius-md);width:min(100vw - 18px,860px);max-height:calc(100dvh - 18px)}.goal-game-dialog__header{grid-template-columns:82px minmax(0,1fr) 38px;gap:12px;min-height:104px;padding:12px}.goal-game-dialog__header>picture,.goal-game-dialog__header>img{width:82px;height:66px}.goal-game-dialog__header h2{font-size:1.55rem}.goal-game-dialog__header p{font-size:var(--lg-text-xs)}.goal-game-dialog__body{gap:20px;padding:18px 14px}.goal-game-dialog__choices--difficulty,.goal-game-dialog__choices--content,.goal-game-dialog__details{grid-template-columns:1fr}.goal-game-dialog__choices--content label{border-right:0}.goal-game-dialog__footer{flex-direction:column;align-items:stretch}.goal-game-dialog__footer>div{grid-template-columns:1fr 1fr;display:grid}.goal-discard-dialog__actions{grid-template-columns:1fr;display:grid}}@media(prefers-reduced-motion:reduce){.goal-game-dialog__overlay,.goal-game-dialog,.goal-discard-dialog{animation:none}.goal-game-dialog__choices label{transition:none}}.classes-page .class-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,540px),1fr));gap:18px;width:100%;display:grid;position:relative}.classes-page .class-card,.classes-page .school-class-card{--class-accent:var(--vc-purple);--class-soft:var(--vc-purple-soft)}.classes-page .class-card[data-class-language=es],.classes-page .school-class-card[data-class-language=es]{--class-accent:var(--lg-eco-blue);--class-soft:var(--vc-coral-soft)}.classes-page .class-card[data-class-language=fr],.classes-page .school-class-card[data-class-language=fr]{--class-accent:var(--vc-blue);--class-soft:var(--vc-purple-soft)}.classes-page .class-card[data-class-language=it],.classes-page .school-class-card[data-class-language=it]{--class-accent:var(--vc-green);--class-soft:var(--vc-green-soft)}.classes-page .class-card{isolation:isolate;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-lg);background:var(--lg-surface);min-width:0;min-height:184px;box-shadow:none;cursor:pointer;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) auto;align-items:stretch;gap:18px;padding:18px;transition:transform .22s cubic-bezier(.2,.9,.3,1.2),border-color .18s,box-shadow .22s,opacity .16s;display:grid;position:relative;overflow:hidden;transform:translate(0)}.classes-page .class-card:before,.classes-page .class-card:after,.classes-page .school-class-card:before,.classes-page .school-class-card:after{z-index:0;pointer-events:none;content:"";position:absolute}.classes-page .class-card:before,.classes-page .school-class-card:before{background:var(--class-soft);width:40%;inset:0 auto 0 0}.classes-page .class-card:after,.classes-page .school-class-card:after{border-radius:inherit;background:var(--class-accent);width:5px;inset:0 auto 0 0}.classes-page .class-card>*,.classes-page .school-class-card>*{z-index:1;min-width:0;position:relative}.classes-page .class-card:is(:hover,:focus-within),.classes-page .school-class-card:is(:hover,:focus-within){border-color:var(--class-accent);box-shadow:none;transform:translateY(-3px)}.classes-page .class-card:active{box-shadow:none;transform:translate(0)}.classes-page .class-card.is-opening{pointer-events:none;opacity:.78;transform:translateY(-1px)}.classes-page .class-card__identity{align-content:center;gap:16px;min-width:0;display:grid}.classes-page .class-card__header{z-index:1;justify-content:space-between;align-items:flex-start;gap:14px;min-width:0;transition:none;display:flex;position:relative;transform:none}.classes-page .class-card__header h2{width:auto;min-width:0;margin:0}.classes-page .class-card__header .flag{flex:none;margin-top:2px}.classes-page .class-card__title{max-width:100%;color:var(--vc-ink);font-family:var(--vc-display);text-overflow:ellipsis;-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:800;line-height:1.08;text-decoration:none;display:-webkit-box;overflow:hidden}.classes-page .class-card__title:hover,.classes-page .class-card:is(:hover,:focus-within) .class-card__title{color:var(--class-accent);transform:none}.classes-page .class-card:is(:hover,:focus-within) .class-card__header{transform:none}.classes-page .class-card__teacher{z-index:1;align-items:center;gap:10px;min-width:0;margin:0;transition:none;display:flex;position:relative;transform:none}.classes-page .class-card__teacher-face{background:var(--class-soft);width:40px;height:40px;box-shadow:0 0 0 3px var(--lg-surface),0 0 0 4px var(--class-accent);color:var(--class-accent);border-radius:50%;flex:0 0 40px;place-items:center;display:grid;overflow:hidden}.classes-page .class-card__teacher-face img{object-fit:cover;width:100%;height:100%;display:block}.classes-page .class-card__teacher-initials{font-family:var(--vc-display);font-size:var(--lg-text-xs);letter-spacing:.03em;font-weight:850}.classes-page .class-card:is(:hover,:focus-within) .class-card__teacher{transform:none}.classes-page .class-card:is(:hover,:focus-within) .class-card__teacher-face{box-shadow:0 0 0 3px var(--lg-surface),0 0 0 4px var(--class-accent);transform:none}.classes-page .class-card__teacher-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.classes-page .class-card__teacher-copy strong{max-width:100%;color:var(--vc-ink);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.classes-page .class-card__teacher-copy small{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;font-weight:700}.classes-page .class-card__details{align-content:center;gap:14px;min-width:0;display:grid}.classes-page .class-card .class-code{width:fit-content;min-width:0;max-width:100%;margin:0}.classes-page .class-card .class-code code{min-width:0}.classes-page .class-card__body{border-top:1px solid var(--vc-line);flex-wrap:wrap;align-items:center;gap:10px 12px;min-width:0;margin:0;padding:12px 0 0;transition:border-color .18s;display:flex;transform:none}.classes-page .class-card:is(:hover,:focus-within) .class-card__body{border-color:var(--class-accent);transform:none}.classes-page .class-card__roster{flex:1 1 0;gap:8px;min-width:0;display:grid}.classes-page .class-card__faces{flex:none;align-items:center;max-width:100%;padding-left:3px;display:flex}.classes-page .class-card__face{background:var(--class-soft);width:36px;height:36px;box-shadow:0 0 0 3px var(--lg-surface),0 3px 8px -6px #161f32b3;border-radius:50%;flex:0 0 36px;place-items:center;margin-left:-9px;transition:transform .18s;display:grid;overflow:hidden;transform:translate(0)}.classes-page .class-card__face:first-child{margin-left:0}.classes-page .class-card__face img{object-fit:cover;width:100%;height:100%;display:block}.classes-page .class-card__face-initials{color:var(--class-accent);font-family:var(--vc-display);font-size:var(--lg-text-xs);letter-spacing:.02em;font-weight:850}.classes-page .class-card:is(:hover,:focus-within) .class-card__face{transform:translateY(-2px)}.classes-page .class-card__face--more{background:var(--vc-ink);color:var(--lg-surface);font-family:var(--lg-font);font-variant-numeric:tabular-nums;font-size:var(--lg-text-xs);font-weight:700}.classes-page .class-card__student-names{flex-wrap:wrap;gap:3px 8px;min-width:0;display:flex}.classes-page .class-card__student-names a,.classes-page .class-card__student-names span{max-width:100%;color:var(--vc-ink-2);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;text-decoration:none;overflow:hidden}.classes-page .class-card__student-names a:hover,.classes-page .class-card__student-names a:focus-visible{color:var(--class-accent);text-underline-offset:3px;text-decoration:underline}.classes-page .class-card__student-names a:focus-visible{outline:2px solid var(--class-accent);outline-offset:2px;border-radius:2px}.classes-page .class-card__empty{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:0}.classes-page .class-card__count{color:var(--vc-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-xs);letter-spacing:0;white-space:nowrap;margin:0;font-weight:700}.classes-page .class-card--student{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);height:auto;min-height:184px}.classes-page .class-card__goal-summary{border-top:1px solid var(--vc-line);grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin:0;padding-top:12px;display:grid}.classes-page .class-card__goal-copy{min-width:0}.classes-page .class-card__goal-copy strong{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.classes-page .class-card__goal-points{min-width:0}.classes-page .class-card__open-corner{border:2px solid var(--class-accent);border-radius:var(--lg-radius-pill);background:var(--class-accent);width:auto;min-width:88px;height:44px;min-height:44px;color:var(--lg-surface);box-shadow:none;justify-content:center;place-self:center end;align-items:center;gap:7px;padding:0 13px;text-decoration:none;transition:transform .18s,background-color .18s,box-shadow .18s;display:inline-flex;position:relative;bottom:auto;right:auto;overflow:hidden;transform:none}.classes-page .class-card__open-corner:before{display:none}.classes-page .class-card__open-corner-in{justify-content:center;align-items:center;gap:7px;display:inline-flex;transform:none}.classes-page .class-card__open-label{opacity:1;max-width:none;overflow:visible;transform:none}.classes-page .class-card__open-corner svg{flex:none;transform:none}.classes-page .class-card:is(:hover,:focus-within) .class-card__open-corner,.classes-page .class-card__open-corner:focus-visible{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);width:auto;box-shadow:none;color:var(--lg-eco-blue-ink);transform:translateY(-2px)}.classes-page .class-card:is(:hover,:focus-within) .class-card__open-label,.classes-page .class-card__open-corner:focus-visible .class-card__open-label{opacity:1;max-width:none;transform:none}.classes-page .class-card:is(:hover,:focus-within) .class-card__open-corner svg,.classes-page .class-card__open-corner:focus-visible svg{transform:none}.classes-page .class-card__open-corner:active{box-shadow:none;transform:translateY(2px)}.classes-page .class-card__open-corner:focus-visible{outline:3px solid var(--class-accent);outline-offset:3px}.classes-page .school-class-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;display:grid}.classes-page .school-class-card{isolation:isolate;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-md);background:var(--lg-surface);min-width:0;min-height:0;box-shadow:none;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:16px;transition:transform .2s,border-color .18s,box-shadow .2s;display:grid;position:relative;overflow:hidden}.classes-page .school-class-card__top{grid-template-columns:39px minmax(0,1fr);align-items:center;gap:11px;min-width:0;display:grid}.classes-page .school-class-card__flag{border:1px solid var(--class-accent);border-radius:var(--lg-radius-sm);background:var(--class-soft);place-items:center;width:39px;height:39px;display:grid}.classes-page .school-class-card__top h3{max-width:100%;color:var(--vc-ink);font-family:var(--vc-display);font-size:var(--lg-text-sm);text-overflow:ellipsis;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;line-height:1.1;display:-webkit-box;overflow:hidden}.classes-page .school-class-card__top p{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:5px 0 0}.classes-page .school-class-card .class-code{grid-column:1/-1;align-self:start;width:fit-content;max-width:100%;margin:0}.classes-page .school-class-card__foot{border-top:1px solid var(--vc-line);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin:0;padding-top:12px;display:grid}.classes-page .school-class-card__teacher{min-width:0;color:var(--vc-ink-2);font-size:var(--lg-text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.classes-page .school-class-card__open,.classes-page .school-class-card__join{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--class-soft);min-height:40px;color:var(--vc-ink);font-size:var(--lg-text-xs);justify-content:center;align-items:center;gap:5px;padding:0 11px;font-weight:850;text-decoration:none;transition:transform .16s,background-color .16s;display:inline-flex}.classes-page .school-class-card__open:hover,.classes-page .school-class-card__join:hover{background:var(--lg-eco-blue-wash)}.classes-page .school-class-card__join:disabled{cursor:progress;opacity:.65}@media(max-width:600px){.classes-page .class-card{grid-template-columns:minmax(0,1fr);gap:14px}.classes-page .class-card:before,.classes-page .school-class-card:before{width:auto;height:70px;inset:0 0 auto}.classes-page .class-card__open-corner{place-self:start}.classes-page .class-card__goal-summary{grid-template-columns:52px minmax(0,1fr) auto;gap:9px}.classes-page .goal-blob{width:52px;height:48px}}@media(max-width:720px){.classes-page .class-grid{grid-template-columns:minmax(0,1fr);gap:16px}.classes-page .class-card{padding:17px}.classes-page .class-card__title{white-space:normal;min-height:0;display:-webkit-box}.classes-page .school-class-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:430px){.classes-page .class-card__goal-summary{grid-template-columns:48px minmax(0,1fr)}.classes-page .class-card__goal-points{grid-column:2;justify-self:start}.classes-page .goal-blob{width:48px;height:46px}}@media(prefers-reduced-motion:reduce){.classes-page .class-card,.classes-page .school-class-card,.classes-page .class-card__open-corner,.classes-page .school-class-card__open,.classes-page .school-class-card__join,.classes-page .class-card__face,.classes-page .goal-blob{transition:none!important;animation:none!important}}@media(forced-colors:active){.classes-page .class-card,.classes-page .school-class-card,.classes-page .class-card__open-corner,.classes-page .school-class-card__open,.classes-page .school-class-card__join{box-shadow:none;color:canvastext;background:canvas;border-color:canvastext}.classes-page .class-card:before,.classes-page .class-card:after,.classes-page .school-class-card:before,.classes-page .school-class-card:after{display:none}}.teacher-plan-panel{--plan-ease:cubic-bezier(.16, 1, .3, 1)}.teacher-plan-panel__intro{color:var(--vc-ink-2);font-size:var(--lg-text-xs);margin:8px 0 0;line-height:1.5}.teacher-plan-panel .goal-lanes{gap:32px}.teacher-plan-panel .goal-lane+.goal-lane,.teacher-plan-panel .goal-lane__heading{border:0;padding:0}.teacher-plan-panel .goal-lane__heading h3{font-size:1.25rem}.teacher-plan-panel .goal-add{min-height:44px;font-size:var(--lg-text-xs);padding:8px 12px}.teacher-plan-panel .week-nav__row+.week-nav__row{border:0;margin-top:12px;padding-top:0}.teacher-plan-panel .goal-lane__empty{border-radius:var(--lg-radius-md);background:var(--vc-cream);min-height:160px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);margin-top:16px;padding:24px;line-height:1.5}.teacher-plan-panel .goal-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));align-items:stretch;gap:16px;margin-top:16px;display:grid}.teacher-plan-panel .goal-card{border:1px solid var(--vc-line-2);border-radius:var(--lg-radius-md);background:var(--vc-surface);min-width:0;color:var(--vc-ink);animation:teacher-goal-arrive .28s calc(var(--motion-index,0) * 40ms) var(--plan-ease) backwards;transition:box-shadow .18s ease,border-color .18s ease,transform .18s var(--plan-ease);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:24px;padding:24px;display:flex;box-shadow:0 4px 16px #161f320a}.teacher-plan-panel .goal-card:focus-within{border-color:var(--vc-purple)}.teacher-plan-panel .goal-card.is-incomplete{background:var(--lg-canvas);border-color:var(--lg-wrong-soft)}.teacher-plan-panel .goal-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-plan-panel .goal-card__kind{color:var(--vc-ink-2);font-family:var(--vc-font);font-size:var(--lg-text-xs);letter-spacing:0;text-transform:none;align-items:center;gap:8px;font-weight:700;display:inline-flex}.teacher-plan-panel .goal-card__kind-dot{display:none}.teacher-plan-panel .goal-card__target{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);color:var(--vc-purple-dark);font-size:var(--lg-text-xs);padding:4px 7px;line-height:1.2}.teacher-plan-panel .goal-card__state{color:var(--vc-ink-2);font-size:var(--lg-text-xs);align-items:center;gap:7px;font-weight:650;display:inline-flex}.teacher-plan-panel .goal-card__state-dot{background:var(--vc-green);border-radius:50%;width:6px;height:6px}.teacher-plan-panel .goal-card__state.is-warning{color:var(--lg-eco-blue-ink)}.teacher-plan-panel .goal-card__state.is-warning .goal-card__state-dot{background:var(--vc-coral-dark)}.teacher-plan-panel .goal-card__content{gap:16px;min-width:0;display:grid}.teacher-plan-panel .goal-card__heading{margin:0}.teacher-plan-panel .goal-card__title{width:100%;min-height:44px;color:var(--vc-ink);font-family:var(--vc-display);letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:1.375rem;font-weight:800;line-height:1.25;transition:color .16s;display:block;overflow:visible}.teacher-plan-panel .goal-card__title:hover{color:var(--vc-purple-dark)}.teacher-plan-panel .goal-card__sets{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.teacher-plan-panel .goal-card__sets a,.teacher-plan-panel .goal-card__sets .is-missing{border-radius:var(--lg-radius-sm);background:var(--vc-purple-soft);max-width:100%;min-height:44px;color:var(--vc-purple-dark);font-size:var(--lg-text-xs);overflow-wrap:anywhere;text-align:left;cursor:pointer;border:0;align-items:center;gap:8px;padding:8px 12px;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .16s;display:inline-flex}.teacher-plan-panel .goal-card__sets a:hover{background:var(--vc-purple-soft-2)}.teacher-plan-panel .goal-card__sets .is-missing{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.teacher-plan-panel .goal-card__sets .is-missing:hover{background:var(--lg-line)}.teacher-plan-panel .goal-card__sets .is-missing>span{font-weight:800}.teacher-plan-panel .goal-card__footer{border:0;gap:20px;margin-top:auto;padding:0;display:grid}.teacher-plan-panel .goal-card__summary{flex-wrap:wrap;gap:24px;display:flex}.teacher-plan-panel .goal-card__metric{gap:4px;display:grid}.teacher-plan-panel .goal-card__metric strong{font-family:var(--vc-display);font-size:1.25rem;line-height:1.2}.teacher-plan-panel .goal-card__metric>span{color:var(--vc-ink-2);font-size:var(--lg-text-xs);line-height:1.4}.teacher-plan-panel .goal-card__actions{flex-wrap:wrap;gap:8px;display:flex}.teacher-plan-panel .goal-card__edit,.teacher-plan-panel .goal-card__print{border-radius:var(--lg-radius-sm);min-height:44px;font-size:var(--lg-text-xs);border:0;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.teacher-plan-panel .goal-card__edit{background:var(--vc-purple-soft);color:var(--vc-purple-dark)}.teacher-plan-panel .goal-card__edit:hover{background:var(--vc-purple-soft-2)}.teacher-plan-panel .goal-card__edit.is-primary{background:var(--vc-purple);color:#fff}.teacher-plan-panel .goal-card__edit.is-primary:hover{background:var(--vc-purple-dark)}.teacher-plan-panel .goal-card__print{background:var(--vc-cream);color:var(--vc-ink-2)}.teacher-plan-panel .goal-card__print:hover{background:var(--vc-line);color:var(--vc-ink)}.teacher-plan-panel :is(button,a):focus-visible{outline:2px solid var(--vc-purple);outline-offset:4px}@keyframes teacher-goal-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.teacher-plan-panel .goal-card:hover{box-shadow:none}}@media(max-width:900px){.teacher-plan-panel .goal-lanes{grid-template-columns:minmax(0,1fr);gap:32px}}@media(max-width:480px){.teacher-plan-panel .goal-card{padding:20px}}@media(prefers-reduced-motion:reduce){.teacher-plan-panel .goal-card,.teacher-plan-panel .goal-card *{transition:none;animation:none}.teacher-plan-panel .goal-card:hover,.teacher-plan-panel .goal-card:focus-within{transform:none}}.skip-link{z-index:120;border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);padding:9px 13px;font-weight:850;text-decoration:none;transition:transform .16s;position:fixed;top:10px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.app-header{z-index:40;border-bottom:2px solid var(--lg-line-strong);background:var(--vc-cream);box-shadow:none;position:sticky;top:0}.app-header.is-stuck{background:var(--lg-canvas);box-shadow:none}.app-header__inner{align-items:center;gap:18px;width:min(1400px,100% - 32px);min-height:74px;margin:0 auto;display:flex;position:relative}.brand{width:154px;margin-right:8px}.brand__logo{width:100%;height:auto;display:block}.top-nav{align-items:center;gap:4px;min-width:0;display:flex}.top-nav__link{border-radius:var(--lg-radius-sm);min-height:42px;color:var(--vc-ink-2);font-size:var(--lg-text-xs);white-space:nowrap;border:2px solid #0000;align-items:center;gap:8px;padding:0 13px;font-weight:850;text-decoration:none;transition:transform .18s cubic-bezier(.2,.9,.3,1.2),background-color .16s,border-color .16s,color .16s,box-shadow .16s;display:inline-flex;position:relative;overflow:hidden}.top-nav__icon{object-fit:contain;flex:0 0 24px;width:24px;height:24px;transition:transform .18s cubic-bezier(.2,.9,.3,1.2);display:block}.top-nav__link:hover,.top-nav__link:focus-visible{border-color:var(--lg-eco-blue);background:var(--vc-purple-soft);color:var(--vc-purple-dark);box-shadow:none}.top-nav__link:hover .top-nav__icon,.top-nav__link:focus-visible .top-nav__icon,.top-nav__link.is-active .top-nav__icon{transform:scale(1.06)}.top-nav__link.is-active{border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);box-shadow:none;color:var(--lg-eco-blue-ink)}.top-nav__link:active{box-shadow:none;transform:translateY(0)}.top-nav__toggle{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--lg-eco-blue-wash);width:44px;height:44px;box-shadow:none;color:var(--lg-eco-blue-ink);flex:0 0 44px;place-items:center;padding:0;display:none;position:relative;overflow:hidden}.top-nav__toggle:hover,.top-nav__toggle:focus-visible{background:var(--lg-eco-blue-wash)}.top-nav__toggle:active{box-shadow:none;transform:translateY(1px)}.header-utility{margin-left:auto}.account-control__avatar{flex:0 0 40px;place-items:center;width:40px;height:40px;display:grid}@media(max-width:760px){.app-header__inner{gap:8px;width:min(100% - 32px,1400px);min-height:64px}.brand{width:132px;margin-right:0}.top-nav__toggle{margin-left:auto;display:grid}.top-nav{border:2px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);background:var(--vc-surface);box-shadow:none;grid-template-columns:1fr;gap:4px;padding:10px;display:none;position:absolute;top:calc(100% + 2px);left:0;right:0}.top-nav.is-open{animation:.18s ease-out both top-nav-arrive;display:grid}.top-nav__link{min-height:48px;padding-inline:14px}.top-nav__icon{flex-basis:26px;width:26px;height:26px}.header-utility{gap:6px;margin-left:0}.environment-menu__trigger{min-width:44px;padding-inline:10px}.environment-menu__popover{right:0}.header-utility .nav-stats,.header-utility .nav-stats--loading{display:none}.account-control__profile{min-width:44px;min-height:44px;padding:2px}.account-control__profile>svg{display:none}.account-control__avatar,.account-control__profile img,.account-control__fallback{flex-basis:36px;width:36px;height:36px}}@media(max-width:420px){.app-header__inner{width:calc(100% - 16px)}.brand{width:116px}.account-menu__popover{width:min(232px,100vw - 24px);right:-2px}}@keyframes top-nav-arrive{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.skip-link,.top-nav.is-open,.top-nav__link,.top-nav__icon,.top-nav__toggle{transition:none;animation:none}}.app-frame--student-classes,.app-frame--student-classes .student-class-main,.student-workspace-page,.student-workspace-page .workspace-shell,.student-workspace-page .workspace-panel{background:var(--lg-surface)}.student-classes-page{gap:40px;display:grid}.student-classes-page .school-directory,.student-classes-page .teacher-group__heading,.student-workspace-page .workspace-hero,.student-workspace-page .workspace-tabs,.student-workspace-page .student-goal-lane,.student-workspace-page .goal-lane__heading{border:0}.student-class-main hr{display:none}.student-classes-page .class-card,.student-classes-page .school-class-card{background:var(--lg-surface);box-shadow:none;border:1px solid var(--lg-line)}.student-classes-page .class-card:before,.student-classes-page .class-card:after,.student-classes-page .school-class-card:before,.student-classes-page .school-class-card:after,.student-workspace-page .workspace-hero__kicker{display:none}.student-workspace-page .workspace-shell{box-shadow:none;border:0}.student-workspace-page .student-goal-lanes{gap:24px}.student-workspace-page .student-goal-lane{padding:0}.student-workspace-page .student-goal-tile{border:1px solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:none;grid-template-columns:1fr;display:grid;overflow:hidden}.student-workspace-page .student-goal-tile__image-wrap{width:100%;height:140px;position:static}.student-workspace-page .student-goal-tile__image{object-fit:cover;opacity:1;width:100%;height:140px;position:static;transform:none}.student-workspace-page .student-goal-tile__body{background:var(--lg-surface);border:0;grid-template-columns:minmax(0,1fr);gap:20px;width:100%;min-height:0;padding:20px;display:grid}.student-workspace-page .student-goal-tile__copy>strong{font-size:var(--lg-text-md);line-height:1.35}.student-workspace-page .student-goal-tile__meta{font-size:var(--lg-text-xs);gap:12px}.student-workspace-page .student-goal-tile__actions{justify-content:space-between;display:flex}.student-workspace-page .student-goal-tile__info,.student-workspace-page .student-goal-tile__play{min-height:44px}.student-workspace-page .student-week-navigation{background:var(--lg-surface);border:1px solid var(--lg-line);border-radius:var(--lg-radius-md);box-shadow:none;padding:20px}.student-workspace-page .class-calendar__surface{background:var(--lg-surface);box-shadow:none;border:0;padding:0}.student-workspace-page .class-calendar__surface-head{background:var(--lg-surface);border:0;padding:0 0 24px}.student-workspace-page .class-calendar__surface-head .eyebrow{display:none}.student-workspace-page .class-calendar__toolbar{border:1px solid var(--lg-line);border-radius:var(--lg-radius-sm);background:var(--lg-surface);padding:16px}.student-workspace-page .class-calendar__months{background:var(--lg-surface);border:0;margin-block:20px}.student-workspace-page .class-calendar__month-grid{border:1px solid var(--lg-line);border-radius:var(--lg-radius-sm);overflow:hidden}.student-workspace-page .class-calendar__weekdays{background:var(--lg-surface);padding-block:12px}.student-workspace-page .class-calendar__month>li{background:var(--lg-surface);min-height:120px}.student-workspace-page .student-progress-list{margin-top:32px}.student-progress-list header p{color:var(--vc-ink-3);margin:8px 0 20px}.student-recent-goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-recent-goal{border:1px solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);flex-direction:column;gap:16px;padding:20px;display:flex}.student-recent-goal__date{font-size:var(--lg-text-xs);color:var(--vc-ink-3)}.student-recent-goal h4{font-size:var(--lg-text-md);overflow-wrap:anywhere;margin:0;line-height:1.35}.student-recent-goal dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:auto 0 0;display:grid}.student-recent-goal dt{font-size:var(--lg-text-xs);color:var(--vc-ink-3)}.student-recent-goal dd{font-size:var(--lg-text-md);margin:6px 0 0;font-weight:700}.student-recent-goal a{min-height:44px;color:var(--vc-ink);font-weight:700;font-size:var(--lg-text-xs);justify-content:space-between;align-items:center;display:flex}.join-class-dialog{border:1px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);padding:28px}.join-class-dialog .dialog-heading h2{font-size:1.75rem;line-height:1.2}.join-class-dialog .dialog-heading p:not(.eyebrow){font-size:var(--lg-text-xs)}.join-class-dialog__input-wrap{border:1px solid var(--lg-line-strong);border-radius:var(--lg-radius-sm);color:var(--vc-ink)}.join-class-dialog__input-wrap:focus-within{outline:2px solid var(--lg-eco-blue);outline-offset:3px;box-shadow:none;transform:none}.join-class-dialog__class,.join-class-dialog__confirmation{background:var(--lg-surface);border:1px solid var(--lg-line)}.join-class-dialog__actions{gap:12px;margin-top:16px}.student-class-main :is(a,button):focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:4px}@media(max-width:900px){.student-recent-goals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.student-recent-goals{grid-template-columns:minmax(0,1fr)}.student-workspace-page .class-calendar__surface-head{flex-wrap:wrap;gap:16px}.student-workspace-page .class-calendar__month>li{min-height:88px}.join-class-dialog{padding:20px}}.student-workspace-page .class-calendar__month-day.is-selected{outline:2px solid var(--lg-eco-blue);outline-offset:-2px}.student-workspace-page .class-calendar__month-day.is-outside{color:var(--vc-ink-3)}.student-workspace-page .class-calendar__scroll-wrap,.student-workspace-page .class-calendar__weekdays,.student-workspace-page .class-calendar__week-day header,.student-workspace-page .class-calendar__day-hero{border-top:0;border-bottom:0}.student-workspace-page .class-calendar__day-view,.student-workspace-page .class-calendar__week-day{background:var(--lg-surface)}.student-workspace-page .class-calendar__week-day.is-selected{outline:2px solid var(--lg-eco-blue);outline-offset:-2px}.student-workspace-page .class-calendar__date-link{min-width:32px;min-height:32px}.student-workspace-page .class-calendar__legend{font-size:var(--lg-text-xs);text-transform:none;letter-spacing:0;padding-inline:0}.student-workspace-page .class-calendar__goal{font-size:var(--lg-text-xs);line-height:1.4}.student-workspace-page .class-calendar__goal span{white-space:normal;overflow-wrap:anywhere}.student-workspace-page .class-calendar__scroll-wrap:focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:-2px}.app-main.student-classes-page{box-shadow:none;border:0;border-radius:0;padding-block:40px 64px}.student-classes-page .class-directory__heading,.student-classes-page .class-card__goal-summary,.student-classes-page .school-class-card__foot,.student-workspace-page .student-week-navigation__heading,.student-workspace-page .student-progress-list{border:0}.join-class-dialog__input-wrap input:focus{box-shadow:none;border:0;outline:0}@media(max-width:620px){.app-main.student-classes-page{padding-block:24px 40px}}.class-calendar__mobile-count,.class-calendar__mobile-hint{display:none}.student-workspace-page .student-workspace-summary{border-top:0}@media(max-width:620px){.student-workspace-page .class-calendar__month-grid{width:100%;min-width:0}.student-workspace-page .class-calendar__weekdays{padding-block:8px}.student-workspace-page .class-calendar__weekdays span{text-align:center;font-size:var(--lg-text-xs);padding:6px 0}.student-workspace-page .class-calendar__month>li{min-height:80px;padding:8px 2px}.student-workspace-page .class-calendar__month-day header{justify-content:center}.student-workspace-page .class-calendar__month-day .class-calendar__goals,.student-workspace-page .class-calendar__month-day .class-calendar__today{display:none}.student-workspace-page .class-calendar__mobile-count{text-align:center;color:var(--vc-ink-3);font-size:var(--lg-text-xs);white-space:nowrap;margin-top:4px;display:block}.student-workspace-page .class-calendar__mobile-hint{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 16px;display:block}}.app-frame--class-pages{background:var(--lg-surface)}.app-main.class-page-main{background:var(--lg-surface);width:min(1180px,100% - 48px);box-shadow:none;border:0;border-radius:0;margin:0 auto;padding:32px 0 64px}.app-main.class-page-main.classes-page{gap:40px;display:grid}.class-page-main hr{display:none}.class-page-main .school-directory,.class-page-main .class-directory__heading,.class-page-main .teacher-group__heading{border:0}.class-page-main .school-directory{margin-inline:0}.class-page-main .class-card,.class-page-main .school-class-card{background:var(--lg-surface);box-shadow:none;border:1px solid var(--lg-line)}.class-page-main .class-card:before,.class-page-main .class-card:after,.class-page-main .school-class-card:before,.class-page-main .school-class-card:after{display:none}.class-page-main.workspace-page{animation:none}.class-page-main.workspace-page .workspace-hero{background:var(--lg-surface);border:0;flex-wrap:wrap;padding:8px 0 32px;animation:none}.class-page-main.workspace-page .workspace-tabs{border:0;gap:24px;margin:0;animation:none}.class-page-main.workspace-page [role=tabpanel]{animation:none}.class-page-main.workspace-page .workspace-panel{background:var(--lg-surface);margin:0;padding:32px 0 0}.class-page-main.workspace-page .workspace-hero__aside{min-width:0}.class-page-main.workspace-page .workspace-hero__actions,.teacher-workspace-page .workspace-summary{flex-wrap:wrap}.teacher-workspace-page .week-nav{border:1px solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);box-shadow:none;padding:20px}.teacher-workspace-page .goal-card{border-color:var(--lg-line);box-shadow:none;gap:20px;padding:0;overflow:hidden}.teacher-workspace-page .goal-card__image-wrap{width:100%;height:140px;display:block}.teacher-workspace-page .goal-card__image{object-fit:cover;width:100%;height:140px;display:block}.teacher-workspace-page .goal-card__header,.teacher-workspace-page .goal-card__content,.teacher-workspace-page .goal-card__footer{margin-inline:20px}.teacher-workspace-page .goal-card__footer{margin-bottom:20px}.teacher-workspace-page .goal-card__content{gap:12px}.teacher-workspace-page .goal-card__title{font-size:var(--lg-text-md);line-height:1.35}.teacher-workspace-page .goal-card__game-name{color:var(--vc-ink-3);font-size:var(--lg-text-xs)}.class-page-main :is(a,button):focus-visible{outline:2px solid var(--lg-eco-blue);outline-offset:4px}@media(max-width:620px){.app-main.class-page-main{width:calc(100% - 32px);padding:24px 0 40px}.class-page-main.workspace-page .workspace-hero{align-items:flex-start;gap:24px}.class-page-main.workspace-page .workspace-hero__aside{width:100%}.class-page-main.workspace-page .workspace-tabs{gap:20px}.teacher-workspace-page .week-nav{padding:12px}}.class-page-main .workspace-summary__metric{border:0}.teacher-workspace-page .workspace-summary{box-shadow:none;background:0 0;border:0;gap:20px;padding:0;display:flex}.teacher-workspace-page .workspace-hero__actions .button:where(:not([data-slot])){border:2px solid var(--lg-line-strong);box-shadow:none;border-radius:999px}.teacher-workspace-page .icon-button--hero{border:1px solid var(--lg-line);background:var(--lg-surface);min-width:44px;min-height:44px;box-shadow:none;border-radius:999px}.app-frame--class-pages .app-header{background:var(--lg-surface);border-bottom:1px solid var(--lg-line);box-shadow:none}.app-frame--class-pages .top-nav__link{border-radius:var(--lg-radius-sm);box-shadow:none;border:0}.app-frame--class-pages .top-nav__link:before,.app-frame--class-pages .top-nav__link:after{display:none}.class-page-main .class-card__goal-summary,.class-page-main .school-class-card__foot,.teacher-classes-page .class-card__roster{border:0}.app-frame--class-pages .account-control__fallback{color:var(--vc-ink)}@media(max-width:760px){.class-page-main .workspace-hero__identity{align-items:start}.class-page-main .workspace-hero__identity .language-token{margin-top:4px}}@media(max-width:620px){.teacher-workspace-page .workspace-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.teacher-workspace-page .workspace-summary>span{padding-inline:0}.teacher-workspace-page .workspace-summary__metric small{white-space:normal}.class-page-main.workspace-page .workspace-hero__actions{flex-wrap:nowrap;justify-content:flex-start;width:100%}.class-page-main.workspace-page .workspace-hero__actions .button:where(:not([data-slot])){flex:auto;justify-content:center}.student-month-rail{grid-template-columns:auto minmax(0,1fr) auto}.student-workspace-page .student-week-navigation{padding:14px}}@media(min-width:601px)and (max-width:960px){.classes-page .class-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0}.classes-page .class-card__open-corner{grid-column:1/-1;place-self:end}}.dialog-heading__hint{color:var(--vc-ink-3);font-size:var(--lg-text-xs);margin:4px 0 0}:root{font-family:var(--lg-font);--vc-font:var(--lg-font);--vc-display:var(--lg-font);--vc-radius:var(--lg-radius-lg);--vc-radius-sm:var(--lg-radius-md);--vc-shadow-soft:none;--vc-shadow-lift:none}:focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}::selection{background:var(--lg-eco-blue-wash);color:var(--lg-ink)}h1,h2,h3,h4{font-family:var(--lg-font);letter-spacing:var(--lg-track-heading)}h1{font-weight:var(--lg-weight-display);letter-spacing:var(--lg-track-display);line-height:var(--lg-leading-tight)}h2,h3{font-weight:var(--lg-weight-heavy)}.button:where(:not([data-slot])){min-height:var(--lg-target);padding:0 var(--lg-space-5);border:var(--lg-border) solid var(--lg-eco-blue);border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue);box-shadow:none;color:#fff;font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);line-height:var(--lg-leading-ui);letter-spacing:-.005em;transition:scale .24s var(--lg-ease-snappy),background-color var(--lg-dur-fast) var(--lg-ease-out),border-color var(--lg-dur-fast) var(--lg-ease-out),color var(--lg-dur-fast) var(--lg-ease-out)}.button:where(:not([data-slot])):hover:not(:disabled){border-color:var(--lg-eco-blue-press);background:var(--lg-eco-blue-press);box-shadow:none;color:#fff;transform:none}.button:where(:not([data-slot])):active:not(:disabled){box-shadow:none;transform:none;scale:var(--lg-press-scale);transition-duration:var(--lg-dur-instant)}.button:where(:not([data-slot])):disabled{opacity:1;border-color:var(--lg-line);background:var(--lg-line);box-shadow:none;color:var(--lg-ink-3)}.button--quiet:where(:not([data-slot])){border-color:var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-eco-blue-ink)}.button--quiet:where(:not([data-slot])):hover:not(:disabled){border-color:var(--lg-eco-blue);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.button--danger:where(:not([data-slot])){border-color:var(--lg-wrong-soft);background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.button--danger:where(:not([data-slot])):hover:not(:disabled){border-color:var(--lg-wrong);background:var(--lg-wrong);color:#fff}.button:where(:not([data-slot])).is-busy:after{opacity:.8;content:"";width:3px;height:12px;animation:lg-busy-voice .9s var(--lg-ease-in-out) infinite alternate;background:currentColor;border:0;border-radius:2px;margin:0 8px 0 2px;box-shadow:5px 0,10px 0}@keyframes lg-busy-voice{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}.icon-button{width:var(--lg-target);height:var(--lg-target);border:var(--lg-border) solid transparent;border-radius:var(--lg-radius-md);color:var(--lg-ink-2);transition:scale .24s var(--lg-ease-snappy),background-color var(--lg-dur-fast) var(--lg-ease-out),color var(--lg-dur-fast) var(--lg-ease-out)}.icon-button:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.icon-button:active{transform:scale(.94)}.icon-button--hero{border-color:var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface)}.back-link,.panel-link{color:var(--lg-eco-blue-ink);font-weight:var(--lg-weight-strong)}.back-link{min-height:var(--lg-target);color:var(--lg-ink-2)}.back-link:hover{color:var(--lg-eco-blue-ink)}.form-stack label{color:var(--lg-ink);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.form-stack input,.form-stack select,.form-stack textarea,.notes-panel textarea{border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md);background:var(--lg-surface);color:var(--lg-ink);font-size:max(16px,var(--lg-text-sm));transition:border-color var(--lg-dur-fast) var(--lg-ease-out)}.form-stack input,.form-stack select{min-height:var(--lg-target-lg);padding:0 var(--lg-space-4)}.form-stack input:hover,.form-stack select:hover,.notes-panel textarea:hover{border-color:var(--lg-ink-2)}.form-stack input:focus,.form-stack select:focus,.notes-panel textarea:focus{outline:2px solid #0000}.form-stack input:focus-visible,.form-stack select:focus-visible,.notes-panel textarea:focus-visible{border-color:var(--lg-eco-blue);box-shadow:var(--lg-focus);outline:none}.form-stack [aria-invalid=true]{border-color:var(--lg-wrong)}.form-error{color:var(--lg-wrong-ink);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.dialog-backdrop{padding:var(--lg-space-5);animation:lg-fade-in var(--lg-dur-base) var(--lg-ease-out) both;background:#161f327a}.create-dialog{padding:var(--lg-space-6);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-xl);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);animation:lg-dialog-in var(--lg-dur-spring) var(--lg-ease-pop) both}.create-dialog.is-closing{opacity:0;transition:opacity var(--lg-dur-fast) var(--lg-ease-in),transform var(--lg-dur-fast) var(--lg-ease-in);transform:translateY(8px)scale(.98)}@keyframes lg-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.96)}}.dialog-heading h2{font-size:var(--lg-text-xl);line-height:var(--lg-leading-snug)}.dialog-actions{gap:var(--lg-space-3)}.join-class-dialog__input-wrap{border:var(--lg-border) solid var(--lg-ink-3);border-radius:var(--lg-radius-md)}.join-class-dialog__input-wrap:focus-within{border-color:var(--lg-eco-blue);box-shadow:var(--lg-focus);transform:none}@media(max-width:639.98px){.create-dialog{padding:var(--lg-space-5);border-radius:var(--lg-radius-lg)}}.panel-heading h2{font-size:var(--lg-text-lg)}.workspace-shell{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);box-shadow:none}.empty-state,.state-surface{gap:var(--lg-space-3);min-height:160px;padding:var(--lg-space-6);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);color:var(--lg-ink-2);font-size:var(--lg-text-sm)}.empty-state h2,.state-surface strong{color:var(--lg-ink);font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy);line-height:var(--lg-leading-snug)}.state-surface__title{color:inherit;font-family:var(--lg-font);font-size:var(--lg-text-md);font-weight:var(--lg-weight-heavy);line-height:var(--lg-leading-snug);margin:0}.state-surface--error .state-surface__title{color:var(--lg-wrong-ink)}.state-surface--error{border-color:var(--lg-wrong-soft);background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.state-surface--error>svg{color:var(--lg-wrong);flex:none}.state-surface--error strong{color:var(--lg-wrong-ink)}.state-surface--error a{color:var(--lg-eco-blue-ink);font-weight:var(--lg-weight-strong)}.state-surface--error .button:where(:not([data-slot])){margin-top:var(--lg-space-4)}.state-surface__actions{align-items:center;justify-content:inherit;gap:var(--lg-space-3);margin-top:var(--lg-space-4);flex-wrap:wrap;display:flex}.state-surface__actions .lg-btn{min-height:var(--lg-target)}.state-surface--loading{background:0 0;border:0;min-height:260px}.lg-page-loader{justify-items:center;gap:var(--lg-space-4);animation:lg-fade-in var(--lg-dur-base) var(--lg-ease-out) .3s both;display:grid}.lg-page-loader__eco{isolation:isolate;place-items:center;width:152px;height:152px;display:grid}.lg-page-loader__eco:before,.lg-page-loader__eco:after{z-index:-1;animation-duration:2.8s;top:4%;right:4%;bottom:4%;left:4%}.lg-page-loader__disc{z-index:-2;background:var(--lg-eco-blue-wash);width:100%;height:100%;animation:lg-loader-breathe 3.2s var(--lg-ease-in-out) infinite alternate;border-radius:50%;grid-area:1/1}.lg-page-loader__eco>img{width:auto;height:120px;animation:lg-loader-eco-in var(--lg-dur-spring) var(--lg-ease-pop) .3s both;grid-area:1/1;display:block;translate:0 6px}.lg-page-loader .lg-bars{color:var(--lg-eco-blue)}.lg-page-loader__label{color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);line-height:var(--lg-leading-ui);text-align:center;text-wrap:balance}.lg-page-loader--compact{gap:var(--lg-space-3)}.lg-page-loader--compact .lg-page-loader__eco{width:104px;height:104px}.lg-page-loader--compact .lg-page-loader__eco>img{height:84px;translate:0 4px}@keyframes lg-loader-breathe{0%{scale:.96}to{scale:1.02}}@keyframes lg-loader-eco-in{0%{opacity:0;translate:0 14px;scale:.85}40%{opacity:1}}.lg-skel{gap:var(--lg-space-3);width:100%;display:grid}.lg-skel__item,.lg-skel__row{align-items:center;gap:var(--lg-space-3);animation:lg-fade-in var(--lg-dur-base) var(--lg-ease-out) both;display:flex}.lg-skel>:nth-child(2){animation-delay:45ms}.lg-skel>:nth-child(3){animation-delay:90ms}.lg-skel>:nth-child(4){animation-delay:.135s}.lg-skel>:nth-child(5){animation-delay:.18s}.lg-skel>:nth-child(6){animation-delay:.225s}.lg-skel>:nth-child(7){animation-delay:.27s}.lg-skel>:nth-child(n+8){animation-delay:.315s}.lg-skel__text{gap:var(--lg-space-2);flex:1;min-width:0;display:grid}.lg-skel__line{border-radius:var(--lg-radius-sm);height:14px}.lg-skel__line--short{width:56%;height:12px}.lg-skel__dot{border-radius:50%;flex:none;width:40px;height:40px}.lg-skel--rows .lg-skel__item{min-height:64px;padding:var(--lg-space-3) var(--lg-space-4);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface)}.lg-skel--cards{gap:var(--lg-space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.lg-skel--cards .lg-skel__item{min-height:148px;padding:var(--lg-space-6);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);flex-direction:column;justify-content:space-between;align-items:stretch}.lg-skel--cards .lg-skel__dot{border-radius:var(--lg-radius-md);width:48px;height:48px}.lg-skel--cards .lg-skel__text{flex:none}.lg-skel--stats{gap:var(--lg-space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.lg-skel--stats .lg-skel__item{min-height:96px;padding:var(--lg-space-4);border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface)}.lg-skel--stats .lg-skel__line{width:48%;height:24px}.lg-skel--stats .lg-skel__line--short{width:72%;height:12px}.lg-skel--table{border:var(--lg-border) solid var(--lg-line);border-radius:var(--lg-radius-md);background:var(--lg-surface);gap:0;overflow:hidden}.lg-skel__row{min-height:52px;padding:0 var(--lg-space-4);border-top:var(--lg-border) solid var(--lg-line)}.lg-skel__row>.lg-skeleton{flex:1;height:12px}.lg-skel__row>.lg-skeleton:first-child{flex:2}.lg-skel__row--head{background:var(--lg-canvas);border-top:0;min-height:44px}.lg-skel__row--head>.lg-skeleton{opacity:.7;height:10px}.state-surface--skeleton{background:0 0;border:0;min-height:0;padding:0;display:block}.local-loading-surface--skeleton{width:100%;display:block}.lg-bars--inline{color:var(--lg-eco-blue);vertical-align:middle}.lg-bars--inline.lg-bars--current{color:currentColor}.lg-bars--xs{gap:2px;height:12px}.lg-bars--xs i{width:3px}.lg-bars--md{gap:5px;height:28px}.lg-bars--md i{border-radius:3px;width:6px}.local-loading-surface{color:var(--lg-ink-2);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);letter-spacing:0;text-transform:none}.local-loading-surface .lg-bars{color:var(--lg-eco-blue)}@media(prefers-reduced-motion:reduce){.button:where(:not([data-slot])),.icon-button,.create-dialog{transition-duration:0s}.button:where(:not([data-slot])).is-busy:after{animation:none}.create-dialog,.lg-page-loader{animation-name:lg-fade-in;animation-duration:.16s}.lg-page-loader__disc,.lg-skel__item,.lg-skel__row{animation:none}.lg-page-loader__eco>img{animation:lg-fade-in .16s var(--lg-ease-out) .3s both;translate:0 6px}}:root[data-motion=reduced] .lg-page-loader{animation:lg-fade-in .16s var(--lg-ease-out) .3s both}:root[data-motion=reduced] .lg-page-loader__disc,:root[data-motion=reduced] .lg-skel__item,:root[data-motion=reduced] .lg-skel__row{animation:none}:root[data-motion=reduced] .lg-page-loader__eco>img{animation:lg-fade-in .16s var(--lg-ease-out) .3s both}:root[data-motion=reduced] .button:where(:not([data-slot])).is-busy:after{animation:none}@keyframes lg-shell-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes lg-shell-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes lg-shell-fade{0%{opacity:0}to{opacity:1}}.lg-icon{fill:currentColor;flex:none}.app-main,.app-main:has(.workspace-page){background:var(--lg-canvas)}.app-frame .scroll-progress{background:var(--lg-eco-blue)}.app-frame .skip-link{min-height:var(--lg-target);border:2px solid var(--lg-eco-blue);border-radius:var(--lg-radius-pill);background:var(--lg-eco-blue);color:#fff;font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy);box-shadow:none;align-items:center;padding:0 16px;display:inline-flex}.app-frame .ink-ripple{background:var(--lg-eco-blue)}.app-frame .app-header{border-bottom:2px solid var(--lg-line);background:var(--lg-surface);box-shadow:none}.app-frame .app-header.is-stuck{background:var(--lg-surface);box-shadow:none}.app-frame .app-header__inner{width:min(100%,calc(var(--lg-content) + 2 * var(--lg-margin)));min-height:72px;padding-inline:var(--lg-margin);margin:0 auto}.app-frame .brand:after{display:none}.app-frame .brand:hover,.app-frame .brand:hover img{transform:none}.app-frame .top-nav__link{min-height:var(--lg-target);border-radius:var(--lg-radius-pill);box-shadow:none;color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);background:0 0;border:0;padding:0 16px;transition:background-color .16s,color .16s;transform:none}.app-frame .top-nav__link:hover,.app-frame .top-nav__link:focus-visible{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.app-frame .top-nav__link.is-active{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);font-weight:var(--lg-weight-heavy)}.app-frame .top-nav__link:active{box-shadow:none;transform:none}.app-frame .top-nav__icon{flex:0 0 22px;width:22px;height:22px;transition:none;transform:none}.app-frame .top-nav__toggle{width:var(--lg-target);height:var(--lg-target);flex:0 0 var(--lg-target);border:2px solid var(--lg-line);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink);border-radius:16px;transform:none}.app-frame .top-nav__toggle:hover,.app-frame .top-nav__toggle:focus-visible{border-color:var(--lg-eco-blue-wash);background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.app-frame .top-nav__toggle:active{box-shadow:none;transform:none}.app-frame .environment-menu__trigger{min-height:var(--lg-target);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);color:var(--lg-ink);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong);padding:0 14px}.app-frame .environment-menu__trigger:hover,.app-frame .environment-menu__trigger.is-open{border-color:var(--lg-eco-blue);background:var(--lg-surface);color:var(--lg-eco-blue-ink)}.app-frame .environment-menu__popover{border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);width:248px;box-shadow:var(--lg-shadow-float);gap:4px;padding:8px;animation:.16s ease-out both lg-shell-pop-in}.app-frame .environment-menu__item{min-height:var(--lg-target);color:var(--lg-ink-2);border-radius:16px;padding:6px 12px}.app-frame .environment-menu__item:hover,.app-frame .environment-menu__item.is-active{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-frame .environment-menu__item span{font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong)}.app-frame .environment-menu__item small{color:var(--lg-ink-2);font-size:var(--lg-text-xs)}.app-frame .nav-stats{gap:var(--lg-space-1);min-height:var(--lg-target);border:0;padding:0}.app-frame .nav-stat{min-height:var(--lg-target);border-radius:var(--lg-radius-pill);color:var(--lg-ink-2);padding:0 12px;transform:none}.app-frame .nav-stat+.nav-stat{border-left:0}.app-frame .nav-stat:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink);transform:none}.app-frame .nav-stat strong{color:var(--lg-eco-blue-ink);font-family:var(--lg-font-display);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-display);font-variant-numeric:tabular-nums}.app-frame .nav-stat small{color:var(--lg-ink-2);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-strong)}.app-frame .nav-stat>span{color:var(--lg-eco-blue-ink);font-size:var(--lg-text-xs);opacity:.72}.app-frame .account-control__profile{min-height:var(--lg-target);min-width:var(--lg-target);border:2px solid var(--lg-line);border-radius:var(--lg-radius-pill);background:var(--lg-surface);box-shadow:none;color:var(--lg-ink);gap:8px;padding:2px 10px 2px 2px;overflow:visible;transform:none}.app-frame .account-control__profile:hover{border-color:var(--lg-eco-blue);background:var(--lg-surface);color:var(--lg-ink);transform:none}.app-frame .account-control__profile.is-open{border-color:var(--lg-eco-blue);background:var(--lg-surface);color:var(--lg-eco-blue-ink)}.app-frame .account-control__profile .account-control__avatar{background:var(--lg-eco-blue-wash);width:36px;height:36px;box-shadow:none;border:0;border-radius:50%;flex:0 0 36px;transform:none}.app-frame .account-control__profile .account-control__avatar .account-control__fallback{color:var(--lg-eco-blue-ink);font-family:var(--lg-font);font-size:var(--lg-text-xs);font-weight:var(--lg-weight-heavy);background:0 0}.app-frame .account-control__profile:hover .account-control__avatar{transform:none}.app-frame .account-menu__popover{border:2px solid var(--lg-line);border-radius:var(--lg-radius-lg);background:var(--lg-surface);width:248px;box-shadow:var(--lg-shadow-float);padding:8px;animation:.16s ease-out both lg-shell-pop-in}.app-frame .account-menu__identity{border-bottom:2px solid var(--lg-line);margin-bottom:4px;padding:10px 12px 12px}.app-frame .account-menu__identity strong{color:var(--lg-ink);font-family:var(--lg-font);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-heavy)}.app-frame .account-menu__identity span{color:var(--lg-ink-3);font-size:var(--lg-text-xs)}.app-frame .account-menu__popover a,.app-frame .account-menu__popover form button,.app-frame .account-menu__popover .account-menu__signout{min-height:var(--lg-target);color:var(--lg-ink-2);font-size:var(--lg-text-sm);font-weight:var(--lg-weight-strong);background:0 0;border:0;border-radius:16px;gap:10px;padding:0 12px}.app-frame .account-menu__popover a:hover,.app-frame .account-menu__popover form button:hover{background:var(--lg-eco-blue-wash);color:var(--lg-eco-blue-ink)}.app-frame .account-menu__popover .account-menu__signout{color:var(--lg-wrong-ink);margin-top:4px}.app-frame .account-menu__popover .account-menu__signout:hover{background:var(--lg-wrong-wash);color:var(--lg-wrong-ink)}.app-frame .account-menu__popover form{border:0;margin:4px 0 0;padding:0}.app-frame .account-menu__icon{flex:0 0 20px;width:20px;height:20px}@media(max-width:759px){.app-frame .app-header__inner{gap:8px;min-height:64px}.app-frame .top-nav{border:2px solid var(--lg-line);background:var(--lg-surface);box-shadow:var(--lg-shadow-float);border-top:0;border-radius:0 0 24px 24px;padding:10px}.app-frame .top-nav.is-open{animation:.16s ease-out both lg-shell-menu-in}.app-frame .top-nav__link{min-height:48px;padding-inline:16px}.app-frame .account-control__profile .account-control__avatar{flex-basis:36px;width:36px;height:36px}}@media(prefers-reduced-motion:reduce){.app-frame .top-nav.is-open,.app-frame .account-menu__popover,.app-frame .environment-menu__popover{animation-name:lg-shell-fade}.app-frame .ink-ripple{display:none}}:root[data-motion=reduced] .app-frame .top-nav.is-open,:root[data-motion=reduced] .app-frame .account-menu__popover,:root[data-motion=reduced] .app-frame .environment-menu__popover{animation-name:lg-shell-fade}:root[data-motion=reduced] .app-frame .ink-ripple{display:none}.join-class-dialog__input-wrap:focus-within,.module-page--library .module-row--pink:focus-visible,.student-goal-card:focus-visible,.review-section-nav__card:focus-visible,.review-goal-card:focus-visible,.classes-page .class-card__open-corner:focus-visible{outline:3px solid var(--lg-eco-blue);outline-offset:3px}.verb-settings-name input:focus-visible{box-shadow:var(--lg-focus)}.email-verify-banner{justify-content:space-between;align-items:center;gap:var(--lg-space-3,12px) var(--lg-space-5);margin:var(--lg-space-3,12px) clamp(16px,4vw,48px) 0;border:var(--lg-border) solid var(--lg-eco-blue-soft);border-radius:var(--lg-radius-md);background:var(--lg-eco-blue-wash);color:var(--lg-ink-2);font-size:var(--lg-text-sm);line-height:var(--lg-leading-body);flex-wrap:wrap;padding:14px 18px;display:flex}.email-verify-banner p{margin:0}.email-verify-banner strong{color:var(--lg-ink);font-weight:var(--lg-weight-heavy)}.email-verify-banner__error{color:var(--lg-wrong-ink)}.email-verify-banner__action,.email-gate__primary,.email-gate__secondary{border-radius:var(--lg-radius-pill);min-height:48px;font:inherit;font-weight:var(--lg-weight-heavy);cursor:pointer;transition:transform var(--lg-dur-instant) ease-out,background-color var(--lg-dur-fast) ease-out,border-color var(--lg-dur-fast) ease-out;padding:0 22px}.email-verify-banner__action,.email-gate__primary{background:var(--lg-eco-blue);color:var(--lg-surface);border:0}.email-verify-banner__action:hover,.email-gate__primary:hover{background:var(--lg-eco-blue-press)}.email-gate__secondary{border:var(--lg-border) solid var(--lg-line-strong);background:var(--lg-surface);color:var(--lg-ink)}.email-gate__secondary:hover{border-color:var(--lg-ink-3)}.email-verify-banner__action:active,.email-gate__primary:active,.email-gate__secondary:active{transform:scale(var(--lg-press-scale))}.email-verify-banner__action:focus-visible,.email-gate__primary:focus-visible,.email-gate__secondary:focus-visible,.email-gate__signout button:focus-visible{box-shadow:var(--lg-focus);outline:2px solid #0000}.email-verify-banner__action:disabled,.email-gate__primary[aria-disabled=true],.email-gate__secondary[aria-disabled=true]{opacity:.6;cursor:default}.email-gate{z-index:1000;padding:var(--lg-space-5);background:#161f328c;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.email-gate__panel{border-radius:var(--lg-radius-xl);background:var(--lg-surface);width:min(100%,480px);color:var(--lg-ink-2);line-height:var(--lg-leading-body);animation:email-gate-in var(--lg-dur-base) cubic-bezier(.2,.8,.2,1);padding:clamp(24px,5vw,40px)}.email-gate__panel h2{color:var(--lg-ink);font-size:var(--lg-text-xl);font-weight:var(--lg-weight-display);line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-heading);margin:0 0 12px}.email-gate__panel p{margin:0 0 16px}.email-gate__panel strong{color:var(--lg-ink);overflow-wrap:anywhere}.email-gate__status{color:var(--lg-correct-ink)}.email-gate__status:empty{margin:0}.email-gate__error{color:var(--lg-wrong-ink)}.email-gate__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.email-gate__signout{margin-top:20px}.email-gate__signout button{min-height:44px;color:var(--lg-ink-3);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@keyframes email-gate-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes email-gate-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.email-gate__panel{animation-name:email-gate-fade;animation-duration:var(--lg-dur-fast)}.email-verify-banner__action,.email-gate__primary,.email-gate__secondary{transition:none}}.site-notice{width:min(560px,100% - 2 * var(--lg-space-4));min-height:calc(100dvh - 120px);padding-block:var(--lg-space-6);align-content:center;justify-items:center;gap:var(--lg-space-4);text-align:center;color:var(--lg-ink);margin:0 auto;display:grid}.site-notice img{width:auto;height:80px}.site-notice h1{font-family:var(--lg-font);font-size:clamp(1.75rem,1.4rem + 1.4vw,2.25rem);font-weight:900;line-height:var(--lg-leading-tight);letter-spacing:var(--lg-track-display);text-wrap:balance;margin:0}.site-notice p{max-width:46ch;color:var(--lg-ink-2);font-size:var(--lg-text-md);line-height:var(--lg-leading-body);text-wrap:pretty;margin:0}.site-notice__actions{justify-content:center;align-items:center;gap:var(--lg-space-3);flex-wrap:wrap;display:flex}.site-notice__signout{margin:0}:is(button,a,summary,[role=button],[role=tab],[role=menuitem]):focus-visible:not(:disabled,[aria-disabled=true]) [data-anim]{animation:var(--i-anim,none)}:is(button,a,summary,[role=button],[role=tab],[role=menuitem]):focus-visible:not(:disabled,[aria-disabled=true]) [data-anim]>[data-part]{animation:var(--i-part,none)}@media(hover:hover)and (pointer:fine){:is(button,a,summary,[role=button],[role=tab],[role=menuitem]):hover:not(:disabled,[aria-disabled=true]) [data-anim]{animation:var(--i-anim,none)}:is(button,a,summary,[role=button],[role=tab],[role=menuitem]):hover:not(:disabled,[aria-disabled=true]) [data-anim]>[data-part]{animation:var(--i-part,none)}}.button:where(:not([data-slot])){--btn-echo:var(--lg-eco-blue);isolation:isolate;position:relative;overflow:visible}.button--danger:where(:not([data-slot])){--btn-echo:var(--lg-wrong)}.button:where(:not([data-slot])):not(.is-busy):before,.button:where(:not([data-slot])):not(.is-busy):after{content:"";inset:calc(var(--lg-border) * -1);border-radius:inherit;pointer-events:none;opacity:0;border:2px solid var(--btn-echo);position:absolute}.button:where(:not([data-slot])).lg-echo:not(.is-busy):after{animation:lg-echo var(--lg-echo-dur) var(--lg-ease-out)}.button:where(:not([data-slot])).lg-echo:not(.is-busy):before{--echo-k:.6;animation:lg-echo var(--lg-echo-dur) var(--lg-ease-out) 90ms}.lg-swap-in{animation:lg-pop-in var(--lg-dur-spring) var(--lg-ease-pop) both}[aria-pressed=true]>svg[data-anim=blink]{animation:lg-i-blink-in .3s var(--lg-ease-out)}@keyframes lg-i-blink-in{0%{scale:1 .1}}.form-error{animation:lg-rise var(--lg-dur-base) var(--lg-ease-out) both}:is(input,textarea,select)[aria-invalid=true]{animation:.42s both lg-shake}@media(prefers-reduced-motion:reduce){:is(button,a,summary,[role=button],[role=tab],[role=menuitem]) [data-anim],:is(button,a,summary,[role=button],[role=tab],[role=menuitem]) [data-anim]>[data-part]{animation:none!important}.button:where(:not([data-slot])).lg-echo:before,.button:where(:not([data-slot])).lg-echo:after{animation:none}.lg-swap-in,.form-error{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both}[aria-pressed=true]>svg[data-anim=blink],:is(input,textarea,select)[aria-invalid=true]{animation:none}}:root[data-motion=reduced] :is(button,a,summary,[role=button],[role=tab],[role=menuitem]) [data-anim],:root[data-motion=reduced] :is(button,a,summary,[role=button],[role=tab],[role=menuitem]) [data-anim]>[data-part]{animation:none!important}:root[data-motion=reduced] .button:where(:not([data-slot])).lg-echo:before,:root[data-motion=reduced] .button:where(:not([data-slot])).lg-echo:after{animation:none}:root[data-motion=reduced] .lg-swap-in,:root[data-motion=reduced] .form-error{animation:lg-fade-in var(--lg-dur-fast) var(--lg-ease-out) both}:root[data-motion=reduced] [aria-pressed=true]>svg[data-anim=blink],:root[data-motion=reduced] :is(input,textarea,select)[aria-invalid=true]{animation:none}.app-main h1{font-size:clamp(1.625rem,1.3rem + 1vw,2.125rem)!important;line-height:1.1!important}:is(.app-main,.dialog-backdrop) :is(input:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=submit],[type=button],[type=color],[type=file]),select,textarea):not(:disabled,:focus,:focus-visible,[aria-invalid=true]),:is(.app-main,.dialog-backdrop) .join-class-dialog__input-wrap:not(:focus-within){border-color:var(--lg-ink-3)!important}@media(max-width:479px){:is(.review-sidebar__nav,.student-goals-sidebar__nav){grid-template-columns:minmax(0,1fr)!important}}
