:root{--color-brand-green:#8ab925;--color-brand-green-dark:#55782c;--color-brand-ink:#333233;--color-brand-navy:#1a2e3d;--color-brand-blue:#3fa5c3;--color-brand-purple:#765aa3;--color-brand-red:#e61d47;--color-brand-pink:#eb889f;--color-brand-yellow:#f4bb2f;--color-brand-coral:#ee7566;--color-brand-sand:#fafafa;--color-green-100:#d9e3c1;--color-green-200:#c4d49f;--color-green-300:#b4cf76;--color-green-400:#a3c94b;--color-navy-100:#4d5457;--color-navy-200:#495154;--color-navy-300:#343f45;--color-navy-400:#253540;--color-yellow-100:#f5ebdc;--color-yellow-200:#f0ce86;--color-yellow-300:#f2c250;--color-blue-100:#b4cbd1;--color-blue-200:#9fc7d1;--color-blue-300:#7abccc;--color-blue-400:#58afc7;--color-red-100:#eb889f;--color-red-200:#e87993;--color-red-300:#e85a7c;--color-red-400:#e83f66;--color-purple-100:#b7afc4;--color-purple-200:#aea3bf;--color-purple-300:#9786b3;--color-purple-400:#8771ab;--color-purple-900:#3b2560;--color-gray-disabled:#aaa;--color-gray-secondary:gray;--color-primary:var(--color-brand-purple);--color-primary-strong:var(--color-purple-900);--color-primary-soft:#f4f2f8;--color-accent:var(--color-brand-green);--color-text:var(--color-brand-ink);--color-text-muted:var(--color-navy-100);--color-text-on-primary:#fff;--color-text-disabled:var(--color-gray-secondary);--color-bg:var(--color-brand-sand);--color-surface:#fff;--color-surface-muted:var(--color-primary-soft);--color-border:#dcd8d1;--color-border-strong:#8e8a86;--color-link:var(--color-primary);--color-link-hover:var(--color-primary-strong);--color-error:#c0183c;--color-error-bg:#fde8ed;--color-error-border:var(--color-brand-red);--color-success:var(--color-brand-green-dark);--color-success-bg:var(--color-green-100);--color-success-border:var(--color-brand-green-dark);--color-warning:#b07a00;--color-warning-bg:var(--color-yellow-100);--color-warning-border:var(--color-warning);--color-info:var(--color-brand-navy);--color-info-bg:#e8f4f8;--color-info-border:var(--color-brand-navy);--color-surface-dark:var(--color-brand-navy);--color-text-on-dark:#fff;--color-text-on-dark-muted:var(--color-blue-100);--color-link-on-dark:var(--color-blue-200);--color-overlay-backdrop:#1a2e3deb;--line-color-1:var(--color-brand-purple);--line-color-2:var(--color-brand-green-dark);--line-color-3:#24778f;--line-color-4:var(--color-brand-navy);--line-color-5:var(--color-warning);--line-color-6:#b8503f;--color-live:var(--color-brand-red);--font-family-base:poppins, system-ui, -apple-system, "Segoe UI", roboto, sans-serif;--font-size-xs:.8125rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.3125rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-base:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-pill:999px;--radius-button:25px;--radius-card:30px;--radius-field:12px;--radius-sm:8px;--shadow-card:0 5px 5px 2px #0000001a;--shadow-button:0 5px 5px 2px #0000001a;--focus-outline:2px solid var(--color-primary);--focus-ring:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-primary);--container-max:1440px;--container-narrow:37.5rem;--control-height-lg:3.5rem;--container-pad:var(--space-4);--control-height:3rem;--control-height-sm:2rem;--z-dialog:50;--duration-fast:.15s;--duration-base:.25s;--easing-standard:cubic-bezier(.2, .7, .3, 1);--motion-fast:.15s;--motion-base:.25s;--motion-slow:.4s;--motion-celebrate:.9s;--ease-out:cubic-bezier(.2, .7, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .25, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/poppins-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex;overflow-x:hidden}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1,h2,h3{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}a{color:var(--color-link);text-underline-offset:.15em;text-decoration:underline}a:hover{color:var(--color-link-hover)}button,input{font:inherit;color:inherit}button{cursor:pointer}svg{display:block}:focus-visible{outline:var(--focus-outline);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-2);left:var(--space-2);z-index:10;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.text-muted{color:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width>=768px){h1{font-size:var(--font-size-3xl)}}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}.app-header{background:var(--color-surface);box-shadow:var(--shadow-card)}.app-header__inner{align-items:center;gap:0 var(--space-2);min-height:4rem;padding-block:var(--space-2);grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand points menu""panel panel panel";display:grid}.brand{align-items:center;gap:var(--space-3);min-width:0;color:var(--color-text);border-radius:var(--radius-sm);grid-area:brand;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-text)}.brand__symbol{flex:none;width:2.25rem;height:2.25rem}.brand__text{min-width:0;line-height:var(--line-height-tight);flex-direction:column;display:flex}.brand__kicker,.brand__name{text-overflow:ellipsis;overflow:hidden}.brand__kicker{font-size:var(--font-size-xs);color:var(--color-text-muted)}.brand__name{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.app-header__points{grid-area:points}.app-header__menu-button{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;grid-area:menu;justify-content:center;align-items:center;padding:0;display:inline-flex}.app-header__menu-button:hover{color:var(--color-primary-strong);background:var(--color-surface-muted)}.app-header__menu-button .icon{width:1.5rem;height:1.5rem}.app-header__panel{grid-area:panel;display:none}.app-header__panel.is-open{gap:var(--space-2);margin-top:var(--space-2);padding-block:var(--space-3) var(--space-1);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.app-header__panel .btn--sm{min-height:2.75rem}.app-header__user{align-items:flex-start;gap:var(--space-1);min-width:0;line-height:var(--line-height-tight);flex-direction:column;grid-area:user;display:flex}.app-header__greeting{font-weight:var(--font-weight-semibold)}.app-header__school{font-size:var(--font-size-sm);color:var(--color-text-muted)}.app-header__nav{align-items:flex-start;gap:var(--space-1);flex-direction:column;grid-area:nav;display:flex}.points-pill{align-items:center;gap:var(--space-1);min-height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-primary-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-flex}.points-pill__icon{width:1.125rem;height:1.125rem}.nav-link{min-height:2.75rem;padding-inline:var(--space-2);color:var(--color-text);font-weight:var(--font-weight-semibold);border-radius:var(--radius-sm);align-items:center;text-decoration:none;display:inline-flex}.nav-link:hover{color:var(--color-primary-strong);text-decoration:underline}.app-main{padding-block:var(--space-6);flex-direction:column;flex:1 0 auto;display:flex}.app-main:focus{outline:none}.app-main--access{padding-block:var(--space-5);justify-content:center}.page{width:100%;max-width:var(--container-max);padding-inline:var(--container-pad);margin-inline:auto}@media (width<=1440px){.page{max-width:90%}}@media (width<=600px){.page{max-width:100%}}.page--narrow{max-width:calc(var(--container-narrow) + 2 * var(--container-pad))}.app-footer{padding-block:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.app-footer a{color:inherit}@media (width<400px){.brand__kicker{display:none}.points-pill{padding-inline:var(--space-2)}}body.has-dialog{overflow:hidden}@media (width>=768px){.app-main{padding-block:var(--space-8)}.app-main--access{padding-block:var(--space-7)}.brand__symbol{width:2.75rem;height:2.75rem}.brand__name{font-size:var(--font-size-lg)}.app-header__inner{gap:var(--space-2) var(--space-4);grid-template-columns:auto 1fr auto auto;grid-template-areas:"brand user points nav"}.app-header__menu-button{display:none}.app-header__panel,.app-header__panel.is-open{display:contents}.app-header__user{padding-left:var(--space-4);border-left:1px solid var(--color-border)}.app-header__points{margin-inline-end:calc(var(--space-3) - var(--space-4))}.app-header__nav{align-items:center;gap:var(--space-3);flex-direction:row}.app-header__panel .btn--sm{min-height:var(--control-height-sm)}}.card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-5)}.card__title{margin-bottom:var(--space-2)}.card__lead{color:var(--color-text-muted)}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack--tight{gap:var(--space-2)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-height);padding:var(--space-2) var(--space-5);border-radius:var(--radius-button);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:center;transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard);border:2px solid #0000;text-decoration:none;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-text-on-primary);box-shadow:var(--shadow-button)}.btn--primary:hover{background:var(--color-primary-strong);color:var(--color-text-on-primary)}.btn--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.btn--secondary:hover{background:var(--color-primary-soft);color:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn--ghost{color:var(--color-primary);min-height:2.75rem;padding-inline:var(--space-3);background:0 0}.btn--ghost:hover{background:var(--color-primary-soft);color:var(--color-primary-strong)}.btn--sm{min-height:var(--control-height-sm);padding-inline:var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-pill)}.btn--lg{min-height:var(--control-height-lg);padding-inline:var(--space-6);font-size:var(--font-size-lg);border-radius:var(--radius-card)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;box-shadow:none}.btn--primary:disabled,.btn--primary[aria-disabled=true]{background:var(--color-purple-100);color:var(--color-text-on-primary)}.btn--secondary:disabled,.btn--secondary[aria-disabled=true],.btn--ghost:disabled,.btn--ghost[aria-disabled=true]{color:var(--color-text-disabled);border-color:var(--color-gray-disabled);background:var(--color-surface)}.btn__label{place-content:center;align-items:center;display:flex}.btn.is-loading .btn__label{opacity:.85}.btn__icon{flex:none;width:1.125rem;height:1.125rem}.icon{flex:none;width:1.25rem;height:1.25rem}.badge{align-items:center;gap:var(--space-1);min-height:var(--control-height-sm);padding-inline:var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;display:inline-flex}.badge--success{background:var(--color-success-bg);color:var(--color-text)}.badge--success .badge__icon{width:1rem;height:1rem;color:var(--color-success)}.progress{border-radius:var(--radius-pill);background:var(--color-border);height:.75rem;overflow:hidden}.progress__fill{border-radius:var(--radius-pill);background:var(--color-primary);height:100%}.progress--sm{height:.5rem}.progress--success .progress__fill{background:var(--color-success)}.link-button{color:var(--color-link);font-size:var(--font-size-sm);text-underline-offset:.15em;border-radius:var(--radius-sm);background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.link-button:hover{color:var(--color-link-hover)}.link-row{gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-weight:var(--font-weight-semibold)}.field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.field__input{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-4);border:2px solid var(--color-border-strong);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-text);transition:border-color var(--duration-fast) var(--easing-standard)}.field__input:hover{border-color:var(--color-primary)}.field__input:focus-visible{border-color:var(--color-primary);outline:var(--focus-outline);outline-offset:2px}.field__input:disabled{background:var(--color-bg);color:var(--color-text-disabled)}.field--invalid .field__input{border-color:var(--color-error)}.field__error{align-items:flex-start;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-error);display:flex}.field__error-icon{flex:none;width:1.125rem;height:1.125rem;margin-top:.125rem}.field__input--code{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:.25em;text-align:center;text-transform:uppercase}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);color:var(--color-text);border:1px solid;border-left-width:4px;display:flex}.alert__icon{flex:none;width:1.5rem;height:1.5rem}.alert__body{align-items:flex-start;gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.alert__title{font-weight:var(--font-weight-bold)}.alert--info{background:var(--color-info-bg);border-color:var(--color-info-border)}.alert--info .alert__icon{color:var(--color-info)}.alert--success{background:var(--color-success-bg);border-color:var(--color-success-border)}.alert--success .alert__icon{color:var(--color-success)}.alert--warning{background:var(--color-warning-bg);border-color:var(--color-warning-border)}.alert--warning .alert__icon{color:var(--color-warning)}.alert--error{background:var(--color-error-bg);border-color:var(--color-error-border)}.alert--error .alert__icon{color:var(--color-error)}.spinner{align-items:center;gap:var(--space-2);color:inherit;display:inline-flex}.spinner__icon{width:1.5rem;height:1.5rem;animation:.9s linear infinite spinner-rotate}.spinner--sm .spinner__icon{width:1.125rem;height:1.125rem}.spinner--lg .spinner__icon{width:2.5rem;height:2.5rem}.spinner__track{opacity:.25}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner__icon{animation:none}}.loading-block{align-items:center;gap:var(--space-3);padding-block:var(--space-7);color:var(--color-text-muted);flex-direction:column;display:flex}.auth-card{padding:var(--space-6) var(--space-5);position:relative;overflow:hidden}.auth-card>:not(.auth-card__watermark){position:relative}.auth-card__brand{align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.auth-card__symbol{flex:none;width:3.5rem;height:3.5rem}.auth-card__brand-text{gap:var(--space-1);line-height:var(--line-height-tight);flex-direction:column;display:flex}.auth-card__kicker{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.auth-card__portal{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary-strong)}.auth-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2)}.auth-card__lead{color:var(--color-text-muted);margin-bottom:var(--space-5)}.auth-card__email{font-weight:var(--font-weight-semibold);color:var(--color-text)}.auth-card__form{gap:var(--space-4);flex-direction:column;display:flex}.auth-card__actions{margin-top:var(--space-2)}.auth-card__links{margin-top:var(--space-5)}.auth-card__staff{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.auth-card__staff-title{margin-bottom:var(--space-2)}.auth-card__resend{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.auth-card__watermark{width:12rem;height:12rem;color:var(--color-primary-soft);pointer-events:none;position:absolute;bottom:-3rem;right:-3rem}.access-test__checking{min-height:var(--control-height);color:var(--color-text-muted);align-items:center;display:flex}.access-test__domains{padding-left:var(--space-5);margin:0}.access-test__domains code{font-family:inherit;font-weight:var(--font-weight-semibold)}.access-test__video-title{margin-bottom:var(--space-2)}.access-test__video-text{margin-bottom:var(--space-3);color:var(--color-text-muted)}.access-test__embed{border-radius:var(--radius-field);overflow:hidden}.access-test__player{aspect-ratio:16/9;padding:var(--space-4);border:2px dashed var(--color-border-strong);border-radius:var(--radius-field);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;justify-content:center;align-items:center;display:flex}@media (width>=768px){.card{padding:var(--space-6)}.auth-card{padding:var(--space-8) var(--space-7)}.auth-card__brand{align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:row}.auth-card__symbol{width:4.5rem;height:4.5rem}.auth-card__portal{font-size:var(--font-size-3xl)}.auth-card__watermark{width:15rem;height:15rem;bottom:-4rem;right:-4rem}}.home{gap:var(--space-5);flex-direction:column;display:flex}.home__title{font-size:var(--font-size-2xl)}.home__tracks{gap:var(--space-5);flex-direction:column;display:flex}.period-banner{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);background:var(--color-surface-muted);color:var(--color-primary-strong);font-size:var(--font-size-sm);flex-direction:column;display:flex}.period-banner__row{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.period-banner__period{font-weight:var(--font-weight-semibold)}.period-banner__sep{display:none}.period-banner__icon{flex:none;width:1.25rem;height:1.25rem}.period-banner__notice{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);color:var(--color-text);font-weight:var(--font-weight-semibold);display:flex}.period-banner__notice .period-banner__icon{color:var(--color-warning)}.period-banner__row--secondary{color:var(--color-text-muted);justify-content:space-between}.period-banner__help{font-weight:var(--font-weight-semibold)}@media (width>=768px){.period-banner__sep{display:inline}.period-banner__row .period-banner__period+.period-banner__sep{margin-inline:var(--space-1)}}.certificate-block{align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);display:flex}.certificate-block__icon{background:var(--color-surface-muted);width:3rem;height:3rem;color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.certificate-block__icon .icon{width:1.5rem;height:1.5rem}.certificate-block--available .certificate-block__icon{background:var(--color-success-bg);color:var(--color-success)}.certificate-block__body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.certificate-block__title{font-size:var(--font-size-lg)}.certificate-block__text{color:var(--color-text-muted)}.certificate-block__actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.certificate-block__note{font-size:var(--font-size-sm);color:var(--color-text-muted)}.video-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.video-item{align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-field);color:var(--color-text);transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);border:1px solid #0000;text-decoration:none;display:flex}.video-item__thumb{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--color-surface-muted);flex:none;justify-content:center;align-items:center;width:6.5rem;display:flex;overflow:hidden}.video-item__title{font-weight:var(--font-weight-semibold)}a.video-item:hover{background:var(--color-surface-muted);border-color:var(--color-primary);color:var(--color-text)}a.video-item:hover .video-item__title{color:var(--color-primary-strong)}.video-item--disabled{color:var(--color-text-muted);cursor:not-allowed}.video-item--disabled .video-item__thumb{filter:grayscale()}.video-item__image{object-fit:cover;width:100%;height:100%;display:block}.video-item__placeholder{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.video-item__symbol{width:2rem;height:2rem;color:var(--color-purple-200)}.video-item__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.video-item__meta{gap:var(--space-1) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.video-item__duration,.video-item__status{align-items:center;gap:var(--space-1);display:inline-flex}.video-item__meta-icon{width:1rem;height:1rem}.video-item--watched .video-item__status{color:var(--color-success);font-weight:var(--font-weight-semibold)}.video-item--in-progress .video-item__status{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.video-item--disabled .video-item__status{color:inherit}.video-item__points{padding-inline:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-primary-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;line-height:1.5rem;display:inline-flex}.video-item--disabled .video-item__points{color:inherit;background:0 0}.achievements{gap:var(--space-4);flex-direction:column;display:flex}.achievements__header{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.achievements__title{font-size:var(--font-size-xl)}.achievements__group{gap:var(--space-3);flex-direction:column;display:flex}.achievements__group+.achievements__group{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.achievements__group-title{font-size:var(--font-size-md);color:var(--color-primary-strong)}.achievements__list{gap:var(--space-3);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.achievement{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-field);background:var(--color-surface-muted);display:flex}.achievement__image{width:4rem;height:4rem;transition:filter var(--duration-base) var(--easing-standard);flex:none}.achievement--locked .achievement__image{filter:grayscale();opacity:.6}.achievement--locked{border:1px dashed var(--color-border-strong);background:0 0}.achievement__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.achievement__title{font-weight:var(--font-weight-semibold)}.achievement--locked .achievement__title{color:var(--color-text-muted)}.achievement__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.achievement__progress{gap:var(--space-1);margin-top:var(--space-1);flex-direction:column;display:flex}.achievement__progress-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.achievements__help{font-size:var(--font-size-sm)}.modal-backdrop{z-index:var(--z-dialog);padding:var(--space-4);background:var(--color-overlay-backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:32rem;max-height:calc(100vh - 2 * var(--space-4));padding:var(--space-5);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);overflow-y:auto}.modal:focus{outline:none}.modal:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.celebration{gap:var(--space-4);flex-direction:column;display:flex}.celebration__header{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.celebration__icon{background:var(--color-yellow-100);width:3.5rem;height:3.5rem;color:var(--color-warning);border-radius:50%;justify-content:center;align-items:center;display:flex}.celebration__icon .icon{width:1.75rem;height:1.75rem}.celebration__title{font-size:var(--font-size-2xl)}.celebration__lead{color:var(--color-text-muted)}.celebration__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.celebration__item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-field);background:var(--color-surface-muted);display:flex}.celebration__image{flex:none;width:5rem;height:5rem}.celebration__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.celebration__item-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.celebration__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.celebration__points{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success)}.celebration__actions{justify-content:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}@media (width>=768px){.home__title{font-size:var(--font-size-3xl)}.video-item__thumb{width:9rem}.video-item__symbol{width:2.5rem;height:2.5rem}.achievements__list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.modal{padding:var(--space-6)}}.certificate-block__open{font-weight:var(--font-weight-semibold)}.certificate-block__code{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-strong);letter-spacing:.04em}.certificate-block__links{align-items:baseline}.certificate-modal{gap:var(--space-3);flex-direction:column;display:flex}.certificate-modal__title{font-size:var(--font-size-xl)}.certificate-modal__lead{color:var(--color-text-muted)}.certificate-modal__form{gap:var(--space-3);flex-direction:column;display:flex}.certificate-modal__count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.certificate-modal__actions{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column-reverse;display:flex}@media (width>=480px){.certificate-modal__actions{flex-direction:row;justify-content:flex-end}}.home__admin-link{justify-content:flex-end;display:flex}.school-badge{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.school-badge__media{flex:none;display:inline-flex;position:relative}.school-badge__image{width:8rem;height:8rem}.school-badge--locked .school-badge__image{filter:grayscale();opacity:.45}.school-badge__body{gap:var(--space-2);flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.school-badge__title{font-size:var(--font-size-lg)}.school-badge__school{font-weight:var(--font-weight-semibold);color:var(--color-primary-strong)}.school-badge__text{color:var(--color-text-muted)}.school-badge--awarded .school-badge__text{color:var(--color-text);font-weight:var(--font-weight-semibold)}.school-badge__progress{gap:var(--space-1);flex-direction:column;display:flex}.school-badge__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.school-badge__actions{margin-top:var(--space-1);flex-wrap:wrap;display:flex}@media (width>=768px){.school-badge{gap:var(--space-5);flex-direction:row}.school-badge__image{width:10rem;height:10rem}}.track-line{--line-color:var(--line-color-1);--line-width:1.4rem;--line-width-walk:.25rem;--line-base:color-mix(in srgb, var(--line-color) 28%, var(--color-surface));--marker-size:2rem;--flag-height:1.375rem;gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.line-swatch{--line-color:var(--line-color-1);width:1.5rem;height:.375rem;margin-right:var(--space-2);border-radius:var(--radius-pill);background:var(--line-color);vertical-align:middle;flex:none;display:inline-block}.track-line--line-roxa,.line-swatch--line-roxa{--line-color:var(--line-color-1)}.track-line--color-2,.line-swatch--color-2,.track-line--line-verde,.line-swatch--line-verde{--line-color:var(--line-color-2)}.track-line--color-3,.line-swatch--color-3,.track-line--line-azul,.line-swatch--line-azul{--line-color:var(--line-color-3)}.track-line--color-4,.line-swatch--color-4,.track-line--line-marinho,.line-swatch--line-marinho{--line-color:var(--line-color-4)}.track-line--color-5,.line-swatch--color-5,.track-line--line-amarela,.line-swatch--line-amarela{--line-color:var(--line-color-5)}.track-line--color-6,.line-swatch--color-6,.track-line--line-laranja,.line-swatch--line-laranja{--line-color:var(--line-color-6)}.track-line--completed{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--color-success-border)}.track-line__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.track-line__heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.track-line__swatch{width:1.5rem;height:.375rem;margin-right:var(--space-2);border-radius:var(--radius-pill);background:var(--line-color);vertical-align:middle;display:inline-block}.track-line__audience{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-strong)}.track-line__description{color:var(--color-text-muted)}.track-line__progress{gap:var(--space-2);flex-direction:column;display:flex}.track-line__progress-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.metro{min-width:0}.metro__track{flex-direction:column;display:flex;position:relative}.metro__terminal{z-index:1;min-height:var(--marker-size);padding-inline:var(--space-4);border-radius:var(--radius-pill);background:var(--color-brand-navy);color:var(--color-text-on-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.metro__terminal--start{align-self:flex-start}.metro__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.metro__node{grid-template-columns:var(--marker-size) minmax(0, 1fr);column-gap:var(--space-3);padding-block:var(--space-3);align-items:start;display:grid;position:relative}.metro__node:before{top:0;bottom:0;left:calc(var(--marker-size) / 2 - var(--line-width) / 2);width:var(--line-width);background:var(--line-base);content:"";position:absolute}.metro__paint{top:0;bottom:0;left:calc(var(--marker-size) / 2 - var(--line-width) / 2);width:var(--line-width);background:var(--line-color);transform-origin:top;position:absolute}.metro__paint--half{height:calc(var(--space-3) + var(--space-2) + var(--marker-size) / 2);bottom:auto}.metro__node--arrival .metro__paint{height:calc(var(--space-2) + var(--marker-size) / 2);bottom:auto}.track-line--horizontal .metro__paint{inset:calc(var(--space-1) + var(--marker-size) / 2 - var(--line-width) / 2) 0 auto;width:auto;height:var(--line-width);transform-origin:0}.track-line--horizontal .metro__paint--half,.track-line--horizontal .metro__node--arrival .metro__paint{right:50%}.metro__train{z-index:2;width:2.75rem;height:1.375rem;color:var(--line-color);pointer-events:none;position:absolute;top:0;left:0}.metro__train svg,.metro__train img{width:100%;height:100%;display:block;overflow:visible}.metro__train img{object-fit:cover;scale:1.2}.metro__train-body{fill:currentColor;stroke:var(--color-surface);stroke-width:1.5px}.metro__train-window{fill:var(--color-surface)}.metro__train-wheel{fill:var(--color-brand-navy);stroke:var(--color-surface);stroke-width:1px}.metro__node--after-arrival{--line-width:var(--line-width-walk)}.metro__node--after-arrival:before{background:repeating-linear-gradient(to bottom, var(--color-live) 0 4px, transparent 4px 8px)}.metro__node--after-arrival:last-child:before{height:calc(var(--space-3) + var(--space-2) + var(--marker-size) / 2);bottom:auto}.metro__marker{z-index:1;width:var(--marker-size);height:var(--marker-size);margin-top:var(--space-2);color:var(--line-color);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.station-marker,.live-marker{width:100%;height:100%;display:block;overflow:visible}.station-marker__ring{fill:var(--color-surface);stroke:currentColor;stroke-width:2px}.station-marker__base{fill:var(--color-surface)}.station-marker__arc{fill:none;stroke:currentColor;stroke-width:2.5px}.station-marker__core{fill:currentColor}.station-marker__fill{fill:var(--color-surface);stroke:currentColor;stroke-width:1.5px}.station-marker__check{stroke:currentColor;stroke-dasharray:1;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.station-marker__here-halo{fill:none;stroke:var(--color-surface);stroke-width:4px}.station-marker__here{fill:var(--color-surface);stroke:currentColor;stroke-width:2.5px}.line-stop__action{align-items:flex-start;gap:var(--space-1);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-field);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);background:0 0;border:1px solid #0000;flex-direction:column;text-decoration:none;display:flex}a.line-stop__action:hover,button.line-stop__action:hover,.line-stop--expanded .line-stop__action{border-color:var(--color-primary);background:var(--color-surface-muted);color:var(--color-text)}.line-stop__action--disabled{color:var(--color-text-muted);cursor:not-allowed}.line-stop__title{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.line-stop__meta{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.line-stop__points{padding-inline:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-primary-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);align-items:center;line-height:1.5rem;display:inline-flex}.line-stop__flag{width:max-content;min-height:var(--flag-height);padding-inline:var(--space-2);border:1px solid var(--color-primary-strong);border-radius:var(--radius-pill);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;line-height:1;display:inline-flex}.line-stop__flag--here{background:var(--color-primary-strong);color:var(--color-text-on-primary);font-weight:var(--font-weight-bold)}.line-stop__flag--next{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.line-stop__flag--above{bottom:calc(100% - var(--space-1) + var(--space-2));z-index:1;margin-inline:auto;position:absolute;left:0;right:0}.line-stop__flag--above:after{border:.25rem solid #0000;border-top-color:var(--color-primary-strong);content:"";width:0;height:0;margin-left:-.25rem;position:absolute;top:100%;left:50%}.line-stop__flag--above.line-stop__flag--next:after{border-top-color:var(--color-primary)}.line-stop__last{font-size:var(--font-size-xs);color:var(--color-text-muted)}.station-videos{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-field);background:var(--color-surface);flex-direction:column;display:flex}.metro__node>.station-videos{margin-top:var(--space-2);grid-column:2}.station-videos__title{font-size:var(--font-size-md)}.live-marker__capsule{fill:var(--color-surface);stroke:var(--color-text);stroke-width:2.5px}.live-marker__dot{fill:var(--color-surface);stroke:var(--color-live);stroke-width:2.5px}.live-marker__dot--filled{fill:var(--color-live);stroke-width:1px}.live-node--locked .live-marker__capsule,.live-node--closed .live-marker__capsule,.live-node--locked .live-marker__dot,.live-node--closed .live-marker__dot{stroke:var(--color-border-strong)}.live-node--locked .live-marker__dot--filled,.live-node--closed .live-marker__dot--filled{fill:var(--color-border-strong)}.track-line--horizontal .live-marker{transform:rotate(90deg)}.live-node__kicker{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-error)}.live-node__summary{font-size:var(--font-size-sm);color:var(--color-text-muted)}.live-node--registered .live-node__summary{font-weight:var(--font-weight-semibold);color:var(--color-success)}.metro__node--arrival{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-2);flex-direction:column;display:flex}.metro__node--arrival:before{height:calc(var(--space-2) + var(--marker-size) / 2);bottom:auto}.metro__node--arrival .metro__terminal{z-index:1;position:relative}.arrival-node__body{align-items:flex-start;gap:var(--space-2);padding-left:calc(var(--marker-size) + var(--space-3));flex-direction:column;display:flex}.arrival-node__status{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);display:inline-flex}.arrival-node__status--done{font-weight:var(--font-weight-semibold);color:var(--color-success)}.arrival-node__icon{width:1.125rem;height:1.125rem}.arrival-node--completed .metro__terminal{background:var(--color-success)}.arrival-node__help{font-size:var(--font-size-sm)}.track-line--horizontal .metro{padding-block:calc(var(--space-2) * 2 + var(--flag-height)) var(--space-3);overscroll-behavior-x:contain;overflow-x:auto}.track-line--horizontal .metro__track{flex-direction:row;align-items:flex-start;width:max-content;min-width:100%}.track-line--horizontal .metro__terminal--start{margin-top:var(--space-1)}.track-line--horizontal .metro__list{flex-direction:row;flex:1 0 auto;align-items:flex-start}.track-line--horizontal .metro__node{width:11.875rem;padding:var(--space-1) 0 0;flex-direction:column;flex:1 0 11.875rem;align-items:center;display:flex}.track-line--horizontal .metro__node:before{inset:calc(var(--space-1) + var(--marker-size) / 2 - var(--line-width) / 2) 0 auto;width:auto;height:var(--line-width)}.metro__list>.metro__node:first-child:before,.metro__list>.metro__node:first-child>.metro__paint{top:calc(var(--marker-size) / -2)}.metro__list>.metro__node:first-child>.metro__paint--half{height:calc(var(--space-3) + var(--space-2) + var(--marker-size))}.track-line--horizontal .metro__list>.metro__node:first-child:before,.track-line--horizontal .metro__list>.metro__node:first-child>.metro__paint{top:calc(var(--space-1) + var(--marker-size) / 2 - var(--line-width) / 2);left:calc(var(--marker-size) / -2)}.track-line--horizontal .metro__node--after-arrival:before{background:repeating-linear-gradient(to right, var(--color-live) 0 4px, transparent 4px 8px)}.track-line--horizontal .metro__node--after-arrival:last-child:before{height:var(--line-width);right:50%}.track-line--horizontal .metro__marker{margin-top:0}.track-line--horizontal .line-stop__action{margin-top:var(--space-1);padding-inline:var(--space-2);text-align:center;align-items:center}.track-line--horizontal .line-stop__meta{justify-content:center}.track-line--horizontal .metro__node--arrival{gap:var(--space-2);flex-basis:12rem;width:12rem}.track-line--horizontal .metro__node--arrival:before{height:var(--line-width);right:50%}.track-line--horizontal .arrival-node__body{padding-inline:var(--space-2);padding-left:var(--space-2);text-align:center;align-items:center}.track-line--horizontal .arrival-node__status{justify-content:center}.metro-frame{min-width:0;position:relative}.metro-frame--more-start:before,.metro-frame--more-end:after{z-index:2;pointer-events:none;content:"";width:4rem;position:absolute;top:0;bottom:0}.metro-frame--more-start:before{background:linear-gradient(to right, var(--color-surface), transparent);left:0}.metro-frame--more-end:after{background:linear-gradient(to left, var(--color-surface), transparent);right:0}.metro-frame__scroll{top:var(--space-1);z-index:3;border:1px solid var(--color-border-strong);background:var(--color-surface);width:2.75rem;height:2.75rem;color:var(--color-primary);box-shadow:var(--shadow-button);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute}.metro-frame__scroll:hover{background:var(--color-surface-muted);color:var(--color-primary-strong)}.metro-frame__scroll .icon{width:1.5rem;height:1.5rem}.track-line--horizontal .metro-frame__scroll{top:calc(var(--space-2) + var(--flag-height) + var(--space-1))}.metro-frame__scroll--start{left:0}.metro-frame__scroll--end{right:0}.live-panel{gap:var(--space-4);flex-direction:column;max-width:36rem;display:flex;position:relative}.live-panel__bar{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.live-panel__heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.live-panel__kicker{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-error);display:inline-flex}.live-panel__kicker-icon{width:1rem;height:1rem}.live-panel__title{font-size:var(--font-size-xl)}.live-panel__close{width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.live-panel__close:hover{background:var(--color-surface-muted);color:var(--color-primary-strong)}.live-panel__close .icon{width:1.5rem;height:1.5rem}.live-panel__points{font-weight:var(--font-weight-semibold);color:var(--color-success)}.live-panel__optional,.live-panel__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.live-panel__status:focus{outline:none}.live-panel__status:focus-visible{outline:var(--focus-outline)}.live-panel__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.live-panel__dates{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.live-panel__dates-title{font-size:var(--font-size-md)}.live-panel__options{gap:var(--space-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.live-panel__option{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-field);flex-direction:column;display:flex}.live-panel__option--chosen{border-color:var(--color-success-border)}.live-panel__option-text{gap:var(--space-1);flex-direction:column;display:flex}.live-panel__option-date{font-weight:var(--font-weight-semibold)}.live-panel__option-duration,.live-panel__option-closed{font-size:var(--font-size-sm);color:var(--color-text-muted)}.live-panel__help{font-size:var(--font-size-sm)}.live-panel .award-toast-region{justify-content:flex-start;max-width:none;position:static}.live-panel .award-toast-region:not(:has(.award-toast)){position:absolute}@media (width>=480px){.live-panel__option{flex-direction:row;justify-content:space-between;align-items:center}}@media (prefers-reduced-motion:reduce){.line-stop__action{transition:none}}.live-panel__invite{font-size:var(--font-size-sm);color:var(--color-success)}.live-panel__invite p{margin-top:var(--space-2)}.live-panel__invite--problem{color:var(--color-error)}.player-backdrop{z-index:var(--z-dialog);background:var(--color-overlay-backdrop);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.player-dialog{background:var(--color-surface-dark);width:100%;height:100%;color:var(--color-text-on-dark);flex-direction:column;display:flex;overflow:hidden auto}.player-dialog:focus{outline:none}.player-dialog:focus-visible{outline:var(--focus-outline);outline-color:var(--color-text-on-dark);outline-offset:-4px}.player-dialog a{color:var(--color-link-on-dark)}.player-dialog a:hover{color:var(--color-text-on-dark)}.player-dialog__bar{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);display:flex}.player-dialog__heading{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.player-dialog__position{font-size:var(--font-size-sm);color:var(--color-text-on-dark-muted)}.player-dialog__title{font-size:var(--font-size-lg);color:inherit}.player-dialog__close{width:2.75rem;height:2.75rem;color:inherit;background:0 0;border:2px solid #0000;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.player-dialog__close:hover{background:#ffffff1f}.player-dialog__close:focus-visible{border-color:var(--color-text-on-dark);outline:none}.player-dialog__close .icon{width:1.5rem;height:1.5rem}.player-dialog__stage{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden auto}.award-toast-region{top:var(--space-3);right:var(--space-3);z-index:1;max-width:calc(100% - 2 * var(--space-3));pointer-events:none;justify-content:flex-end;display:flex;position:absolute}.award-toast{align-items:center;gap:var(--space-3);max-width:22rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card);pointer-events:auto;display:flex}.award-toast__image{flex:none;width:3rem;height:3rem}.award-toast__text{gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);line-height:var(--line-height-tight);flex-direction:column;display:flex}.award-toast__title{font-weight:var(--font-weight-semibold)}.award-toast__points{font-weight:var(--font-weight-bold);color:var(--color-success)}.player-dialog__footer{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4);flex-direction:column;display:flex}.player-dialog__status{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.player-dialog__status-icon{width:1.125rem;height:1.125rem}.player-dialog__status--watched .player-dialog__status-icon{color:var(--color-green-300)}.player-dialog__help{margin-left:var(--space-1)}.player-dialog__nav{gap:var(--space-2);display:flex}.player-dialog__nav .btn{flex:1 1 0}.player-dialog .btn--secondary{color:var(--color-text-on-dark);border-color:var(--color-text-on-dark-muted);background:0 0}.player-dialog .btn--secondary:hover{color:var(--color-text-on-dark);border-color:var(--color-text-on-dark);background:#ffffff1f}.player-dialog .btn--secondary:disabled,.player-dialog .btn--secondary[aria-disabled=true]{color:var(--color-text-on-dark-muted);opacity:.7;background:0 0;border-color:#ffffff40}.player-dialog .btn:focus-visible{box-shadow:0 0 0 2px var(--color-surface-dark), 0 0 0 4px var(--color-text-on-dark)}.video-session{justify-content:safe center;align-items:center;gap:var(--space-3);flex-direction:column;flex:none;width:100%;height:100%;display:flex;container-type:size}.video-session__ended{justify-content:center;align-self:stretch;align-items:center;gap:var(--space-2) var(--space-4);margin-inline:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-text);text-align:center;flex-wrap:wrap;flex:none;display:flex}.video-embed{aspect-ratio:16/9;background:#000;width:100%;position:relative}.video-session__embed{width:min(100%,177.778cqh)}.video-session--ended .video-session__embed{width:min(100%,177.778cqh - 10.6667rem)}.video-embed__frame,.video-embed__iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video-embed__loading,.video-embed__error{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);text-align:center;flex-direction:column;display:flex;position:absolute;inset:0}.video-embed__loading{color:var(--color-text-on-dark);pointer-events:none;background:#1a2e3db3}.video-embed__error{background:var(--color-surface);color:var(--color-text)}.player-dialog .video-embed__error a{color:var(--color-link)}.player-dialog .video-embed__error a:hover{color:var(--color-link-hover)}.video-embed__error-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-lg)}.video-embed__error-links{justify-content:center}@media (width>=768px){.player-backdrop{padding:var(--space-4)}.player-dialog{border-radius:var(--radius-card);width:min(92vw,163.556vh - 19.5556rem);height:92vh;box-shadow:var(--shadow-card)}.player-dialog__bar{padding:var(--space-4) var(--space-5)}.player-dialog__title{font-size:var(--font-size-xl)}.player-dialog__footer{padding:var(--space-4) var(--space-5);flex-direction:row;justify-content:space-between;align-items:center}.player-dialog__nav .btn{flex:none}.video-session__ended{height:5.25rem;margin-inline:var(--space-5)}}.help{gap:var(--space-5);flex-direction:column;display:flex}.help__header{gap:var(--space-3);flex-direction:column;display:flex}.help__lead{color:var(--color-text-muted)}.help__search{margin-top:var(--space-2)}.help__results{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.help__results:empty{display:none}.help__categories{gap:var(--space-5);flex-direction:column;display:flex}.help__category{gap:var(--space-3);flex-direction:column;display:flex}.help__category-title{font-size:var(--font-size-xl);color:var(--color-primary-strong)}.faq-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.faq-item{border-top:1px solid var(--color-border);scroll-margin-top:var(--space-5)}.faq-item__heading{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.faq-item__button{justify-content:space-between;align-items:flex-start;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-3) var(--space-1);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;text-align:left;background:0 0;border:0;display:flex}.faq-item__button:hover{color:var(--color-primary-strong)}.faq-item__question{flex:auto}.faq-item__chevron{width:1.25rem;height:1.25rem;color:var(--color-primary);transition:transform var(--duration-fast) var(--easing-standard);flex:none;margin-top:.125rem}.faq-item--open .faq-item__chevron{transform:rotate(180deg)}.faq-item__answer{padding:0 var(--space-1) var(--space-4)}.faq-item__content{color:var(--color-text)}.faq-item__content>*+*{margin-top:var(--space-3)}.faq-item__content ul,.faq-item__content ol{padding-left:var(--space-5);margin:0}.faq-item__content li+li{margin-top:var(--space-1)}.help__no-result,.help__contact{color:var(--color-text-muted)}.help__contact{padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:var(--font-size-sm)}.help__contact-link a{font-weight:var(--font-weight-semibold)}@media (width>=768px){.faq-item__answer{padding-inline:var(--space-1) var(--space-7)}}.validar{gap:var(--space-4);flex-direction:column;display:flex}.validar__title{font-size:var(--font-size-2xl)}.validar__lead{color:var(--color-text-muted)}.validar__form{gap:var(--space-4);flex-direction:column;display:flex}.field__input--certificate{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-align:center;text-transform:uppercase}.validar__loading{padding-block:var(--space-5)}.validar__valid{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-success-border);border-radius:var(--radius-field);background:var(--color-success-bg);color:var(--color-text);border-left-width:4px;display:flex}.validar__valid-icon{background:var(--color-surface);width:2.5rem;height:2.5rem;color:var(--color-success);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.validar__valid-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.validar__valid-title{font-size:var(--font-size-lg)}.validar__name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.validar__meta{font-size:var(--font-size-sm)}.validar__code{font-size:var(--font-size-sm);color:var(--color-text-muted);letter-spacing:.04em}.validar__links{padding-top:var(--space-2)}@media (width>=768px){.validar__title{font-size:var(--font-size-3xl)}}.admin{gap:var(--space-5);flex-direction:column;display:flex}.admin__content{min-width:0}.admin-nav{gap:var(--space-2);flex-direction:column;display:flex}.admin-nav__area{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase}.admin-nav__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.admin-nav__link{min-height:2.75rem;padding-inline:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-items:center;text-decoration:none;display:inline-flex}.admin-nav__link:hover{border-color:var(--color-primary);color:var(--color-primary-strong)}.admin-nav__link[aria-current=page]{border-color:var(--color-primary-strong);background:var(--color-primary-strong);color:var(--color-text-on-primary)}.admin-nav__link--quiet{border-style:dashed}.admin-page{gap:var(--space-5);flex-direction:column;display:flex}.admin-page__header{gap:var(--space-2);flex-direction:column;display:flex}.admin-page__title{font-size:var(--font-size-2xl)}.admin-page__lead{max-width:60rem;color:var(--color-text-muted)}.admin-section__title{margin-bottom:var(--space-3);font-size:var(--font-size-xl)}.admin-subtitle{margin-bottom:var(--space-2);font-size:var(--font-size-md)}.admin-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-empty{color:var(--color-text-muted)}.admin-meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-meta:before{content:"·" / "";margin-inline:var(--space-1)}.admin-code,.admin-code-value{font-family:ui-monospace,Cascadia Mono,consolas,monospace;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-muted);overflow-wrap:anywhere}.admin-code{margin-inline-start:var(--space-2)}.admin-tag{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--color-warning-bg);color:var(--color-text);font-weight:var(--font-weight-semibold);display:inline-flex}.admin-actions{gap:var(--space-2) var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.admin-toolbar{gap:var(--space-3) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;display:flex}.admin-toolbar .field{flex:18rem;max-width:32rem}.admin-card-head{gap:var(--space-1) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:baseline;display:flex}.admin-card-head .admin-section__title{margin-bottom:0}.admin-grid,.admin-columns{gap:var(--space-4);display:grid}.admin-list{gap:var(--space-1);padding-left:var(--space-5);flex-direction:column;display:flex}.admin-list--warning{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);border-left:4px solid var(--color-warning-border);border-radius:var(--radius-sm);background:var(--color-warning-bg)}.plain-list{margin:0;padding:0;list-style:none}.admin-template{gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.admin-filters__grid,.admin-form__grid{gap:var(--space-4);margin-bottom:var(--space-3);display:grid}.school-picker{gap:var(--space-2);flex-direction:column;display:flex}.field__select{appearance:auto;padding-inline-end:var(--space-3)}.field__file{padding-block:var(--space-2)}.field__input--sm{min-height:var(--control-height-sm);min-width:9rem;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.admin-definitions{gap:var(--space-2);margin:0;display:grid}.admin-definitions>div{gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:grid}.admin-definitions dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-definitions dd{font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.admin-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin:0;display:grid}.admin-stat{justify-content:flex-end;gap:var(--space-1);padding:var(--space-4);border-radius:var(--radius-field);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column-reverse;display:flex}.admin-stat dt{color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-stat dd{color:var(--color-primary-strong);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.admin-stats--compact .admin-stat{padding:var(--space-3);background:var(--color-surface-muted);box-shadow:none}.admin-stats--compact .admin-stat dd{font-size:var(--font-size-xl)}.table-scroll{max-width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.data-table caption{margin-bottom:var(--space-2);color:var(--color-text-muted);text-align:left}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.data-table--compact th,.data-table--compact td{padding:var(--space-2) var(--space-3)}.data-table__detail>td{padding:var(--space-3) var(--space-3) var(--space-5);background:var(--color-bg)}.data-table thead th{border-bottom:2px solid var(--color-border-strong);background:var(--color-surface-muted);font-weight:var(--font-weight-bold);white-space:nowrap}.data-table tbody th{font-weight:var(--font-weight-semibold)}.data-table tfoot th,.data-table tfoot td{font-weight:var(--font-weight-bold);border-bottom:0}.data-table__num{text-align:right;white-space:nowrap}.data-table th.data-table__num,.data-table td.data-table__num{text-align:right}.data-table__detail .data-table{background:var(--color-surface)}.data-table__aliases{overflow-wrap:anywhere;max-width:18rem}.disclosure{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-1);border-radius:var(--radius-sm);color:var(--color-link);font:inherit;font-weight:var(--font-weight-semibold);text-align:left;background:0 0;border:0;display:inline-flex}.disclosure:hover{color:var(--color-link-hover);text-decoration:underline}.disclosure__icon{transition:transform var(--duration-fast) var(--easing-standard)}.disclosure__icon.is-open{transform:rotate(180deg)}.steps{gap:var(--space-3) var(--space-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.steps__item{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-weight:var(--font-weight-semibold);display:inline-flex}.steps__number{border:2px solid var(--color-border-strong);background:var(--color-surface);width:2rem;height:2rem;font-size:var(--font-size-sm);border-radius:50%;place-items:center;display:inline-grid}.steps__item.is-current{color:var(--color-primary-strong)}.steps__item.is-current .steps__number{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-on-primary)}.steps__item.is-done .steps__number{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-text)}.admin-form{gap:var(--space-4);flex-direction:column;display:flex}.admin-form--inline{max-width:36rem}.choice-group{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-field);flex-direction:column;margin:0;display:flex}.choice-group--inline{gap:var(--space-2) var(--space-4);flex-flow:wrap}.choice-group--scroll{max-height:16rem;overflow-y:auto}.choice-group--invalid{border-color:var(--color-error)}.choice-group__legend{padding-inline:var(--space-1);font-weight:var(--font-weight-semibold)}.choice{align-items:center;gap:var(--space-2);cursor:pointer;min-height:2.75rem;display:inline-flex}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);flex:none}.choice input:focus-visible{outline:var(--focus-outline);outline-offset:2px}.admin-dialog{gap:var(--space-3);flex-direction:column;max-width:36rem;display:flex}.admin-dialog--wide{max-width:44rem}.admin-dialog__title{font-size:var(--font-size-xl)}.admin-dialog__actions{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column-reverse;display:flex}.tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.tabs__tab{min-height:2.75rem;padding-inline:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tabs__tab:hover{border-color:var(--color-primary)}.tabs__tab[aria-selected=true]{border-color:var(--color-primary-strong);background:var(--color-primary-strong);color:var(--color-text-on-primary)}.tabs__tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.audience-tree{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.audience-tree__title{font-size:var(--font-size-lg)}.audience-tree__stations{gap:var(--space-3);margin:var(--space-3) 0 0;padding:0 0 0 var(--space-4);border-left:3px solid var(--color-primary);flex-direction:column;list-style:none;display:flex}.audience-tree__station{font-size:var(--font-size-md)}.audience-tree__videos{gap:var(--space-1);margin-top:var(--space-2);padding-left:var(--space-5);font-size:var(--font-size-sm);flex-direction:column;display:flex}@media (width>=768px){.admin-filters__grid,.admin-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-columns{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-definitions>div{grid-template-columns:minmax(10rem,40%) 1fr;align-items:baseline}.admin-dialog__actions{flex-direction:row;justify-content:flex-end}.admin-page__title{font-size:var(--font-size-3xl)}}@media (width>=1024px){.admin-filters__grid{grid-template-columns:2fr 1fr 1fr 1fr;align-items:end}}@media (prefers-reduced-motion:reduce){.disclosure__icon{transition:none}}.motion-ok .page{animation:motion-fade-in var(--motion-fast) var(--ease-out) both}.skeleton__body{gap:var(--space-3);flex-direction:column;display:flex}.skeleton__card{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.skeleton__line{gap:var(--space-5);margin-top:var(--space-2);align-items:center;display:flex}.skeleton__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));display:grid}.skeleton__tile{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-field);background:var(--color-surface);align-items:center;display:flex}.skeleton__lines{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.skeleton__shape{border-radius:var(--radius-sm);background:var(--color-border);height:.875rem;display:block;position:relative;overflow:hidden}.skeleton__shape--title{width:45%;height:1.375rem}.skeleton__shape--text{width:85%}.skeleton__shape--short{width:50%}.skeleton__shape--bar{border-radius:var(--radius-pill);width:100%;height:.75rem}.skeleton__shape--dot{border-radius:50%;flex:none;width:1.75rem;height:1.75rem}.skeleton__shape--avatar{border-radius:50%;flex:none;width:3.5rem;height:3.5rem}.skeleton__shape--field{width:100%;height:var(--control-height);border-radius:var(--radius-field)}.skeleton__shape--row{width:100%;height:2.25rem}.motion-ok .skeleton__shape:after{animation:motion-shimmer 1.4s var(--ease-in-out) 4;content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);position:absolute;inset:0;transform:translate(-100%)}.motion-ok .btn{transition:transform var(--motion-fast) var(--ease-out), background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard)}.motion-ok .btn:not([disabled],[aria-disabled=true]):hover{transform:translateY(-1px)}.motion-ok .btn:not([disabled],[aria-disabled=true]):active{transform:scale(.98)}.nav-link{position:relative}.motion-ok .nav-link:hover{text-decoration:none}.motion-ok .nav-link:after{right:var(--space-2);bottom:.5rem;left:var(--space-2);transform-origin:0;height:2px;transition:transform var(--motion-base) var(--ease-out);content:"";background:currentColor;border-radius:1px;position:absolute;transform:scaleX(0)}.motion-ok .nav-link:hover:after,.motion-ok .nav-link:focus-visible:after{transform:scaleX(1)}.track-line{position:relative}.track-line:after{z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;content:"";position:absolute;inset:0;box-shadow:0 10px 22px 2px #0000001f}.motion-ok .track-line{transition:transform var(--motion-base) var(--ease-out)}.motion-ok .track-line:after{transition:opacity var(--motion-base) var(--ease-out)}.motion-ok .track-line:hover{transform:translateY(-2px)}.motion-ok .track-line:hover:after{opacity:1}.metro__node:has(>.line-stop__action:hover,>.line-stop__action:focus-visible)>.line-stop__action{box-shadow:var(--shadow-card)}.line-stop__title{display:inline-block}.motion-ok .metro__marker,.motion-ok .line-stop__title{transition:transform var(--motion-fast) var(--ease-out)}.motion-ok .metro__node:has(>.line-stop__action:hover,>.line-stop__action:focus-visible)>.metro__marker{transform:scale(1.08)}.motion-ok .line-stop__action:hover .line-stop__title,.motion-ok .line-stop__action:focus-visible .line-stop__title{transform:translateY(-2px)}.motion-ok .live-node--open .metro__marker:after{border:3px solid var(--color-live);animation:motion-live-pulse 2s var(--ease-out) infinite;pointer-events:none;content:"";border-radius:50%;position:absolute;inset:-2px}.arrival-node__glow{z-index:-1;border-radius:var(--radius-pill);background:radial-gradient(closest-side, color-mix(in srgb, var(--color-brand-yellow) 80%, transparent), transparent);opacity:0;pointer-events:none;position:absolute;inset:-.5rem}.motion-ok .arrival-node__ebook{animation:motion-rise-in var(--motion-slow) var(--ease-out) both}.motion-ok .award-toast{animation:motion-toast-in var(--motion-base) var(--ease-spring) both}.motion-ok .award-toast__image{animation:motion-spin-in var(--motion-slow) var(--ease-spring) both}.motion-ok .award-toast--leaving{animation:motion-fade-out var(--motion-fast) var(--ease-out) forwards}.motion-ok .celebration{animation:motion-dialog-in var(--motion-base) var(--ease-spring) both}.motion-ok .celebration__item{animation:motion-rise-in var(--motion-base) var(--ease-out) both;animation-delay:calc(var(--stagger,0) * 80ms + .12s)}.leaf-burst{z-index:calc(var(--z-dialog) + 1);pointer-events:none;position:fixed;inset:0;overflow:hidden}.leaf-burst__leaf{opacity:0;width:1.5rem;height:1.5rem;position:absolute;top:0}.leaf-burst__leaf--1{fill:var(--color-brand-yellow)}.leaf-burst__leaf--2{fill:var(--color-brand-red)}.leaf-burst__leaf--3{fill:var(--color-brand-green)}.leaf-burst__leaf--4{fill:var(--color-brand-blue)}.leaf-burst__leaf--5{fill:var(--color-brand-purple)}.animated-number{display:inline-block;position:relative}.animated-number__delta{color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap;opacity:0;pointer-events:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.motion-ok .animated-number__delta{animation:motion-float-up 1.2s var(--ease-out) both}.progress__fill{transform-origin:0}.achievement__media{flex:none;display:inline-flex;position:relative}.achievement__ghost{display:none}.motion-ok .achievement__ghost{filter:grayscale();display:block;position:absolute;inset:0}.motion-ok .achievement__ghost.is-revealing{animation:motion-fade-out var(--motion-celebrate) var(--ease-in-out) .2s forwards}.school-badge__ghost{display:none}.motion-ok .school-badge__ghost{filter:grayscale();opacity:.45;display:block;position:absolute;inset:0}.motion-ok .school-badge__ghost.is-revealing{animation:motion-fade-out var(--motion-celebrate) var(--ease-in-out) .2s forwards}.motion-ok .school-badge__media.is-revealing{animation:motion-badge-in var(--motion-celebrate) var(--ease-spring) .2s both}.motion-ok .modal-backdrop,.motion-ok .player-backdrop{animation:motion-fade-in var(--motion-base) var(--ease-out) both}.motion-ok .modal:not(.celebration),.motion-ok .player-dialog{animation:motion-dialog-in var(--motion-base) var(--ease-out) both}.motion-ok .video-session__ended{animation:motion-slide-in var(--motion-base) var(--ease-out) both}.draw-check{width:1.125rem;height:1.125rem;margin-right:var(--space-1);vertical-align:-.2em;fill:none;stroke:var(--color-success);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;flex:none}.motion-ok .draw-check path{animation:motion-draw var(--motion-slow) var(--ease-out) .1s both}.motion-ok .auth-card{animation:motion-rise-in var(--motion-slow) var(--ease-out) both}.logo__piece{transform-box:fill-box;transform-origin:50%}.motion-ok .logo--assemble .logo__piece{animation:motion-piece-in var(--motion-slow) var(--ease-spring) both}.motion-ok .logo--assemble .logo__piece:first-child{--piece-x:-12px;--piece-y:-12px;animation-delay:.15s}.motion-ok .logo--assemble .logo__piece:nth-child(2){--piece-x:12px;--piece-y:-12px;animation-delay:.27s}.motion-ok .logo--assemble .logo__piece:nth-child(3){--piece-x:-12px;--piece-y:12px;animation-delay:.39s}.motion-ok .logo--assemble .logo__piece:nth-child(4){--piece-x:12px;--piece-y:6px;animation-delay:.51s}.motion-ok .logo--assemble .logo__piece:nth-child(5){--piece-x:12px;--piece-y:12px;animation-delay:.63s}.certificate-block__cta{position:relative;overflow:hidden}.motion-ok .certificate-block--available .certificate-block__cta:after{animation:motion-shine var(--motion-celebrate) var(--ease-in-out) .4s 1 both;pointer-events:none;content:"";background:linear-gradient(105deg,#0000 30%,#ffffff8c 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-fade-out{to{opacity:0}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes motion-slide-in{0%{opacity:0;transform:translate(16px)}}@keyframes motion-dialog-in{0%{opacity:0;transform:scale(.96)}}@keyframes motion-toast-in{0%{opacity:0;transform:translate(24px)}}@keyframes motion-spin-in{0%{transform:rotate(-90deg)scale(.5)}}@keyframes motion-float-up{0%{opacity:0;transform:translate(-50%,4px)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-14px)}}@keyframes motion-live-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes motion-shimmer{to{transform:translate(100%)}}@keyframes motion-shine{to{transform:translate(120%)}}@keyframes motion-draw{0%{stroke-dashoffset:1px}}@keyframes motion-badge-in{0%{transform:scale(.92)}}@keyframes motion-piece-in{0%{opacity:0;transform:translate(var(--piece-x,0), var(--piece-y,0)) scale(.6)}}.personal-seals{gap:var(--space-4);flex-direction:column;display:flex}.personal-seals__header{gap:var(--space-1);flex-direction:column;display:flex}.personal-seals__title{font-size:var(--font-size-lg)}.personal-seals__name{font-weight:var(--font-weight-semibold);color:var(--color-primary-strong)}.personal-seals__lead{color:var(--color-text-muted)}.personal-seals__list{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.personal-seal{align-items:center;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);border-radius:var(--radius-sm);scroll-margin-top:var(--space-8);flex-direction:column;display:flex}.personal-seal:first-child{border-top:0;padding-top:0}.personal-seal:focus-visible{outline:var(--focus-outline);outline-offset:var(--space-2)}.personal-seal__media{flex:none;display:inline-flex;position:relative}.personal-seal__image{width:8rem;height:8rem}.personal-seal--pending .personal-seal__image{filter:grayscale();opacity:.45}.personal-seal__body{gap:var(--space-2);flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.personal-seal__track{font-size:var(--font-size-md);overflow-wrap:anywhere}.personal-seal__date{font-weight:var(--font-weight-semibold);color:var(--color-text)}.personal-seal__hint{color:var(--color-text-muted)}.personal-seal__remaining{font-size:var(--font-size-sm);color:var(--color-text-muted)}.personal-seal__actions{gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.personal-seal__status{min-height:1.5em;font-size:var(--font-size-sm);color:var(--color-text-muted)}.personal-seal__status--success{color:var(--color-success)}.personal-seal__status--error{color:var(--color-error)}@media (width>=768px){.personal-seal{gap:var(--space-5);flex-direction:row}.personal-seal__image{width:9rem;height:9rem}}.personal-seal__ghost{display:none}.motion-ok .personal-seal__ghost{filter:grayscale();opacity:.45;display:block;position:absolute;inset:0}.motion-ok .personal-seal__ghost.is-revealing{animation:motion-fade-out var(--motion-celebrate) var(--ease-in-out) .2s forwards}.motion-ok .personal-seal__media.is-revealing{animation:motion-badge-in var(--motion-celebrate) var(--ease-spring) .2s both}
