:root{--bg:#0e0e10;--surface:#17171a;--surface-2:#202024;--border:#2b2b31;--border-strong:#3a3a42;--text:#f1efec;--text-dim:#9b9aa3;--accent:#39ff14;--accent-soft:#39ff1424;--accent-ink:#071405;--danger:#ef6b61;--progress:#e8b04a;--radius:16px;--radius-sm:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font:16px/1.5 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100dvh;margin:0}body{overscroll-behavior-y:none}button,input{font:inherit;color:inherit}p{margin:0 0 10px}h1{letter-spacing:-.02em;margin:4px 0 18px;font-size:28px;font-weight:700;line-height:1.15}h2{margin:0 0 10px;font-size:15px;font-weight:600}.dim{color:var(--text-dim)}.small{font-size:14px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen{max-width:560px;padding:calc(env(safe-area-inset-top,0px) + 20px) 18px calc(env(safe-area-inset-bottom,0px) + 28px);margin:0 auto}.screen-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.screen-header h1{margin:0}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;margin-left:-10px;display:grid}.icon-btn svg{width:26px;height:26px}.icon-btn:active{background:var(--surface-2)}.btn{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;min-height:48px;padding:10px 18px;font-weight:600}.btn:active:not(:disabled){background:var(--border)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:active:not(:disabled){background:#2fd911}.btn-block{width:100%}.scan-btn{background:var(--accent);width:100%;min-height:132px;color:var(--accent-ink);letter-spacing:-.01em;cursor:pointer;border:0;border-radius:24px;justify-content:center;align-items:center;gap:12px;font-size:24px;font-weight:700;display:flex}.scan-btn svg{stroke-width:2.2px;width:34px;height:34px}.scan-btn:active:not(:disabled){transform:scale(.985)}.scan-btn:disabled{background:var(--surface-2);color:var(--text-dim);cursor:default}.hint{text-align:center;margin-top:10px}.status{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot-none{background:var(--progress)}.dot-locked{background:var(--text-dim)}.dot-ready{background:var(--accent)}.links{gap:10px;margin-top:22px;display:grid}.notice{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);margin-top:22px;padding:14px 16px}.notice-title{margin-bottom:4px;font-weight:600}.notice .btn{margin-top:6px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.grid-scroll{margin:0 -18px;padding:0 18px 6px;overflow-x:auto}.matrix{border-collapse:separate;border-spacing:4px;margin:0 auto}.matrix th{color:var(--text-dim);min-width:40px;font-size:13px;font-weight:600}.matrix td{border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;width:44px;height:48px;padding:0}.cell-input{width:100%;min-height:46px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:7px;padding:0;font-size:18px;font-weight:600;display:block}.cell-input:focus{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);outline:none}.cell-input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}.screen>.btn{margin:4px 0 12px}.pin-panel{gap:10px;margin-top:22px;display:grid}.pin-panel p{margin:0}.field{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);letter-spacing:.2em;width:100%;min-height:48px;padding:10px 14px;font-size:18px}.field::placeholder{letter-spacing:normal;color:var(--text-dim)}.field:focus{border-color:var(--accent);outline:none}.matrix-bar{justify-content:space-between;align-items:center;gap:12px;margin:0 0 8px;display:flex}.matrix-bar p{margin:0}.eye-btn{align-items:center;gap:8px;min-height:44px;padding:0 14px;display:inline-flex}.eye-btn svg{width:22px;height:22px}.update-bar{z-index:20;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);align-items:center;gap:8px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 8px 24px #0006}.update-bar span{flex:1;font-weight:600}.update-bar .btn{min-height:40px;padding:6px 14px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root{--lock:#6aa8ff}.status{font-weight:600}.dot{width:12px;height:12px}.dot-none{background:var(--progress);box-shadow:0 0 0 4px #e8b04a33}.dot-locked{background:var(--lock);box-shadow:0 0 0 4px #6aa8ff33}.dot-ready{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.status:has(.dot-none){background:#e8b04a12;border-color:#e8b04a80}.status:has(.dot-locked){background:#6aa8ff12;border-color:#6aa8ff80}.status:has(.dot-ready){background:var(--accent-soft);border-color:#39ff1480}.slots{grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;display:grid}.slot{text-align:center;letter-spacing:.05em;padding:10px 4px;font-size:26px;font-weight:700}.answers{gap:10px;margin:16px 0;padding:0;list-style:none;display:grid}.answer{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.answer-label{color:var(--text-dim);font-size:22px;font-weight:700}.answer-code{letter-spacing:.08em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-btn{background:var(--accent);width:100%;min-height:96px;color:var(--accent-ink);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;margin:12px 0;font-size:20px;font-weight:700;display:flex}.photo-btn:active{transform:scale(.985)}.photo-btn:focus-within{outline:2px solid var(--accent);outline-offset:3px}.photo-btn.is-busy{background:var(--surface-2);color:var(--text-dim);cursor:default}.steps{gap:6px;margin:6px 0 8px;display:flex}.step{background:var(--surface-2);border-radius:3px;flex:1;height:6px}.step.on{background:var(--accent)}.step-label{margin:0 0 14px}.signature{text-align:center;letter-spacing:.04em;color:var(--text-dim);opacity:.8;opacity:1;font-size:13px;font-size:inherit;letter-spacing:normal;margin-top:32px}.signature-card{text-align:center;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:2px;padding:16px;text-decoration:none;display:flex}.signature-card:active{background:var(--surface-2)}.signature-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:12px}.signature-name{letter-spacing:-.01em;font-size:18px;font-weight:700}.signature-tag{color:var(--text-dim);font-size:13px}.signature-url{color:var(--accent);margin-top:6px;font-size:14px;font-weight:600}.update-bar{flex-wrap:wrap}.update-note{flex-basis:100%;margin:4px 0 0}
