@font-face{font-family:Fredoka;src:url('fredoka.ttf') format('truetype');font-weight:300 700;font-display:swap}:root{--bg:#fbf8f3;--panel:#fffefa;--ink:#37363c;--muted:#77717e;--line:#ece5dc;--orange:#e9955a;--purple:#9782b9;--soft:#f2ecf8}*{box-sizing:border-box}body{margin:0;min-height:100svh;color:var(--ink);background:radial-gradient(ellipse at 8% 40%,#efb67d1c,transparent 50%),radial-gradient(ellipse at 92% 70%,#b19cd527,transparent 50%),var(--bg);font:400 16px Fredoka,system-ui,sans-serif}header{max-width:1180px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:24px;letter-spacing:-.7px;text-decoration:none}.brand span{color:var(--purple);margin-left:-8px}.header-label{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:9px 15px}.layout{max-width:1080px;margin:48px auto 40px;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}aside{padding-top:18px}.eyebrow{letter-spacing:2.5px;font-size:11px;color:var(--muted)}h1{font-size:clamp(44px,5vw,65px);font-weight:400;line-height:1.06;letter-spacing:-2px;margin:23px 0}h1 em{font-style:normal;color:var(--purple)}aside>p{font-size:18px;line-height:1.6;max-width:370px;color:var(--muted)}.steps{display:grid;gap:24px;margin:32px 0}.steps>div{display:flex;gap:16px;align-items:center}.steps b{display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;width:43px;height:43px;font-size:14px;font-weight:400;color:var(--purple);background:var(--panel)}small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.privacy{border-top:1px solid var(--line);padding-top:21px;color:var(--muted);font-size:13px;line-height:1.6;max-width:370px}.card{border:1px solid var(--line);background:var(--panel);border-radius:28px;padding:32px;box-shadow:0 18px 65px #594d3610;min-width:0}.badge{display:inline-block;background:var(--soft);color:#796295;border-radius:20px;font-size:12px;padding:7px 12px}h2{font-size:29px;line-height:1.15;font-weight:400;letter-spacing:-.6px;margin:19px 0 12px}p{line-height:1.5}.intro{color:var(--muted);margin:0 0 25px}label{display:block;font-size:14px;margin-bottom:9px}input{width:100%;border:1px solid var(--line);border-radius:13px;background:var(--bg);padding:14px;color:var(--ink);font:inherit;min-width:0}input:focus{outline:2px solid var(--purple);outline-offset:2px}.field{margin:20px 0}#name{text-transform:uppercase}button,.button{font:inherit;font-weight:500;border:0;border-radius:13px;padding:14px 19px;cursor:pointer;text-decoration:none;text-align:center;display:inline-block;background:var(--ink);color:var(--bg);transition:background .2s}button:hover,.button:hover{background:#78658f}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.wide{width:100%;margin-top:8px}.secondary{background:var(--soft);color:var(--ink)}.text-button{background:none;color:var(--muted);font-size:14px;width:100%;margin-top:10px}.consent{display:flex;gap:10px;font-size:13px;line-height:1.5;color:var(--muted);align-items:flex-start;margin:22px 0}.consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:var(--purple)}.note{font-size:12px;line-height:1.5;color:var(--muted);margin:17px 0 0}.camera{position:relative;aspect-ratio:4/3;border-radius:19px;overflow:hidden;background:#29262e;margin:20px 0}.camera video,.camera canvas{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera canvas{position:absolute;inset:0}.camera:after{content:'';position:absolute;inset:8% 25%;border:2px dashed #ffffffa0;border-radius:50%;pointer-events:none}.camera-label{position:absolute;bottom:12px;left:10px;right:10px;text-align:center;color:white;font-size:12px;background:#25212aa6;border-radius:20px;padding:7px}.status{background:var(--soft);border-radius:12px;padding:12px;font-size:14px;line-height:1.5;margin:14px 0;overflow-wrap:anywhere}.error{background:#fbe9e5;color:#8d3b30}.success{background:#e9f3e9;color:#416544}.result-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:24px;background:var(--soft);color:var(--purple);font-size:33px;margin:6px 0 24px}.person{border:1px solid var(--line);border-radius:15px;padding:16px;margin:24px 0;overflow-wrap:anywhere}.person strong{font-weight:500}.person small{margin-top:7px}.links{display:flex;gap:12px;flex-wrap:wrap;margin-top:19px}.links a{font-size:13px;color:#796295}footer{text-align:center;padding:20px 24px 30px;color:var(--muted);font-size:13px}footer span{color:var(--orange);padding:0 8px}[hidden]{display:none!important}@media(max-width:800px){.layout{gap:30px;margin-top:15px;padding:0 22px;grid-template-columns:1fr;max-width:560px}header{padding:22px}.brand{font-size:21px}.brand img{width:36px;height:36px}.header-label{font-size:11px;padding:8px 10px}aside{padding-top:8px}h1{font-size:46px;margin:16px 0}aside>p{font-size:16px;margin-bottom:0}.steps,.privacy{display:none}.card{padding:25px}.layout main{min-width:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.upload-area{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.upload-area input{font-size:13px;padding:12px}.camera.uploaded:after{display:none}.camera.uploaded canvas{transform:none;object-fit:contain;background:#29262e}.camera.uploaded video{visibility:hidden}
