:root{--color-paper: oklch(98.5% 0.004 250);--color-paper-2: oklch(95.5% 0.008 250);--color-ink: oklch(24% 0.02 258);--color-ink-2: oklch(34% 0.018 257);--color-muted: oklch(42% 0.016 257);--color-rule: oklch(84% 0.012 250);--color-rule-strong: oklch(68% 0.018 255);--color-accent: oklch(50% 0.2 256);--color-accent-ink: oklch(100% 0 0);--color-error: oklch(52% 0.2 25);--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-control: 0.375rem;--radius-panel: 0.625rem}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-body);line-height:1.5}button{font:inherit}.flash{position:fixed;inset-block-start:1rem;margin:0;padding:0.5rem 0.75rem;border:1px solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-paper);font-size:0.875rem}.flash.is-alert{border-color:var(--color-error);color:var(--color-error)}.card{width:100%;max-width:28rem;padding:clamp(1.5rem, 5vw, 2.5rem);border:1px solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-paper)}.brand{margin:0 0 1.5rem;font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:-0.04em}.brand span{color:var(--color-accent)}.eyebrow{margin:0 0 0.5rem;color:var(--color-muted);font-family:var(--font-mono);font-size:0.75rem;font-weight:500;letter-spacing:0.06em}h1{margin:0 0 0.75rem;font-family:var(--font-display);font-size:clamp(1.75rem, 5vw, 2.25rem);line-height:1.05;letter-spacing:-0.045em}p.lede{margin:0 0 1.5rem;color:var(--color-ink-2)}.google{width:100%;min-height:2.75rem;display:flex;align-items:center;justify-content:center;gap:0.5rem;padding-inline:1rem;border:1px solid transparent;border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-accent-ink);font-weight:500;cursor:pointer}.google:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.note{margin:1.5rem 0 0;padding-block-start:1rem;border-block-start:1px solid var(--color-rule);color:var(--color-muted);font-size:0.875rem}.note.is-error{color:var(--color-error)}.note strong{color:var(--color-ink);font-weight:500}.secondary{margin:0.75rem 0 0;padding:0;border:0;background:none;color:var(--color-muted);font-size:0.875rem;text-decoration:underline;text-underline-offset:0.25rem;cursor:pointer}
