:root{color-scheme:dark;--bg:#101819;--panel:#192424;--line:#35423f;--text:#e6ece4;--muted:#8caaa0;--mint:#a6d9b8;--bronze:#e7b588;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;min-height:100dvh;background-image:radial-gradient(ellipse at 90% 0,#2a3a2d45,transparent 50%)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}[hidden]{display:none!important}h1,h2,p{margin:0}header{max-width:1120px;margin:auto;padding:28px 28px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2d3c365c}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--text);font-size:22px;font-weight:650;letter-spacing:-.8px}.brand .os{font-weight:350;color:#8d9e94}.brand small{font:8px ui-monospace,monospace;letter-spacing:2px;color:#72897d;display:block;margin-top:5px}.secure{display:flex;align-items:center;gap:6px;font:8px ui-monospace,monospace;letter-spacing:1px;color:#90aa96}.secure i,.status i,.camera-chip i,.camera-footer i{height:5px;width:5px;background:#a6cfab;border-radius:50%;display:inline-block;flex-shrink:0}main{max-width:1120px;margin:auto}.view{max-width:440px;margin:auto;padding:45px 28px 15px}.eyebrow{font:9px ui-monospace,monospace;letter-spacing:1.5px;color:#8fa695}h1{font-size:40px;font-weight:500;line-height:1.17;letter-spacing:-1.9px;margin-top:17px}h1>span{color:#b6cbb6;font-weight:400}.intro{font-size:13px;line-height:1.9;color:#8ca59b;margin-top:20px}.intro strong{font-weight:450;color:#c0d5c2}.login-illustration{display:flex;flex-direction:column;align-items:center;margin:32px 0}.scan-ring{height:119px;width:119px;display:grid;place-items:center;border:1px solid #4b6851;border-radius:23px;background:radial-gradient(#36513a66,#1a2924);transform:rotate(-7deg);box-shadow:10px 10px 0 -2px #17231f,10px 10px 0 -1px #344d3c}.scan-ring svg{height:92px;width:92px;fill:none;stroke:#8eaf95;stroke-width:1;transform:rotate(7deg)}.scan-ring .cube{stroke:#d0b28a;stroke-width:1.5}.scan-ring .scan-line{stroke:#a2d8b2;filter:drop-shadow(0 0 4px #a2d8b2)}.login-illustration>span{font:7px ui-monospace,monospace;letter-spacing:2px;color:#658577;margin-top:27px}form{margin-top:28px}label{display:flex;flex-direction:column;gap:10px;color:#a2b9ac;font-size:11px;margin-bottom:21px}input,select{border:1px solid #3b5145;background:#15221e;color:var(--text);padding:15px 14px;font-size:14px;border-radius:7px;width:100%;min-height:49px;outline:none}input::placeholder{color:#597565}.password-field{display:flex;align-items:center;background:#15221e;border:1px solid #3b5145;border-radius:7px}.password-field input{border:0;background:none;min-width:0}.password-field button{background:none;border:0;color:#829b87;font-size:10px;margin-right:12px;min-height:44px}.button{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 17px;border:1px solid #4c6355;border-radius:7px;background:#263a2e;color:#c5d8c4;min-height:50px;font-size:12px;font-weight:500}.button.primary{background:var(--bronze);border-color:var(--bronze);color:#292a20;box-shadow:0 1px 0 #f9cfaa55 inset}.button.primary:hover{background:#f0c39a}.button>span{font-size:19px;line-height:1;margin-left:auto}.full{width:100%}.form-error{color:#e8ac85;font-size:11px;line-height:1.8;margin-top:13px;min-height:8px}.privacy-note{display:flex;gap:11px;align-items:center;padding:19px 0;border-top:1px solid #2d4335;margin-top:24px}.privacy-note svg{height:25px;width:25px;fill:none;stroke:#9dc2a0;stroke-width:1;flex-shrink:0}.privacy-note p{font-size:10px;line-height:1.8;color:#789782}.pair-view{padding-top:60px}.pair-visual{display:flex;align-items:center;justify-content:center;margin:43px auto;gap:23px;color:#c5ba9c}.pair-visual>span{height:80px;width:68px;display:grid;place-items:center;border:1px solid #57775d;border-radius:12px;background:#223929;font-size:40px}.pair-visual>i{font:17px ui-monospace,monospace;color:#6b8d73;letter-spacing:3px}.pair-view input{font:20px ui-monospace,monospace;letter-spacing:3px;text-transform:uppercase;min-height:62px}.small-note{font-size:10px;line-height:1.9;color:#789383;margin-top:24px}.text-button{color:#99bca3;font-size:10px;background:none;border:0;padding:10px 0;min-height:40px}.pair-view>.text-button{margin-top:16px}.camera-view{max-width:640px;padding:30px 22px 10px}.camera-heading{display:flex;align-items:center;justify-content:space-between}.camera-heading h1{font-size:30px;letter-spacing:-1.1px;margin-top:11px}.camera-heading .eyebrow{font-size:7px}.icon-button{height:39px;width:39px;display:grid;place-items:center;color:#8daa93;border:1px solid #405946;border-radius:7px;background:#1d3023;font-size:20px}.connection-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:23px 0 14px}.status{display:flex;align-items:center;gap:6px;font-size:9px}.status.green{color:#acd1b0}.status.amber{color:#c8b28b}.status.amber i{background:#c8b28b}.session-label{font:7px ui-monospace,monospace;letter-spacing:1px;color:#547761}.camera-stage{position:relative;aspect-ratio:3/4;max-height:600px;width:100%;background:#0a1110;border:1px solid #415943;border-radius:15px;overflow:hidden;isolation:isolate}video{width:100%;height:100%;object-fit:cover;display:block;background:#0a1110}.camera-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 70% 30%,#2a412a77,transparent 65%),linear-gradient(0deg,#0d1912,#111e19);z-index:3;padding:25px}.camera-placeholder svg{height:70px;width:70px;stroke:#73987c;fill:none;stroke-width:1;margin-bottom:25px}.camera-placeholder h2{font-size:23px;font-weight:450;letter-spacing:-.6px}.camera-placeholder p{font-size:11px;color:#7e9d85;line-height:1.9;margin-top:14px}.camera-placeholder>.button{margin-top:28px;min-width:200px}.camera-top{position:absolute;left:13px;right:13px;top:15px;z-index:5;display:flex;justify-content:space-between;pointer-events:none}.camera-chip{display:flex;align-items:center;gap:6px;font:7px ui-monospace,monospace;letter-spacing:1px;padding:6px 7px;background:#11251bda;border:1px solid #4f7354;border-radius:4px;color:#b1cdb2}.camera-chip i{height:4px;width:4px;background:#7da388}.running #live-status i{background:#9ef1b0;box-shadow:0 0 7px #9ef1b0}.target{position:absolute;inset:29% 11%;pointer-events:none;z-index:2;opacity:0}.running .target{opacity:1}.target.document-target{inset:15% 12%}.target>span{position:absolute;width:25px;height:25px;border-color:#d9e6c7;border-style:solid;border-width:0;filter:drop-shadow(0 1px 2px #0008)}.target>span:nth-child(1){left:0;top:0;border-left-width:2px;border-top-width:2px;border-top-left-radius:5px}.target>span:nth-child(2){right:0;top:0;border-right-width:2px;border-top-width:2px;border-top-right-radius:5px}.target>span:nth-child(3){left:0;bottom:0;border-left-width:2px;border-bottom-width:2px;border-bottom-left-radius:5px}.target>span:nth-child(4){right:0;bottom:0;border-right-width:2px;border-bottom-width:2px;border-bottom-right-radius:5px}.target>i{position:absolute;left:0;right:0;top:50%;height:1px;background:#9de6aa;box-shadow:0 0 9px #9de6aa}.camera-bottom{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#000b);padding:36px 15px 16px;color:#cedac5;font-size:9px;text-align:center;z-index:4;pointer-events:none}.mode-switch{display:flex;background:#15241b;border:1px solid #3b5442;border-radius:8px;padding:4px;margin-top:16px;gap:4px}.mode-switch button{flex:1;background:none;color:#7f9f87;border:0;min-height:40px;border-radius:5px;font-size:11px}.mode-switch .active{background:#324d36;color:#d1e0c9;box-shadow:0 1px 3px #0005}.camera-actions{display:flex;gap:9px;margin-top:13px}.camera-actions>.primary{flex:1;font-size:11px}.camera-actions>.button:last-child{padding:13px 18px;font-size:11px}.camera-options{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #314b38}.camera-options label{font-size:8px;gap:6px;margin:0}.camera-options select{min-height:35px;padding:8px;font-size:9px;border-radius:4px;max-width:170px}.camera-options>.text-button{font-size:9px;white-space:nowrap}.upload-link{cursor:pointer;color:#a3c0a7!important;min-height:44px;justify-content:center}.upload-link input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.result-card{margin-top:21px;padding:20px;border:1px solid #3d5a41;border-radius:9px;background:radial-gradient(ellipse at top right,#324a2b99,transparent),#1b2d21}.result-card .eyebrow{font-size:7px}.result-card strong{display:block;font-size:16px;font-weight:450;letter-spacing:-.2px;margin-top:12px;overflow-wrap:anywhere}.result-card p{font-size:10px;color:#89a88c;line-height:1.9;margin-top:11px}.camera-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.camera-footer>span{display:flex;align-items:center;gap:6px;font-size:8px;color:#6e9178}.camera-footer i{height:4px;width:4px;background:#759c7b}.camera-view>.small-note{margin-top:5px;font-size:9px}.loading-view{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#8ea995;gap:25px;font-size:12px}.loading-ring{height:38px;width:38px;border:1px solid #4e6c53;border-top-color:#dab78e;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{max-width:440px;margin:24px auto 0;padding:22px 28px 30px;display:flex;justify-content:space-between;color:#4d715b;font:7px ui-monospace,monospace;letter-spacing:1px}footer>span{font-size:6px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:calc(100% - 36px);max-width:470px;background:#3b3928;border:1px solid #8d8155;border-radius:8px;padding:15px 17px;font-size:11px;line-height:1.8;color:#e2d3ad;z-index:20;box-shadow:0 10px 45px #0008}@media(min-width:800px){header{padding:35px 42px}.login-view,.pair-view{max-width:520px;padding-top:50px}.login-view h1,.pair-view h1{font-size:49px}.login-view .intro,.pair-view .intro{font-size:14px}.camera-view{padding-top:42px}.camera-stage{max-height:650px;aspect-ratio:4/3}.target.document-target{inset:8% 30%}.camera-placeholder p{font-size:12px}.camera-placeholder h2{font-size:28px}.camera-heading h1{font-size:37px}.camera-heading .eyebrow{font-size:9px}.connection-line{margin-top:28px}.status{font-size:11px}.session-label{font-size:8px}.camera-chip{font-size:9px}.camera-actions>.primary{font-size:13px}.camera-options label{font-size:10px}.camera-options select{font-size:11px;max-width:none}.result-card p{font-size:12px}}@media(max-width:370px){header{padding:24px 20px}.view{padding-left:21px;padding-right:21px}h1{font-size:36px}.camera-view{padding-left:15px;padding-right:15px}.camera-heading h1{font-size:28px}.camera-options{gap:8px}.camera-options>.text-button{font-size:8px}.camera-options select{max-width:140px}.camera-actions>.primary{font-size:10px}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
