:root{font-family:Arial,Helvetica,sans-serif;color:#203940;background:#fff;font-size:16px;line-height:1.5;color-scheme:light;--ink:#203940;--secondary:#40565c;--line:#cfdbd9;--blue:#abeefa;--blue-ink:#155b6c}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--blue-ink);outline-offset:4px}a{color:var(--blue-ink);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}.brand{height:108px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);padding:14px 24px}.brand img{display:block;width:184px;height:auto}main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:48px 24px 36px}.sign-in-card{width:100%;max-width:424px}.beta-label{display:inline-block;font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--blue-ink);margin:0 0 14px;padding:5px 9px;background:#e9faff;border-radius:4px}h1{font-size:34px;line-height:1.15;letter-spacing:-.8px;margin:0 0 14px}h2{font-size:24px;line-height:1.25;letter-spacing:-.4px;margin:0 0 16px}.intro{color:var(--secondary);margin:0 0 28px}#google-button{min-height:44px;display:flex;justify-content:center;overflow:hidden}.method-divider{display:flex;align-items:center;gap:14px;color:#607277;font-size:12px;margin:22px 0}.method-divider::before,.method-divider::after{content:"";height:1px;background:var(--line);flex:1}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}input{width:100%;min-height:48px;padding:10px 13px;border:1px solid #7e959a;border-radius:6px;color:var(--ink);background:white;margin:0 0 14px}input::placeholder{color:#6b7e83}button{min-height:46px;border-radius:6px;padding:10px 14px;font-weight:600;border:1px solid #7e959a;color:var(--ink);background:#fff}.primary{width:100%;background:var(--blue);border:2px solid var(--blue-ink);color:var(--blue-ink)}.primary:hover:not(:disabled){background:#98e5f3}.secondary{width:100%;margin-top:10px;background:white}.secondary:hover:not(:disabled){background:#f2fafc}.text-button{min-height:44px;border:0;padding:8px 0;text-decoration:underline;text-underline-offset:3px;color:var(--blue-ink);background:transparent;font-size:13px}.account-help{font-size:12px;color:var(--secondary);line-height:1.6;margin:16px 0 0}.sent-to{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sent-to p{font-size:13px;margin:0;overflow-wrap:anywhere}.sent-to strong{display:block}#code{font-size:24px;letter-spacing:8px;max-width:100%;margin-bottom:8px}.muted{font-size:13px;color:var(--secondary)}#code-help{margin:0 0 20px}#invitation-needed p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.auth-status{font-size:14px;line-height:1.5;margin:18px 0 0;overflow-wrap:anywhere}.auth-status:empty{display:none}.auth-status[data-error="true"]{color:#923c2e;background:#fff2ee;border-left:3px solid #b35c48;padding:10px 12px}.local-note{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px;color:var(--secondary)}.local-note svg{width:22px;height:22px;flex:0 0 22px;margin-top:2px}.local-note p{font-size:12px;line-height:1.6;margin:0}footer{text-align:center;font-size:11px;color:var(--secondary);padding:20px 24px 28px}.noscript{color:#923c2e;font-size:14px}@media(max-width:480px){.brand{height:88px}.brand img{width:159px}main{padding:32px 22px}h1{font-size:30px}.intro{font-size:15px}.sent-to{align-items:flex-start}.sign-in-card{max-width:390px}footer{padding-top:4px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media(forced-colors:active){.beta-label{border:1px solid CanvasText}.primary,.secondary,input{border-color:ButtonText}.auth-status[data-error="true"]{color:CanvasText;border-color:CanvasText}button:disabled{opacity:1;color:GrayText}svg{stroke:CanvasText}}

#student-title{margin-top:12px}#student-help{margin:0 0 20px}#student-qr h3{font-size:18px;line-height:1.4;margin:12px 0}#student-qr .text-button{display:block;margin-top:10px}#existing-session p{overflow-wrap:anywhere}#class-code{letter-spacing:1px}#student-pin{letter-spacing:6px;font-size:22px}#open-student{margin-top:24px}#back-to-account{margin-bottom:8px}

select{font:inherit;width:100%;min-height:48px;margin:0 0 18px;padding:10px 36px 10px 13px;color:var(--ink);background:#fff;border:1px solid #7e959a;border-radius:6px}select:focus-visible{outline:3px solid var(--blue-ink);outline-offset:4px}select:disabled{color:var(--secondary);background:#f3f5f5}#profile-options-status:empty{display:none}#retry-profile-options{margin:0 0 20px}#profile-sign-out{margin-top:12px}@media(forced-colors:active){select{color:ButtonText;border-color:ButtonText;background:ButtonFace}select:disabled{color:GrayText}}

#student-profile select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%2340565c' stroke-width='1.8'%3E%3Cpath d='m2 5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}#profile-title:focus{outline:none}@media(forced-colors:active){#student-profile select{appearance:auto;background-image:none}}
