[hidden]{display:none!important}.root-page{flex-direction:column;min-height:100dvh;display:flex}.root-main{padding:var(--sp-10) var(--sp-6);flex-direction:column;flex:1;display:flex}.teacher-status{margin:var(--sp-10) 0 0;justify-content:center;display:flex}.header-inner{max-width:var(--layout-page-max);flex:1;justify-content:space-between;align-items:center;width:100%;margin-inline:auto;display:flex}.header-actions{align-items:center;gap:var(--sp-2);display:flex}.content-wrap{max-width:var(--layout-student-content);flex-direction:column;flex:1;width:100%;margin-inline:auto;display:flex}@keyframes state-fade-in{0%{opacity:0}to{opacity:1}}.state-fade-in{flex-direction:column;flex:1;animation:.35s state-fade-in;display:flex}#state-a,#state-b,#state-activation{justify-content:center;align-items:stretch;gap:var(--sp-10)}#state-activation{gap:var(--sp-16)}.idle-hero{text-align:center}.idle-hero__subtitle{font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--clr-text-tertiary)}.registration-form{gap:var(--sp-5);flex-direction:column;width:100%;max-width:380px;margin:0 auto;display:flex}.registration-form fieldset{gap:var(--sp-4);flex-direction:column;display:flex}.registration-form__title{font-size:var(--fs-xl);font-weight:var(--fw-bold);line-height:var(--lh-dense);color:var(--clr-text-primary);text-align:center}.registration-form__subtitle{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--clr-text-secondary);text-align:center;margin-top:calc(-1 * var(--sp-3))}.modal-form-fields{gap:var(--sp-4);flex-direction:column;display:flex}@media (max-width:1023px){.root-main{padding:var(--sp-6) var(--sp-4)}.teacher-status{margin-top:var(--sp-6)}#state-b{gap:var(--sp-6)}.root-page--game{padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:none;touch-action:none;contain:layout;position:fixed;inset:0;overflow:hidden}.root-page--game .root-main{min-height:0;padding:0;overflow:hidden}.root-page--game .content-wrap,#state-a{min-height:0}.registration-form{max-width:100%}.app-header__brand{flex-shrink:1;min-width:0}.header-actions{gap:var(--sp-2);flex-shrink:0}.header-actions .btn{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-base);min-height:44px}.header-actions .chip{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}}