.ha-auth-page{min-height:100svh;color:var(--ink);background:var(--background);place-items:center;padding:48px 24px;display:grid}.ha-auth-wrap{width:min(100%,440px)}.ha-auth-brand{letter-spacing:-.04em;justify-content:center;align-items:center;gap:12px;margin-bottom:32px;font-size:28px;font-weight:750;display:flex}.ha-auth-brand-mark{background:var(--gradient-brand-mark);width:48px;height:48px;color:var(--white);box-shadow:inset 0 1px 1px var(--white-60);border-radius:16px;place-items:center;display:grid}.ha-auth-card{border:1px solid var(--border);background:var(--card);box-shadow:0 16px 48px color-mix(in srgb, var(--ink) 5%, transparent);text-align:center;border-radius:28px;padding:40px}.ha-auth-app{background:var(--secondary);color:var(--ink-70);border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.ha-auth-heading{margin:24px 0 32px}.ha-auth-heading h1{letter-spacing:-.04em;margin:0;font-size:32px;font-weight:700;line-height:1.2}.ha-auth-heading p{color:var(--ink-70);margin-top:12px;font-size:14px;line-height:1.7}.ha-auth-google{border-color:var(--ink-10);background:var(--card);width:100%;height:52px;color:var(--ink);box-shadow:0 2px 4px var(--black-05);border-radius:14px;gap:12px;padding-inline:16px;font-size:14px;font-weight:600}.ha-auth-google:hover{background:var(--white-80);border-color:var(--ink-20)}.ha-auth-google:focus-visible{outline:2px solid var(--accent-blue);outline-offset:4px}.ha-auth-arrow{color:var(--ink-50);margin-left:auto}.ha-auth-hint{max-width:280px;color:var(--ink-70);margin:20px auto 0;font-size:12px;line-height:1.7}.ha-auth-footer{color:var(--ink-70);justify-content:center;align-items:center;gap:7px;margin-top:28px;font-size:12px;display:flex}.ha-auth-error{color:var(--destructive);margin-top:20px;font-size:13px;line-height:1.6}.ha-auth-loading{width:24px;height:24px;color:var(--accent-violet);margin:0 auto 20px}.ha-auth-retry{width:100%;height:44px}@media (max-width:480px){.ha-auth-page{padding:32px 20px}.ha-auth-card{padding:32px 24px}.ha-auth-heading h1{font-size:30px}}
