@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-ext-400-normal.39fbf8d2c4abc46f721f.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-400-normal.818b84180553acc613f3.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-cyrillic-400-normal.89455522650c3fb3654c.woff2) format("woff2"),url(/static/media/inter-cyrillic-400-normal.dd21c71421d58232ef03.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-ext-400-normal.f2ef63e732b18d636044.woff2) format("woff2"),url(/static/media/inter-greek-ext-400-normal.fc80974ec6969ee03fd2.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-greek-400-normal.e685387f69602567b1da.woff2) format("woff2"),url(/static/media/inter-greek-400-normal.b412faded087fbcfa4ff.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-vietnamese-400-normal.44c9df135eec470b0ab6.woff2) format("woff2"),url(/static/media/inter-vietnamese-400-normal.aaa15d735e3826061950.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-ext-400-normal.210fb826cb25acbd4094.woff2) format("woff2"),url(/static/media/inter-latin-ext-400-normal.c616205185f0d3677df9.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/static/media/inter-latin-400-normal.eca1e21531598d5db58f.woff2) format("woff2"),url(/static/media/inter-latin-400-normal.2ea1079c0069eb040a52.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-ext-500-normal.b2740f247d3be4a05ca0.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-500-normal.e9974e820735012b025b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-cyrillic-500-normal.33a76a7cbcfcb7076534.woff2) format("woff2"),url(/static/media/inter-cyrillic-500-normal.72f7a9db87626ca30c76.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-ext-500-normal.4c6d520b97e3bb4ef613.woff2) format("woff2"),url(/static/media/inter-greek-ext-500-normal.47cc2391a7edf82cf4e1.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-greek-500-normal.e7cec4ef4f6780e90a52.woff2) format("woff2"),url(/static/media/inter-greek-500-normal.6d34bacda2be54829b97.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-vietnamese-500-normal.63d02ea896a7406849b6.woff2) format("woff2"),url(/static/media/inter-vietnamese-500-normal.296d66c0bba9086788b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-ext-500-normal.cdb4dd5dc508fe6e7398.woff2) format("woff2"),url(/static/media/inter-latin-ext-500-normal.2f93aaa35e870cec4704.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/static/media/inter-latin-500-normal.b7c27c60f848f2083f45.woff2) format("woff2"),url(/static/media/inter-latin-500-normal.5014db633e71a7741bf5.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-ext-600-normal.8c6413cdd8004fde0a19.woff2) format("woff2"),url(/static/media/inter-cyrillic-ext-600-normal.d6d44e8705a633436dfe.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-cyrillic-600-normal.fdee7b66c2d88216b75f.woff2) format("woff2"),url(/static/media/inter-cyrillic-600-normal.8609e1b95284125f21cb.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-ext-600-normal.c3c138d889b8c929822c.woff2) format("woff2"),url(/static/media/inter-greek-ext-600-normal.c7983dac0ad6a359aef0.woff) format("woff");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-greek-600-normal.984050ecee12eabe9366.woff2) format("woff2"),url(/static/media/inter-greek-600-normal.d8b0044cf6afdd52b07b.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-vietnamese-600-normal.6984cf5e8583fac83be3.woff2) format("woff2"),url(/static/media/inter-vietnamese-600-normal.04bb56ffa463ab55708d.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-ext-600-normal.8148c3ae14dfaefc62ca.woff2) format("woff2"),url(/static/media/inter-latin-ext-600-normal.4d0d5017d71ea1750fc1.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/static/media/inter-latin-600-normal.69a8d1d484967aba2389.woff2) format("woff2"),url(/static/media/inter-latin-600-normal.f10265da6bd8d66999ac.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--keyboard-inset-height:0px;--viewport-height:100svh}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-repeat:repeat;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;padding:0}#root{box-sizing:border-box;display:flex;flex-direction:column;min-height:100svh;min-height:100dvh}.app-container{display:flex;flex:1 1;flex-direction:column}.landing-container{align-items:center;background-color:#5542b2;display:flex;flex:1 1;justify-content:center;width:100%;z-index:2000}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.tooltip{background:#4b5563!important;border-radius:4px!important;font-size:12px!important;padding:4px 8px!important}.fraction-exercise-container{background:#ffffffe6;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin:0 auto;max-width:800px;padding:20px}@media (max-width:768px){.fraction-exercise{padding:1rem}.answer-input{align-items:flex-start;flex-direction:column}.fraction-input{margin-bottom:1rem}}.dev-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ae0;border-radius:8px;bottom:10px;box-shadow:0 4px 16px #0006;color:#e2e8f0;font-family:Segoe UI,system-ui,sans-serif;font-size:12px;left:10px;min-width:220px;padding:8px 10px;position:fixed;z-index:2000}.dev-panel-row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px}.dev-panel-label{color:#94a3b8;font-size:11px}.dev-panel-btn{border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;padding:3px 8px;transition:opacity .15s}.dev-panel-btn:hover{opacity:.85}.dev-panel-btn--exit{background:#ef444440;color:#fca5a5}.dev-panel-btn--toggle{background:#64748b4d;color:#94a3b8;min-width:36px;text-align:center}.dev-panel-btn--toggle.dev-panel-btn--on{background:#34d39933;color:#6ee7b7}.dev-panel-btn--toggle.dev-panel-btn--mirror{background:#fbbf2433;color:#fcd34d}.dev-panel-stats{border-top:1px solid #ffffff14;margin-top:4px;padding-top:6px}.dev-stats-row{display:flex;font-size:11px;gap:8px;justify-content:space-between;margin-bottom:3px}.dev-stats-row span:first-child{color:#64748b}.dev-stats-row span:last-child{font-feature-settings:"tnum";color:#cbd5e1;font-variant-numeric:tabular-nums}.student-login{width:100%}.student-login form{align-items:center;display:flex;flex-direction:column}.code-input-container{display:flex;gap:10px;justify-content:space-between;margin:20px 0}.code-input{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:24px;height:50px;text-align:center;transition:all .2s;width:100%}.code-input.error{background-color:#fef2f2;border-color:#ef4444}.code-input:focus{border-color:#4f46e5;box-shadow:0 0 0 2px #4f46e533;outline:none}.code-input:focus.error{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433}.name-hint{color:#9ca3af;font-size:12px;margin-bottom:18px;margin-top:-18px;text-align:center}.error-message{color:#ef4444;font-size:14px;margin-top:8px;text-align:center}.button{align-items:center;background:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;margin-top:20px;padding:12px;transition:background .2s;width:100%}.button:hover{background:#4338ca}.button--vidis{margin-top:0}.button--vidis img{filter:brightness(0) invert(1);height:20px;width:20px}.button--secondary{background:#eef2ff;color:#4338ca}.button--secondary:hover{background:#e0e7ff}.teacher-login-link{color:#6b7280;font-size:14px;margin-top:20px;padding:8px 0;text-align:center;width:100%}.teacher-login-link button{background:none;border:none;color:#4f46e5;cursor:pointer;display:inline;font-size:14px;font-weight:600;margin:0;padding:0 4px;text-decoration:underline}.teacher-login-link button:hover{color:#4338ca;text-decoration:none}.title{font-size:1.5rem;font-weight:600;margin-bottom:24px}.subtitle,.title{color:#4f46e5;text-align:center}.subtitle{margin-bottom:20px}.loading{margin-top:10px;text-align:center}.input-container{margin:20px 0;position:relative;width:100%}.input-icon{color:#6b7280;left:12px;position:absolute;top:12px}.name-input{border:1px solid #e5e7eb;border-radius:8px;font-size:14px;margin-left:0;padding:12px 12px 12px 40px;transition:border-color .2s;width:calc(100% - 52px)}.provider-section{margin-top:14px;width:100%}.provider-caption{color:#9ca3af;font-size:12px;margin-bottom:8px;text-align:center}.provider-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.provider-divider{align-items:center;color:#9ca3af;display:flex;font-size:12px;gap:10px;margin:14px 0 10px;width:100%}.provider-divider:after,.provider-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.school-icon{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:7px;box-sizing:border-box;color:#8291a7;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;padding:5px;vertical-align:middle;width:28px}.school-icon img,.school-icon svg{display:block;height:100%;object-fit:contain;width:100%}.school-icon--large{border-radius:11px;height:48px;padding:9px;width:48px}.school-icon--compact{background:#0000;border:0;border-radius:0;color:#94a3b8;height:14px;margin-right:5px;padding:0;width:14px}.school-icon--compact img{border-radius:2px}.registration-school-picker{color:#334155;margin:16px 0 8px;text-align:left}.registration-school-picker h3{font-size:15px;margin:0 0 10px}.registration-school-picker h3 small{color:#64748b;font-size:12px;font-weight:400;margin-left:5px}.registration-school-picker address,.registration-school-picker p{color:#64748b;font-size:12px;font-style:normal;line-height:1.5;margin:7px 0}.registration-school-picker label{display:block;font-size:12px;margin-bottom:6px}.registration-school-picker input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.registration-school-picker .pilot-school-picker{position:relative}.registration-school-picker .pilot-school-picker>label{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.registration-school-picker .picker-results{grid-gap:0;background:#fff;border:1px solid #e2e0eb;border-radius:10px;box-shadow:0 8px 25px rgba(37,32,70,.102);display:grid;gap:0;grid-template-columns:minmax(0,1fr);left:0;margin-top:4px;max-height:190px;overflow:auto;overflow-x:hidden;padding:4px;position:absolute;right:0;top:100%;z-index:20}.registration-school-picker .picker-results button{background:#fff;border:0;border-radius:8px;box-sizing:border-box;color:#334155;cursor:pointer;max-width:100%;min-width:0;padding:9px 12px;text-align:left}.registration-school-picker .picker-results button:hover{background:#eee7fa}.registration-school-picker .picker-results .picker-result--with-icon{align-items:center;display:flex;gap:10px}.registration-school-picker .picker-result__text{flex:1 1;min-width:0}.registration-school-picker .picker-results .picker-result__text strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:13px;font-weight:500;overflow:hidden;overflow-wrap:anywhere}.registration-school-picker .picker-result__text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registration-school-picker .picker-results small,.registration-school-picker .picker-results strong,.registration-school-picker .picker-selected small{display:block}.registration-school-picker .picker-results small,.registration-school-picker .picker-selected small{color:#64748b;font-size:11px;margin-top:3px}.registration-school-picker .picker-selected{align-items:center;background:#f8f7fc;border:1px solid #e4dfee;border-radius:8px;display:flex;font-size:13px;gap:10px;margin:0;padding:9px 10px}.registration-school-picker .picker-selected>svg{color:#7354a5;flex:none}.registration-school-picker .picker-selected button{background:#0000;border:0;cursor:pointer;margin-left:auto;padding:5px}.registration-school-picker .picker-hint{margin-bottom:0}.registration-school-picker .picker-manual{display:none}.registration-school-picker .sr-only{clip:rect(0,0,0,0);height:1px;overflow:hidden;position:absolute;width:1px}.registration-school-picker__skip{background:#0000;border:0;color:#7354a5;cursor:pointer;font-size:12px;padding:4px 0;text-decoration:underline}.registration-school-settings{margin:8px 0 16px;text-align:left}.registration-school-settings summary{color:#64748b;cursor:pointer;font-size:12px}.registration-school-settings label{color:#64748b;display:block;font-size:12px;margin-top:12px}.registration-school-settings input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;padding:10px;width:100%}.registration-school-provider{align-items:center;background:#fcfbfe;border:1px solid #e5e1ea;border-radius:9px;color:#475569;display:flex;font-size:13px;gap:10px;margin:16px 0 8px;padding:12px;text-align:left}.registration-school-provider__text{flex:1 1;min-width:0}.registration-school-provider__text strong{display:block;font-weight:500}.registration-school-provider__text>div{color:#9a92a3;font-size:11px;margin-top:3px}.registration-provider-logo{height:18px;margin-right:8px;object-fit:contain;vertical-align:middle;width:18px}.registration-school-picker__label{align-items:center;display:flex;font-size:12px;font-weight:600;gap:5px;margin-bottom:6px}.registration-school-picker__label span{color:#94a3b8;font-weight:400}.registration-school-picker__label small{color:#8065a6;font-size:10px;font-weight:400;margin-left:auto}.registration-school-picker .picker-selected>.picker-selected__text{flex:1 1;min-width:0}.registration-school-picker .school-icon,.registration-school-provider .school-icon{background:#0000;border:0;border-radius:0;color:#a295b2;flex:0 0 24px;height:24px;padding:2px;width:24px}.registration-school-picker .picker-selected small,.registration-school-picker .picker-selected strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registration-school-picker .picker-custom{border-top:1px solid #f0edf5;color:#7354a5}.registration-license-join{margin:4px 0 20px;padding:4px 2px 0;text-align:left}.registration-license-join p{align-items:center;color:#8c8198;display:flex;font-size:11px;font-weight:400;gap:6px;margin:0 0 8px}.registration-license-join p:before{background:#78a08b;border-radius:50%;content:"";height:5px;width:5px}.registration-license-join label{align-items:flex-start;color:#675a76;cursor:pointer;display:flex;font-size:12px;gap:8px;line-height:1.5}.registration-license-join small{color:#81768d;display:block;font-size:11px;line-height:1.5;margin-top:6px}.registration-license-join__option{align-items:flex-start;display:flex;gap:4px}.registration-license-join__option>label{flex:1 1}.registration-license-join__option>.registration-info{margin-top:-2px}.registration-panel .registration-license-join input[type=checkbox]{accent-color:#7354a5;-webkit-appearance:auto;appearance:auto;display:block;flex:0 0 14px;height:14px;margin:2px 0 0;min-height:14px;padding:0;width:14px}.registration-info{display:inline-flex;flex:none;position:relative;vertical-align:middle}.registration-info__trigger{background:#0000;border:0;border-radius:50%;color:#958a9f;cursor:help;display:grid;height:22px;padding:0;place-items:center;width:22px}.registration-info__trigger svg{height:14px;width:14px}.registration-info__trigger:hover{color:#7354a5}.registration-info__trigger:focus-visible{outline:2px solid #b6a0d2;outline-offset:1px}.registration-info__bubble{background:#3f344e;border-radius:9px;bottom:calc(100% + 7px);box-shadow:0 5px 20px rgba(36,23,46,.133);color:#fff;font-size:12px;font-weight:400;line-height:1.55;padding:11px 13px;position:absolute;right:0;text-align:left;width:min(250px,100vw - 85px);z-index:80}.registration-contact-email>input{padding-right:40px}.registration-contact-email>.registration-info{position:absolute;right:10px;top:10px}.registration-newsletter>.registration-info{margin-top:-1px}.registration-panel:not(.registration-panel--classic){--registration-ink:#302b3d;--registration-muted:#85808e;--registration-accent:#7555b5;color:var(--registration-ink);text-align:left}.registration-panel:not(.registration-panel--classic) .registration-title{color:var(--registration-ink);font-size:27px;font-weight:600;letter-spacing:-.035em;line-height:1.2;margin:0 0 26px;text-align:left;text-transform:none}.registration-panel:not(.registration-panel--classic) .registration-profile{flex-direction:row;gap:12px;margin-bottom:22px;position:relative}.registration-panel:not(.registration-panel--classic) .registration-mini-avatar{background:#f1edf8;border:0;border-radius:50%;color:#8b7ba5;cursor:pointer;flex:none;height:42px;padding:0;position:relative;width:42px}.registration-panel:not(.registration-panel--classic) .registration-mini-avatar img{border-radius:50%;display:block;height:100%;width:100%}.registration-panel:not(.registration-panel--classic) .registration-mini-avatar>svg:first-child{height:18px;width:18px}.registration-panel:not(.registration-panel--classic) .registration-avatar-edit{background:#fff;border-radius:50%;bottom:-1px;color:#8d80a3;height:15px;padding:2px;position:absolute;right:-1px;width:15px}.registration-panel:not(.registration-panel--classic) .registration-avatar-picker:not([hidden]){background:#fff;border:1px solid #e8e3ef;border-radius:14px;box-shadow:0 10px 35px rgba(36,32,47,.094);left:0;padding:18px 14px 10px;position:absolute;top:51px;z-index:30}.registration-panel:not(.registration-panel--classic) .registration-profile input{padding-left:13px}.registration-panel:not(.registration-panel--classic) .registration-profile input+div{margin-top:4px}.registration-panel:not(.registration-panel--classic) .registration-profile>div:last-child>div:first-child,.registration-panel:not(.registration-panel--classic) .registration-role-label{display:none}.registration-panel:not(.registration-panel--classic) .registration-roles{gap:8px;margin-bottom:24px}.registration-panel:not(.registration-panel--classic) .registration-roles>button{background:#fff;border-color:#e7e3ed;border-radius:11px;border-width:1px;box-shadow:none;color:#7c7487;flex-direction:column-reverse;font-size:12px;font-weight:500;gap:5px;justify-content:center;min-height:86px;min-width:0;padding:8px 5px}.registration-panel:not(.registration-panel--classic) .registration-roles>button[aria-pressed=true]{background:#f8f5fd;border-color:#a88ecb;color:#63478f}.registration-panel:not(.registration-panel--classic) .registration-roles>button:hover{background:#faf8fd;box-shadow:none;transform:none}.registration-panel:not(.registration-panel--classic) .registration-roles img{height:46px;margin:0;object-fit:contain;width:46px}.registration-panel:not(.registration-panel--classic) input,.registration-panel:not(.registration-panel--classic) select{background-color:#fff;border:1px solid #e5e1ea;border-radius:9px;box-shadow:none;color:#484252;font-size:13px;min-height:42px}.registration-panel:not(.registration-panel--classic) input:focus,.registration-panel:not(.registration-panel--classic) select:focus{border-color:#ab91cb;box-shadow:none;outline:2px solid #c8b8e1;outline-offset:1px}.registration-panel:not(.registration-panel--classic) .registration-school-picker{margin:0 0 8px}.registration-panel:not(.registration-panel--classic) .registration-school-picker .picker-selected{background:#fcfbfe;border-color:#e5e1ea;border-radius:9px;padding:11px 12px}.registration-panel:not(.registration-panel--classic) .registration-school-picker .picker-selected strong{font-size:13px;font-weight:500}.registration-panel:not(.registration-panel--classic) .registration-school-picker .picker-selected small{color:#9a92a3;font-size:11px}.registration-panel:not(.registration-panel--classic) .registration-school-settings{margin:8px 0 22px}.registration-panel:not(.registration-panel--classic) .registration-school-settings summary{color:#91889d;font-size:11px}.registration-panel:not(.registration-panel--classic) .registration-school-settings--manual{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.registration-panel:not(.registration-panel--classic) .registration-school-settings--manual>div{margin:0;min-width:0}.registration-panel:not(.registration-panel--classic) .registration-school-settings--manual>div:only-child{grid-column:1/-1}.registration-panel:not(.registration-panel--classic) .registration-school-settings select{padding-left:30px;padding-right:8px;text-overflow:ellipsis;width:100%}.registration-panel:not(.registration-panel--classic) .registration-school-settings svg{height:12px;width:12px}.registration-panel:not(.registration-panel--classic) .registration-newsletter{gap:8px;margin:0 0 20px}.registration-panel:not(.registration-panel--classic) .registration-newsletter input{accent-color:var(--registration-accent);height:13px;margin-top:3px;min-height:0;width:13px}.registration-panel:not(.registration-panel--classic) .registration-newsletter label{color:#9b94a5;font-size:11px;line-height:1.55}.registration-panel:not(.registration-panel--classic) .registration-newsletter a{color:#81718f;-webkit-text-decoration-color:#cfc6db;text-decoration-color:#cfc6db}.registration-panel:not(.registration-panel--classic) .registration-submit{background:var(--registration-accent);border-radius:10px;box-shadow:none;font-size:13px;font-weight:500;min-height:44px}.registration-panel:not(.registration-panel--classic) .registration-submit:hover{background:#6846a9;transform:none}.registration-panel:not(.registration-panel--classic) .registration-submit:disabled{background:#b9a9ce;opacity:.65}.registration-panel.registration-panel--typography .registration-title{font-size:25px;margin-bottom:25px}.registration-panel.registration-panel--typography .registration-profile{margin-bottom:18px}.registration-panel.registration-panel--typography .registration-roles{background:#f8f7fa;border:1px solid #eeeaf3;border-radius:10px;gap:0;margin-bottom:22px;padding:3px}.registration-panel.registration-panel--typography .registration-roles>button{background:#0000;border:0;border-radius:7px;font-size:12px;min-height:33px}.registration-panel.registration-panel--typography .registration-roles>button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px rgba(49,33,63,.043);color:#4f395f}.registration-panel.registration-panel--typography .registration-roles img{display:none}.registration-panel.registration-panel--typography .registration-school-picker .picker-selected{background:#fff;border-color:#0000 #0000 #eae5f0;border-radius:0;padding-left:0;padding-right:0}.registration-panel.registration-panel--typography .registration-submit{background:#4d405e}.registration-panel.registration-panel--compact .registration-title{font-size:22px;margin-bottom:20px}.registration-panel.registration-panel--compact .registration-profile{margin-bottom:16px}.registration-panel.registration-panel--compact .registration-mini-avatar{height:36px;width:36px}.registration-panel.registration-panel--compact .registration-roles{gap:5px;margin-bottom:18px}.registration-panel.registration-panel--compact .registration-roles>button{border-radius:8px;flex-direction:row-reverse;font-size:11px;gap:4px;min-height:42px;padding:6px 4px}.registration-panel.registration-panel--compact .registration-roles img{height:27px;width:27px}.registration-panel.registration-panel--compact .registration-school-settings{margin-bottom:17px}.registration-panel.registration-panel--compact .registration-newsletter{margin-bottom:16px}.teacher-invite{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:24px}.teacher-invite__card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 30px #0f172a0f;max-width:440px;padding:32px 28px;text-align:center;width:100%}.teacher-invite__card h2{color:#1e293b;font-size:20px;font-weight:600;line-height:1.35;margin:0 0 6px}.teacher-invite__icon{align-items:center;background:#fff;border-radius:50%;color:#4f46e5;display:flex;font-size:22px;height:52px;justify-content:center;margin:0 auto 16px;width:52px}.teacher-invite__class{color:#4f46e5;font-size:24px}.teacher-invite__meta{color:#64748b;font-size:13px;margin:0 0 18px}.teacher-invite__body{color:#475569;font-size:14px;line-height:1.55;margin:0 0 22px}.teacher-invite__primary{background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 18px;transition:filter .15s;width:100%}.teacher-invite__primary:not(:disabled):hover{filter:brightness(1.06)}.teacher-invite__primary:disabled{cursor:not-allowed;opacity:.65}.teacher-invite__secondary{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#334155;cursor:pointer;font-size:14px;padding:10px 18px}.teacher-invite__secondary:hover{background:#f8fafc}.teacher-invite__note{color:#475569;font-size:14px;line-height:1.5;margin:0}.teacher-invite__error{color:#b91c1c;font-size:14px;line-height:1.5;margin:0 0 20px}.teacher-invite__license-links{display:flex;flex-wrap:wrap;font-size:14px;gap:8px 16px;justify-content:center;margin:-6px 0 18px}.teacher-invite__loading{color:#64748b;font-size:14px;margin:0}.error-display-container{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;min-height:100vh;position:fixed;right:0;top:0;z-index:1000}.error-display-container .error-display-content{align-items:center;animation:fadeIn .3s ease-out;background-color:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;gap:1.5rem;max-width:500px;padding:2.5rem;text-align:center;width:90%}.error-display-container .error-display-content .error-icon{color:#ef4444;font-size:3.5rem;margin-bottom:.5rem}.error-display-container .error-display-content .error-illustration{display:block;filter:drop-shadow(0 0 5px rgba(0,0,0,.1));margin:1rem auto;max-width:300px;width:80%}.error-display-container .error-display-content .error-title{color:#ef4444;font-size:1.75rem;font-weight:700;margin:0}.error-display-container .error-display-content .error-message{color:#4b5563;font-size:1.1rem;line-height:1.6;margin:0}.error-display-container .error-display-content .error-retry-button{background-color:#4f46e5;border:none;border-radius:6px;box-shadow:0 2px 4px #4f46e54d;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 2rem;text-decoration:none;transition:all .2s}.error-display-container .error-display-content .error-retry-button:hover{background-color:#4338ca;box-shadow:0 4px 6px #4f46e566;transform:translateY(-1px)}.error-display-container .error-display-content .error-retry-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.oauth-error{-webkit-backdrop-filter:none;backdrop-filter:none;padding:32px 16px;position:static}.oauth-error .error-display-content{border:none;border-radius:18px;box-shadow:0 20px 50px #4f46e526;position:relative}.oauth-error-message{color:#4b5563;line-height:1.5;margin:.2rem 0}.oauth-error-details{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;padding:16px;text-align:left;width:100%}.oauth-error-details .details-heading{color:#6b7280;display:block;font-weight:600;margin-bottom:6px}.oauth-error-details code{color:#111827;display:block;font-size:.95rem;word-break:break-word}.oauth-error-actions{display:flex;flex-direction:column;gap:12px;margin-top:24px}@media(min-width:520px){.oauth-error-actions{flex-direction:row}}.error-secondary-button{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 2px 4px #4f46e51a;color:#4f46e5;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.error-secondary-button:hover{box-shadow:0 4px 6px #4f46e533;transform:translateY(-1px)}.oauth-error-support-hint{color:#9ca3af;font-size:.9rem;margin-top:20px}.connection-notice{align-items:flex-start;background:#fff7e6;border-bottom:1px solid #ead4a2;color:#513c18;display:flex;flex-shrink:0;font-size:.85rem;gap:1rem;line-height:1.5;padding:.85rem 1.25rem;position:relative;z-index:10001}.connection-notice>div{flex:1 1}.connection-notice p{margin:.2rem 0}.connection-notice small{display:block;font-size:.75rem}.connection-notice button{background:#0000;border:0;color:inherit;cursor:pointer;flex:none;font-size:1.5rem;padding:0 .4rem}.connection-notice button:focus-visible{outline:2px solid #513c18;outline-offset:2px}.ob-overlay{align-items:center;animation:ob-fade-in .2s ease-out;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}@keyframes ob-fade-in{0%{opacity:0}to{opacity:1}}.ob{animation:ob-slide-up .25s cubic-bezier(.22,1,.36,1);background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f172a33;display:flex;flex-direction:column;max-height:90dvh;max-width:min(860px,100vw - 32px);overflow:hidden;width:100%}@keyframes ob-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ob__header{display:flex;flex-shrink:0;justify-content:flex-end;padding:14px 16px 0}.ob__close{align-items:center;background:none;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;font-size:1rem;padding:6px;transition:color .15s,background .15s}.ob__close:hover{background:#f3f4f6;color:#374151}.ob__body{display:flex;flex:1 1;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;padding:0 28px 8px}.ob__title{color:#111827;font-size:1.45rem;font-weight:700;line-height:1.3;margin:0 0 8px}.ob__text{color:#4b5563;font-size:.95rem;line-height:1.6;margin:0}.ob__video-wrapper{aspect-ratio:16/9;background:#000;border-radius:12px;flex-shrink:0;overflow:hidden;position:relative;width:100%}.ob__video-facade,.ob__video-wrapper iframe{border:none;height:100%;inset:0;position:absolute;width:100%}.ob__video-facade{background:#1f1a45;cursor:pointer;padding:0}.ob__video-facade img{display:block;height:100%;object-fit:cover;width:100%}.ob__video-facade:focus-visible .ob__video-play,.ob__video-facade:hover .ob__video-play{background:#5542b2;transform:translate(-50%,-50%) scale(1.06)}.ob__video-facade:focus-visible{outline:3px solid #f2c04e;outline-offset:-3px}.ob__video-play{background:#5542b2eb;border-radius:50%;box-shadow:0 10px 28px #00000059;color:#fff;display:grid;font-size:1.4rem;height:64px;left:50%;place-items:center;position:absolute;top:50%;transform:translate(-50%,-50%);transition:transform .2s ease,background .2s ease;width:64px}.ob__video-play svg{margin-left:4px}.ob__video-note{color:#9ca3af;font-size:12px;line-height:1.5;margin:-10px auto 0;max-width:560px;text-align:center}.ob__video-note a{color:inherit;text-decoration:underline}.ob__footer{border-top:1px solid #f3f4f6;flex-shrink:0;gap:16px;justify-content:space-between;padding:14px 28px 18px}.ob__contact,.ob__footer{align-items:center;display:flex}.ob__contact{color:#6b7280;font-size:.85rem;gap:8px;margin:0}.ob__contact a{color:#5b4be8;font-weight:500;text-decoration:none}.ob__contact a:hover{text-decoration:underline}.ob__contact-icon{color:#6d5dfc;flex-shrink:0}.ob__btn{align-items:center;background:#7c4dff;border:none;border-radius:10px;box-shadow:0 2px 8px #7c4dff4d;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.95rem;font-weight:600;gap:8px;justify-content:center;padding:10px 24px;transition:all .15s}.ob__btn:hover{background:#6d3df0;box-shadow:0 4px 12px #7c4dff66}.ob__btn .ob__btn-icon{font-size:.9rem}@media(min-width:768px)and (max-height:760px){.ob{max-width:min(680px,100vw - 32px)}}@media(min-width:768px)and (max-height:620px){.ob{max-width:min(560px,100vw - 32px)}.ob__intro{display:none}.ob__body{padding-top:4px}}@media(max-width:767px){.ob-overlay{align-items:stretch;justify-content:stretch;padding:0}.ob{border-radius:0;height:100dvh;max-height:none;max-width:none}.ob__header{padding:calc(10px + env(safe-area-inset-top)) 12px 0}.ob__intro{display:none}.ob__body{justify-content:center;padding:0 12px}.ob__video-wrapper{border-radius:8px}.ob__footer{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}.ob__contact{font-size:.8rem}.ob__btn{border-radius:12px;min-height:44px}}@media(max-height:520px)and (orientation:landscape){.ob-overlay{align-items:stretch;justify-content:stretch;padding:0}.ob{background:#000;border-radius:0;height:100dvh;max-height:none;max-width:none;position:relative}.ob__header{left:0;padding:calc(6px + env(safe-area-inset-top)) 12px 0;position:absolute;right:0;top:0;z-index:3}.ob__close{background:#0f172a66;color:#e5e7eb}.ob__close:hover{background:#0f172a99;color:#fff}.ob__intro{display:none}.ob__body{align-items:center;justify-content:center;overflow:hidden;padding:0}.ob__video-wrapper{border-radius:0;width:min(100vw,177.7777777778dvh)}.ob__footer{background:#0000;border-top:none;bottom:calc(8px + env(safe-area-inset-bottom));padding:0;position:absolute;right:12px;z-index:3}.ob__contact{display:none}.ob__btn{box-shadow:0 8px 24px #0f172a66}}