:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e8eaf0;background:#0b0d10;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:#fff;background:#4f7cff;border:0;border-radius:10px;padding:14px 24px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #9bb5ff;outline-offset:4px}.secondary{background:#252a36}a{color:#9bb5ff;text-decoration:none;display:block;margin-top:24px}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:42px 20px;background:radial-gradient(ellipse at 50% 0%,#17223d 0,transparent 55%)}.brand{font-size:26px;color:#779aff;margin-bottom:36px}.brand span{color:#e8eaf0;letter-spacing:5px;font-size:17px;font-weight:700;margin-left:10px}.card{width:min(100%,460px);padding:36px;text-align:center;border:1px solid #292f3d;border-radius:22px;background:#151821;box-shadow:0 24px 80px #0005}h1{font-size:30px;margin:14px 0}p{line-height:1.6;color:#b6bdcc}.eyebrow{font-size:10px;letter-spacing:2px;color:#7d8ba6}.muted{font-size:13px;color:#929caf}.qr{display:block;margin:24px auto 16px;width:min(256px,100%);border-radius:12px}.match{font-variant-numeric:tabular-nums;letter-spacing:8px;font-size:28px;font-weight:700}.success{width:82px;height:82px;border-radius:50%;background:#153c30;color:#67e3ae;font-size:55px;margin:0 auto 22px;animation:check-in .35s ease-out}@keyframes check-in{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}footer{font-size:12px;color:#68738a;margin-top:28px}.mobile-hint{display:none;font-size:12px}@media(max-width:600px),(pointer:coarse){.mobile-hint{display:block}.login{padding:24px 16px}.card{padding:24px}.brand{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){.success{animation:none}}.camera{position:relative;aspect-ratio:1;background:#080a0d;border-radius:16px;overflow:hidden;margin:24px 0}.camera video{width:100%;height:100%;object-fit:cover}.hidden{display:none}.frame{position:absolute;top:16%;right:16%;bottom:16%;left:16%;border:2px solid #8aaaff;border-radius:20px;pointer-events:none}.controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.controls button{font-size:12px;padding:10px}dl{text-align:left;background:#0b0d10;padding:16px;border-radius:12px}dt{font-size:11px;color:#929caf;margin-top:8px}dd{margin:4px 0;overflow-wrap:anywhere}.card>button+button{margin-left:8px}
