.auth-topbar{z-index:20;height:var(--header-h);padding:0 var(--page-pad);justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute;inset:0 0 auto}.auth-topbar__logo svg{width:112px}.auth-topbar__link,.auth-topbar__action{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:42px;box-shadow:inset 0 0 0 1px var(--border-soft);color:var(--text-soft);font-family:var(--font-ui);white-space:nowrap;transition:transform .45s var(--spring-snappy), color .2s, box-shadow .3s var(--ease-out);background:#12121299;align-items:center;gap:8px;padding:0 18px 0 14px;font-size:14px;font-weight:600;display:inline-flex}.auth-topbar__link svg,.auth-topbar__action svg{width:17px;height:17px;transition:transform .45s var(--spring-snappy);flex:none}.auth-topbar__link:hover,.auth-topbar__action:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-line), var(--accent-glow);transform:scale(.97)}.auth-topbar__link:hover svg{transform:translate(-3px)}.auth-login,.auth-setup,.auth-lost{isolation:isolate;min-height:100dvh;padding:calc(var(--header-h) + 8px) var(--page-pad) 48px;flex-direction:column;align-items:center;display:flex;position:relative;overflow:clip}.auth-hero{z-index:2;text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.auth-brand{flex-direction:column;align-items:center;display:flex}.auth-brand__mascot{width:181px;height:85px}.auth-brand__wordmark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--brand);margin-top:6px;font-size:30px;font-weight:700;line-height:1.2}.auth-title{font-family:var(--font-display);letter-spacing:-1.3px;margin-top:8px;font-size:60px;font-weight:800;line-height:1.04}.auth-title>span{background-image:linear-gradient(0deg, var(--accent) 43%, #fff 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-bottom:.04em;display:inline-block}.auth-lede{color:var(--text-soft);font-family:var(--font-ui);align-items:center;gap:10px;margin-top:14px;font-size:15px;font-weight:500;display:inline-flex}.auth-lede strong{color:var(--text);font-weight:700}.auth-card{background:var(--glass);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);view-transition-name:auth-card;border-radius:28px;position:relative;box-shadow:0 40px 90px -30px #000c,0 0 90px -24px #ffbd5938}.auth-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(170deg,#ffbd598c,#ffbd591f 32%,#ffffff0f 70%,#ffbd5929);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.auth-page .alert svg{width:18px;height:18px;color:var(--danger);flex:none;margin-top:1px}.auth-screens{z-index:0;opacity:var(--screens-opacity,1);pointer-events:none;justify-content:center;display:flex;position:absolute;inset:0;overflow:hidden}.auth-screens__row{--phone-w:206px;--gap:10px;--loop:calc(2 * (var(--phone-w) * 1470 / 722 + var(--gap)));width:max-content;height:1100px;margin-top:var(--screens-top,240px);flex:none;gap:24px;display:flex}.auth-screens__column{width:210px;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0%,#000 12.5% 87.5%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 12.5% 87.5%,#0000 100%)}.auth-screens__track{align-items:center;gap:var(--gap);animation:auth-drift var(--duration) linear infinite;will-change:transform;flex-direction:column;display:flex}.auth-screens__track .phone{width:var(--phone-w)}@keyframes auth-drift{0%{transform:translate3d(0, calc(-1 * var(--loop)), 0)}to{transform:translate(0,0)}}.auth-screens__fade{background:radial-gradient(var(--fade-size,62% 78%) at 50% var(--fade-y,92%), #1212121a 25%, #121212b8 66%, var(--bg) 100%), linear-gradient(var(--bg) var(--fade-top,22%), #12121200 52%);position:absolute;inset:0}.auth-login{--screens-top:40px;--screens-opacity:.5;--fade-y:45%;--fade-size:70% 70%;--fade-top:0%}.auth-login__panel{z-index:3;width:min(100%,440px);margin-top:26px;position:relative}.auth-login__panel:before,.setup-panel:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#121212eb 55%,#12121200);position:absolute;inset:-60px -200px -120px}html:has(.launch-page){scroll-padding-top:16px}@media (prefers-reduced-motion:no-preference){html:has(.launch-page){scroll-behavior:smooth}}.launch-nav{align-items:center;gap:4px;display:flex}.launch-nav__link{border-radius:var(--r-pill);min-height:42px;color:var(--text-soft);font-family:var(--font-ui);align-items:center;padding:0 14px;font-size:14px;font-weight:600;transition:color .2s;display:inline-flex}.launch-nav__link:hover{color:var(--accent)}.launch-nav .auth-topbar__link{margin-left:10px}.launch-hero{padding-bottom:72px;display:block}.launch-hero__grid{z-index:2;width:min(100%,1200px);min-height:clamp(640px, calc(100dvh - var(--header-h) - 80px), 820px);grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:64px;margin:0 auto;display:grid;position:relative}.launch-hero .auth-login__panel{margin-top:0;scroll-margin-top:16px}.launch-hero .auth-screens{justify-content:flex-start;padding-left:max(50% - 193px,0px);-webkit-mask-image:linear-gradient(90deg,#0000 44%,#000 72%);mask-image:linear-gradient(90deg,#0000 44%,#000 72%)}.launch-hero__copy{justify-items:start;min-width:0;display:grid;position:relative}.launch-hero__brand{margin-bottom:30px;position:relative}.launch-hero__bubble{pointer-events:none;width:210px;position:absolute;top:-92px;left:calc(100% + 4px)}.launch-hero__pill{border-radius:var(--r-pill);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent);font-family:var(--font-ui);align-items:center;gap:10px;padding:8px 16px 7px 13px;font-size:13.5px;font-weight:700;display:inline-flex}.auth-title.launch-hero__title{margin-top:16px;font-size:clamp(44px,4.6vw,64px)}.launch-hero__title>span{width:fit-content;display:block}.launch-hero__title>.launch-hero__title-free{background-image:linear-gradient(90deg, var(--accent), var(--brand) 55%, var(--brand-deep))}.launch-hero__lede{max-width:540px;color:var(--text-soft);text-wrap:pretty;margin-top:18px;font-size:17px;line-height:1.6}.launch-hero__lede strong{color:var(--text);font-weight:700}.launch-hero__checks{color:var(--text);font-family:var(--font-ui);flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:14px;font-weight:600;display:flex}.launch-hero__checks li{align-items:center;gap:8px;display:inline-flex}.launch-hero__checks svg{background:var(--accent);width:20px;height:20px;color:var(--on-accent);stroke-width:3px;border-radius:50%;padding:3px}.launch-hero__actions{flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:30px;display:flex}.launch-hero__cta{min-height:56px;font-size:16px;display:none}.launch-hero__cta svg{flex:none;width:18px;height:18px}.launch-hero__more{border-radius:var(--r-pill);min-height:44px;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-soft);font-family:var(--font-ui);transition:color .2s, box-shadow .3s var(--ease-out);align-items:center;gap:8px;padding:0 18px 0 20px;font-size:14.5px;font-weight:600;display:inline-flex}.launch-hero__more svg{width:18px;height:18px;transition:transform .45s var(--spring-snappy)}.launch-hero__more:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-line)}.launch-hero__more:hover svg{transform:translateY(3px)}@media (width<=640px){.launch-hero__grid{padding-top:44px}.launch-hero__brand{margin-bottom:24px}.launch-hero__bubble{width:116px;top:-60px;left:calc(100% - 58px)}.launch-hero__lede{font-size:16px}.launch-hero__checks{flex-direction:column;align-items:center}.launch-hero__actions{flex-direction:column;align-items:stretch;width:100%}.launch-hero__cta{white-space:normal;padding:0 20px}.launch-hero__more{align-self:center}}.signin__offer{border-radius:var(--r-pill);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent);font-family:var(--font-ui);justify-self:center;align-items:center;gap:7px;margin:-4px 0 -6px;padding:5px 13px 4px 10px;font-size:12px;font-weight:700;display:inline-flex}.signin__offer svg{width:15px;height:15px}.launch-js [data-in]:not(.is-in){opacity:0}.launch-js [data-in].is-in{animation:launch-in .9s var(--spring-soft) var(--in-delay,0s) both}@keyframes launch-in{0%{opacity:0;translate:0 32px}60%{opacity:1}}@media (width<=1099px){.launch-nav__link{display:none}.launch-hero__grid{grid-template-columns:minmax(0,1fr);justify-items:center;gap:40px;min-height:0;padding-top:24px}.launch-hero__copy{text-align:center;justify-items:center}.launch-hero__title>span{margin-inline:auto}.launch-hero__checks,.launch-hero__actions{justify-content:center}.launch-hero__cta{display:inline-flex}.launch-hero .auth-screens{justify-content:center;padding-left:0;-webkit-mask-image:none;mask-image:none}.auth-login{--screens-top:700px;--fade-y:100%;--fade-size:80% 70%;--fade-top:30%}}.signin{gap:16px;padding:26px 28px 28px;display:grid}.signin__title{font-family:var(--font-heading);letter-spacing:-.01em;text-align:center;font-size:21px;font-weight:700}.signin__alert{margin:-2px 0;font-size:13.5px}.signin__google-wrap,.signin__email{display:grid}.signin__google{border-radius:var(--r-pill);background:var(--accent);min-height:58px;color:var(--on-accent);font-family:var(--font-ui);text-align:center;transition:transform .45s var(--spring-snappy), box-shadow .3s var(--ease-out);grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;padding:0 8px;font-size:16px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff59,0 10px 30px -12px #ffbd598c}.signin__google:hover{box-shadow:inset 0 1px 0 #ffffff59, var(--accent-glow);transform:scale(.97)}.signin__google:active{transform:scale(.94)}.signin__g,.signin__google-arrow{border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.signin__g{background:#fff;box-shadow:0 2px 6px #0000002e}.signin__google-arrow{background:#1212121a}.signin__google-arrow svg{width:18px;height:18px;transition:transform .45s var(--spring-snappy)}.signin__google:hover .signin__google-arrow svg{transform:translate(3px)}.signin__google[aria-busy=true]{opacity:1;cursor:progress}.signin__google[aria-busy=true] .signin__google-arrow svg{animation:arrow-wait .8s var(--ease-in-out) infinite alternate}.signin__divider{color:var(--text-muted);font-family:var(--font-ui);align-items:center;gap:14px;font-size:12.5px;font-weight:600;display:flex}.signin__divider:before,.signin__divider:after{content:"";background:linear-gradient(90deg,#fff0,#ffffff24);flex:1;height:1px}.signin__divider:after{transform:scaleX(-1)}.signin__stage{position:relative}.signin__stage.is-swapping{margin:-6px;padding:6px;overflow:hidden}.signin__form{gap:14px;display:grid}.signin__input{display:block;position:relative}.signin__input svg{color:#8a8a8a;pointer-events:none;width:18px;height:18px;transition:color .2s var(--ease-out);position:absolute;top:50%;left:16px;translate:0 -50%}.field:focus-within .signin__input svg{color:var(--accent)}.signin__input input{min-height:56px;padding-left:46px;padding-right:128px}.signin__input input[aria-invalid=true]{outline-color:#ff8a7acc;box-shadow:0 0 0 4px #ff8a7a24}.field .signin__input:has(input[aria-invalid=true])>svg{color:var(--danger)}.signin__send{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent);font-family:var(--font-ui);white-space:nowrap;transition:transform .45s var(--spring-snappy), background-color .2s, color .2s, box-shadow .3s var(--ease-out);border-radius:10px;align-items:center;gap:6px;padding:0 14px 0 16px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;top:7px;bottom:7px;right:7px}.signin__send svg{width:16px;height:16px;color:inherit;transition:transform .45s var(--spring-snappy);position:static;translate:none}.signin__send:hover:not(:disabled),.field:focus-within .signin__send{background:var(--accent);color:var(--on-accent);box-shadow:none}.signin__send:hover:not(:disabled){transform:scale(.96)}.signin__send:hover:not(:disabled) svg{transform:translate(3px)}.signin__send[aria-busy=true]{opacity:1;cursor:progress}.signin__send[aria-busy=true] svg{animation:arrow-wait .8s var(--ease-in-out) infinite alternate}.field:focus-within .signin__input .signin__send svg{color:inherit}.auth-page .button svg{flex:none;width:18px;height:18px}.signin__status{color:var(--text-soft);align-items:flex-start;gap:8px;font-size:13.5px;line-height:1.5;display:flex}.signin__status:not(:empty){animation:auth-fade-up .45s var(--spring-soft);margin-top:12px}.signin__status[data-tone]:before{content:"";width:16px;height:16px;-webkit-mask:var(--status-icon) center / contain no-repeat;-webkit-mask:var(--status-icon) center / contain no-repeat;mask:var(--status-icon) center / contain no-repeat;background:currentColor;flex:none;margin-top:2px}.signin__status[data-tone=info]{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}.signin__status[data-tone=success]{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");color:var(--accent)}.signin__status[data-tone=error]{--status-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.5v5M12 16.3v.2'/%3E%3C/svg%3E");color:#ffb4a8}.signin__google-wrap .signin__status{justify-content:center}.otp-head{align-items:center;gap:14px;display:flex}.otp-head__icon{background:var(--accent-soft);width:46px;height:46px;box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent);border-radius:15px;flex:none;place-items:center;display:grid}.otp-head__icon svg{width:22px;height:22px}.otp-head__text{min-width:0}.otp-head__title{font-family:var(--font-heading);font-size:17px;font-weight:700;line-height:1.3}.otp-head label{color:var(--text-muted);font-size:13.5px;line-height:1.45;display:block}#code-destination{color:var(--text);overflow-wrap:anywhere;font-weight:600}.otp{position:relative}.otp__input{z-index:1;color:#0000;-webkit-text-fill-color:transparent;caret-color:#0000;letter-spacing:2em;cursor:text;background:0 0;border:0;width:100%;height:100%;padding:0;font-size:16px;position:absolute;inset:0}.otp__input:focus-visible{outline:none}.otp__input::selection{color:#0000;-webkit-text-fill-color:transparent;background:0 0}.otp__input:-webkit-autofill{transition:background-color 600000s}.otp__cells{grid-template-columns:repeat(3,1fr) 12px repeat(3,1fr);gap:8px;display:grid}.otp__cell{height:62px;color:var(--text);font-family:var(--font-display);transition:background-color .25s var(--ease-out), box-shadow .3s var(--ease-out), color .25s, transform .45s var(--spring-snappy);background:#bbbbbb1f;border-radius:14px;place-items:center;font-size:30px;font-weight:700;line-height:1;display:grid;position:relative}.otp__cell.is-filled{background:#bbbbbb2e}.otp:hover .otp__cell:not(.is-filled){background:#bbbbbb29}.otp__digit{animation:otp-pop .45s var(--spring-snappy);padding-top:.12em}.otp:focus-within .otp__cell.is-active{box-shadow:inset 0 0 0 1.5px var(--accent), 0 0 0 4px #ffbd5924;background:#ffbd5914;transform:translateY(-2px)}.otp:focus-within .otp__cell.is-active:not(.is-filled):after{content:"";background:var(--accent);border-radius:2px;width:2px;height:26px;animation:1.1s step-end infinite otp-caret}.otp__sep{background:#4a4a4a;border-radius:2px;place-self:center;width:10px;height:2px}.otp.is-error .otp__cell{background:#ff8a7a14;box-shadow:inset 0 0 0 1.5px #ff8a7ab3}.otp.is-success .otp__cell{box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent);background:#ffbd5924}.otp.is-success .otp__cell:nth-of-type(n){animation:otp-done .6s var(--spring-snappy) both}.otp.is-success .otp__cell:nth-child(2){animation-delay:40ms}.otp.is-success .otp__cell:nth-child(3){animation-delay:80ms}.otp.is-success .otp__cell:nth-child(5){animation-delay:.12s}.otp.is-success .otp__cell:nth-child(6){animation-delay:.16s}.otp.is-success .otp__cell:nth-child(7){animation-delay:.2s}@keyframes otp-pop{0%{opacity:0;transform:translateY(8px)scale(.5)}}@keyframes otp-caret{50%{opacity:0}}@keyframes otp-done{40%{transform:translateY(-5px)}}.otp-actions{justify-content:space-between;gap:10px;display:flex}.otp-action{border-radius:var(--r-pill);min-height:40px;box-shadow:inset 0 0 0 1px var(--border);color:var(--text-soft);font-family:var(--font-ui);font-variant-numeric:tabular-nums;transition:transform .45s var(--spring-snappy), color .2s, box-shadow .3s var(--ease-out), opacity .2s;background:#ffffff0a;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.otp-action svg{width:16px;height:16px}.otp-action:hover:not(:disabled){color:var(--text);box-shadow:inset 0 0 0 1px var(--accent-line), 0 0 0 4px #ffbd590f;transform:scale(.97)}.otp-action:disabled{opacity:.6}.otp-help{color:var(--text-muted);justify-content:center;align-items:center;gap:7px;font-size:12.5px;display:flex}.otp-help svg{width:15px;height:15px}.signin__note{box-shadow:inset 0 0 0 1px var(--border-soft);color:var(--text-muted);background:#ffffff08;border-radius:18px;align-items:flex-start;gap:12px;padding:12px 16px 12px 14px;font-size:13px;line-height:1.5;display:flex}.signin__note svg{width:22px;height:22px;color:var(--accent);flex:none;margin-top:1px}.signin__note strong{color:var(--text);font-family:var(--font-ui);font-size:13.5px;font-weight:700}.signin__note b{color:var(--text-soft);font-weight:600}.signin__below{text-align:center;justify-items:center;gap:14px;margin-top:18px;display:grid}.signin__fine{color:#7d7d7d;max-width:360px;font-size:12px;line-height:1.55}.auth-demo{border-radius:var(--r-pill);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);outline-offset:-1px;min-height:44px;color:var(--text-soft);font-family:var(--font-ui);transition:transform .45s var(--spring-snappy), color .2s, outline-color .2s, box-shadow .3s var(--ease-out);background:#121212b3;outline:1px dashed #fff3;align-items:center;gap:10px;padding:0 7px 0 16px;font-size:14px;font-weight:600;display:inline-flex}.auth-demo svg{width:17px;height:17px;color:var(--accent)}.auth-demo:hover:not(:disabled){color:var(--text);outline-color:var(--accent-line);transform:scale(.97);box-shadow:0 0 0 4px #ffbd5914}.auth-demo__tag{border-radius:var(--r-pill);background:var(--chip);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;padding:5px 10px 4px;font-size:10.5px;font-weight:700}.auth-setup{--screens-top:120px;--screens-opacity:.45;--fade-y:100%;--fade-size:70% 70%;--fade-top:10%}.auth-setup .auth-title{letter-spacing:-1px;margin-top:6px;font-size:46px}.auth-setup .auth-lede{margin-top:10px}.setup-greet{position:relative}.setup-greet .auth-brand__mascot{width:181px;height:85px}.setup-bubble{color:#fff;max-width:220px;font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;transform-origin:0 100%;animation:bubble-pop .8s var(--spring-snappy) .55s both;background:#4a4a4a;border-radius:18px 18px 18px 5px;padding:9px 16px 7px;font-size:19px;font-weight:700;line-height:1.2;position:absolute;bottom:58%;left:calc(50% + 34px);overflow:hidden;rotate:-5deg;box-shadow:0 10px 24px -10px #0009}@keyframes bubble-pop{0%{opacity:0;rotate:-18deg;scale:.3}}.setup-panel{z-index:3;width:min(100%,600px);margin-top:26px;position:relative}.setup{gap:20px;padding:28px 30px 30px;display:grid}.setup-identity{box-shadow:inset 0 0 0 1px var(--border-soft);background:#ffffff09;border-radius:20px;align-items:center;gap:12px;padding:10px 12px 10px 10px;display:flex}.setup-avatar{background:linear-gradient(140deg, #ffd08a, var(--brand) 55%, var(--brand-deep));width:46px;height:46px;color:var(--on-accent);font-family:var(--font-display);text-transform:uppercase;border-radius:50%;flex:none;place-items:center;padding-top:3px;font-size:21px;font-weight:800;display:grid;box-shadow:inset 0 1px #fff6}.setup-identity__text{flex:1;min-width:0;display:grid}.setup-identity__text strong,.setup-identity__text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.setup-identity__text strong{font-family:var(--font-ui);font-size:15px;font-weight:700}.setup-identity__text small{color:var(--text-muted);font-size:13px}.setup-identity .pill{flex:none;padding:6px 12px 6px 9px;font-size:12px}.setup-identity .pill svg{width:15px;height:15px}.setup-identity .pill--neutral svg{color:var(--accent)}.setup-form{gap:18px;display:grid}.setup-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.setup-form .field input[aria-invalid=true]{outline-color:#ff8a7acc;box-shadow:0 0 0 4px #ff8a7a24}.setup-form .field input[name=roll]{font-family:var(--font-ui);letter-spacing:.06em;font-weight:600}.setup-form .field input[name=roll]::placeholder{letter-spacing:.04em}.semester{border:0;min-width:0;margin:0;padding:0}.semester__legend{color:#888;font-family:var(--font-ui);transition:color .2s var(--ease-out);margin-bottom:10px;padding:0;font-size:13px;font-weight:600}.semester:focus-within .semester__legend{color:var(--accent)}.semester__grid{background:#bbbbbb1a;border-radius:18px;grid-template-columns:repeat(8,1fr);gap:6px;padding:6px;display:grid;position:relative}.semester__tile{z-index:1;height:50px;color:var(--text-soft);font-family:var(--font-display);cursor:pointer;transition:color .25s var(--ease-out), background-color .2s, transform .45s var(--spring-snappy);background:#ffffff06;border-radius:13px;place-items:center;font-size:21px;font-weight:700;display:grid;position:relative}.semester__tile:hover{color:var(--text);background:#ffffff0f}.semester__tile:active{transform:scale(.92)}.semester__num{pointer-events:none;padding-top:.14em}.semester__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.semester__tile:has(.semester__input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.semester__tile:has(.semester__input:checked){background:var(--accent);color:var(--on-accent)}.semester__tile:has(.semester__input:checked) .semester__num{animation:semester-pop .5s var(--spring-snappy)}.semester__grid.has-thumb .semester__tile:has(.semester__input:checked){background:0 0}.semester__thumb{z-index:0;width:var(--w,0);height:var(--h,0);background:var(--accent);opacity:0;scale:.5;translate:var(--x,0) var(--y,0);pointer-events:none;transition:translate .55s var(--spring-snappy), width .4s var(--ease-out), height .4s var(--ease-out), opacity .2s, scale .5s var(--spring-snappy);border-radius:13px;position:absolute;top:0;left:0;box-shadow:inset 0 1px #fff6,0 8px 22px -8px #ffbd59b3}.semester__thumb[data-active]{opacity:1;scale:1}.semester__thumb[data-instant]{transition:opacity .2s, scale .5s var(--spring-snappy)}@keyframes semester-pop{40%{transform:scale(1.18)}}.setup-hint{margin-top:-6px}.auth-submit{min-height:54px;font-size:16px}.auth-submit[aria-busy=true]{opacity:1;cursor:progress;background-image:linear-gradient(100deg,#fff0 30%,#ffffff59 50%,#fff0 70%);background-size:250% 100%;animation:1.2s linear infinite auth-sheen}@keyframes auth-sheen{0%{background-position:150% 0}to{background-position:-100% 0}}.setup-fine{color:#7d7d7d;text-align:center;font-size:12px;line-height:1.55}.auth-lost{--screens-top:470px;--screens-opacity:.6;--fade-y:100%;--fade-top:40%;justify-content:flex-start}.auth-lost .auth-hero{margin-top:max(24px,7vh)}.auth-lost .auth-brand__mascot{width:230px;height:115px}.auth-lost__code{margin-top:6px}.auth-lost .auth-title{margin-top:14px;font-size:58px}.auth-lost__text{color:var(--text-soft);margin-top:14px;font-size:16px}.auth-lost__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.auth-lost__actions svg{width:18px;height:18px}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(-4px)}}@media (width<=809px){.auth-topbar__logo svg{width:96px}.auth-topbar__long{display:none}.auth-topbar__link,.auth-topbar__action{min-height:44px;padding:0 14px 0 12px;font-size:13px}.auth-login,.auth-setup,.auth-lost{padding-top:calc(var(--header-h) + 4px);padding-bottom:32px}.auth-login{--screens-top:150px;--screens-opacity:.4;--fade-y:100%;--fade-size:90% 60%;--fade-top:12%}.auth-brand__mascot{width:128px;height:60px}.auth-brand__wordmark{margin-top:2px;font-size:22px}.auth-title{letter-spacing:-.8px;margin-top:8px;font-size:38px}.auth-lede{margin-top:10px;font-size:13.5px}.auth-login__panel{margin-top:22px}.signin{border-radius:25px;gap:16px;padding:22px 18px}.signin__title{font-size:19px}.signin__google{min-height:56px}.otp__cells{grid-template-columns:repeat(3,1fr) 8px repeat(3,1fr);gap:6px}.otp__cell{height:56px;font-size:26px}.otp-action{min-height:44px}.auth-setup{--screens-top:80px;--screens-opacity:.35;padding-top:calc(var(--header-h) + 18px)}.auth-setup .auth-title{letter-spacing:-.6px;font-size:32px}.setup-greet .auth-brand__mascot{width:150px;height:70px}.setup-bubble{max-width:150px;font-size:16px;left:calc(50% + 26px)}.setup-panel{margin-top:20px}.setup{border-radius:25px;gap:18px;padding:18px 16px 20px}.setup-fields{grid-template-columns:1fr;gap:16px}.setup-identity{flex-wrap:wrap}.semester__grid{grid-template-columns:repeat(4,1fr)}.semester__tile{height:52px}.auth-lost{--screens-top:430px;--screens-opacity:.45}.auth-lost .auth-brand__mascot{width:200px;height:100px}.auth-lost .auth-title{font-size:38px}.auth-lost__text{font-size:15px}}@media (prefers-reduced-motion:reduce){.setup-bubble{animation:none}}.phone[data-astro-cid-lkheghne]{aspect-ratio:722/1470;flex:none;margin:0;position:relative}.phone__screen[data-astro-cid-lkheghne]{object-fit:cover;border-radius:11.7%/5.4%;width:90.66%;height:96.34%;position:absolute;top:2.06%;left:4.67%}.phone__frame[data-astro-cid-lkheghne]{width:100%;height:100%;position:absolute;inset:0}
