*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0}a{color:var(--ink)}a:hover{color:var(--accent-ink)}.landing{text-align:center;place-content:center;gap:4px;min-height:100vh;padding:24px;display:grid}.landing h1{letter-spacing:-.02em;margin:0 0 8px;font-size:48px;font-weight:600}.landing p{color:var(--sub);margin:0}.auth-card{flex-direction:column;justify-content:center;gap:16px;max-width:30rem;min-height:100vh;margin:0 auto;padding:24px;display:flex}.auth-card-wide{max-width:46rem}.auth-card h1{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:600}.auth-card h2{margin:0 0 4px;font-size:18px;font-weight:600}.auth-muted{color:var(--sub);margin:0}.auth-error{border-radius:var(--radius-field);background:var(--warn-bg);color:var(--warn);margin:0;padding:10px 12px}.auth-ok{border-radius:var(--radius-field);background:var(--ok-bg);color:var(--ok);margin:0;padding:10px 12px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form-row{flex-flow:wrap;align-items:end}.auth-form label{color:var(--sub);flex-direction:column;gap:4px;font-size:.9rem;display:flex}.auth-form input,.auth-form select,.auth-link-field{border:1px solid var(--line);border-radius:var(--radius-field);background:var(--surface);color:var(--ink);font:inherit;padding:10px 12px}.auth-form input,.auth-form select{min-height:var(--height-field)}.auth-card button{min-height:var(--height-control);border-radius:var(--radius-control);background:var(--ink);color:var(--ink-fg);font:inherit;cursor:pointer;border:0;padding:0 18px;font-weight:600}.auth-card button:disabled{background:var(--disabled);cursor:default}.auth-panel{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex-direction:column;gap:10px;padding:16px;display:flex}.auth-enroll{grid-template-columns:auto 1fr;align-items:start;gap:20px;display:grid}.auth-qr svg{background:var(--surface);width:180px;height:180px}.auth-secret{border-radius:var(--radius-field);background:var(--soft);letter-spacing:.08em;font-family:var(--font-mono);padding:8px 10px;display:inline-block}.auth-recovery{font-family:var(--font-mono);flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;list-style:none;display:flex}@media (max-width:700px){.auth-enroll{grid-template-columns:1fr}}