.guap-auth{font-family:var(--ff);background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.guap-auth:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(70% 55% at 50% 38%,rgb(var(--white-rgb)/.9),transparent 70%),radial-gradient(40% 40% at 82% 12%,rgb(var(--lime-rgb)/.16),transparent 70%)}.guap-auth a{color:inherit;text-decoration:none}.guap-auth .topbar{position:relative;z-index:2;padding:30px 0 0;text-align:center}.guap-auth .logo{font-weight:800;font-size:24px;letter-spacing:-.04em;color:var(--espresso);display:inline-flex;align-items:center;gap:9px}.guap-auth .logo .bean{width:13px;height:13px;border-radius:50% 50% 50% 0;background:var(--lime);transform:rotate(45deg);box-shadow:inset -2px -2px 0 rgb(var(--olive-rgb)/.25)}.guap-auth .stage{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px 0}.guap-auth .panel{width:100%;max-width:520px;text-align:center}.guap-auth .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--olive-text);margin-bottom:18px}.guap-auth .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px var(--lime-tint)}.guap-auth h1{font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--espresso);font-size:clamp(40px,6.5vw,60px)}.guap-auth .sub{margin-top:16px;font-size:18px;color:var(--body)}.guap-auth form{margin-top:38px;display:flex;flex-direction:column;gap:14px;text-align:left}.guap-auth .roles{display:flex;gap:8px;padding:6px;background:var(--field);border-radius:999px}.guap-auth .role-btn{flex:1;font-family:var(--ff);font-size:14.5px;font-weight:700;color:var(--muted);background:transparent;border:none;border-radius:999px;padding:12px 8px;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}.guap-auth .role-btn:hover{color:var(--espresso)}.guap-auth .role-btn[aria-checked=true]{background:var(--white);color:var(--espresso);box-shadow:0 4px 14px -6px rgb(var(--espresso-rgb)/.35)}.guap-auth .field{position:relative}.guap-auth .field input{width:100%;font-family:var(--ff);font-size:17px;font-weight:500;color:var(--espresso);background:var(--field);border:1.5px solid transparent;border-radius:999px;padding:21px 56px 21px 28px;outline:none;transition:background .18s,border-color .18s,box-shadow .18s}.guap-auth .field input::-moz-placeholder{color:var(--muted-2);font-weight:500}.guap-auth .field input::placeholder{color:var(--muted-2);font-weight:500}.guap-auth .field input:focus{background:var(--field-focus);border-color:var(--lime);box-shadow:0 0 0 4px var(--lime-tint)}.guap-auth .field .ic{position:absolute;right:24px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}.guap-auth .field .ic svg{width:21px;height:21px;display:block}.guap-auth .field .toggle{position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted-2);padding:6px;border-radius:50%;display:grid;place-items:center;transition:color .15s,background .15s}.guap-auth .field .toggle:hover{color:var(--espresso);background:rgb(var(--espresso-rgb)/.05)}.guap-auth .field .toggle svg{width:21px;height:21px;display:block}.guap-auth .hint{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:var(--muted);font-size:14.5px}.guap-auth .hint svg{width:15px;height:15px;color:var(--olive)}.guap-auth .error{margin-top:16px;padding:13px 18px;border-radius:16px;background:var(--error-tint);border:1px solid var(--error-line);color:var(--error-text);font-size:14.5px;font-weight:600;text-align:center}.guap-auth .terms{margin-top:18px;font-size:13.5px;color:var(--muted);text-align:center;line-height:1.5}.guap-auth .terms a{color:var(--body);font-weight:600;border-bottom:1px solid var(--line)}.guap-auth .terms a:hover{color:var(--espresso)}.guap-auth .divider{display:flex;align-items:center;gap:16px;margin:30px 0 22px;color:var(--muted-2);font-size:13px;font-weight:600;letter-spacing:.04em}.guap-auth .divider:after,.guap-auth .divider:before{content:"";height:1px;flex:1;background:var(--line)}.guap-auth .oauth{display:flex;flex-direction:column;gap:12px}.guap-auth .oauth-btn{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;font-family:var(--ff);font-weight:700;font-size:16px;color:var(--espresso);background:var(--white);border:1.5px solid var(--line);border-radius:999px;padding:16px;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}.guap-auth .oauth-btn:hover{transform:translateY(-2px);box-shadow:var(--soft-shadow);border-color:var(--line-strong)}.guap-auth .oauth-btn svg{width:20px;height:20px}.guap-auth .footbar{position:relative;z-index:2;padding:28px 24px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:20px}.guap-auth .submit{width:100%;max-width:520px;font-family:var(--ff);font-weight:700;font-size:18px;color:var(--white);background:var(--espresso);border:none;border-radius:999px;padding:23px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:11px;box-shadow:var(--btn-shadow);transition:transform .18s,box-shadow .18s,background .18s}.guap-auth .submit:hover{transform:translateY(-2px);background:var(--ink);box-shadow:0 26px 52px -20px rgb(var(--espresso-rgb)/.62)}.guap-auth .submit:active{transform:translateY(0)}.guap-auth .submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.guap-auth .submit svg{width:20px;height:20px}.guap-auth .switch{font-size:15.5px;color:var(--body)}.guap-auth .switch a{font-weight:700;color:var(--espresso);border-bottom:1.5px solid var(--lime);padding-bottom:1px}.guap-auth .switch a:hover{border-color:var(--olive)}.guap-auth .forgot-row{display:flex;justify-content:flex-end;margin-top:14px}.guap-auth .forgot{font-size:14.5px;font-weight:600;color:var(--body);padding-bottom:1px;white-space:nowrap;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer}.guap-auth .forgot:hover{color:var(--espresso);border-color:var(--olive)}@media (max-width:520px){.guap-auth .sub{font-size:16.5px}.guap-auth form{margin-top:30px}.guap-auth .field input{padding:19px 52px 19px 24px;font-size:16px}.guap-auth .submit{padding:21px;font-size:17px}}