@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/static/dist/fonts/ibm-plex-mono-300.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/static/dist/fonts/ibm-plex-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/static/dist/fonts/ibm-plex-mono-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/static/dist/fonts/ibm-plex-mono-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:400;font-display:swap;src:url(/static/dist/fonts/inter-tight-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:500;font-display:swap;src:url(/static/dist/fonts/inter-tight-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:600;font-display:swap;src:url(/static/dist/fonts/inter-tight-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:700;font-display:swap;src:url(/static/dist/fonts/inter-tight-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-weight:800;font-display:swap;src:url(/static/dist/fonts/inter-tight-800.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0: oklch(.14 .008 200);--bg-1: oklch(.17 .01 200);--bg-2: oklch(.2 .012 200);--bg-3: oklch(.26 .014 200);--fg-0: oklch(.97 .006 180);--fg-1: oklch(.8 .01 180);--fg-2: oklch(.6 .012 180);--fg-3: oklch(.45 .014 200);--fg-4: oklch(.32 .014 200);--line: oklch(.26 .012 200);--line-soft: oklch(.22 .01 200);--line-hi: oklch(.38 .02 200);--acc: oklch(.88 .18 145);--acc-dim: oklch(.7 .14 145);--acc-deep: oklch(.5 .12 145);--acc-glow: oklch(.88 .18 145 / .35);--acc-glow-soft: oklch(.88 .18 145 / .1);--crit: oklch(.72 .2 20);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "Inter Tight", -apple-system, BlinkMacSystemFont, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg-0);color:var(--fg-1);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow:hidden;position:relative}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}input{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none}.ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.ambient .aurora{position:absolute;inset:-20%;background:radial-gradient(ellipse 600px 400px at 30% 20%,var(--acc-glow-soft),transparent 60%),radial-gradient(ellipse 500px 500px at 80% 80%,oklch(.8 .1 240 / .08),transparent 60%),radial-gradient(ellipse 400px 400px at 80% 15%,oklch(.88 .18 145 / .06),transparent 60%);animation:aurora 18s ease-in-out infinite alternate;filter:blur(30px)}@keyframes aurora{0%{transform:translate(0) rotate(0)}to{transform:translate(-4%,3%) rotate(8deg)}}.ambient .grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--line-soft) 1px,transparent 1px),linear-gradient(to bottom,var(--line-soft) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 90% 70% at 50% 50%,black 30%,transparent 80%);opacity:.4}.ambient .ring{position:absolute;width:900px;height:900px;border-radius:50%;border:1px solid var(--line);left:50%;top:50%;transform:translate(-50%,-50%);opacity:.4}.ambient .ring.r2{width:1300px;height:1300px;opacity:.25}.ambient .ring.r3{width:1700px;height:1700px;opacity:.12}.chrome{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr auto;z-index:2;padding:24px}header.hd,footer.ft{display:flex;align-items:center;justify-content:space-between;gap:16px}.hd .brand{display:flex;align-items:center;gap:10px}.hd .brand .mark{position:relative;width:24px;height:24px;display:grid;place-items:center}.hd .brand .mark:after{content:"";position:absolute;inset:-8px;background:radial-gradient(circle,var(--acc-glow) 0%,transparent 60%);filter:blur(5px);z-index:-1;animation:breathe 3.6s ease-in-out infinite}@keyframes breathe{0%,to{opacity:.55}50%{opacity:1}}.hd .brand svg{width:24px;height:24px;overflow:visible}.hd .brand .name{font-weight:800;letter-spacing:-.02em;font-size:15px;color:var(--fg-0)}.hd .brand .name em{font-style:normal;color:var(--acc);text-shadow:0 0 12px var(--acc-glow)}.hd .chip{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);padding:5px 10px;border:1px solid var(--line);border-radius:100px;background:color-mix(in oklab,var(--bg-1) 60%,transparent);backdrop-filter:blur(8px)}.hd .chip .dot{width:5px;height:5px;border-radius:50%;background:var(--acc);box-shadow:0 0 6px var(--acc-glow);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.ft{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-4)}.ft .right{display:flex;gap:24px}.ft a:hover{color:var(--fg-2)}main.stage{display:grid;place-items:center;padding:16px}.card{width:min(420px,100%);padding:40px 36px 32px;background:color-mix(in oklab,var(--bg-1) 92%,transparent);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(20px) saturate(1.2);position:relative;overflow:hidden;box-shadow:0 40px 120px #00000080,0 0 0 1px #0006,inset 0 1px #ffffff0a}.card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,var(--acc-glow),transparent);pointer-events:none}.card:after{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;background:radial-gradient(circle,var(--acc-glow-soft) 0%,transparent 70%);pointer-events:none}.hero{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px;text-align:center}.big-mark{position:relative;width:84px;height:84px;display:grid;place-items:center}.big-mark svg{width:68px;height:68px;overflow:visible;position:relative;z-index:2}.big-mark .halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,var(--acc-glow) 0%,transparent 62%);filter:blur(14px);animation:breathe 3.6s ease-in-out infinite}.big-mark .ring-in{position:absolute;inset:-2px;border:1px solid var(--acc-deep);border-radius:50%}.big-mark .ring-out{position:absolute;inset:-14px;border:1px solid var(--line-soft);border-radius:50%;opacity:.6}.big-mark .scan{position:absolute;inset:-2px;border-radius:50%;border:1px solid var(--acc);border-right-color:transparent;border-bottom-color:transparent;opacity:0;transform:rotate(0)}.card[data-state=verifying] .big-mark .scan,.card[data-state=enrolling] .big-mark .scan{opacity:1;animation:spin .9s linear infinite}.card[data-state=success] .big-mark .halo,.card[data-state=done] .big-mark .halo{background:radial-gradient(circle,oklch(.88 .18 145 / .6) 0%,transparent 62%);animation:success-pulse 1.4s ease-out}@keyframes spin{to{transform:rotate(360deg)}}@keyframes success-pulse{0%{transform:scale(.95);opacity:.4}50%{transform:scale(1.3);opacity:1}to{transform:scale(1.2);opacity:0}}.hero h1{font-family:var(--sans);font-weight:700;font-size:24px;letter-spacing:-.02em;margin:0;color:var(--fg-0);line-height:1.2}.hero .sub{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}.hero .lede{color:var(--fg-2);font-size:13px;max-width:340px;margin:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--fg-3);text-transform:uppercase}.field input{background:var(--bg-0);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-family:var(--mono);font-size:13px;color:var(--fg-0);outline:none;transition:border .15s,background .15s}.field input::placeholder{color:var(--fg-4)}.field input:focus{border-color:var(--acc-deep);background:var(--bg-1)}.cta-block{display:flex;flex-direction:column;gap:10px}.cta{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:15px 20px;border-radius:10px;font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:-.005em;background:var(--acc);color:#060a0a;position:relative;overflow:hidden;transition:transform .15s,box-shadow .2s,background .15s;box-shadow:0 0 24px var(--acc-glow),inset 0 -1px #00000040,inset 0 1px #ffffff40}.cta:hover:not([disabled]){background:#8afd90;box-shadow:0 0 32px var(--acc-glow);transform:translateY(-1px)}.cta:active:not([disabled]){transform:translateY(0)}.cta .key-i,.cta .i{width:16px;height:16px}.cta .shine{position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(to right,transparent,oklch(1 0 0 / .25),transparent);transform:skew(-20deg);animation:shine 3.6s ease-in-out infinite;pointer-events:none}@keyframes shine{0%,40%{left:-40%}60%,to{left:120%}}.cta[disabled]{background:var(--bg-3);color:var(--fg-3);box-shadow:none;cursor:default}.cta[disabled] .shine{display:none}.state-strip{margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--fg-3)}.state-strip .sdot{width:6px;height:6px;border-radius:50%;background:var(--fg-4);flex-shrink:0}.card[data-state=idle] .state-strip .sdot{background:var(--fg-3)}.card[data-state=verifying] .state-strip .sdot,.card[data-state=enrolling] .state-strip .sdot{background:var(--acc);box-shadow:0 0 6px var(--acc-glow);animation:pulse 1s ease-in-out infinite}.card[data-state=success] .state-strip .sdot,.card[data-state=done] .state-strip .sdot{background:var(--acc);box-shadow:0 0 6px var(--acc-glow)}.card[data-state=error] .state-strip .sdot{background:var(--crit)}.state-strip .msg{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg-2)}.state-strip .ts{color:var(--fg-4);font-size:10px}.scan-bar{position:absolute;left:20px;right:20px;bottom:0;height:1px;overflow:hidden;opacity:0;transition:opacity .2s}.card[data-state=verifying] .scan-bar,.card[data-state=enrolling] .scan-bar{opacity:1}.scan-bar:after{content:"";display:block;height:100%;width:40%;background:linear-gradient(to right,transparent,var(--acc),transparent);animation:scan 1.2s ease-in-out infinite}@keyframes scan{0%{transform:translate(-100%)}to{transform:translate(350%)}}.card[data-state=success]{border-color:var(--acc-deep)}.card[data-state=error] .hero h1{color:var(--crit)}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:18px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.meta-grid .cell{background:var(--bg-1);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.meta-grid .cell .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4)}.meta-grid .cell .val{font-family:var(--mono);font-size:11px;color:var(--fg-1);display:flex;align-items:center;gap:5px}.meta-grid .cell .val .ok{color:var(--acc)}.micro{text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--fg-4);margin-top:18px;line-height:1.6}.micro a{color:var(--fg-2);border-bottom:1px dotted var(--line-hi)}.micro a:hover{color:var(--acc);border-color:var(--acc-deep)}.done-panel{display:none;flex-direction:column;align-items:center;text-align:center;gap:10px}.card[data-state=done] .enroll-panel{display:none}.card[data-state=done] .done-panel{display:flex}.done-panel h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--fg-0)}.done-panel p{margin:0 0 16px;color:var(--fg-2);font-size:13px;max-width:340px}.done-panel .goto{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:10px;font-family:var(--sans);font-weight:600;font-size:14px;background:var(--acc);color:#060a0a;box-shadow:0 0 24px var(--acc-glow)}.done-panel .goto:hover{background:#8afd90}.appliance{margin-bottom:20px;padding:10px 14px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-0);display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:var(--fg-2)}.appliance .lf{display:flex;align-items:center;gap:8px}.appliance .dot{width:6px;height:6px;border-radius:50%;background:var(--acc);box-shadow:0 0 6px var(--acc-glow);animation:pulse 1.6s ease-in-out infinite}.appliance .sn{color:var(--fg-3);font-size:10px;letter-spacing:.08em}@media(max-width:520px){.chrome{padding:16px}.card{padding:32px 22px 26px;border-radius:14px}.hero h1{font-size:20px}.big-mark{width:72px;height:72px}.big-mark svg{width:58px;height:58px}.ft .right{gap:14px}.ft .left,.hd .chip .extra{display:none}}
/*# sourceMappingURL=login.css.map */
