:root { color-scheme: light; --ink:#161a1d; --muted:#61686c; --line:#eaeaeb; }
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { margin:0; background:#fff; color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible, button:focus-visible { outline:3px solid #3478f6; outline-offset:3px; }
.page { min-height:100svh; display:flex; flex-direction:column; padding:32px 40px 24px; }
header,footer { width:100%; max-width:1280px; margin-inline:auto; }
.wordmark { display:inline-flex; align-items:center; text-decoration:none; }
.wordmark img { display:block; width:min(210px, 100%); height:auto; }
.login-card { width:min(100%,510px); margin:auto; padding:72px 0; }
.eyebrow { color:var(--muted); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
h1 { margin:18px 0 18px; font-size:clamp(38px,6vw,58px); line-height:1.07; letter-spacing:-.055em; font-weight:600; }
.login-card > p:not(.eyebrow) { max-width:450px; color:var(--muted); line-height:1.6; }
#google-sign-in { display:flex; min-height:48px; margin:32px 0 8px; }
#sign-in-status { min-height:1.5em; font-size:13px; }
small { display:block; margin-top:24px; color:var(--muted); line-height:1.5; }
footer { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-top:18px; color:var(--muted); font-size:12px; }
@media(max-width:600px) { .page { padding:22px 20px 20px; } .login-card { padding:64px 0; } footer { flex-direction:column; gap:4px; } }
