.login-page{flex:1;display:grid;place-items:center;padding:40px 20px 70px}.login-card{width:min(100%,480px);background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:0 16px 46px #4937750d}.login-eyebrow{color:var(--purple);font-size:14px;font-weight:650;margin:0 0 14px}.login-card h1{font-size:32px;margin:0 0 14px}.login-card .muted{font-size:14px;line-height:1.8}.login-card label{display:block;font-weight:600;margin:18px 0 8px}.login-card input:not([type=checkbox]){width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:white}.login-card input:focus{outline:3px solid #f6dc6470;border-color:var(--purple)}.login-card button{font:inherit;cursor:pointer}.login-card .full{min-height:48px;font-weight:650}.login-methods{display:flex;gap:8px;margin:22px 0}.login-methods button{flex:1;padding:10px 4px;background:transparent;border:1px solid var(--line);border-radius:10px;font-size:14px;color:var(--purple-dark)}.login-methods .selected{background:var(--tint);border-color:var(--purple)}.login-help,.teacher-link{font-size:13px;line-height:1.7;color:var(--muted)}.login-card .remember{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:400;margin:20px 0 0}.remember input{width:18px;height:18px}.code-row{display:flex;gap:8px}.code-row input{min-width:0}.code-row button{flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:var(--tint);padding:10px;color:var(--purple-dark)}button:disabled{opacity:.5;cursor:default}.login-card .quiet{margin-top:12px}.teacher-link{display:block;text-align:right;margin-top:16px}.error:empty{display:none}@media(max-width:480px){.login-page{padding:24px 14px 40px}.login-card{padding:26px 22px}.login-methods button{font-size:13px}}