:root{color-scheme:light;--paper: #f4f6f8;--surface: #ffffff;--surface-sunk: #eef2f5;--ink: #15202b;--ink-2: #3f4d59;--muted: #5d6a76;--line: #d9e0e6;--line-strong: #bfc9d2;--control-border: #7f8b97;--accent: #1f5fc4;--accent-hover: #194fa6;--accent-ink: #ffffff;--accent-soft: #e4edfb;--good: #0e7a3a;--good-soft: #e6f5ea;--warning: #8a5300;--warning-soft: #fff5de;--danger: #b42318;--danger-soft: #fdeceb;--focus: #1f5fc4;--qr-dark: #000000;--qr-light: #ffffff;--shadow-card: 0 10px 30px rgba(21, 32, 43, .1);--radius-card: 20px;--radius-control: 12px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-code: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--control-h: 52px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper: #101820;--surface: #18232d;--surface-sunk: #121b24;--ink: #e7edf2;--ink-2: #bcc8d2;--muted: #96a4b0;--line: #27353f;--line-strong: #39495a;--control-border: #6c7f90;--accent: #8db4ff;--accent-hover: #a9c6ff;--accent-ink: #0b1420;--accent-soft: #1b2b44;--good: #4cc38a;--good-soft: #13281e;--warning: #f2b84b;--warning-soft: #2c2312;--danger: #ff8f86;--danger-soft: #36191a;--focus: #8db4ff;--shadow-card: 0 10px 30px rgba(0, 0, 0, .45)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:24px 20px}@media(min-width:480px){.card{padding:32px 28px}}.card-head{margin-bottom:20px}.eyebrow{margin:0 0 4px;color:var(--muted);font-size:15px;font-weight:600;letter-spacing:.01em}.title{margin:0;font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em}.lede{margin:10px 0 0;color:var(--ink-2)}.stack{display:flex;flex-direction:column;gap:12px}.stack-loose{gap:20px}.foot{margin:24px 0 0;color:var(--muted);font-size:15px;text-align:center}.text{margin:0;color:var(--ink-2)}.text-strong{color:var(--ink);font-weight:600}.button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--control-h);padding:12px 18px;border-radius:var(--radius-control);border:1px solid transparent;font:inherit;font-size:17px;font-weight:600;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease;-webkit-tap-highlight-color:transparent}.button:disabled{cursor:default;opacity:.55}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary:not(:disabled):hover{background:var(--accent-hover)}.button-secondary{background:var(--surface);color:var(--ink);border-color:var(--control-border)}.button-secondary:not(:disabled):hover{background:var(--surface-sunk)}.button-quiet{background:transparent;color:var(--accent);min-height:44px}.button-quiet:not(:disabled):hover{background:var(--accent-soft)}.button-mark{width:22px;height:22px;flex:none;fill:currentColor}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:15px;font-weight:600;color:var(--ink-2)}.input{width:100%;min-height:var(--control-h);padding:12px 14px;border-radius:var(--radius-control);border:1px solid var(--control-border);background:var(--surface);color:var(--ink);font:inherit;font-size:18px}.input:focus{border-color:var(--focus)}.input-code{font-family:var(--font-code);font-size:26px;letter-spacing:.3em;text-align:center}.hint{margin:0;color:var(--muted);font-size:15px}.notice{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface-sunk);color:var(--ink);font-size:16px}.notice-error{border-color:var(--danger);background:var(--danger-soft)}.notice-success{border-color:var(--good);background:var(--good-soft)}.notice-warning{border-color:var(--warning);background:var(--warning-soft)}.notice p{margin:0}.waiting{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;text-align:center;color:var(--ink-2)}.spinner{width:36px;height:36px;border-radius:50%;border:4px solid var(--line-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.who{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius-control);background:var(--surface-sunk);font-size:15px}.who-name{overflow-wrap:anywhere;font-weight:600}.qr-wrap{display:flex;justify-content:center}.qr{width:100%;max-width:260px;height:auto;border-radius:8px;background:var(--qr-light)}.qr-path{fill:var(--qr-dark)}.secret{margin:0;padding:12px 14px;border-radius:var(--radius-control);background:var(--surface-sunk);font-family:var(--font-code);font-size:17px;letter-spacing:.08em;overflow-wrap:anywhere;text-align:center;user-select:all}.codes{list-style:none;margin:0;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;border-radius:var(--radius-control);background:var(--surface-sunk);font-family:var(--font-code);font-size:17px;text-align:center}@media(max-width:359px){.codes{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
