:root { color-scheme: light; --ink: #18212f; --muted: #536174; --surface: #ffffff; --accent: #155eef; --success: #176b45; --danger: #b42318; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 1.5rem; background: #f4f7fb; color: var(--ink); font: 1rem/1.5 system-ui, sans-serif; }
main { width: min(100%, 34rem); padding: 2.5rem; border: 1px solid #d9e0ea; border-radius: 1rem; background: var(--surface); box-shadow: 0 1rem 3rem rgba(20, 32, 52, .08); }
.eyebrow { margin: 0 0 .5rem; color: var(--accent); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
h1 { margin: 0 0 1rem; font-size: clamp(2rem, 6vw, 3rem); line-height: 1.1; }
p { color: var(--muted); }
.session-status[data-state="verified"] { color: var(--success); font-weight: 700; }
.session-error { color: var(--danger); font-weight: 700; }
button, .button { min-height: 48px; margin-top: 1rem; padding: .8rem 1.25rem; border: 0; border-radius: .65rem; background: var(--accent); color: white; font: inherit; font-weight: 700; cursor: pointer; }
.button { display: inline-flex; align-items: center; text-decoration: none; }
button:disabled { cursor: progress; opacity: .65; }
button:focus-visible, .button:focus-visible { outline: 3px solid #82adff; outline-offset: 3px; }
[hidden] { display: none !important; }
#status { min-height: 1.5rem; margin-bottom: 0; }
