.app-login-tabs{background:var(--bg-subtle,#f4f5f7);border-radius:12px;gap:8px;margin:24px 0;padding:5px;display:flex}.app-login-tabs button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;flex:1;padding:11px 8px}.app-login-tabs button[aria-selected=true]{color:var(--brand,#6254dc);background:#fff;font-weight:600;box-shadow:0 2px 8px #0000000d}.app-login-qr{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:280px;display:flex}.app-login-qr img{object-fit:contain;max-width:100%;display:block}.app-login-qr p{color:var(--text-secondary,#657080);font-size:14px}.app-login-code{align-items:center;gap:10px;display:flex}.app-login-code input{flex:1;min-width:0}.app-login-code button{flex-shrink:0}.auth-login-modal{border:0;border-radius:24px;width:920px;position:relative}.auth-login-modal>header{z-index:2;padding:0;position:absolute;top:14px;right:14px}.auth-login-modal>header h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-login-modal>.ui-modal-body{padding:0;display:block}.auth-modal-content{grid-template-columns:1fr 1fr;min-width:0;display:grid}.auth-modal-content .auth-story{background:radial-gradient(at 30% 20%,#fffdf7,#0000 75%),#f3f1e9;border:0;border-radius:0;flex-direction:column;justify-content:center;min-height:570px;padding:40px 32px 28px;display:flex}.auth-login-modal .auth-story h2{margin:22px 0 12px;font-size:30px;line-height:1.6}.auth-modal-content .auth-story>.brand-art{opacity:1;object-fit:contain;width:calc(100% + 48px);height:auto;margin:28px -24px 20px;position:static}.auth-modal-card{min-width:0;padding:44px 32px 28px}.auth-modal-card .auth-brand{margin-bottom:24px}.auth-modal-card h1{color:var(--color-text);margin:0 0 10px;font-size:26px}.auth-modal-card .muted{margin:0;font-size:13px;line-height:1.7}.auth-modal-card .auth-form{gap:20px;display:grid}@media (max-width:700px){.auth-modal-content{grid-template-columns:minmax(0,1fr)}.auth-modal-content .auth-story{min-height:170px;padding:24px;display:block;position:relative}.auth-login-modal .auth-story h2{z-index:1;margin:14px 0 0;font-size:22px;position:relative}.auth-modal-content .auth-story p,.auth-modal-content .auth-story-note{display:none}.auth-modal-content .auth-story>.brand-art{opacity:.6;width:220px;height:140px;margin:0;position:absolute;bottom:0;right:-38px}.auth-modal-card{padding:24px}.auth-modal-card .auth-brand{display:none}.auth-modal-card h1{font-size:23px}.auth-modal-card .app-login-tabs button{padding-inline:4px;font-size:13px}}
html:has(.auth-login-modal){scrollbar-gutter:auto}.ui-modal-overlay:has(>.auth-login-modal){-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#253d7259;padding:28px}.auth-login-modal.ui-modal{overscroll-behavior:contain;background:#f9fbff;border:1px solid #ffffffd9;border-radius:28px;width:1120px;max-width:100%;max-height:calc(100dvh - 56px);overflow:auto;box-shadow:0 28px 100px #142c6d3b}.auth-login-modal>header{z-index:3;top:16px;right:16px}.auth-login-modal>header .ui-button{color:#273d64;border-radius:50%;place-items:center;min-width:40px;min-height:40px;padding:8px;display:grid}.auth-login-modal>header .ui-button:hover{background:#eaf0ff}.auth-login-modal .auth-modal-content{grid-template-columns:1.12fr 1fr;min-height:740px}.auth-login-modal .auth-modal-content .auth-story{isolation:isolate;background:radial-gradient(at 90% 10%,#b5dfff 0,#0000 58%),linear-gradient(145deg,#edf7ff,#e3ebff 60%,#bed8ff);justify-content:flex-start;align-items:flex-start;min-height:740px;padding:44px 44px 30px;display:flex;position:relative;overflow:hidden}.auth-login-modal .login-brand-lockup{color:var(--color-heading);align-items:center;gap:14px;display:flex}.auth-login-modal .login-brand-lockup .brand-mark{flex-shrink:0;width:49px;height:49px}.auth-login-modal .login-brand-lockup>div{gap:5px;display:grid}.auth-login-modal .login-brand-lockup strong{letter-spacing:-.6px;font-size:27px}.auth-login-modal .login-brand-lockup b{color:var(--color-brand)}.auth-login-modal .login-brand-lockup div>span{color:#7b8eae;font-size:12px}.auth-login-modal .login-story-brand{gap:10px}.auth-login-modal .login-story-brand .brand-mark{width:36px;height:36px}.auth-login-modal .login-story-brand strong{font-size:24px}.auth-login-modal .login-story-brand div>span{display:none}.auth-login-modal .auth-story .brand-kicker{letter-spacing:2.5px;color:#748eb2;margin-top:18px;font-size:10px;font-weight:650}.auth-login-modal .auth-story h2{z-index:1;color:#12284d;letter-spacing:-1.3px;margin:18px 0 20px;font-size:clamp(30px,3.1vw,41px);font-weight:800;line-height:1.4;position:relative}.auth-login-modal .auth-story h2 em{-webkit-text-fill-color:transparent;background:linear-gradient(100deg,#00a6ed,#2665ff 60%,#882cff);-webkit-background-clip:text;background-clip:text;font-style:normal}.auth-login-modal .auth-story p{z-index:1;color:#748cb0;font-size:17px;line-height:1.9;position:relative}.auth-login-modal .login-teacher-art{z-index:-1;object-fit:cover;object-position:52% bottom;width:100%;height:460px;position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 17%);mask-image:linear-gradient(#0000,#000 17%)}.auth-login-modal .login-story-handwriting{z-index:1;color:#416bff;align-self:flex-end;margin:10px -14px 0 0;font-family:KaiTi,STKaiti,serif;font-size:19px;font-weight:600;line-height:1.5;position:relative;transform:rotate(-9deg)}.auth-login-modal .auth-story-note{bottom:25px;z-index:1;color:#fff;letter-spacing:4px;text-shadow:0 1px 6px #3857b140;font-size:12px;position:absolute;inset-inline:24px}.auth-login-modal .auth-modal-card{background:linear-gradient(150deg,#fff,#f8faff);flex-direction:column;min-width:0;padding:48px 40px 28px;display:flex}.auth-login-modal .login-panel-brand{margin:0 0 32px}.auth-login-modal .auth-modal-card h1{color:var(--color-heading);letter-spacing:-.7px;margin:0 0 8px;font-size:28px;font-weight:750}.auth-login-modal .auth-modal-card>.muted{color:#7082a0;font-size:13px;line-height:1.8}.auth-login-modal .app-login-tabs{background:#f1f5fc;border-radius:14px;gap:4px;margin:22px 0 16px;padding:4px}.auth-login-modal .app-login-tabs button{color:#243655;white-space:nowrap;border-radius:11px;min-height:42px;padding:10px 5px;font-size:14px;transition:background .18s,box-shadow .18s}.auth-login-modal .app-login-tabs button[aria-selected=true]{color:#fff;background:linear-gradient(110deg,#2a60ff,#4d97ff);box-shadow:0 4px 12px #3474ff26}.auth-login-modal .app-login-tabs button:disabled{opacity:.55;cursor:wait}.auth-login-modal .app-login-qr{background:#fff;border:1px solid #f5f7fc;border-radius:18px;gap:10px;min-height:288px;padding:20px 12px 12px;box-shadow:0 5px 24px #7998cd05}.auth-login-modal .login-qr-frame{background:#fff;border:2px solid #c8d9ff;border-radius:13px;flex-shrink:0;width:200px;height:200px;padding:10px}.auth-login-modal .login-qr-frame .image-viewer-trigger{background:#fff;border-radius:0;width:100%;height:100%;padding:0;display:block}.auth-login-modal .app-login-qr img{object-fit:contain;border-radius:0;width:100%;height:100%}.auth-login-modal .app-login-qr p{color:#526789;margin:0;font-size:12px;line-height:1.7}.auth-login-modal .app-login-qr>.ui-button{color:#4867a0;background:0 0;border-color:#0000;min-height:32px;padding:4px 10px;font-size:12px}.auth-login-modal .app-login-qr>.ui-button:hover{background:#f1f5ff}.auth-login-modal .auth-form{align-content:start;gap:20px;min-height:288px;padding-top:12px}.auth-login-modal .auth-form .ui-field>label{color:#334d71;font-size:13px}.auth-login-modal .auth-form .ui-input{background:#fff;border:1px solid #dfe7f4;border-radius:12px;min-height:48px;padding:12px 14px;font-size:14px}.auth-login-modal .auth-form>.ui-button{background:linear-gradient(110deg,#2a60ff,#4d97ff);border-radius:12px;min-height:46px}.auth-login-modal .app-login-code{gap:8px}.auth-login-modal .app-login-code button{border-radius:12px;min-height:48px;padding-inline:12px;font-size:12px}.auth-login-modal .login-alternatives{margin-top:20px}.auth-login-modal .login-alternatives-heading{color:#8c9cba;align-items:center;gap:14px;font-size:12px;display:flex}.auth-login-modal .login-alternatives-heading>span{background:#e7edf7;flex:1;height:1px}.auth-login-modal .login-alternative-options{justify-content:center;gap:60px;padding-top:16px;display:flex}.auth-login-modal .login-alternative-options button{color:#778aaa;flex-direction:column;align-items:center;gap:8px;padding:0 4px;font-size:12px;display:flex}.auth-login-modal .login-alternative-options button>span{width:44px;height:44px;color:var(--color-brand);background:#fff;border-radius:50%;place-items:center;transition:background .18s;display:grid;box-shadow:0 3px 15px #385c9908}.auth-login-modal .login-alternative-options button:hover>span{background:#eaf0ff}.auth-login-modal .login-alternative-options button:disabled{opacity:.5;cursor:wait}.auth-login-modal .login-legal{color:#93a4bc;justify-content:center;align-items:center;gap:7px;margin-top:auto;padding-top:24px;font-size:11px;display:flex}.auth-login-modal .login-legal button{color:#6081c9;font-size:inherit;cursor:default;padding:0}.auth-login-modal .login-legal-separator{margin-inline:5px}.auth-login-modal .login-legal small{margin-left:8px;font-size:10px}@media (max-width:1000px){.auth-login-modal .auth-modal-content{grid-template-columns:1fr 1fr}.auth-login-modal .auth-modal-content .auth-story,.auth-login-modal .auth-modal-card{padding-inline:28px}.auth-login-modal .auth-story h2{font-size:32px}.auth-login-modal .login-story-handwriting{margin-right:-10px;font-size:16px}}@media (max-width:760px){.ui-modal-overlay:has(>.auth-login-modal){padding:12px}.auth-login-modal.ui-modal{border-radius:22px;width:440px;max-height:calc(100dvh - 24px)}.auth-login-modal .auth-modal-content{grid-template-columns:minmax(0,1fr);min-height:0}.auth-login-modal .auth-modal-content .auth-story,.auth-login-modal .login-story-brand,.auth-login-modal .auth-story .brand-kicker,.auth-login-modal .auth-story p,.auth-login-modal .login-story-handwriting,.auth-login-modal .auth-story-note{display:none}.auth-login-modal .auth-story h2{margin:14px 0 0;font-size:22px;line-height:1.5;position:relative}.auth-login-modal .login-teacher-art{object-position:58% center;opacity:.7;width:190px;height:100%;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 45%);mask-image:linear-gradient(90deg,#0000,#000 45%)}.auth-login-modal .auth-modal-card{padding:24px}.auth-login-modal .login-panel-brand{margin-bottom:22px}.auth-login-modal .login-panel-brand .brand-mark{width:38px;height:38px}.auth-login-modal .login-panel-brand strong{font-size:23px}.auth-login-modal .auth-modal-card h1{font-size:24px}.auth-login-modal .auth-modal-card>.muted{font-size:12px}.auth-login-modal .app-login-tabs{margin-top:18px}.auth-login-modal .app-login-tabs button{min-height:44px;font-size:12px}.auth-login-modal .app-login-qr{min-height:260px;padding:16px 8px 8px}.auth-login-modal .login-qr-frame{width:184px;height:184px}.auth-login-modal .auth-form{min-height:260px}.auth-login-modal .login-alternatives{margin-top:18px}.auth-login-modal .login-legal{padding-top:22px}}@media (max-width:360px){.auth-login-modal .auth-modal-card,.auth-login-modal .auth-modal-content .auth-story{padding-inline:16px}.auth-login-modal .auth-story h2{font-size:20px}.auth-login-modal .login-alternative-options{gap:36px}.auth-login-modal .app-login-code button{padding-inline:8px}}@media (max-height:760px) and (min-width:761px){.auth-login-modal .auth-modal-content,.auth-login-modal .auth-modal-content .auth-story{min-height:660px}.auth-login-modal .auth-modal-card{padding-top:28px;padding-bottom:22px}.auth-login-modal .login-panel-brand{margin-bottom:22px}.auth-login-modal .login-alternatives{margin-top:14px}.auth-login-modal .login-legal{padding-top:18px}}@media (prefers-reduced-motion:reduce){.auth-login-modal *,.auth-login-modal :before,.auth-login-modal :after{transition:none!important;animation:none!important}}
