.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);transition:background-color var(--transition), border-color var(--transition), color var(--transition);border:1px solid #0000;font-weight:600;line-height:1.2;display:inline-flex}.btn:disabled{cursor:not-allowed;opacity:.65}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--outline{border-color:var(--color-primary-border);color:var(--color-primary-text)}.btn--outline:hover:not(:disabled){background:var(--color-primary-soft)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--accent:hover:not(:disabled){background:var(--color-accent-hover)}.google-button{justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-heading);transition:border-color var(--transition), background-color var(--transition);font-weight:600;display:inline-flex}.google-button:hover{border-color:var(--color-primary-border);background:var(--color-surface-2)}.google-button__logo{flex-shrink:0;width:20px;height:20px}.auth-divider{align-items:center;gap:var(--space-3);color:var(--color-muted);font-size:.875rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.text-field__control{position:relative}.text-field__input{width:100%;padding:var(--space-6) var(--space-1) var(--space-2);border:0;border-bottom:1px solid var(--color-muted);color:var(--color-heading);transition:border-color var(--transition), box-shadow var(--transition);background:0 0;border-radius:0;font-size:1rem}.text-field__input:focus{border-bottom-color:var(--color-primary);box-shadow:0 1px 0 0 var(--color-primary);outline:none}.text-field__input:focus-visible{outline:none}.text-field__control:has(.text-field__reveal) .text-field__input{padding-right:var(--space-10)}.text-field__label{left:var(--space-1);top:var(--space-6);color:var(--color-muted);pointer-events:none;transform-origin:0 0;transition:transform var(--transition), color var(--transition);position:absolute}.text-field__input:focus+.text-field__label,.text-field__input:not(:placeholder-shown)+.text-field__label{transform:translateY(calc(-1 * var(--space-5))) scale(.8)}.text-field__input:focus+.text-field__label{color:var(--color-primary-text)}.text-field__reveal{right:0;bottom:var(--space-1);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-muted);transition:color var(--transition);display:inline-flex;position:absolute}.text-field__reveal:hover{color:var(--color-heading)}.text-field__error{margin-top:var(--space-1);color:var(--color-danger-text);font-size:.875rem}.text-field--invalid .text-field__input,.text-field--invalid .text-field__input:focus{border-bottom-color:var(--color-danger-text);box-shadow:0 1px 0 0 var(--color-danger-text)}.text-field--invalid .text-field__label,.text-field--invalid .text-field__input:focus+.text-field__label{color:var(--color-danger-text)}.auth-page{min-height:100vh;padding:var(--space-6) var(--space-4) var(--space-10);flex-direction:column;display:flex}.auth-page__header{margin-bottom:var(--space-8)}.auth-logo{align-items:baseline;gap:var(--space-1);color:var(--color-heading);letter-spacing:.02em;text-transform:uppercase;font-size:1.25rem;display:inline-flex}.auth-logo__light{padding-top:var(--space-1);border-top:1px solid var(--color-heading);font-weight:300}.auth-logo__bold{padding-bottom:var(--space-1);border-bottom:1px solid var(--color-heading);font-weight:700}.auth-page__main{flex-direction:column;flex:1;align-items:center;display:flex}.auth-card{width:100%;max-width:480px;padding:var(--space-10) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.auth-card__title{text-align:center;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:300;line-height:1.1}.auth-card__subtitle{margin-top:var(--space-3);color:var(--color-text);text-align:center}.auth-page__footer{margin-top:var(--space-6);color:var(--color-muted);text-align:center}.auth-page__footer a{color:var(--color-primary-text);text-underline-offset:3px;font-weight:500;text-decoration:underline}@media (width>=640px){.auth-page{padding:var(--space-10) var(--space-16) var(--space-16)}.auth-card{padding:var(--space-12) var(--space-14)}}.auth-form{gap:var(--space-6);margin-top:var(--space-6);flex-direction:column;display:flex}.auth-form__alerts:empty{display:none}.auth-form__alerts{margin-top:var(--space-6)}.auth-form__alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid #0000;font-size:.875rem}.auth-form__alert--error{border-color:var(--color-danger-text);color:var(--color-danger-text)}.auth-form__alert--success{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success-text)}.auth-form__alert a{text-underline-offset:3px;font-weight:600;text-decoration:underline}.auth-form__submit{margin-top:var(--space-4)}.auth-form__session{gap:var(--space-4);margin-top:var(--space-8);text-align:center;flex-direction:column;display:flex}.auth-form__session strong{color:var(--color-heading);overflow-wrap:anywhere}.course-image{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.course-image__placeholder{aspect-ratio:16/9;background:linear-gradient(135deg, var(--hero-to), var(--hero-from));justify-content:center;align-items:center;display:flex}.course-image__tile{aspect-ratio:5/3;border-radius:var(--radius-md);background:var(--hero-panel-bg);width:40%;color:var(--hero-from);letter-spacing:.02em;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.site-header{z-index:10;border-bottom:1px solid var(--color-border);background:var(--color-surface);position:sticky;top:0}.site-header__inner{max-width:var(--container);min-height:var(--topbar-height);padding:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;margin:0 auto;display:flex}.site-header__brand{align-items:center;gap:var(--space-3);color:var(--color-heading);white-space:nowrap;font-size:1.0625rem;font-weight:700;display:inline-flex}.site-header__logo{border-radius:50%;width:40px;height:40px}.site-header__toggle{padding:var(--space-2);border-radius:var(--radius-sm);color:var(--color-heading);display:inline-flex}.site-header__toggle-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:24px;height:24px}.site-header__panel{gap:var(--space-4);padding:var(--space-3) 0 var(--space-2);flex-direction:column;flex-basis:100%;display:none}.site-header__panel--open{display:flex}.site-header__nav{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.site-header__link{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--color-text);white-space:nowrap;transition:color var(--transition);font-size:.9375rem;font-weight:500;display:inline-flex}.site-header__link--soon{color:var(--color-muted);cursor:default}.site-header__voucher{padding:var(--space-1) var(--space-3);border:1px solid var(--color-primary-border);border-radius:var(--radius-pill);color:var(--color-primary-text);font-weight:600}.site-header__auth{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.site-header__theme{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-heading);transition:background-color var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.site-header__theme:hover{background:var(--color-primary-soft)}.site-header__button{min-height:40px;padding:var(--space-2) var(--space-4);white-space:nowrap;font-size:.9375rem}.site-header__email{max-width:180px;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.site-header__error{color:var(--color-danger-text);flex-basis:100%;font-size:.875rem}@media (width>=1024px){.site-header__inner{padding-right:var(--space-8);padding-left:var(--space-8);gap:var(--space-6);flex-wrap:nowrap}.site-header__toggle{display:none}.site-header__panel,.site-header__panel--open{justify-content:space-between;align-items:center;gap:var(--space-6);flex-direction:row;flex:1;padding:0;display:flex}.site-header__nav{align-items:center;gap:var(--space-4);flex-direction:row}.site-header__auth{flex-wrap:nowrap}.site-header__error{display:none}}.checkout-steps{justify-content:center;gap:var(--space-6);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);display:flex}.checkout-steps__step{align-items:center;gap:var(--space-1);color:var(--color-muted);flex-direction:column;font-size:.875rem;display:flex}.checkout-steps__step--current{color:var(--color-primary-text);font-weight:600}.checkout-steps__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:36px;height:36px}@media (width>=640px){.checkout-steps{gap:var(--space-16)}}.checkout{max-width:var(--container);padding:0 var(--space-4) var(--space-16);margin:0 auto}.checkout__layout{gap:var(--space-8);margin-top:var(--space-8);flex-direction:column;display:flex}.checkout__billing{flex:1;min-width:0}.checkout__heading{font-size:1.25rem;font-weight:600}.checkout__heading--payment{margin-top:var(--space-8)}.checkout__field{max-width:400px;margin-top:var(--space-4)}.checkout__label{margin-bottom:var(--space-1);color:var(--color-heading);font-weight:500;display:block}.checkout__required{color:var(--color-danger-text)}.checkout__input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-heading);font:inherit}.checkout__input--invalid{border-color:var(--color-danger-text)}.checkout__field-error,.checkout__error{color:var(--color-danger-text);font-size:.875rem}.checkout__field-error{margin-top:var(--space-1)}.checkout__input:disabled{background:var(--color-surface-2);color:var(--color-muted);cursor:not-allowed}.checkout__method{align-items:center;gap:var(--space-3);margin-top:var(--space-4);color:var(--color-text);display:flex}.checkout__radio{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.checkout__notice{gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-text);display:flex}.checkout__notice-icon{fill:none;width:28px;height:28px;stroke:var(--color-primary-text);stroke-linecap:round;stroke-width:1.75px;flex-shrink:0}.checkout__summary{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.checkout__summary .course-image,.checkout__summary .course-image__placeholder{border-radius:var(--radius-sm)}.checkout__course-title{overflow-wrap:anywhere;font-size:1.25rem;font-weight:600}.checkout__prices{gap:var(--space-2);flex-direction:column;display:flex}.checkout__price-row{justify-content:space-between;gap:var(--space-4);display:flex}.checkout__price-row dd{white-space:nowrap;margin:0}.checkout__price-row--total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-heading);font-weight:600}.checkout__skeleton{height:320px;margin-top:var(--space-8);border-radius:var(--radius-md);background:var(--color-surface-2)}.checkout__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@media (width>=1024px){.checkout{padding-right:var(--space-8);padding-left:var(--space-8)}.checkout__layout{align-items:flex-start;gap:var(--space-8);flex-direction:row}.checkout__summary{flex:0 0 360px;width:360px}}.payment{max-width:var(--container);padding:0 var(--space-4) var(--space-16);margin:0 auto}.payment__layout{gap:var(--space-8);margin-top:var(--space-8);flex-direction:column;display:flex}.payment__main{flex:1;min-width:0}.payment__heading{font-size:1.5rem;font-weight:600}.payment__code{margin-top:var(--space-1);color:var(--color-muted);overflow-wrap:anywhere}.payment__action{margin-top:var(--space-6)}.payment__expired{margin-top:var(--space-4)}.payment__card{margin-top:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.payment__card-title{padding:var(--space-4);border-bottom:1px solid var(--color-border);text-align:center;font-size:1.125rem;font-weight:600}.payment__methods{flex-direction:column;display:flex}.payment__method{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-5) var(--space-4);flex-direction:column;flex:1;display:flex}.payment__method--manual{border-top:1px solid var(--color-border);align-items:stretch}.payment__method-title{text-align:center;font-size:1rem;font-weight:500}.payment__qr{width:100%;max-width:260px;height:auto;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--hero-panel-bg)}.payment__download{min-height:40px;padding:var(--space-2) var(--space-4);font-size:.875rem}.payment__waiting{align-items:center;gap:var(--space-2);display:flex}.payment__spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary-text);border-radius:50%;width:18px;height:18px;animation:1s linear infinite payment-spin}.payment__details{flex-direction:column;display:flex}.payment__detail{gap:var(--space-1);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.payment__detail dt{color:var(--color-muted)}.payment__detail dd{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-heading);overflow-wrap:anywhere;margin:0;font-weight:600;display:flex}.payment__copy{padding:var(--space-1) var(--space-2);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);color:var(--color-primary-text);flex-shrink:0;font-size:.8125rem;font-weight:500}.payment__copy:hover{background:var(--color-primary-soft)}.payment__note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-accent-soft);font-size:.9375rem}.payment__summary{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.payment__summary .course-image,.payment__summary .course-image__placeholder{border-radius:var(--radius-sm)}.payment__course-title{overflow-wrap:anywhere;font-size:1.25rem;font-weight:600}.payment__prices{gap:var(--space-2);flex-direction:column;display:flex}.payment__price-row{justify-content:space-between;gap:var(--space-4);display:flex}.payment__price-row dd{white-space:nowrap;margin:0}.payment__price-row--total{margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);color:var(--color-heading);font-weight:600}.payment__countdown{padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-text);border-radius:var(--radius-sm);color:var(--color-danger-text);text-align:center}.payment__time{font-size:1.25rem;font-weight:700}.payment__skeleton{height:320px;margin-top:var(--space-8);border-radius:var(--radius-md);background:var(--color-surface-2)}.payment__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@keyframes payment-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.payment__spinner{animation:none}}@media (width>=768px){.payment__methods{flex-direction:row}.payment__method--manual{border-top:0;border-left:1px solid var(--color-border)}.payment__detail{flex-direction:row;justify-content:space-between;align-items:center}.payment__detail dt{flex-shrink:0}.payment__detail dd{text-align:right;flex:1;justify-content:flex-end}}@media (width>=1024px){.payment{padding-right:var(--space-8);padding-left:var(--space-8)}.payment__layout{flex-direction:row;align-items:flex-start}.payment__summary{flex:0 0 320px;width:320px}}.email-code{width:100%;max-width:none;height:100%;max-height:none;padding:var(--space-4);background:var(--color-overlay);border:0;position:fixed;inset:0}.email-code[open]{justify-content:center;align-items:center;display:flex}.email-code__panel{width:100%;max-width:440px;padding:var(--space-8) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);position:relative}.email-code__close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex;position:absolute}.email-code__close:hover{color:var(--color-heading)}.email-code__close-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;flex-shrink:0;width:20px;height:20px}.email-code__title{padding-right:var(--space-8);font-size:1.5rem}.email-code__text{margin-top:var(--space-2);color:var(--color-muted)}.email-code__google{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.email-code__email{color:var(--color-heading);overflow-wrap:anywhere}.email-code__error{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-text);border-radius:var(--radius-sm);color:var(--color-danger-text);font-size:.875rem}.email-code__form{gap:var(--space-5);margin-top:var(--space-2);flex-direction:column;display:flex}.email-code__resend{gap:var(--space-2);flex-direction:column;display:flex}.course-detail__hero{background:var(--hero-deep);color:var(--hero-text)}.course-detail__hero-inner{gap:var(--space-8);max-width:var(--container);padding:var(--space-10) var(--space-4);flex-direction:column;margin:0 auto;display:flex}.course-detail__info{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.course-detail__title{margin-bottom:var(--space-3);color:var(--hero-text);overflow-wrap:anywhere;font-size:clamp(2rem,4vw,2.75rem);font-weight:500;line-height:1.2}.course-detail__rating{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.course-detail__rating-value{color:var(--hero-highlight)}.course-detail__stars{gap:var(--space-1);display:inline-flex}.course-detail__star{fill:none;width:18px;height:18px;stroke:var(--hero-highlight);stroke-linejoin:round;stroke-width:1.5px}.course-detail__star--filled{fill:var(--hero-highlight)}.course-detail__expiry{align-items:center;gap:var(--space-2);display:flex}.course-detail__expiry-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;flex-shrink:0;width:20px;height:20px}.course-detail__buy{border-radius:var(--radius-sm);background:var(--color-surface);width:100%;color:var(--color-text);overflow:hidden}.course-detail__buy-body{gap:var(--space-2);padding:var(--space-5) var(--space-4);flex-direction:column;display:flex}.course-detail__price{align-items:baseline;gap:var(--space-3);color:var(--color-heading);flex-wrap:wrap;font-size:1.5rem;display:flex}.course-detail__price strong{font-weight:500}.course-detail__old-price{color:var(--color-muted);font-size:1.125rem}.course-detail__discount{margin-bottom:var(--space-3)}.course-detail__included{max-width:var(--container);padding:var(--space-8) var(--space-4) var(--space-16);margin:0 auto}.course-detail__heading{font-size:2rem;font-weight:500}.course-detail__total{margin-top:var(--space-2);color:var(--color-muted)}.course-detail__empty{margin-top:var(--space-6);color:var(--color-muted)}.course-detail__accordion{margin-top:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.course-detail__accordion-toggle{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-surface);color:var(--color-heading);text-align:left;font-weight:500;display:flex}.course-detail__chevron{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px;transition:transform var(--transition);flex-shrink:0;transform:rotate(-90deg)}.course-detail__chevron--open{transform:none}.course-detail__exams{gap:var(--space-4);padding:var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.course-detail__exam{justify-content:space-between;gap:var(--space-4);display:flex}.course-detail__exam-count{color:var(--color-muted);flex-shrink:0}.course-detail__skeleton{border-radius:var(--radius-sm);background:var(--hero-glass);height:240px}.course-detail__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@media (width>=1024px){.course-detail__hero-inner{justify-content:space-between;align-items:flex-start;gap:var(--space-12);padding-right:var(--space-8);padding-left:var(--space-8);flex-direction:row}.course-detail__buy{flex:0 0 360px;width:360px}.course-detail__included{padding-right:var(--space-8);padding-left:var(--space-8)}.course-detail__accordion{max-width:calc(100% - 360px - var(--space-12))}}.course-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);height:100%;transition:border-color var(--transition), transform var(--transition);flex-direction:column;display:flex;overflow:hidden}.course-card:hover{border-color:var(--color-primary-border);transform:translateY(var(--hover-lift))}.course-card__body{padding:var(--space-6) var(--space-6) var(--space-5);flex:1}.course-card__title{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700}.course-card__stats{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;padding:0;display:flex}.course-card__stat{align-items:center;gap:var(--space-2);display:flex}.course-card__value{color:var(--color-heading);font-weight:600}.course-card__label{color:var(--color-muted)}.course-card__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;flex-shrink:0;width:20px;height:20px}.course-card__stat .course-card__icon{color:var(--color-primary-text)}.course-card__footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);color:var(--color-primary-text);transition:background-color var(--transition);justify-content:space-between;align-items:center;font-weight:600;display:flex}.course-card__footer:hover{background:var(--color-primary-soft)}.course-list{gap:var(--space-6);grid-template-columns:minmax(0,1fr);padding:0;display:grid}.course-list__skeleton{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);height:420px;animation:1.5s ease-in-out infinite course-list-pulse}.course-list__message{align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@keyframes course-list-pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){.course-list__skeleton{animation:none}}@media (width>=640px){.course-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.course-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1280px){.course-list{grid-template-columns:repeat(4,minmax(0,1fr))}}.course-page{max-width:var(--container);min-height:100vh;padding:var(--space-10) var(--space-4) var(--space-16);scroll-margin-top:var(--scroll-offset);margin:0 auto}.course-page__title{margin-bottom:var(--space-8);color:var(--color-heading);text-align:center;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.3}@media (width>=1024px){.course-page{padding-right:var(--space-8);padding-left:var(--space-8)}}.markdown{gap:var(--space-3);overflow-wrap:anywhere;flex-direction:column;display:flex}.markdown ul{gap:var(--space-1);padding-left:var(--space-5);flex-direction:column;list-style:outside;display:flex}.markdown code{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--color-surface-2);font-family:var(--font-mono);font-size:.9em}.exam{max-width:var(--container);padding:0 var(--space-4) var(--space-16);margin:0 auto}.exam__bar{gap:var(--space-1);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.exam__back{color:var(--color-primary-text);overflow-wrap:anywhere;font-size:.875rem;font-weight:500}.exam__back:hover{text-decoration:underline}.exam__title{overflow-wrap:anywhere;font-size:1.5rem;font-weight:700}.exam__layout{gap:var(--space-6);margin-top:var(--space-6);flex-direction:column;display:flex}.exam__main{gap:var(--space-4);flex-direction:column;flex:1;min-width:0;display:flex}.exam__toolbar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.exam__icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex-shrink:0;width:20px;height:20px}.exam__flag{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-muted);justify-content:center;align-items:center;display:inline-flex}.exam__flag--on{border-color:var(--color-accent);color:var(--color-accent-text)}.exam__flag--on .exam__icon{fill:currentColor}.exam__counter{flex:1;font-size:1.125rem;font-weight:700}.exam__timer{align-items:center;gap:var(--space-2);color:var(--color-heading);font-family:var(--font-mono);font-size:1.125rem;font-weight:600;display:inline-flex}.exam__timer--low{color:var(--color-danger-text)}.exam__end{min-height:40px;padding:var(--space-2) var(--space-4)}.exam__confirm{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent-soft);flex-direction:column;display:flex}.exam__confirm-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.exam__error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger-text);border-radius:var(--radius-sm);color:var(--color-danger-text);font-size:.875rem}.exam__question{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-heading);flex-direction:column;font-size:1.0625rem;display:flex}.exam__hint{color:var(--color-muted);font-size:.875rem}.exam__options{gap:var(--space-3);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.exam__option{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color var(--transition);flex-wrap:wrap;display:flex}.exam__option:hover{border-color:var(--color-primary-border)}.exam__option--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.exam__option--correct{border-color:var(--color-success);background:var(--color-success-soft)}.exam__option--wrong{border-color:var(--color-danger-text)}.exam__input{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0;margin-top:3px}.exam__option-letter{flex-shrink:0;font-weight:600}.exam__option-body{overflow-wrap:anywhere;flex:1;min-width:0}.exam__option-tag{color:var(--color-success-text);font-size:.8125rem;font-weight:600}.exam__reveal{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary-text);align-self:flex-start;font-weight:500}.exam__explanation{gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-2);flex-direction:column;display:flex}.exam__explanation-title{font-size:1.125rem}.exam__nav{justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.exam__panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.exam__panel-title{margin-bottom:var(--space-3);text-align:center;font-size:1.125rem}.exam__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(40px,1fr));padding:0;display:grid}.exam__cell{aspect-ratio:1;border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:50%;font-size:.875rem}.exam__cell--answered{background:var(--color-primary-soft);color:var(--color-primary-text);font-weight:600}.exam__cell--marked{border-color:var(--color-accent);border-width:2px}.exam__cell--current{outline:2px solid var(--color-primary);outline-offset:2px}.exam__legend{gap:var(--space-4);margin-top:var(--space-4);color:var(--color-muted);flex-wrap:wrap;padding:0;font-size:.8125rem;display:flex}.exam__legend li{align-items:center;gap:var(--space-2);display:flex}.exam__swatch{border:1px solid var(--color-border);border-radius:50%;width:14px;height:14px}.exam__swatch--answered{background:var(--color-primary-soft)}.exam__swatch--marked{border:2px solid var(--color-accent)}.exam__visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.exam__skeleton{height:420px;margin-top:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface-2)}.exam__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@media (width>=1024px){.exam{padding-right:var(--space-8);padding-left:var(--space-8)}.exam__layout{flex-direction:row;align-items:flex-start}.exam__panel{top:calc(var(--topbar-height) + var(--space-4));flex:0 0 320px;position:sticky}}.exams{max-width:var(--container);padding:0 var(--space-4) var(--space-16);margin:0 auto}.exams__bar{gap:var(--space-1);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.exams__back{color:var(--color-primary-text);font-size:.875rem;font-weight:500}.exams__back:hover{text-decoration:underline}.exams__course{color:var(--color-heading);overflow-wrap:anywhere;font-size:1.125rem;font-weight:600}.exams__layout{gap:var(--space-8);margin-top:var(--space-6);flex-direction:column-reverse;display:flex}.exams__detail{flex:1;min-width:0}.exams__title{overflow-wrap:anywhere;font-size:1.75rem;font-weight:700}.exams__card{margin-top:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.exams__stats{gap:var(--space-3) var(--space-6);color:var(--color-muted);flex-wrap:wrap;padding:0;display:flex}.exams__stats li{align-items:center;gap:var(--space-2);display:flex}.exams__stats strong{color:var(--color-heading)}.exams__icon{fill:none;width:20px;height:20px;stroke:var(--color-primary-text);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;flex-shrink:0}.exams__heading{margin-top:var(--space-6);font-size:1.125rem;font-weight:700}.exams__heading--history{margin-top:var(--space-10);font-size:1.375rem}.exams__instructions{gap:var(--space-2);margin-top:var(--space-3);padding-left:var(--space-5);flex-direction:column;list-style:outside;display:flex}.exams__icon--done{stroke:var(--color-success-text)}.exams__error{margin-top:var(--space-4);color:var(--color-danger-text);font-size:.875rem}.exams__history{gap:var(--space-6);margin-top:var(--space-4);flex-direction:column;display:flex}.exams__version{font-size:1rem;font-weight:700}.exams__attempts{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;padding:0;display:flex}.exams__attempt{align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:auto 1fr auto;display:grid}.exams__ring{border:5px solid var(--color-muted);border-radius:50%;width:36px;height:36px}.exams__ring--passed{border-color:var(--color-success)}.exams__ring--failed{border-color:var(--color-accent)}.exams__verdict{font-weight:600}.exams__verdict--passed{color:var(--color-success-text)}.exams__verdict--failed{color:var(--color-danger-text)}.exams__verdict--progress{color:var(--color-primary-text)}.exams__attempt-score{color:var(--color-heading);text-align:right;font-weight:700}.exams__attempt-time,.exams__attempt-date{color:var(--color-muted);grid-column:2/4;font-size:.875rem}.exams__review{min-height:40px;padding:var(--space-2) var(--space-4);grid-column:1/4}.exams__history-skeleton{height:80px;margin-top:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-2)}.exams__visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=768px){.exams__attempt{grid-template-columns:auto 8rem 8rem 1fr auto auto}.exams__attempt-score{text-align:left}.exams__attempt-time,.exams__attempt-date,.exams__review{grid-column:auto}}.exams__begin{margin-top:var(--space-6)}.exams__empty{margin-top:var(--space-3);color:var(--color-muted)}.exams__list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.exams__list-title{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);font-size:1.125rem;font-weight:700}.exams__list ul{padding:0}.exams__list-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);color:var(--color-text);transition:background-color var(--transition);display:flex}.exams__list-item:hover{background:var(--color-primary-soft)}.exams__list-item--active{background:var(--color-surface-2);color:var(--color-primary-text);font-weight:600}.exams__skeleton{height:360px;margin-top:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface-2)}.exams__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}@media (width>=1024px){.exams{padding-right:var(--space-8);padding-left:var(--space-8)}.exams__layout{flex-direction:row;align-items:flex-start}.exams__list{top:calc(var(--topbar-height) + var(--space-4));flex:0 0 300px;position:sticky}}.result{max-width:960px;padding:0 var(--space-4) var(--space-16);margin:0 auto}.result__bar{gap:var(--space-2);padding:var(--space-5) 0;border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.result__back{color:var(--color-primary-text);font-size:.875rem;font-weight:500}.result__back:hover{text-decoration:underline}.result__title{overflow-wrap:anywhere;font-size:1.5rem;font-weight:700}.result__summary{gap:var(--space-1);margin-top:var(--space-6);padding:var(--space-5);border:1px solid var(--color-danger-text);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.result__summary--passed{border-color:var(--color-success)}.result__verdict{color:var(--color-danger-text);font-size:1.375rem;font-weight:700}.result__summary--passed .result__verdict{color:var(--color-success-text)}.result__score{color:var(--color-heading)}.result__meta{color:var(--color-muted);font-size:.875rem}.result__tabs{gap:var(--space-2);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.result__tab{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-weight:500}.result__tab--active{border-color:var(--color-heading);background:var(--color-heading);color:var(--color-bg)}.result__list{gap:var(--space-5);margin-top:var(--space-5);flex-direction:column;display:flex}.result__question{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.result__question-head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--color-surface-2);flex-wrap:wrap;display:flex}.result__question-head h3{font-size:1rem}.result__question-head h3 span{font-weight:500}.result__dot{background:var(--color-muted);border-radius:50%;width:14px;height:14px}.result__question-head--correct .result__dot{background:var(--color-success)}.result__question-head--correct h3 span{color:var(--color-success-text)}.result__question-head--incorrect .result__dot{background:var(--color-danger-text)}.result__question-head--incorrect h3 span{color:var(--color-danger-text)}.result__question-head--skipped h3 span{color:var(--color-muted)}.result__marked{color:var(--color-accent-text);margin-left:auto;font-size:.8125rem;font-weight:600}.result__question-body{gap:var(--space-4);padding:var(--space-5);color:var(--color-heading);flex-direction:column;display:flex}.result__options{gap:var(--space-2);flex-direction:column;padding:0;display:flex}.result__option{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);flex-wrap:wrap;display:flex}.result__option--correct{border-color:var(--color-success);background:var(--color-success-soft)}.result__option--wrong{border-color:var(--color-danger-text)}.result__option-letter{flex-shrink:0;font-weight:600}.result__option-body{overflow-wrap:anywhere;flex:1;min-width:0}.result__option-tags{gap:var(--space-2);display:flex}.result__tag{color:var(--color-muted);font-size:.8125rem;font-weight:600}.result__tag--correct{color:var(--color-success-text)}.result__explanation{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-surface-2);flex-direction:column;display:flex}.result__empty{color:var(--color-muted)}.result__skeleton{height:360px;margin-top:var(--space-6);border-radius:var(--radius-md);background:var(--color-surface-2)}.result__message{align-items:center;gap:var(--space-4);padding:var(--space-16) var(--space-4);color:var(--color-muted);text-align:center;flex-direction:column;display:flex}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1120;--color-surface:#111827;--color-surface-2:#162033;--color-border:#1f2937;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#2563eb29;--color-primary-border:#3b82f68c;--color-primary-text:#60a5fa;--color-accent:#f90;--color-accent-hover:#ffad33;--color-accent-soft:#ff990024;--color-accent-text:#f90;--color-success:#22c55e;--color-success-soft:#22c55e24;--color-success-text:#4ade80;--color-danger:#ef4444;--color-danger-text:#f87171;--color-text:#e5e7eb;--color-heading:#f9fafb;--color-muted:#9ca3af;--color-star:#fbbf24;--color-focus:#60a5fa;--color-on-primary:#fff;--color-on-accent:#111827;--color-overlay:#02061799;--color-badge-overlay:#0f172ac7;--hero-from:#1e3a8a;--hero-to:#1d4ed8;--hero-deep:#14123a;--hero-text:#fff;--hero-text-soft:#ffffffd1;--hero-line:#ffffff2e;--hero-glass:#ffffff24;--hero-highlight:#f90;--hero-panel-bg:#fff;--hero-panel-text:#0f172a;--hero-panel-muted:#64748b;--hero-panel-chip:#eff6ff;--code-bg:#0d1117;--code-bar:#161b22;--code-text:#e6edf3;--code-keyword:#ff7b72;--code-type:#79c0ff;--code-comment:#8b949e;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-24:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--topbar-height:60px;--container:1200px;--scroll-offset:calc(var(--topbar-height) + 16px);--transition:.2s ease;--hover-lift:-2px;--shadow-lg:0 24px 48px #02061759}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fff;--color-surface:#f8fafc;--color-surface-2:#f1f5f9;--color-border:#e2e8f0;--color-primary-soft:#2563eb1a;--color-primary-border:#2563eb73;--color-primary-text:#1d4ed8;--color-accent:#ea8600;--color-accent-hover:#d97a00;--color-accent-soft:#ea86001f;--color-accent-text:#b45309;--color-success:#16a34a;--color-success-soft:#16a34a1f;--color-success-text:#15803d;--color-danger-text:#b91c1c;--color-text:#1e293b;--color-heading:#0f172a;--color-muted:#64748b;--color-star:#b45309;--color-focus:#1d4ed8;--color-overlay:#0f172a73;--shadow-lg:0 24px 48px #0f172a2e}@media (prefers-reduced-motion:reduce){:root{--transition:0s;--hover-lift:0}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{color:var(--color-heading);font-weight:700;line-height:1.25}p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}code,pre{font-family:var(--font-mono)}dd{margin:0}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}section[id]{scroll-margin-top:var(--scroll-offset)}.sprite{width:0;height:0;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1.125rem;height:1.125rem;display:inline-block}.skip-link{top:-100px;left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;position:fixed}.skip-link:focus{top:var(--space-4)}
