:root{--bg: #ffffff;--text: #1a1f36;--muted: #697386;--border: #e3e8ee;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef2ff;--ok: #1ea672;--ok-soft: #e3f5ed;--bad: #df1b41;--bad-soft: #fdecef;--warn: #bb5504;--warn-soft: #fdf0e3;--info: #4f46e5;--info-soft: #eef2ff;--radius: 10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.app{max-width:420px;margin:0 auto;padding:2.5rem 1.5rem 1.25rem;min-height:100vh;display:flex;flex-direction:column}.sheet{display:flex;flex-direction:column;gap:1.5rem;animation:fade .25s ease both}.sheet--center{align-items:center;text-align:center}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}.sheet__title{margin:0;font-size:1.5rem;line-height:1.3;font-weight:700;letter-spacing:-.01em;text-align:center}.sheet__title--sm{font-size:1.22rem}.logos{display:flex;justify-content:center;align-items:center}.logo{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;flex:none}.logo--biz{background:#f6f8fa;color:var(--text);border:1px solid var(--border);animation:joinLeft .75s cubic-bezier(.22,.9,.25,1) both}.logo--alki{background:var(--accent);color:#fff;margin-left:-12px;animation:joinRight .75s cubic-bezier(.22,.9,.25,1) both}@keyframes joinLeft{0%{transform:translate(-34px);opacity:0}}@keyframes joinRight{0%{transform:translate(34px);opacity:0}}.points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.points li{display:grid;grid-template-columns:20px 1fr;gap:.9rem;align-items:start;font-size:.95rem;line-height:1.5}.points svg{color:var(--muted);margin-top:2px}.u{text-decoration:underline;text-underline-offset:2px}.qr-link{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;background:var(--accent-soft);border:1px solid #dfe3fb;color:var(--accent);border-radius:var(--radius);padding:.7rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer}.qr-link:hover{background:#e7ebfd}.qr{display:grid;place-items:center;padding:.85rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.qr img{display:block;width:100%;max-width:260px;height:auto}.qr__url{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;color:var(--muted);word-break:break-all;line-height:1.5}.note-row{display:flex;align-items:center;justify-content:center;gap:.4rem;font-size:.8rem;color:var(--muted)}.note-row svg{flex:none}.sheet__legal{display:flex;justify-content:center;align-items:center;gap:.5rem;font-size:.86rem;flex-wrap:wrap}.link{color:var(--text);text-decoration:underline;text-underline-offset:2px;cursor:pointer;background:none;border:none;padding:0;font:inherit}.link--static{cursor:default}.dot-sep{color:var(--muted)}.sheet__actions{display:flex;flex-direction:column;gap:.6rem;width:100%}.btn{border:none;border-radius:var(--radius);padding:.85rem 1.2rem;font-size:1rem;font-weight:600;cursor:pointer;width:100%;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:#fff;color:var(--text);border:1px solid var(--border)}.btn--secondary:hover{background:#f6f8fa}.liveness{display:flex;flex-direction:column;gap:1.1rem;width:100%}.scanner{position:relative;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;background:#0b0d12;border:1px solid var(--border)}.scanner__video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.scanner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scanner__guide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scanner__oval{fill:none;stroke:#ffffffb3;stroke-width:1.4;stroke-dasharray:5 7;animation:spin-dash 12s linear infinite}@keyframes spin-dash{to{stroke-dashoffset:-240}}.scanner__corner{position:absolute;width:24px;height:24px;border:2.5px solid #fff}.scanner__corner--tl{top:14px;left:14px;border-right:0;border-bottom:0;border-radius:6px 0 0}.scanner__corner--tr{top:14px;right:14px;border-left:0;border-bottom:0;border-radius:0 6px 0 0}.scanner__corner--bl{bottom:14px;left:14px;border-right:0;border-top:0;border-radius:0 0 0 6px}.scanner__corner--br{bottom:14px;right:14px;border-left:0;border-top:0;border-radius:0 0 6px}.scanner__hint{position:absolute;bottom:.8rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.4rem .85rem;border-radius:999px;font-size:.83rem;white-space:nowrap}.scanner__count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:5rem;font-weight:800;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.6);animation:countPop .9s ease-out}@keyframes countPop{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.25}}.scanner__passed{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff;background:#1ea6728c}.scanner--countdown .scanner__oval{stroke:#fff;stroke-dasharray:none}.liveness__prompt{display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:1.2rem;font-weight:650;min-height:2rem}.liveness__icon{color:var(--accent);flex:none}.liveness__prompt.is-passed,.liveness__prompt.is-passed .liveness__icon{color:var(--ok)}.liveness__error{display:flex;flex-direction:column;gap:1rem}.progress{height:6px;background:#eef1f5;border-radius:999px;overflow:hidden}.progress__bar{height:100%;background:var(--accent);border-radius:999px;transition:width .3s ease}.howto{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.howto__step{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem}.howto__num{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700}.howto__icon{color:var(--muted);display:flex}.howto__step strong{font-size:.94rem}.howto__step p{margin:.1rem 0 0;color:var(--muted);font-size:.85rem;line-height:1.45}.tips{margin:0;padding:.85rem .9rem .85rem 1.9rem;color:var(--muted);font-size:.84rem;line-height:1.65;background:#f6f8fa;border-radius:var(--radius)}.processing__spinner{position:relative;display:grid;place-items:center;width:76px;height:76px;color:var(--accent)}.processing__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--accent-soft);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stages{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.65rem;text-align:left}.stage{display:flex;align-items:center;gap:.65rem;font-size:.92rem;transition:color .3s,opacity .3s}.stage__mark{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;flex:none}.stage__dot{width:7px;height:7px;border-radius:50%;background:currentColor}.stage--todo{color:var(--muted);opacity:.45}.stage--active{color:var(--text)}.stage--active .stage__mark{background:var(--accent-soft);color:var(--accent);animation:pulse 1.1s ease-in-out infinite}.stage--done{color:var(--muted)}.stage--done .stage__mark{background:var(--ok-soft);color:var(--ok)}@keyframes pulse{50%{opacity:.45}}.status__ring{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;animation:ringPop .35s cubic-bezier(.2,.8,.2,1.2) both}@keyframes ringPop{0%{transform:scale(.7);opacity:0}}.status--ok .status__ring{background:var(--ok-soft);color:var(--ok)}.status--bad .status__ring{background:var(--bad-soft);color:var(--bad)}.status--warn .status__ring{background:var(--warn-soft);color:var(--warn)}.status--info .status__ring{background:var(--info-soft);color:var(--info)}.status--muted .status__ring{background:#f6f8fa;color:var(--muted)}.verdict{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.1rem 1rem;border:1px solid var(--border);border-radius:var(--radius);width:100%}.verdict__k{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.verdict__v{font-size:1.6rem;font-weight:700}.verdict__v--ok{color:var(--ok)}.verdict__v--bad{color:var(--bad)}.verdict__v--warn{color:var(--warn)}.verdict__v--info{color:var(--info)}.shared{display:grid;grid-template-columns:16px 1fr;gap:.65rem;align-items:start;text-align:left;background:#f6f8fa;border-radius:var(--radius);padding:.85rem .9rem;font-size:.85rem;line-height:1.5;color:var(--muted)}.shared svg{color:var(--muted);margin-top:2px}.shared strong{color:var(--text)}.used-meta{display:flex;flex-direction:column;gap:.2rem;background:#f6f8fa;border-radius:var(--radius);padding:.7rem .9rem;width:100%}.used-meta__k{font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.used-meta__v{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem}.caveat-note{margin:0;font-size:.85rem;color:var(--muted);line-height:1.5}.legal{text-align:left;gap:1.1rem}.legal__meta{margin:0;color:var(--muted);font-size:.82rem}.legal section{display:flex;flex-direction:column;gap:.5rem}.legal h2{margin:0;font-size:1rem;font-weight:700}.legal p{margin:0;font-size:.9rem;line-height:1.6;color:#4a5265}.legal ul{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.5rem}.legal li{font-size:.9rem;line-height:1.6;color:#4a5265}.legal strong{color:var(--text)}.legal__disclaimer{margin:0;font-size:.8rem;line-height:1.55;color:var(--warn);background:var(--warn-soft);border-radius:var(--radius);padding:.75rem .85rem}.backlink{display:flex;align-items:center;gap:.3rem;background:none;border:none;padding:0;color:var(--muted);font:inherit;font-size:.88rem;cursor:pointer;width:fit-content}.backlink:hover{color:var(--text)}.error{color:var(--bad);margin:0}.muted-note{color:var(--muted);margin:0;font-size:.87rem;text-align:center;line-height:1.5}.powered{margin-top:auto;padding-top:2rem;display:flex;align-items:center;justify-content:center;gap:.4rem;color:var(--muted);font-size:.76rem}.powered__sid{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;opacity:.8}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}
