*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,sans-serif}#root{min-height:100vh}.app{color:#f0f0f5;background:radial-gradient(1200px 600px at 50% -10%,#2d2d44 0%,#1a1a2e 45%,#12121c 100%);flex-direction:column;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex}.header{text-align:center;max-width:28rem;margin-bottom:2rem}.header h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:2rem;font-weight:700}.lead{opacity:.85;margin:0;font-size:1rem;line-height:1.5}.layout{flex-direction:column;gap:1.5rem;width:100%;max-width:26rem;display:flex}.layout--single{max-width:22rem}.app--authed{padding-bottom:3rem}.header--authed .lead{font-size:.95rem}.bio-toolbar{justify-content:flex-end;margin-bottom:.35rem;display:flex}.btn-ghost{color:#ffffffa6;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:.35rem .5rem;font-size:.88rem;font-weight:600;text-decoration:underline}.btn-ghost:hover{color:#fff}.panel{flex-direction:column;gap:.75rem;width:100%;display:flex}.card{background:#0003;border:1px solid #ffffff1a;border-radius:1rem;width:100%;padding:1.25rem 1.1rem}.card-title{margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.card-lead{opacity:.82;margin:0 0 1rem;font-size:.9rem;line-height:1.45}.form{flex-direction:column;gap:.65rem;display:flex}.label{opacity:.9;font-size:.82rem;font-weight:600}.input{width:100%;color:inherit;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:.65rem;padding:.75rem .85rem;font-size:1rem}.input:focus{border-color:#7b86ff;outline:none;box-shadow:0 0 0 2px #5b6cff59}.input-code{letter-spacing:.35em;font-variant-numeric:tabular-nums;text-align:center;font-size:1.35rem}.field-hint{opacity:.65;margin:0;font-size:.78rem;line-height:1.4}.form-error{color:#ff9e9e;margin:0 0 .5rem;font-size:.88rem;line-height:1.4}.consent-block{background:#ffffff0a;border:1px solid #ffffff14;border-radius:.65rem;margin:.35rem 0 .5rem;padding:.75rem}.consent-purpose{opacity:.88;margin:0 0 .65rem;font-size:.78rem;line-height:1.45}.check-row{cursor:pointer;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.82rem;line-height:1.4;display:flex}.check-row:last-child{margin-bottom:0}.check-row input{flex-shrink:0;margin-top:.2rem}.btn.linkish{text-underline-offset:3px;background:0 0;border:none;padding:.35rem 0;font-weight:500;text-decoration:underline}.done-block .done-msg{margin:0 0 .75rem;font-size:1rem;line-height:1.5}.push-card{margin-bottom:2rem}.camera-block{margin-top:.5rem}.video-wrap{aspect-ratio:4/3;background:#000;border:1px solid #ffffff26;border-radius:.75rem;width:100%;max-height:320px;position:relative;overflow:hidden}.video-wrap--framed{overflow:hidden}.face-guide{pointer-events:none;position:absolute;inset:0}.face-guide-dim,.face-guide-ring{width:100%;height:100%;position:absolute;inset:0}.capture-step-label{text-align:center;margin:0 0 .5rem;font-size:.95rem;font-weight:600;line-height:1.35}.face-video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.btn{appearance:none;color:inherit;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:.75rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff38}.btn:disabled{opacity:.55;cursor:default}.btn.primary{color:#fff;background:#5b6cff;border-color:#5b6cff}.btn.primary:hover:not(:disabled){background:#4a59e6;border-color:#4a59e6}.hint{opacity:.75;text-align:center;margin:0;font-size:.9rem;line-height:1.45}.status{color:#a8b0ff;text-align:center;margin:.25rem 0 0;font-size:.9rem}.warn{color:#ffb38a;text-align:center;opacity:.95;margin:.5rem 0 0;font-size:.82rem;line-height:1.45}
