:root{color:#242e42;font-synthesis:none;--panel:#fff;--muted:#637087;--border:#e4e8ef;--accent:#304f82;--accent-hover:#243f6a;--soft:#edf2fa;background:#f4f6f9;font-family:Segoe UI,system-ui,sans-serif}:root[data-theme=dark]{color:#f3f5f9;--panel:#292929;--muted:#b8c1cf;--border:#414141;--accent:#a7c5fa;--accent-hover:#c4d9ff;--soft:#303d54;background:#1f1f1f}:root[data-theme=contrast]{color:#fff;--panel:black;--muted:white;--border:white;--accent:#ff0;--accent-hover:white;--soft:black;background:#000}*{box-sizing:border-box}body{min-width:240px;margin:0}button{font:inherit;cursor:pointer}.page{place-items:center;min-height:100vh;padding:32px 20px;display:grid}.contact-panel{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:20px;width:100%;max-width:448px;padding:32px 36px 26px;box-shadow:0 10px 36px #10244008}.brand-mark{background:var(--soft);width:52px;height:52px;color:var(--accent);border-radius:14px;place-items:center;margin:0 auto 14px;display:grid}h1{letter-spacing:-.6px;margin:0;font-size:28px;font-weight:650}.subtitle{color:var(--muted);margin:9px 0 24px;font-size:13px}.qr-container{color:#242e42;background:#fff;border:1px solid #e4e8ef;border-radius:12px;margin:0 auto 22px;padding:10px}.qr-container svg{width:100%;height:auto;display:block}.identity h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:19px;font-weight:650;line-height:1.4}.identity p{color:var(--muted);overflow-wrap:anywhere;margin:1px 0;font-size:14px;line-height:1.5}.primary-button{background:var(--accent);width:100%;color:var(--panel);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;margin-top:23px;padding:12px 14px;font-size:14px;font-weight:600;display:inline-flex}.primary-button:hover{background:var(--accent-hover)}.primary-button{text-decoration:none}.primary-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.hint{color:var(--muted);margin:17px 0 0;font-size:12px;line-height:1.7}.status{flex-direction:column;justify-content:center;align-items:center;min-height:260px;line-height:1.6;display:flex}.status p{font-size:14px}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.page{padding:16px 10px}.contact-panel{border-radius:14px;padding:24px 20px}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
