:root{--vt-c-white:#fff;--vt-c-white-soft:#f8f8f8;--vt-c-white-mute:#f2f2f2;--vt-c-black:#181818;--vt-c-black-soft:#222;--vt-c-black-mute:#282828;--vt-c-indigo:#2c3e50;--vt-c-divider-light-1:#3c3c3c4a;--vt-c-divider-light-2:#3c3c3c1f;--vt-c-divider-dark-1:#545454a6;--vt-c-divider-dark-2:#5454547a;--vt-c-text-light-1:var(--vt-c-indigo);--vt-c-text-light-2:#3c3c3ca8;--vt-c-text-dark-1:var(--vt-c-white);--vt-c-text-dark-2:#ebebeba3;--color-background:var(--vt-c-white);--color-background-soft:var(--vt-c-white-soft);--color-background-mute:var(--vt-c-white-mute);--color-border:var(--vt-c-divider-light-2);--color-border-hover:var(--vt-c-divider-light-1);--color-heading:var(--vt-c-text-light-1);--color-text:var(--vt-c-text-light-1);--section-gap:160px}@media (prefers-color-scheme:dark){:root{--color-background:var(--vt-c-black);--color-background-soft:var(--vt-c-black-soft);--color-background-mute:var(--vt-c-black-mute);--color-border:var(--vt-c-divider-dark-2);--color-border-hover:var(--vt-c-divider-dark-1);--color-heading:var(--vt-c-text-dark-1);--color-text:var(--vt-c-text-dark-2)}}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{color:#00bd7e;padding:3px;text-decoration:none;transition:all .4s}@media (hover:hover){a:hover{background-color:#00bd7e33}}@media (width>=1024px){body{place-items:center;display:flex}#app{grid-template-columns:1fr 1fr;padding:0 2rem;display:grid}}.scanner-wrapper[data-v-0f1ea9ba]{flex-direction:column;align-items:center;gap:1.2rem;width:100%;max-width:480px;margin:0 auto;padding:1rem;display:flex}.viewfinder[data-v-0f1ea9ba]{aspect-ratio:1;background:#0d0d0d;border-radius:16px;width:100%;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000080}.video[data-v-0f1ea9ba]{object-fit:cover;width:100%;height:100%}.scan-frame[data-v-0f1ea9ba]{pointer-events:none;position:absolute;inset:0}.corner[data-v-0f1ea9ba]{border:0 solid #00e5a0;width:28px;height:28px;position:absolute}.corner.tl[data-v-0f1ea9ba]{border-top-width:3px;border-left-width:3px;border-top-left-radius:4px;top:16px;left:16px}.corner.tr[data-v-0f1ea9ba]{border-top-width:3px;border-right-width:3px;border-top-right-radius:4px;top:16px;right:16px}.corner.bl[data-v-0f1ea9ba]{border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:4px;bottom:16px;left:16px}.corner.br[data-v-0f1ea9ba]{border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:4px;bottom:16px;right:16px}.scan-line[data-v-0f1ea9ba]{background:linear-gradient(90deg,#0000,#00e5a0,#0000);height:2px;animation:2s ease-in-out infinite scanMove-0f1ea9ba;position:absolute;left:12px;right:12px}@keyframes scanMove-0f1ea9ba{0%,to{top:16px}50%{top:calc(100% - 16px)}}.torch-btn[data-v-0f1ea9ba]{cursor:pointer;background:#00000080;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.1rem;display:flex;position:absolute;bottom:12px;right:12px}.hint-bar[data-v-0f1ea9ba]{text-align:center;color:#a8a8d0;background:#00e5a00d;border:1px solid #00e5a026;border-radius:8px;width:100%;padding:.45rem .75rem;font-size:.78rem}.processing-overlay[data-v-0f1ea9ba]{color:#00e5a0;background:#0a0a14bf;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-weight:600;display:flex;position:absolute;inset:0}.spinner[data-v-0f1ea9ba]{border:3px solid #00e5a033;border-top-color:#00e5a0;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-0f1ea9ba}@keyframes spin-0f1ea9ba{to{transform:rotate(360deg)}}.test-bar[data-v-0f1ea9ba]{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.btn-file[data-v-0f1ea9ba]{cursor:pointer}.dni-card[data-v-0f1ea9ba]{background:#12121e;border:1px solid #2a2a3e;border-radius:16px;width:100%;overflow:hidden}.dni-status[data-v-0f1ea9ba]{align-items:flex-start;gap:.75rem;padding:1rem 1.2rem;display:flex}.status-ok[data-v-0f1ea9ba]{background:#0d2818;border-bottom:1px solid #166534}.status-fail[data-v-0f1ea9ba]{background:#2d1b1b;border-bottom:1px solid #7f1d1d}.status-icon[data-v-0f1ea9ba]{font-size:2rem;line-height:1}.status-detail[data-v-0f1ea9ba]{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.tag-ok[data-v-0f1ea9ba]{color:#00e5a0;background:#00e5a026;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.tag-fail[data-v-0f1ea9ba]{color:#f87171;background:#ef444426;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.tag-warn[data-v-0f1ea9ba]{color:#fbbf24;background:#f59e0b26;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.dni-body[data-v-0f1ea9ba]{gap:1rem;padding:1rem 1.2rem;display:flex}.dni-photo[data-v-0f1ea9ba]{object-fit:cover;border:1px solid #313244;border-radius:8px;width:72px;height:90px}.dni-fields[data-v-0f1ea9ba]{flex-direction:column;flex:1;gap:.5rem;display:flex}.field[data-v-0f1ea9ba]{flex-direction:column;gap:.1rem;display:flex}.field label[data-v-0f1ea9ba]{color:#6c7086;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.field span[data-v-0f1ea9ba]{color:#cdd6f4;font-size:.9rem}.mono[data-v-0f1ea9ba]{letter-spacing:.08em;font-family:monospace}.expiry-bar[data-v-0f1ea9ba]{padding:.5rem 1.2rem;font-size:.75rem}.expiry-ok[data-v-0f1ea9ba]{color:#00e5a0;background:#00e5a014}.expiry-fail[data-v-0f1ea9ba]{color:#f87171;background:#ef444414}.btn[data-v-0f1ea9ba]{cursor:pointer;border:none;border-radius:10px;padding:.6rem 1.4rem;font-size:.95rem;font-weight:600;transition:transform .1s}.btn[data-v-0f1ea9ba]:active{transform:scale(.96)}.btn-primary[data-v-0f1ea9ba]{color:#0a0a0a;background:#00e5a0}.btn-secondary[data-v-0f1ea9ba]{color:#cdd6f4;background:#1e1e2e;border:1px solid #313244}.btn.full[data-v-0f1ea9ba]{border-radius:0;width:100%;padding:.9rem}.mt[data-v-0f1ea9ba]{margin-top:.75rem}.card[data-v-0f1ea9ba]{border-radius:14px;width:100%;padding:1rem 1.2rem}.error-card[data-v-0f1ea9ba]{color:#fca5a5;background:#2d1b1b;border:1px solid #7f1d1d}.error-card .hint[data-v-0f1ea9ba]{color:#f87171;margin-top:.4rem;font-size:.8rem}.result-card[data-v-0f1ea9ba]{color:#bbf7d0;background:#1a2e22;border:1px solid #166534}.result-header[data-v-0f1ea9ba]{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.badge[data-v-0f1ea9ba]{color:#00e5a0;font-size:.85rem;font-weight:700}.btn-close[data-v-0f1ea9ba]{color:#6b7280;cursor:pointer;background:0 0;border:none;font-size:1rem}.result-content[data-v-0f1ea9ba]{word-break:break-all;color:#d1fae5;background:#0003;border-radius:8px;margin-bottom:.75rem;padding:.6rem;font-family:monospace;font-size:.9rem;line-height:1.5}.result-actions[data-v-0f1ea9ba]{flex-wrap:wrap;gap:.6rem;display:flex}.slide-up-enter-active[data-v-0f1ea9ba],.slide-up-leave-active[data-v-0f1ea9ba]{transition:all .3s}.slide-up-enter-from[data-v-0f1ea9ba],.slide-up-leave-to[data-v-0f1ea9ba]{opacity:0;transform:translateY(16px)}.debug-panel[data-v-0f1ea9ba]{background:#0b0b15;border:1px solid #2a2a3e;border-radius:12px;width:100%;font-family:monospace;font-size:.72rem;overflow:hidden}.debug-header[data-v-0f1ea9ba]{color:#7c7cb8;background:#12122a;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.73rem;font-weight:700;display:flex}.dbg-btn[data-v-0f1ea9ba]{color:#9898d0;cursor:pointer;background:#1e1e40;border:1px solid #33336a;border-radius:6px;padding:.15rem .5rem;font-size:.68rem}.debug-log-wrap[data-v-0f1ea9ba]{flex-direction:column;gap:2px;max-height:220px;padding:.3rem .5rem;display:flex;overflow-y:auto}.dbg-empty[data-v-0f1ea9ba]{color:#446;text-align:center;padding:.5rem}.dbg-entry[data-v-0f1ea9ba]{word-break:break-all;background:#ffffff05;border-radius:4px;gap:.5rem;padding:.1rem .2rem;line-height:1.4;display:flex}.dbg-ts[data-v-0f1ea9ba]{color:#448;flex-shrink:0}.dbg-msg[data-v-0f1ea9ba]{color:#a8a8d0}.dbg-error .dbg-msg[data-v-0f1ea9ba]{color:#f87171}.dbg-error[data-v-0f1ea9ba]{background:#ef444412}.dbg-warn .dbg-msg[data-v-0f1ea9ba]{color:#fbbf24}.dbg-warn[data-v-0f1ea9ba]{background:#f59e0b0f}.app-footer[data-v-5624f46a]{background:#050510;border-top:1px solid #1e1e2e;padding:.65rem 1rem}.app-footer-inner[data-v-5624f46a]{color:#585b70;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem 0;font-size:.75rem;line-height:1.8;display:flex}.footer-brand[data-v-5624f46a]{align-items:center;gap:.3rem;display:inline-flex}.footer-icon[data-v-5624f46a]{font-size:.9rem;line-height:1}.footer-name[data-v-5624f46a]{color:#7f849c;letter-spacing:.01em;font-weight:600}.footer-badge[data-v-5624f46a]{color:#00e5a0;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:4px;padding:0 5px;font-size:.65rem;font-weight:600;line-height:1.6}.footer-sep[data-v-5624f46a]{color:#313244;margin:0 .35rem}.footer-sep--wide[data-v-5624f46a]{display:none}@media (width>=480px){.footer-sep--wide[data-v-5624f46a]{display:inline}}.footer-muted[data-v-5624f46a]{color:#585b70}.footer-link[data-v-5624f46a]{color:#585b70;cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none;transition:color .15s}.footer-link[data-v-5624f46a]:hover,.footer-link[data-v-5624f46a]:focus-visible{color:#00e5a0;outline:none;text-decoration:underline}.footer-link--contact[data-v-5624f46a]{display:none}@media (width>=480px){.footer-link--contact[data-v-5624f46a]{display:inline}}.footer-contact-icon[data-v-5624f46a]{margin-right:.15rem;font-style:normal}.lm-overlay[data-v-3eb59347]{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lm-dialog[data-v-3eb59347]{background:#13131f;border:1px solid #2a2a3e;border-radius:12px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #0009}.lm-header[data-v-3eb59347]{border-bottom:1px solid #1e1e2e;flex-shrink:0;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex}.lm-header-brand[data-v-3eb59347]{align-items:center;gap:.45rem;display:flex}.lm-icon[data-v-3eb59347]{font-size:1rem}.lm-title[data-v-3eb59347]{color:#cdd6f4;font-size:.95rem;font-weight:700}.lm-badge[data-v-3eb59347]{color:#00e5a0;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:600}.lm-badge--sm[data-v-3eb59347]{color:#89b4fa;padding:1px 5px;font-size:.6rem}.lm-close[data-v-3eb59347]{color:#6c7086;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1rem;line-height:1;transition:color .15s,background .15s}.lm-close[data-v-3eb59347]:hover{color:#cdd6f4;background:#1e1e2e}.lm-tabs[data-v-3eb59347]{border-bottom:1px solid #1e1e2e;flex-shrink:0;gap:0;padding:0 1.25rem;display:flex;overflow-x:auto}.lm-tab[data-v-3eb59347]{color:#6c7086;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.3rem;margin-bottom:-1px;padding:.6rem .75rem;font-size:.8rem;transition:color .15s;display:flex}.lm-tab[data-v-3eb59347]:hover{color:#cdd6f4}.lm-tab--active[data-v-3eb59347]{color:#00e5a0;border-bottom-color:#00e5a0;font-weight:600}.lm-tab-icon[data-v-3eb59347]{font-size:.85rem}.lm-body[data-v-3eb59347]{flex:1;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto}.lm-about-hero[data-v-3eb59347]{text-align:center;margin-bottom:1.25rem}.lm-about-icon[data-v-3eb59347]{font-size:2.5rem}.lm-about-name[data-v-3eb59347]{color:#cdd6f4;margin:.4rem 0 .1rem;font-size:1.2rem}.lm-about-sub[data-v-3eb59347]{color:#6c7086;margin:0;font-size:.8rem}.lm-callout[data-v-3eb59347]{border-radius:8px;margin-bottom:1rem;padding:.7rem 1rem;font-size:.82rem;line-height:1.5}.lm-callout--accent[data-v-3eb59347],.lm-callout--green[data-v-3eb59347]{color:#a6e3c6;background:#00e5a012;border-left:3px solid #00e5a0}.lm-h5[data-v-3eb59347]{color:#cdd6f4;margin:0 0 .75rem;font-size:1rem;font-weight:700}.lm-h6[data-v-3eb59347]{color:#7f849c;text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .3rem;font-size:.78rem;font-weight:600}.lm-p[data-v-3eb59347]{color:#cdd6f4;margin:0 0 .75rem;font-size:.83rem;line-height:1.6}.lm-p--muted[data-v-3eb59347]{color:#9399b2}.lm-p--last[data-v-3eb59347]{margin-bottom:0}.lm-section-label[data-v-3eb59347]{color:#7f849c;text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .5rem;font-size:.72rem;font-weight:600}.lm-card[data-v-3eb59347]{border-radius:8px;margin-bottom:1rem;padding:.85rem 1rem}.lm-card--brand[data-v-3eb59347]{background:#1e1e2e;border:1px solid #2a2a3e}.lm-brand-row[data-v-3eb59347]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.lm-brand-name[data-v-3eb59347]{color:#cdd6f4;font-size:1rem;font-weight:700}.lm-brand-sub[data-v-3eb59347]{color:#6c7086;margin-bottom:.5rem;font-size:.78rem}.lm-brand-links[data-v-3eb59347]{gap:1rem;display:flex}.lm-tags[data-v-3eb59347]{flex-wrap:wrap;gap:.35rem;display:flex}.lm-tag[data-v-3eb59347]{color:#9399b2;background:#1e1e2e;border:1px solid #2a2a3e;border-radius:4px;padding:2px 8px;font-size:.72rem}.lm-link[data-v-3eb59347]{color:#89b4fa;font-size:.8rem;text-decoration:none}.lm-link[data-v-3eb59347]:hover{color:#b4d0fa;text-decoration:underline}.lm-rd-header[data-v-3eb59347]{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.lm-btn-outline[data-v-3eb59347]{color:#9399b2;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #3a3a5e;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;text-decoration:none;transition:border-color .15s,color .15s}.lm-btn-outline[data-v-3eb59347]:hover{color:#00e5a0;border-color:#00e5a0}.lm-list[data-v-3eb59347]{flex-direction:column;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.lm-list li[data-v-3eb59347]{color:#9399b2;padding-left:1.1rem;font-size:.83rem;line-height:1.5;position:relative}.lm-list li[data-v-3eb59347]:before{content:"›";color:#00e5a0;font-weight:700;position:absolute;left:0}.lm-steps[data-v-3eb59347]{flex-direction:column;gap:.6rem;display:flex}.lm-step[data-v-3eb59347]{background:#1e1e2e;border:1px solid #2a2a3e;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.65rem .85rem;display:flex}.lm-step-num[data-v-3eb59347]{color:#0a0a14;background:#00e5a0;border-radius:50%;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;margin-top:1px;font-size:.7rem;font-weight:800;display:flex}.lm-step-title[data-v-3eb59347]{color:#cdd6f4;margin-bottom:.15rem;font-size:.82rem;font-weight:600}.lm-step-desc[data-v-3eb59347]{color:#6c7086;font-size:.78rem;line-height:1.4}.lm-footer[data-v-3eb59347]{border-top:1px solid #1e1e2e;flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.lm-footer-copy[data-v-3eb59347]{color:#45475a;font-size:.72rem}.lm-btn[data-v-3eb59347]{color:#cdd6f4;cursor:pointer;background:#2a2a3e;border:1px solid #3a3a5e;border-radius:6px;padding:.3rem .9rem;font-size:.8rem;transition:background .15s}.lm-btn[data-v-3eb59347]:hover{background:#313148}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#cdd6f4;background:#0a0a14;min-height:100dvh;font-family:Segoe UI,system-ui,sans-serif}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{text-align:center;padding:1.5rem 1rem .5rem}.app-title{color:#00e5a0;letter-spacing:-.5px;font-size:1.6rem;font-weight:800}.app-subtitle{color:#6c7086;margin-top:.2rem;font-size:.85rem}main{flex:1;padding:1rem 0 2rem}
