*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{background:#f5f7fa}.preflight-card[data-v-002b6840]{margin-top:24px;padding:28px 22px;border-radius:18px;background:#fff;border:1px solid #d9e2ec;box-shadow:0 16px 36px #102a430f;text-align:left}.preflight-card.fail[data-v-002b6840]{border-color:#f5c2c2}.preflight-card h1[data-v-002b6840]{margin:0 0 8px;font-size:22px;color:#102a43;text-align:center}.preflight-card.fail h1[data-v-002b6840]{color:#9b2c2c}.lead[data-v-002b6840]{margin:0 0 16px;text-align:center;color:#627d98;font-size:14px;line-height:1.5}.checks[data-v-002b6840]{list-style:none;margin:0;padding:0;display:grid;gap:10px}.checks li[data-v-002b6840]{display:flex;gap:12px;padding:12px;border-radius:10px;background:#f7fafc;border:1px solid #e2e8f0}.checks li.ok[data-v-002b6840]{background:#f0fff4;border-color:#c6f6d5}.checks li.bad[data-v-002b6840]{background:#fff5f5;border-color:#fed7d7}.mark[data-v-002b6840]{flex:0 0 auto;align-self:flex-start;min-width:40px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;text-align:center;background:#e2e8f0;color:#4a5568}.checks li.ok .mark[data-v-002b6840]{background:#c6f6d5;color:#276749}.checks li.bad .mark[data-v-002b6840]{background:#fed7d7;color:#9b2c2c}.checks strong[data-v-002b6840]{display:block;margin-bottom:4px;color:#102a43;font-size:14px}.checks p[data-v-002b6840]{margin:0;color:#486581;font-size:13px;line-height:1.45}.retry-btn[data-v-002b6840]{display:block;margin:18px auto 0;border:none;border-radius:10px;padding:12px 20px;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;font:inherit;font-weight:600;cursor:pointer}.face-liveness-auth[data-v-53179052]{width:100%;max-width:440px;margin:0 auto;font-family:IBM Plex Sans,Noto Sans SC,sans-serif}.auth-progress[data-v-53179052]{margin:0 0 18px}.auth-progress-track[data-v-53179052]{height:4px;border-radius:999px;background:#d9e2ec;overflow:hidden}.auth-progress-fill[data-v-53179052]{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#14b8a6);transition:width .35s ease}.auth-progress-meta[data-v-53179052]{display:flex;justify-content:space-between;margin-top:8px;font-size:12px;color:#627d98}.video-container[data-v-53179052]{position:relative;width:min(78vw,320px);height:min(78vw,320px);margin:0 auto;background:#000;border-radius:50%;overflow:hidden;border:8px solid #95a5a6;box-shadow:0 4px 12px #0000001f;transition:border-color .3s ease,box-shadow .3s ease}.video-container video[data-v-53179052]{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.video-container.border-idle[data-v-53179052]{border-color:#95a5a6}.video-container.border-warn[data-v-53179052]{border-color:#f39c12;box-shadow:0 0 18px #f39c1259}.video-container.border-yes[data-v-53179052]{border-color:#3498db;box-shadow:0 0 18px #3498db59}.video-container.border-success[data-v-53179052]{border-color:#2ecc71;box-shadow:0 0 18px #2ecc7173}.video-container.border-failed[data-v-53179052]{border-color:#e74c3c;box-shadow:0 0 18px #e74c3c59}.video-placeholder[data-v-53179052]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:#ffffffe0;font-size:15px;background:#0f172a8c;pointer-events:none}.action-prompt-container[data-v-53179052]{margin-top:16px;text-align:center}.action-prompt[data-v-53179052]{display:inline-block;padding:12px 20px;border-radius:12px;background:#f0f4f8;color:#102a43}.action-text[data-v-53179052]{font-size:18px;font-weight:600}.messages-container[data-v-53179052]{margin-top:14px;text-align:center}.status-message[data-v-53179052]{color:#486581;font-size:14px;line-height:1.5;min-height:1.5em}.actions[data-v-53179052]{margin-top:16px;text-align:center}.btn-primary[data-v-53179052],.btn-ghost[data-v-53179052]{padding:10px 22px;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.btn-primary[data-v-53179052]{border:none;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff}.btn-primary[data-v-53179052]:disabled{opacity:.55;cursor:not-allowed}.btn-ghost[data-v-53179052]{background:transparent;color:#627d98;border:1px solid #bcccdc}.btn-ghost[data-v-53179052]:hover{background:#f0f4f8;color:#334e68}.error-panel[data-v-53179052]{margin-top:16px;padding:14px;border-radius:12px;background:#fff5f5;border:1px solid #f5c2c2;color:#9b2c2c;text-align:center}.error-panel p[data-v-53179052]{margin:0 0 12px;line-height:1.5}.auth-page[data-v-cd9c4af7]{--ink: #102a43;--muted: #627d98;--line: #d9e2ec;--bg: #f5f7fa;--panel: #ffffff;--accent: #0f766e;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 500px at 50% -10%,rgba(20,184,166,.12),transparent 60%),linear-gradient(180deg,#eef2f6 0%,var(--bg) 40%,#e8eef4 100%);color:var(--ink);font-family:IBM Plex Sans,Noto Sans SC,sans-serif}.auth-top[data-v-cd9c4af7]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(217,226,236,.8);background:#ffffffb8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand[data-v-cd9c4af7]{font-size:15px;font-weight:700;letter-spacing:.08em}.auth-main[data-v-cd9c4af7]{flex:1;width:min(560px,100%);margin:0 auto;padding:28px 20px 40px}.state-card[data-v-cd9c4af7]{margin-top:48px;padding:36px 28px;border-radius:18px;background:#fff;border:1px solid #d9e2ec;text-align:center;color:#627d98;box-shadow:0 16px 36px #102a430f}.preflight-wrap[data-v-cd9c4af7]{margin-top:12px}.auth-intro[data-v-cd9c4af7]{text-align:center;margin-bottom:22px}.auth-intro h1[data-v-cd9c4af7]{margin:0 0 8px;font-size:28px;font-weight:700}.auth-intro p[data-v-cd9c4af7]{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.tips[data-v-cd9c4af7]{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;text-align:left}.tips li[data-v-cd9c4af7]{position:relative;padding:10px 12px 10px 34px;border-radius:10px;background:#ffffffb3;border:1px solid var(--line);color:#334e68;font-size:13px}.tips li[data-v-cd9c4af7]:before{content:"";position:absolute;left:14px;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);background:#14b8a6}.auth-stage[data-v-cd9c4af7]{margin:0 auto;padding:22px 18px 18px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 40px #102a430f}.result-card[data-v-cd9c4af7]{margin-top:24px;padding:28px 22px;border-radius:18px;background:var(--panel);border:1px solid var(--line);text-align:center;box-shadow:0 16px 36px #102a430f}.result-card h1[data-v-cd9c4af7]{margin:0 0 10px;font-size:24px}.result-card>p[data-v-cd9c4af7]{margin:0;color:var(--muted);line-height:1.6}.result-card.ok h1[data-v-cd9c4af7]{color:#0f766e}.result-card.fail h1[data-v-cd9c4af7]{color:#9b2c2c}.fail-reason[data-v-cd9c4af7]{margin-top:16px;padding:12px 14px;border-radius:10px;background:#fff5f5;border:1px solid #f5c2c2;text-align:left}.fail-reason strong[data-v-cd9c4af7]{display:block;margin-bottom:6px;color:#9b2c2c;font-size:13px}.fail-reason p[data-v-cd9c4af7]{margin:0;color:#702459;font-size:14px;line-height:1.55}.fail-log[data-v-cd9c4af7]{margin-top:14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:#f7fafc;overflow:hidden}.fail-log summary[data-v-cd9c4af7]{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;color:#334e68;-webkit-user-select:none;user-select:none}.fail-log-hint[data-v-cd9c4af7]{margin:0;padding:0 12px 8px;font-size:12px;color:#829ab1;line-height:1.5}.fail-log-hint code[data-v-cd9c4af7]{font-size:11px;background:#e2e8f0;padding:1px 5px;border-radius:4px}.fail-log ul[data-v-cd9c4af7]{list-style:none;margin:0;padding:0 10px 12px;max-height:280px;overflow:auto}.fail-log li[data-v-cd9c4af7]{padding:8px;border-top:1px solid #e2e8f0;font-size:12px;line-height:1.45;color:#486581}.fail-log .t[data-v-cd9c4af7]{color:#829ab1;margin-right:6px}.fail-log .s[data-v-cd9c4af7]{color:#627d98;margin-right:6px}.fail-log .c[data-v-cd9c4af7]{display:inline-block;margin-right:6px;padding:0 6px;border-radius:4px;background:#e2e8f0;color:#334e68;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.fail-log .m[data-v-cd9c4af7]{color:#102a43}.fail-log li.lv-warn .m[data-v-cd9c4af7]{color:#b7791f}.fail-log li.lv-error .m[data-v-cd9c4af7]{color:#c53030}.fail-log pre[data-v-cd9c4af7]{margin:6px 0 0;padding:8px;border-radius:6px;background:#edf2f7;color:#4a5568;font-size:11px;overflow:auto}.primary-btn[data-v-cd9c4af7]{margin-top:20px;border:none;border-radius:10px;padding:12px 20px;background:linear-gradient(135deg,var(--accent),#0d9488);color:#fff;font:inherit;font-weight:600;cursor:pointer}.auth-foot[data-v-cd9c4af7]{padding:16px 20px 24px;text-align:center;color:#829ab1;font-size:12px;line-height:1.5}@media(max-width:480px){.auth-intro h1[data-v-cd9c4af7]{font-size:24px}.auth-stage[data-v-cd9c4af7]{padding:18px 12px 14px}}.verify-page[data-v-cfc88995]{--ink: #102a43;--muted: #627d98;--line: #d9e2ec;--bg: #f5f7fa;--panel: #ffffff;--accent: #0f766e;--accent-2: #14b8a6;--danger: #9b2c2c;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 500px at 50% -10%,rgba(20,184,166,.12),transparent 60%),linear-gradient(180deg,#eef2f6 0%,var(--bg) 40%,#e8eef4 100%);color:var(--ink);font-family:IBM Plex Sans,Noto Sans SC,sans-serif}.verify-top[data-v-cfc88995]{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid rgba(217,226,236,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8}.brand[data-v-cfc88995]{font-size:15px;font-weight:700;letter-spacing:.08em}.link-btn[data-v-cfc88995]{border:none;background:transparent;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;padding:6px 8px}.link-btn[data-v-cfc88995]:hover{color:var(--ink)}.verify-main[data-v-cfc88995]{flex:1;width:min(520px,100%);margin:0 auto;padding:28px 20px 40px}.verify-intro[data-v-cfc88995]{text-align:center;margin-bottom:22px}.verify-intro h1[data-v-cfc88995]{margin:0 0 8px;font-size:28px;font-weight:700;letter-spacing:.02em}.verify-intro p[data-v-cfc88995]{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.tips[data-v-cfc88995]{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;text-align:left}.tips li[data-v-cfc88995]{position:relative;padding:10px 12px 10px 34px;border-radius:10px;background:#ffffffb3;border:1px solid var(--line);color:#334e68;font-size:13px}.tips li[data-v-cfc88995]:before{content:"";position:absolute;left:14px;top:50%;width:8px;height:8px;border-radius:50%;transform:translateY(-50%);background:var(--accent-2)}.verify-stage[data-v-cfc88995]{position:relative;margin:0 auto;padding:22px 18px 18px;border-radius:20px;background:var(--panel);border:1px solid var(--line);box-shadow:0 18px 40px #102a430f;display:flex;justify-content:center}.stage-overlay[data-v-cfc88995]{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:inherit;background:#ffffffeb;color:var(--muted)}.state-card[data-v-cfc88995]{margin-top:48px;padding:36px 28px;border-radius:18px;background:var(--panel);border:1px solid var(--line);text-align:center;box-shadow:0 16px 36px #102a430f}.state-card h1[data-v-cfc88995]{margin:0 0 10px;font-size:22px}.state-card p[data-v-cfc88995]{margin:0;color:var(--muted);line-height:1.6}.state-card--error h1[data-v-cfc88995]{color:var(--danger)}.result-card[data-v-cfc88995]{margin-top:36px;padding:36px 28px;border-radius:18px;background:var(--panel);border:1px solid var(--line);text-align:center;box-shadow:0 16px 36px #102a430f}.result-card h1[data-v-cfc88995]{margin:0 0 10px;font-size:24px}.result-card p[data-v-cfc88995]{margin:0;color:var(--muted);line-height:1.6}.result-card.ok h1[data-v-cfc88995]{color:var(--accent)}.result-card.fail h1[data-v-cfc88995]{color:var(--danger)}.result-hint[data-v-cfc88995]{margin-top:12px!important;font-size:13px;color:#829ab1!important}.primary-btn[data-v-cfc88995]{margin-top:18px;border:none;border-radius:10px;padding:12px 20px;background:linear-gradient(135deg,var(--accent),#0d9488);color:#fff;font:inherit;font-weight:600;cursor:pointer}.spinner[data-v-cfc88995]{width:28px;height:28px;margin:0 auto 12px;border-radius:50%;border:3px solid #d9e2ec;border-top-color:var(--accent);animation:spin-cfc88995 .8s linear infinite}@keyframes spin-cfc88995{to{transform:rotate(360deg)}}.verify-foot[data-v-cfc88995]{padding:16px 20px 24px;text-align:center;color:#829ab1;font-size:12px;line-height:1.5}.preflight-wrap[data-v-cfc88995]{margin-top:12px}@media(max-width:480px){.verify-intro h1[data-v-cfc88995]{font-size:24px}.verify-stage[data-v-cfc88995]{padding:18px 12px 14px}}
