.student-page{background:linear-gradient(135deg, var(--student-bg-from) 0%, var(--student-bg-to) 100%);min-height:100dvh}.student-screen{min-height:100dvh;padding:var(--sp-5);flex-direction:column;justify-content:center;align-items:center;margin-inline:auto;display:flex;position:relative}.student-screen--compact{width:100%;max-width:30rem}.student-back{top:var(--sp-4);left:var(--sp-4);color:#ffffff80;font-size:var(--font-size-sm);align-items:center;gap:var(--sp-1);transition:color var(--transition-fast);text-decoration:none;display:flex;position:absolute}.student-back:hover{color:#ffffffd9}.student-back:focus-visible{outline-offset:4px;border-radius:var(--r-sm);outline:3px solid #fff9}.teacher-auth-page .student-back{color:var(--clr-text-muted)}.teacher-auth-page .student-back:hover{color:var(--clr-text)}.entry-logo{text-align:center;margin-bottom:var(--sp-8)}.entry-logo__icon{margin-bottom:var(--sp-3);font-size:4.5rem;line-height:1;display:block}.entry-logo__icon img{margin-inline:auto}.entry-logo__title{font-size:var(--font-size-4xl);color:#fff;letter-spacing:-.02em;font-weight:800}.entry-logo__sub{color:#fff9;font-size:var(--font-size-sm);margin-top:var(--sp-2)}.student-card{background:var(--clr-surface);border-radius:var(--r-2xl);width:100%;min-width:0;max-width:24rem;box-shadow:var(--shadow-card);padding:var(--sp-8) var(--sp-6)}.student-card--flush{margin-top:0}.card-label{text-align:center;color:var(--clr-text-muted);font-weight:600;font-size:var(--font-size-base);margin-bottom:var(--sp-5)}.code-input{width:100%;padding:var(--sp-4);border-radius:var(--r-xl);border:2px solid var(--clr-border);font-family:var(--font-family);letter-spacing:.15em;text-align:center;text-transform:uppercase;color:var(--clr-text);margin-bottom:var(--sp-3);transition:border-color var(--transition-base), box-shadow var(--transition-base);font-size:2rem;font-weight:800}.code-input::placeholder{font-size:var(--font-size-base);letter-spacing:.02em;text-transform:none;color:var(--clr-text-faint);font-weight:400}.code-input:focus-visible{border-color:var(--clr-violet);box-shadow:0 0 0 4px var(--clr-violet-light);outline:none}.code-status{color:var(--fb-err-label);font-size:var(--font-size-sm);text-align:center;min-height:1.25rem;margin-bottom:var(--sp-3)}.code-success{color:var(--clr-emerald-dark);font-size:var(--font-size-sm);text-align:center;min-height:1.25rem;margin-bottom:var(--sp-3)}.btn-violet{width:100%;min-height:var(--kid-tap);padding:var(--sp-5) var(--sp-4);border-radius:var(--r-xl);background:var(--clr-violet);color:var(--clr-text-inverse);font-size:var(--font-size-xl);transition:background-color var(--transition-base);font-weight:800}.btn-violet:hover:not(:disabled){background:var(--clr-violet-dark)}.btn-violet:focus-visible{outline-color:var(--clr-focus-ring)}.btn-slate{width:100%;margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xl);background:var(--clr-surface-subtle);color:var(--clr-text-muted);font-size:var(--font-size-sm);transition:background-color var(--transition-fast);font-weight:600}.btn-slate:hover{background:var(--clr-border)}.btn-slate:focus-visible{outline-offset:2px;outline:3px solid #64748b66}.no-code-btns{align-items:center;gap:var(--sp-2);flex-direction:column;width:100%;display:flex}.btn-practice-toggle{width:100%;max-width:24rem;margin-top:var(--sp-2);padding:var(--sp-4);border-radius:var(--r-xl);color:#fff;font-size:var(--font-size-base);justify-content:center;align-items:center;gap:var(--sp-2);transition:background-color var(--transition-fast);background:#ffffff2e;border:1px solid #ffffff47;font-weight:700;display:flex}.btn-practice-toggle:hover{background:#ffffff47}.btn-practice-toggle:focus-visible{outline-offset:2px;outline:3px solid #fff9}.btn-practice-toggle--demo{background:#fbbf2438;border-color:#fbbf2466}.btn-practice-toggle--demo:hover{background:#fbbf2459}#hub-menu{align-items:center;gap:var(--sp-3);flex-direction:column;width:100%;display:flex}.hub-btn{width:100%;max-width:24rem;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-2xl);color:var(--clr-text-inverse);align-items:center;gap:var(--sp-3);transition:filter var(--transition-fast), transform .1s;cursor:pointer;text-align:left;border:none;display:flex}.hub-btn:hover{filter:brightness(1.08)}.hub-btn:active{transform:scale(.98)}.hub-btn:focus-visible{outline-offset:3px;outline:3px solid #ffffffb3}.hub-btn i{flex-shrink:0;font-size:1.5rem}.hub-btn img{flex-shrink:0}.hub-btn__label{font-size:var(--font-size-lg);font-weight:800;line-height:1.2}.hub-btn__sub{font-size:var(--font-size-xs);opacity:.85;margin-top:2px}.hub-btn__label,.hub-btn__sub{display:block}.hub-btn--primary{background:var(--clr-student-dark)}.hub-btn--demo{background:var(--clr-amber);color:var(--clr-warning-text)}.hub-btn--demo .hub-btn__sub{opacity:1}.hub-olympiad-link{margin-top:var(--sp-1);color:#ffffffd9;font-size:var(--font-size-sm);transition:color var(--transition-fast);border-bottom:1px solid #fff6;padding-bottom:1px;font-weight:600;text-decoration:none}.hub-olympiad-link:hover{color:#fff;border-color:#fff}.olympiad-home-page .student-screen{padding-inline:var(--sp-4);justify-content:flex-start}.entry-logo--hero{justify-content:center;align-items:center;gap:var(--sp-6);margin-bottom:var(--sp-5);text-align:left;display:flex}.entry-logo--hero .entry-logo__icon{flex-shrink:0;margin-bottom:0}.entry-logo--hero .entry-logo__icon img{width:clamp(6.5rem,13vw,10rem);height:auto;margin-inline:0}.entry-logo--hero .entry-logo__sub{max-width:34rem}.olympiad-entry{width:min(62rem,100%);margin:var(--sp-8) auto 0}.olympiad-entry__grid{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.olympiad-entry__grid>.student-card{max-width:none;padding:var(--sp-6);flex-direction:column;display:flex}.olympiad-actions .hub-btn{justify-content:center;max-width:none}.olympiad-code-form__help{color:var(--clr-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--sp-3);text-align:center}.olympiad-code-form+.card-label{padding-top:var(--sp-5);margin-top:auto}.olympiad-guide__list{align-content:start;gap:var(--sp-4);margin:0;padding:0;list-style:none;display:grid}.olympiad-guide__list li{grid-template-columns:var(--sp-8) minmax(0, 1fr);gap:var(--sp-2);align-items:start;display:grid}.olympiad-guide__list li>span{font-size:var(--font-size-xl);text-align:center;line-height:1.4}.olympiad-guide__list strong{color:var(--clr-text);font-size:var(--kid-text)}.olympiad-guide__list p{margin:var(--sp-1) 0 0;color:var(--clr-text-muted);font-size:var(--font-size-base);line-height:1.5}.olympiad-guide__counts{gap:var(--sp-2);padding-top:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:auto;display:grid}.olympiad-guide__counts span{padding:var(--sp-3) var(--sp-2);border-radius:var(--r-md);background:var(--clr-surface-muted);color:var(--clr-text-muted);font-size:var(--font-size-sm);text-align:center}.olympiad-guide__counts strong{color:var(--clr-violet);font-size:var(--font-size-base);display:block}@media (width<=780px){.olympiad-entry{width:min(30rem,100%);margin-top:var(--sp-12)}.olympiad-entry__grid{grid-template-columns:1fr}.olympiad-guide{order:2}.entry-logo--hero{gap:var(--sp-3);text-align:center;flex-direction:column}.entry-logo--hero .entry-logo__icon img{margin-inline:auto}.olympiad-code-form+.card-label{margin-top:var(--sp-5);padding-top:0}}@media (width<=480px){.olympiad-home-page .student-screen{padding-inline:var(--sp-3)}.olympiad-guide__counts{grid-template-columns:1fr}.olympiad-guide__counts span{justify-content:space-between;display:flex}.olympiad-guide__counts strong{display:inline}}@media (width>=781px) and (height<=840px){.entry-logo--hero{gap:var(--sp-4);margin-bottom:var(--sp-4)}.entry-logo--hero .entry-logo__icon img{width:clamp(5.5rem,9vw,7.5rem)}.olympiad-entry{margin-top:var(--sp-5)}.olympiad-entry__grid>.student-card{padding:var(--sp-5)}.olympiad-guide__list{gap:var(--sp-3)}.olympiad-guide__counts{padding-top:var(--sp-4)}}.oe-event-confirm{align-items:center;gap:var(--sp-3);border-radius:var(--r-xl);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-4);background:#f0fdf4;border:1px solid #bbf7d0;display:flex}.oe-event-confirm__icon{font-size:1.5rem}.oe-event-confirm__title{color:#166534;font-weight:700;font-size:var(--font-size-base)}.oe-event-confirm__meta{font-size:var(--font-size-sm);color:var(--fb-ok-soft);margin-top:2px}.oe-rules{border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-4);background:#fafafa;border:1px solid #e2e8f0}.oe-rules__heading{color:var(--clr-text);margin-bottom:var(--sp-3);align-items:center;gap:var(--sp-2);font-weight:700;display:flex}.oe-rules__list{padding-left:var(--sp-5);gap:var(--sp-2);font-size:var(--font-size-sm);color:var(--clr-text-muted);flex-direction:column;line-height:1.5;list-style:outside;display:flex}.oe-rules__list li strong{color:var(--clr-text)}.oe-agree{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xl);cursor:pointer;margin-bottom:var(--sp-4);transition:border-color var(--transition-fast);background:#fff;border:2px solid #e2e8f0;display:flex}.oe-agree:has(.oe-agree__checkbox:checked){background:#faf5ff;border-color:#7c3aed}.oe-agree__checkbox{accent-color:#7c3aed;cursor:pointer;flex-shrink:0;width:20px;height:20px;margin-top:2px}.oe-agree__text{font-size:var(--font-size-sm);color:var(--clr-text);font-weight:600;line-height:1.5}.practice-header{margin-bottom:var(--sp-5);justify-content:space-between;align-items:center;display:flex}.practice-header__title{font-weight:700;font-size:var(--font-size-base);color:var(--clr-text)}.practice-header__close{color:var(--clr-text-faint);font-size:var(--font-size-sm);align-items:center;gap:var(--sp-1);transition:color var(--transition-fast);padding:var(--sp-1);display:flex}.practice-header__close:hover{color:var(--clr-text-muted)}.selector-grid{gap:var(--sp-2);margin-bottom:var(--sp-4);display:grid}.selector-grid--grade{grid-template-columns:repeat(4,minmax(0,1fr))}.selector-grid--diff{grid-template-columns:repeat(3,minmax(0,1fr))}.selector-btn{padding:var(--sp-4) var(--sp-2);border-radius:var(--r-lg);background:var(--clr-surface-subtle);color:var(--clr-text-muted);font-family:var(--font-family);font-weight:800;font-size:var(--font-size-xl);transition:background-color var(--transition-fast), color var(--transition-fast);cursor:pointer;border:2px solid #0000}.selector-btn--diff{font-size:var(--font-size-sm);padding:var(--sp-3) var(--sp-2);font-weight:700}.selector-btn:hover{background:var(--clr-border)}.selector-btn[aria-pressed=true]{background:var(--clr-amber)!important;color:var(--clr-warning-text)!important;border-color:var(--clr-amber-dark)!important}.btn-start{width:100%;padding:var(--sp-4);border-radius:var(--r-xl);background:var(--clr-amber);color:var(--clr-warning-text);font-size:var(--font-size-base);transition:background-color var(--transition-base);font-weight:800}.btn-start:hover:not(:disabled){background:var(--clr-amber-dark)}.btn-start:disabled{opacity:.4;cursor:not-allowed}.student-footer{padding:var(--sp-6) 0;text-align:center;color:#fff6;font-size:var(--font-size-xs);margin-top:auto}.student-footer__links{justify-content:center;gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.student-footer__links a{color:#fff6;transition:color var(--transition-fast)}.student-footer__links a:hover{color:#ffffffb3}.event-info-card{border-radius:var(--r-xl);width:100%;max-width:28rem;padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-6);text-align:center;background:#ffffff21}.event-info-card__title{color:#fff;font-weight:800;font-size:var(--font-size-lg)}.event-info-card__meta{color:#ffffffb3;font-size:var(--font-size-sm);margin-top:var(--sp-1)}.actions-prompt{color:#fffc;text-align:center;font-weight:600;font-size:var(--font-size-base);margin-bottom:var(--sp-2)}.action-list{gap:var(--sp-4);flex-direction:column;width:100%;max-width:28rem;display:flex}.action-card{width:100%;padding:var(--sp-8) var(--sp-6);border-radius:var(--r-2xl);font-family:var(--font-family);font-size:var(--font-size-xl);align-items:center;gap:var(--sp-2);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-base);border:none;flex-direction:column;font-weight:800;display:flex;box-shadow:0 8px 32px #00000026}.action-card:hover{transform:translateY(-2px);box-shadow:0 14px 40px #0003}.action-card:active{transform:translateY(0)}.action-card__icon{font-size:2.5rem}.action-card__sub{font-size:var(--font-size-sm);opacity:.7;font-weight:600}.action-card--demo{background:var(--clr-amber);color:#1e293b}.action-card--demo .action-card__sub{color:#44403c}.action-card--olympiad{color:var(--clr-violet);background:#fff}.action-card--olympiad .action-card__sub{color:#a78bfa;opacity:1}.action-card--olympiad.btn-disabled{opacity:.4;pointer-events:none}.btn-text{margin-top:var(--sp-8);color:#ffffff80;font-size:var(--font-size-sm);align-items:center;gap:var(--sp-2);transition:color var(--transition-fast);font-weight:600;display:flex}.btn-text:hover{color:#ffffffd9}.btn-text--compact{margin-top:var(--sp-2)}.quiz-overlay{z-index:50;background:var(--clr-surface-muted);flex-direction:column;display:none;position:fixed;inset:0}.quiz-overlay.active{display:flex}:is(html:has(.quiz-overlay.active),body:has(.quiz-overlay.active),html:has(.result-overlay.active),body:has(.result-overlay.active)){overflow:clip}:is(body:has(.quiz-overlay.active) .student-screen,body:has(.result-overlay.active) .student-screen){display:none}.quiz-header{border-bottom:1px solid var(--clr-border);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;display:flex}.quiz-header__left,.quiz-header__right{align-items:center;gap:var(--sp-3);display:flex}.quiz-badge{background:var(--clr-surface-subtle);color:var(--clr-text-muted);font-size:var(--font-size-xs);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);font-weight:700}.quiz-badge--practice{background:var(--clr-warning-light);color:var(--clr-warning-text)}.quiz-badge--demo{background:var(--clr-sky-light);color:var(--clr-sky-dark)}.quiz-badge--olympiad{background:var(--fb-err-bg);color:var(--fb-err-text)}.quiz-progress-text{font-size:var(--font-size-sm);color:var(--clr-text-muted);font-weight:700}.quiz-timer{align-items:center;gap:var(--sp-2);color:#c2410c;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-lg);font-weight:700;font-size:var(--font-size-base);background:#ffedd5;display:none}.quiz-timer.visible{display:flex}.quiz-timer.urgent{color:#be123c;background:#ffe4e6}.btn-quiz-quit{background:var(--clr-surface-subtle);color:var(--clr-text-muted);font-size:var(--font-size-sm);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);transition:background-color var(--transition-fast);font-weight:700}.btn-quiz-quit:hover{background:var(--clr-border)}.quiz-progress-bar-wrap{background:#e2e8f0;width:100%;height:.5rem}.quiz-progress-bar{background:var(--clr-violet);width:0;height:100%;transition:width .3s}.quiz-body{padding:var(--sp-4);padding-top:var(--sp-4);flex-direction:column;flex:1;align-items:center;display:flex;overflow-y:auto}.quiz-inner{width:100%;max-width:32rem}.quiz-question-card{border-radius:var(--r-2xl);border:1px solid var(--clr-border);padding:var(--sp-5);margin-bottom:var(--sp-4);align-items:center;gap:var(--sp-4);background:#fff;display:flex;box-shadow:0 4px 16px #0f172a14}.quiz-question-card:focus{outline:none}.quiz-question-text{font-size:var(--font-size-xl);color:var(--clr-text);overflow-wrap:anywhere;flex:1;font-weight:700;line-height:1.4}@media (width>=640px){.quiz-question-text{font-size:var(--font-size-2xl)}}.quiz-question-text[data-qlength=long]{font-size:var(--font-size-lg)}.quiz-question-text[data-qlength=xlong]{font-size:var(--font-size-base);line-height:1.35}@media (width>=640px){.quiz-question-text[data-qlength=long]{font-size:var(--font-size-xl)}.quiz-question-text[data-qlength=xlong]{font-size:var(--font-size-lg)}}.quiz-image-btn{cursor:zoom-in;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.quiz-image-btn:focus-visible{outline:3px solid var(--clr-primary);outline-offset:4px;border-radius:var(--r-xl)}.quiz-image{border-radius:var(--r-xl);object-fit:contain;cursor:zoom-in;border:1px solid var(--clr-border);width:9rem;box-shadow:var(--shadow-sm);transition:opacity var(--transition-fast);flex-shrink:0}.quiz-image:hover{opacity:.88}@media (width>=640px){.quiz-image{width:11rem}}.quiz-code{color:#6ee7b7;border-radius:var(--r-xl);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);font-size:var(--font-size-sm);white-space:pre-wrap;background:#0f172a;font-family:Courier New,Courier,monospace;line-height:1.6;overflow-x:auto}.quiz-options{margin-bottom:var(--sp-4)}.quiz-options--grid{gap:var(--sp-3);grid-template-columns:1fr;display:grid}@media (width>=640px){.quiz-options--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.quiz-options--two{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quiz-options--stack{gap:var(--sp-3);flex-direction:column;display:flex}.quiz-feedback-wrap{text-align:center;min-height:3rem}.quiz-feedback{font-weight:700;font-size:var(--font-size-lg);margin-bottom:var(--sp-1)}.quiz-feedback--correct{color:var(--clr-emerald-dark)}.quiz-feedback--incorrect{color:var(--fb-err-label)}.quiz-explanation{font-size:var(--font-size-sm);color:var(--clr-text-muted)}.btn-next{background:var(--clr-violet);color:#fff;font-weight:800;font-size:var(--font-size-lg);padding:var(--sp-3) var(--sp-10);border-radius:var(--r-xl);margin-top:var(--sp-2);transition:background-color var(--transition-base);display:inline-block}.btn-next:hover{background:var(--clr-violet-dark)}.btn-next.hidden{display:none!important}.btn-skip{color:var(--clr-violet);font-weight:800;font-size:var(--font-size-lg);padding:var(--sp-3) var(--sp-8);border-radius:var(--r-xl);margin-top:var(--sp-2);border:2px solid var(--clr-violet);cursor:pointer;transition:background-color var(--transition-base), color var(--transition-base);background:#fff;display:inline-block}.btn-skip:hover{background:#ede9fe}.btn-skip.hidden{display:none!important}.quiz-nav{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) 0;flex-wrap:wrap;justify-content:center;display:flex}.quiz-nav.hidden{display:none!important}.quiz-nav-chip{border-radius:var(--r-full);color:#64748b;width:2.25rem;height:2.25rem;font-weight:800;font-size:var(--font-size-base);cursor:pointer;transition:background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);background:#f1f5f9;border:2px solid #cbd5e1}.quiz-nav-chip:hover{transform:translateY(-2px)}.quiz-nav-chip--answered{background:var(--clr-emerald);border-color:var(--clr-emerald);color:#fff}.quiz-nav-chip--current{border-color:var(--clr-violet);box-shadow:0 0 0 3px var(--clr-violet-light)}.quiz-nav-chip--answered.quiz-nav-chip--current{border-color:var(--clr-violet)}.quiz-option{text-align:left;width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xl);border:2px solid var(--clr-border);color:var(--clr-text);font-family:var(--font-family);font-weight:600;font-size:var(--font-size-base);overflow-wrap:anywhere;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:#fff;justify-content:space-between;align-items:center;display:flex}.quiz-option:hover:not(:disabled){background:#f5f3ff;border-color:#a78bfa}.quiz-option:focus-visible{outline:none;box-shadow:0 0 0 3px #7c3aed66}.quiz-option:disabled{cursor:default}.quiz-option--correct{border-color:var(--fb-ok-border)!important;background:var(--fb-ok-bg)!important;color:var(--fb-ok-text)!important}.quiz-option--incorrect{border-color:var(--fb-err-border)!important;background:var(--fb-err-bg)!important;color:var(--fb-err-text)!important}.quiz-option--selected{color:#4c1d95!important;background:#f5f3ff!important;border-color:#7c3aed!important}.quiz-multi-hint{margin:0 0 var(--sp-1);color:var(--clr-text-muted);font-size:var(--font-size-sm);grid-column:1/-1}.quiz-option--multi{justify-content:flex-start;gap:var(--sp-3)}.quiz-option__check{background:#fff;border:2px solid #94a3b8;border-radius:.45rem;flex:0 0 1.55rem;place-items:center;width:1.55rem;height:1.55rem;display:grid}.quiz-option--multi[aria-checked=true] .quiz-option__check:after{content:"✓";color:#fff;font-weight:900}.quiz-option--multi[aria-checked=true] .quiz-option__check{background:#6366f1;border-color:#6366f1}.quiz-hint--error{color:var(--fb-err-label)}.quiz-check{width:100%;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-xl);color:#fff;font-family:var(--font-family);font-weight:700;font-size:var(--font-size-base);margin-top:var(--sp-2);transition:background-color var(--transition-base);cursor:pointer;background:#7c3aed;border:none}.quiz-check:hover:not(:disabled){background:var(--clr-violet-dark)}.quiz-check:disabled{opacity:.6;cursor:not-allowed}.quiz-option--tf{font-size:var(--font-size-lg);padding:var(--sp-4);justify-content:center;font-weight:800}.quiz-input{text-align:center;width:100%;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-xl);border:2px solid var(--clr-border);color:var(--clr-text);font-family:var(--font-family);font-weight:700;font-size:var(--font-size-lg);background:#fff}.quiz-input:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #7c3aed40}.quiz-input:focus:not(:focus-visible){outline:none}.quiz-input--placeholder{color:var(--clr-text-muted);font-weight:600}.quiz-input--correct{border-color:var(--fb-ok-border)!important;background:var(--fb-ok-bg)!important}.quiz-input--incorrect{border-color:var(--fb-err-border)!important;background:var(--fb-err-bg)!important}.quiz-hint{text-align:center;font-size:var(--font-size-sm);color:var(--clr-text-muted);margin-top:var(--sp-1);font-weight:600}.quiz-hint--correct{color:var(--clr-emerald-dark)}.quiz-sort-row{align-items:center;gap:var(--sp-3);display:flex}.quiz-sort-num{color:var(--clr-text-muted);text-align:right;flex-shrink:0;width:1.6rem;font-weight:800}.quiz-sort-item{border:2px solid var(--clr-border);border-radius:var(--r-xl);min-width:0;padding:var(--sp-3) var(--sp-4);color:var(--clr-text);font-weight:600;font-size:var(--font-size-base);overflow-wrap:anywhere;background:#fff;flex:1 1 0}.quiz-sort-item--correct{background:var(--fb-ok-bg);border-color:var(--fb-ok-border);color:var(--fb-ok-text)}.quiz-sort-item--incorrect{background:var(--fb-err-bg);border-color:var(--fb-err-border);color:var(--fb-err-text)}.quiz-sort-icon{font-size:var(--font-size-xl);flex-shrink:0}.quiz-move-group{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.quiz-move{border-radius:var(--r-lg);width:2.5rem;height:2.5rem;color:var(--clr-text-muted);font-weight:800;font-size:var(--font-size-lg);cursor:pointer;background:#f1f5f9;border:none;justify-content:center;align-items:center;display:flex}.quiz-move:hover{color:var(--clr-violet);background:#ede9fe}.quiz-move--hidden{visibility:hidden}.quiz-sort-solution{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--fb-ok-bg);border-radius:var(--r-xl);font-size:var(--font-size-sm);color:var(--fb-ok-text);border:1px solid #a7f3d0}.quiz-sort-solution__title{margin-bottom:var(--sp-1);font-weight:700}.quiz-seq{align-items:center;gap:var(--sp-2);border:1px solid var(--clr-border);border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-4);background:#f8fafc;flex-wrap:wrap;justify-content:center;display:flex}.quiz-seq-chip{font-size:2rem}.quiz-seq-arrow{color:var(--clr-text-muted);font-weight:800;font-size:var(--font-size-lg)}.quiz-seq-qmark{border-radius:var(--r-xl);width:3rem;height:3rem;color:var(--clr-violet);font-weight:800;font-size:var(--font-size-xl);background:#ede9fe;border:2px solid #c4b5fd;justify-content:center;align-items:center;display:flex}.quiz-match-row{align-items:center;gap:var(--sp-3);display:flex}.quiz-match-left{border:2px solid var(--clr-border);border-radius:var(--r-xl);padding:var(--sp-3) var(--sp-4);color:var(--clr-text);font-weight:600;font-size:var(--font-size-base);background:#fff;flex:1}.quiz-match-left--correct{background:var(--fb-ok-bg);border-color:var(--fb-ok-border);color:var(--fb-ok-text)}.quiz-match-left--incorrect{background:var(--fb-err-bg);border-color:var(--fb-err-border);color:var(--fb-err-text)}.quiz-match-arrow{color:var(--clr-text-muted);font-weight:800;font-size:var(--font-size-xl);flex-shrink:0}.quiz-select{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-xl);border:2px solid var(--clr-border);color:var(--clr-text);font-family:var(--font-family);font-weight:600;font-size:var(--font-size-base);background:#fff;flex:1}.quiz-select:focus{border-color:#a78bfa}.quiz-select:focus:not(:focus-visible){outline:none}.quiz-select--correct{border-color:var(--fb-ok-border)}.quiz-select--incorrect{border-color:var(--fb-err-border)}.quiz-overlay,#mission-quiz{--game-blue:#dbeafe;--game-blue-text:#1d4ed8;--game-yellow:#fef3c7;--game-yellow-text:#b45309;--game-teal:#ccfbf1;--game-teal-text:#0f766e;--game-pink:#fce7f3;--game-pink-text:#be185d;--qf-gap:clamp(var(--sp-2), 1.6vh, var(--sp-5));--qf-font-question:clamp(1.25rem, 3.2vh, 2.5rem);--qf-font-option:clamp(1.2rem, 3vh, 2rem);--qf-option-min-h:clamp(3.25rem, 9vh, 7.5rem);--qf-card-pad:clamp(var(--sp-4), 3vh, var(--sp-8))}html.mission-active,body.mission-active{overflow:clip}body.mission-active #site-header,body.mission-active #site-footer,body.mission-active .site-header,body.mission-active .site-footer,body.mission-active .skip-link,body.mission-active .app-main>:not(#mission-quiz):not(#mission-activity){display:none}body.mission-active #mission-quiz:not(.hidden),body.mission-active #mission-activity:not(.hidden){z-index:90;gap:clamp(var(--sp-3), 1.4vw, var(--sp-5));width:auto;max-width:none;min-height:100dvh;padding:clamp(var(--sp-3), 2vw, var(--sp-8));background:radial-gradient(circle at 12% 10%,#facc1557,#0000 24rem),radial-gradient(circle at 88% 14%,#2dd4bf47,#0000 22rem),radial-gradient(circle at 16% 88%,#f472b633,#0000 24rem),linear-gradient(135deg,#fff7ed 0%,#eff6ff 44%,#f5f3ff 100%);flex-direction:column;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}body.mission-active #mission-activity:not(.hidden){background:var(--surface-2,#eff6ff)}body.mission-active #mission-quiz .quiz-progress-header,body.mission-active #mission-quiz .quiz-progress-bar-wrap,body.mission-active #mission-quiz .quiz-question-card,body.mission-active #mission-quiz .quiz-code,body.mission-active #mission-quiz .quiz-options,body.mission-active #mission-quiz .quiz-feedback-wrap,body.mission-active #mission-activity .quiz-progress-header{width:min(100%,86rem);margin-left:auto;margin-right:auto}body.mission-active #mission-activity .activity-stage{flex:auto;height:auto;min-height:0}body.mission-active #mission-quiz .quiz-progress-header{margin-bottom:0!important}.quiz-progress-header{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.quiz-combo{color:#fff;font-size:var(--font-size-sm);white-space:nowrap;background:linear-gradient(135deg,#fb923c,#f97316);border-radius:999px;flex:none;align-items:center;padding:2px 10px;font-weight:800;line-height:1.4;display:inline-flex;box-shadow:0 2px 6px #f9731659}.quiz-combo[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.quiz-combo--pop{animation:.35s quiz-combo-pop}}@keyframes quiz-combo-pop{0%{opacity:.4;transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}body.mission-active #mission-quiz .quiz-question-card{align-self:stretch;min-height:0;margin-bottom:0}body.mission-active #mission-quiz .quiz-question-text{overflow-wrap:anywhere;text-wrap:balance;font-size:var(--qf-font-question);line-height:1.18}body.mission-active #mission-quiz .quiz-options{flex:1 1 0;align-self:stretch;min-height:0;margin-bottom:0}body.mission-active #mission-quiz .quiz-options--grid,body.mission-active #mission-quiz .quiz-options--two{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}body.mission-active #mission-quiz .quiz-option,body.mission-active #mission-quiz .quiz-options--two>button{min-height:var(--qf-option-min-h)}body.mission-active #mission-quiz .quiz-feedback-wrap{min-height:0;margin-bottom:0;position:absolute}body.mission-active.mission-answered #mission-quiz .quiz-explanation{font-size:clamp(var(--font-size-sm), 1.4vw, var(--font-size-lg));line-height:1.4}.quiz-overlay{background:radial-gradient(circle at 12% 12%,#facc1557,#0000 24rem),radial-gradient(circle at 88% 18%,#2dd4bf47,#0000 22rem),linear-gradient(135deg,#fff7ed 0%,#eff6ff 44%,#f5f3ff 100%)}.quiz-overlay .quiz-header{padding:var(--sp-3) clamp(var(--sp-4), 4vw, var(--sp-8));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:2px solid #ffffffb3}.quiz-overlay .quiz-header__left,.quiz-overlay .quiz-header__right{flex-wrap:wrap}.quiz-overlay .quiz-badge,#mission-quiz .quiz-progress-text{box-shadow:0 8px 20px #0f172a14}.quiz-overlay .quiz-badge{font-size:var(--font-size-sm)}.quiz-overlay .quiz-progress-text,#mission-quiz .quiz-progress-text{font-size:var(--font-size-base);color:#1e293b}.quiz-overlay .quiz-timer,.quiz-overlay .btn-quiz-quit{border-radius:var(--r-full);min-height:2.75rem}.quiz-overlay .quiz-timer{padding:var(--sp-2) var(--sp-4);border:2px solid #fed7aa;box-shadow:0 10px 24px #ea580c1f}.quiz-overlay .quiz-progress-bar-wrap,#mission-quiz .quiz-progress-bar-wrap{background:#fffc;height:.85rem}.quiz-overlay .quiz-progress-bar,#mission-quiz .quiz-progress-bar{border-radius:0 var(--r-full) var(--r-full) 0;background:linear-gradient(90deg,#22c55e,#06b6d4,#6366f1)}.quiz-overlay .quiz-body{padding:clamp(var(--sp-3), 2vh, var(--sp-6)) clamp(var(--sp-4), 3vw, var(--sp-8));min-height:0;overflow:hidden}.quiz-overlay .quiz-inner{gap:var(--qf-gap);flex-direction:column;width:100%;max-width:min(72rem,100%);height:100%;min-height:0;display:flex}.quiz-overlay .quiz-question-card,#mission-quiz .quiz-question-card{min-height:clamp(6rem,16vh,12rem);max-height:34vh;padding:var(--qf-card-pad);border-radius:var(--r-3xl);background:linear-gradient(135deg,#fffffffa,#ffffffe6),linear-gradient(135deg,#fef08a,#93c5fd);border:3px solid #ffffffdb;margin-bottom:0;overflow-y:auto;box-shadow:0 24px 70px #2563eb2e}.quiz-overlay .quiz-question-text,#mission-quiz .quiz-question-text{font-size:var(--qf-font-question);letter-spacing:0;line-height:1.22}.quiz-overlay .quiz-question-text[data-qlength=long],#mission-quiz .quiz-question-text[data-qlength=long]{font-size:max(.9375rem, calc(var(--qf-font-question) * .78));line-height:1.28}.quiz-overlay .quiz-question-text[data-qlength=xlong],#mission-quiz .quiz-question-text[data-qlength=xlong]{font-size:max(.9375rem, calc(var(--qf-font-question) * .62));line-height:1.32}.quiz-overlay .quiz-image{background:#fff;border:3px solid #fff;width:clamp(8rem,20vw,16rem);max-height:clamp(7rem,24vh,14rem)}.quiz-overlay .quiz-image-btn{width:clamp(8rem,20vw,16rem)}.quiz-overlay .quiz-image-btn .quiz-image{width:100%}.quiz-overlay .quiz-code,#mission-quiz .quiz-code{border:2px solid #7dd3fc59;flex-shrink:0;max-height:30vh;margin-bottom:0;font-size:clamp(.95rem,1.4vw,1.2rem);overflow-y:auto;box-shadow:0 16px 36px #0f172a29}.quiz-overlay .quiz-options,#mission-quiz .quiz-options{min-height:0;margin-bottom:0;overflow-y:auto}.quiz-overlay .quiz-options{flex:1 1 0}.quiz-overlay .quiz-options--grid,.quiz-overlay .quiz-options--two{align-content:stretch}.quiz-overlay .quiz-options--grid,.quiz-overlay .quiz-options--two,#mission-quiz .quiz-options--grid,#mission-quiz .quiz-options--two{gap:clamp(var(--sp-3), 1.6vh, var(--sp-5))}@media (width>=760px){.quiz-overlay .quiz-options--grid,.quiz-overlay .quiz-options--two,#mission-quiz .quiz-options--grid,#mission-quiz .quiz-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.quiz-overlay .quiz-options--stack,#mission-quiz .quiz-options--stack{gap:var(--sp-4)}@media (width>=1024px){.quiz-overlay .quiz-move-group{flex-direction:row;gap:.25rem}.quiz-overlay .quiz-move{width:2.75rem;height:2.75rem;font-size:1rem}.quiz-overlay .quiz-options--stack,.quiz-overlay .quiz-sort-row,.quiz-overlay .quiz-match-row{gap:.5rem}.quiz-overlay .quiz-sort-item,.quiz-overlay .quiz-match-left,.quiz-overlay .quiz-select{min-height:2.75rem;padding:.5rem .75rem;font-size:1rem}.quiz-overlay .quiz-check{min-height:3rem;margin-top:.25rem;padding:.5rem 1rem;font-size:1rem}}@media (width>=1024px) and (height<=700px){.quiz-overlay{--qf-gap:.375rem;--qf-font-question:clamp(1rem, 2.8vh, 1.2rem);--qf-font-option:1rem;--qf-option-min-h:3rem;--qf-card-pad:.75rem}.quiz-overlay .quiz-header{padding:.375rem 1rem}.quiz-overlay .quiz-nav{gap:.375rem;padding:.375rem 1rem 0}.quiz-overlay .quiz-body{padding:.5rem 1rem}.quiz-overlay .quiz-question-card{min-height:0;max-height:20vh}.quiz-overlay .quiz-image,.quiz-overlay .quiz-image-btn{width:7rem;max-height:14vh}.quiz-overlay .quiz-code{max-height:17vh;padding:.5rem .75rem;font-size:.875rem;line-height:1.25}.quiz-overlay .quiz-option,.quiz-overlay .quiz-options--two>button{border-width:2px;padding:.5rem .75rem}.quiz-overlay .quiz-options input,.quiz-overlay .quiz-options select{border-width:2px;min-height:3rem;padding:.5rem .75rem;font-size:1rem}}.quiz-overlay .quiz-option,.quiz-overlay .quiz-options--two>button,#mission-quiz .quiz-option,#mission-quiz .quiz-options--two>button{min-height:var(--qf-option-min-h);padding:clamp(var(--sp-3), 2vh, var(--sp-6));border-radius:var(--r-2xl);font-family:var(--font-family);font-size:var(--qf-font-option);color:#111827;border:3px solid #ffffffd9;font-weight:800;line-height:1.25;position:relative;overflow:hidden;box-shadow:0 16px 32px #0f172a1a}.quiz-overlay .quiz-option:nth-child(4n+1),.quiz-overlay .quiz-options--two>button:first-child,#mission-quiz .quiz-option:nth-child(4n+1),#mission-quiz .quiz-options--two>button:first-child{background:var(--game-blue);color:var(--game-blue-text)}.quiz-overlay .quiz-option:nth-child(4n+2),.quiz-overlay .quiz-options--two>button:nth-child(2),#mission-quiz .quiz-option:nth-child(4n+2),#mission-quiz .quiz-options--two>button:nth-child(2){background:var(--game-yellow);color:var(--game-yellow-text)}.quiz-overlay .quiz-option:nth-child(4n+3),#mission-quiz .quiz-option:nth-child(4n+3){background:var(--game-teal);color:var(--game-teal-text)}.quiz-overlay .quiz-option:nth-child(4n+4),#mission-quiz .quiz-option:nth-child(4n+4){background:var(--game-pink);color:var(--game-pink-text)}.quiz-overlay .quiz-option:before,.quiz-overlay .quiz-options--two>button:before,#mission-quiz .quiz-option:before,#mission-quiz .quiz-options--two>button:before{content:"";border-radius:0 var(--r-full) 0 0;opacity:.18;background:currentColor;width:5.5rem;height:5.5rem;position:absolute;inset:auto auto 0 0}.quiz-overlay .quiz-option:hover:not(:disabled),.quiz-overlay .quiz-options--two>button:hover:not(:disabled),#mission-quiz .quiz-option:hover:not(:disabled),#mission-quiz .quiz-options--two>button:hover:not(:disabled){filter:saturate(1.05);transform:translateY(-2px)}.quiz-overlay .quiz-option--correct,#mission-quiz .quiz-option--correct{color:#166534!important;background:#dcfce7!important;border-color:#22c55e!important;box-shadow:0 18px 40px #22c55e38!important}.quiz-overlay .quiz-option--incorrect,#mission-quiz .quiz-option--incorrect{color:#be123c!important;background:#ffe4e6!important;border-color:#fb7185!important;box-shadow:0 18px 40px #f43f5e2e!important}.quiz-overlay .quiz-option--selected,#mission-quiz .quiz-option--selected{color:#3730a3!important;background:#e0e7ff!important;border-color:#6366f1!important}.quiz-overlay .quiz-move,#mission-quiz .quiz-move{width:var(--kid-tap);height:var(--kid-tap)}.quiz-overlay .quiz-move-group,#mission-quiz .quiz-move-group{gap:var(--sp-2)}.quiz-overlay .quiz-options input,.quiz-overlay .quiz-options select,#mission-quiz .quiz-options input,#mission-quiz .quiz-options select{width:100%;min-height:4.75rem;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-2xl);color:var(--clr-text);font-family:var(--font-family);text-align:center;background:#fff;border:3px solid #c7d2fe;outline:none;font-size:clamp(1.15rem,2vw,1.5rem);font-weight:800}.quiz-overlay .quiz-check,.quiz-overlay .btn-next,#mission-quiz .quiz-check,#mission-quiz .btn-next{border-radius:var(--r-full);min-height:4.25rem;font-size:clamp(1.1rem,2vw,1.45rem);box-shadow:0 16px 36px #4f46e53d}.quiz-overlay .quiz-feedback-wrap,#mission-quiz .quiz-feedback-wrap{min-height:0}.quiz-overlay.quiz-answered .quiz-feedback-wrap,body.mission-active.mission-answered #mission-quiz .quiz-feedback-wrap{left:50%;bottom:clamp(var(--sp-3), 3vh, var(--sp-6));width:min(calc(100% - 2 * var(--sp-4)), 46rem);z-index:5;max-height:min(52vh,30rem);padding:clamp(var(--sp-4), 2.5vh, var(--sp-6));border-radius:var(--r-2xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:3px solid #ffffffe6;animation:.22s ease-out quiz-panel-in;position:absolute;overflow-y:auto;transform:translate(-50%);box-shadow:0 24px 70px #0f172a47}@keyframes quiz-panel-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.quiz-overlay.quiz-answered .quiz-feedback-wrap,body.mission-active.mission-answered #mission-quiz .quiz-feedback-wrap{animation:none}}.quiz-overlay .quiz-feedback,#mission-quiz .quiz-feedback{font-size:clamp(1.15rem,2.2vw,1.65rem)}.quiz-overlay .quiz-explanation,#mission-quiz .quiz-explanation{max-width:52rem;margin:var(--sp-2) auto 0;color:#334155;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:600;line-height:1.5}@media (width<=640px){.quiz-overlay .quiz-header{align-items:flex-start;gap:var(--sp-2)}.quiz-overlay .quiz-header__right{justify-content:space-between;width:100%}.quiz-overlay .quiz-question-card{flex-direction:column;align-items:flex-start}.quiz-overlay .quiz-image{width:100%;max-height:12rem}.quiz-overlay .quiz-image-btn{width:100%}.quiz-overlay .quiz-options--two,#mission-quiz .quiz-options--two,body.mission-active #mission-quiz .quiz-options--grid{grid-template-columns:1fr}body.mission-active #mission-quiz:not(.hidden){padding:var(--sp-3)}body.mission-active #mission-quiz .quiz-question-card{padding:var(--sp-4)}body.mission-active #mission-quiz .quiz-question-text{font-size:clamp(1.15rem,5.6vw,2.1rem)}body.mission-active #mission-quiz .quiz-option,body.mission-active #mission-quiz .quiz-options--two>button{padding:var(--sp-4);font-size:clamp(1.125rem,5vw,1.5rem)}}@media (height<=480px) and (orientation:landscape){.quiz-overlay{--qf-gap:.25rem;--qf-font-question:clamp(1rem, 4.2vh, 1.2rem);--qf-font-option:1rem;--qf-option-min-h:2.75rem;--qf-card-pad:.5rem}.quiz-overlay .quiz-header{padding:.25rem .75rem}.quiz-overlay .quiz-timer,.quiz-overlay .btn-quiz-quit{min-height:2.25rem;padding:.25rem .75rem}.quiz-overlay .quiz-progress-bar-wrap{height:.45rem}.quiz-overlay .quiz-nav{flex-wrap:nowrap;justify-content:flex-start;gap:.25rem;padding:.25rem .75rem 0;overflow-x:auto}.quiz-overlay .quiz-nav-chip{flex:0 0 2rem;width:2rem;height:2rem;font-size:.875rem}.quiz-overlay .quiz-body{padding:.375rem .75rem}.quiz-overlay .quiz-question-card{border-width:2px;min-height:0;max-height:18vh;padding:.5rem}.quiz-overlay .quiz-code{max-height:17vh;padding:.375rem .625rem;font-size:.8rem;line-height:1.25}.quiz-overlay .quiz-options--grid,.quiz-overlay .quiz-options--two,.quiz-overlay .quiz-options--stack{gap:.375rem}.quiz-overlay .quiz-option,.quiz-overlay .quiz-options--two>button{border-width:2px;min-height:2.75rem;padding:.375rem .75rem}.quiz-overlay:not(.quiz-answered) .quiz-options{padding-bottom:3rem}.quiz-overlay:not(.quiz-answered) .quiz-feedback-wrap{z-index:4;position:absolute;bottom:.5rem;right:.75rem}.quiz-overlay .btn-skip{min-height:2.75rem;margin-top:0;padding:.375rem 1rem;font-size:.95rem}}.result-overlay{z-index:50;padding:var(--sp-4);background:#4c1d95d9;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}.result-overlay.active{display:flex}.result-card{border-radius:var(--r-2xl);width:100%;max-width:28rem;padding:var(--sp-8);text-align:center;background:#fff;margin:auto;box-shadow:0 30px 80px #0000004d}.result-emoji{margin-bottom:var(--sp-3);font-size:3.75rem;display:block}.result-emoji img{margin-inline:auto}.result-mode-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--clr-text-faint);margin-bottom:var(--sp-1)}.result-title{font-size:var(--font-size-2xl);color:var(--clr-text);margin-bottom:var(--sp-5);font-weight:800}.result-score-label{color:var(--clr-text-muted);margin-bottom:var(--sp-2);font-weight:600}.result-score-wrap{margin-bottom:var(--sp-2)}.result-score{font-size:var(--font-size-5xl);color:var(--clr-violet);font-weight:800;line-height:1}.result-total{color:var(--clr-border);font-size:2.5rem;font-weight:700}.result-divider{color:var(--clr-border);font-size:2.5rem}.result-time{font-size:var(--font-size-sm);color:var(--clr-text-faint);margin-bottom:var(--sp-6)}.result-saved{color:var(--fb-ok-soft);font-size:var(--font-size-sm);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-5);background:#f0fdf4;border:1px solid #bbf7d0}.result-error{color:#be123c;font-size:var(--font-size-sm);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-5);background:#fff1f2;border:1px solid #fecdd3}.result-error__hint{opacity:.7;font-size:.8em}.result-actions{justify-content:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.quit-overlay{z-index:60;padding:var(--sp-4);background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}.quit-overlay.active{display:flex}.quit-card{border-radius:var(--r-2xl);padding:var(--sp-8);text-align:center;background:#fff;width:100%;max-width:20rem;margin:auto;box-shadow:0 25px 60px #0000004d}.quit-card__icon{margin-bottom:var(--sp-3);font-size:3rem;display:block}.quit-card__title{font-size:var(--font-size-xl);color:var(--clr-text);margin-bottom:var(--sp-3);font-weight:800}.quit-card__text{color:var(--clr-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--sp-6)}.quit-card__actions{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.btn-quit-yes{padding:var(--sp-4);border-radius:var(--r-xl);color:#fff;font-weight:700;font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-fast);background:#ef4444;border:none}.btn-quit-yes:hover{background:#dc2626}.btn-quit-no{padding:var(--sp-4);border-radius:var(--r-xl);background:var(--clr-surface-subtle);color:var(--clr-text-muted);font-weight:700;font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-fast);border:none}.btn-quit-no:hover{background:var(--clr-border)}.app-modal-overlay{z-index:50;padding:var(--sp-4);background:#0009;justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}.app-modal-overlay:not(.hidden){display:flex}.app-modal-card{border-radius:var(--r-2xl);width:100%;max-width:20rem;padding:var(--sp-8) var(--sp-6);text-align:center;background:#fff;margin:auto;box-shadow:0 25px 60px #00000040}.app-modal-msg{color:var(--clr-text);font-size:var(--font-size-base);margin-bottom:var(--sp-6);white-space:pre-line;font-weight:600;line-height:1.6}.app-modal-card .modal-actions{gap:var(--sp-3);flex-direction:column;display:flex}.btn-modal-ok{background:var(--clr-violet);color:#fff;font-weight:700;font-size:var(--font-size-lg);padding:var(--sp-4) var(--sp-10);border-radius:var(--r-xl);font-family:var(--font-family);cursor:pointer;transition:background-color var(--transition-base);border:none}.btn-modal-ok:hover{background:var(--clr-violet-dark)}.modal-actions{gap:var(--sp-3);flex-direction:column;width:100%;display:flex}.btn-modal-cancel{color:var(--clr-text-muted);font-weight:600;font-size:var(--font-size-base);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-xl);font-family:var(--font-family);cursor:pointer;border:1px solid var(--clr-border);transition:background-color var(--transition-base);background:0 0}.btn-modal-cancel:hover{background:var(--clr-surface-subtle)}.quiz-loading-overlay{z-index:150;background:linear-gradient(135deg, var(--student-bg-from) 0%, var(--student-bg-to) 100%);justify-content:center;align-items:center;animation:.15s fadeIn;display:none;position:fixed;inset:0}.quiz-loading-overlay.active{display:flex}.quiz-loading-card{align-items:center;gap:var(--sp-5);flex-direction:column;display:flex}.quiz-loading-spinner{border-radius:var(--r-full);border:4px solid #ffffff40;border-top-color:#fff;width:3rem;height:3rem;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.quiz-loading-text{color:#fff;font-size:var(--font-size-lg);letter-spacing:.01em;font-weight:600}.error-boundary{z-index:300;padding:var(--sp-4);background:linear-gradient(135deg, var(--student-bg-from) 0%, var(--student-bg-to) 100%);justify-content:center;align-items:center;display:none;position:fixed;inset:0;overflow-y:auto}.error-boundary:not(.hidden){display:flex}.error-boundary__card{border-radius:var(--r-2xl);width:100%;max-width:20rem;padding:var(--sp-8);text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;margin:auto}.error-boundary__icon{margin-bottom:var(--sp-4);font-size:3rem;display:block}.error-boundary__title{color:#fff;font-size:var(--font-size-xl);margin-bottom:var(--sp-2);font-weight:700}.error-boundary__msg{color:#ffffffb3;font-size:var(--font-size-sm);margin-bottom:var(--sp-6);line-height:1.6}.error-boundary__backup{border-radius:var(--r-xl);padding:var(--sp-4);margin-bottom:var(--sp-5);text-align:left;background:#ffffff1a}.error-boundary__backup-label{color:#fcd34d;font-weight:700;font-size:var(--font-size-sm);margin-bottom:var(--sp-1)}.error-boundary__backup-text{color:#fff;font-size:var(--font-size-sm)}.btn-reload{width:100%;color:var(--clr-violet);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-xl);font-weight:700;font-family:var(--font-family);cursor:pointer;margin-bottom:var(--sp-3);transition:background-color var(--transition-fast);background:#fff;border:none}.btn-reload:hover{background:#ffffffe6}.btn-boundary-dismiss{color:#ffffff80;font-size:var(--font-size-sm);cursor:pointer;font-family:var(--font-family);transition:color var(--transition-fast);background:0 0;border:none}.btn-boundary-dismiss:hover{color:#ffffffd9}#toast-notification{left:50%;bottom:var(--sp-6);z-index:260;max-width:min(28rem,100vw - 2rem);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-xl);color:#fff;text-align:center;opacity:0;pointer-events:none;transform:translate(-50%, var(--sp-4));transition:opacity var(--transition-fast), transform var(--transition-fast);background:#0f172a;font-weight:700;position:fixed;box-shadow:0 18px 48px #0f172a47}#toast-notification.toast-notification--visible{opacity:1;transform:translate(-50%)}
