@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--ip-ground: #0b1220;--ip-hero: #070d19;--ip-surface: #121a2b;--ip-field: #0f1729;--ip-border: #1f2a42;--ip-border-strong: #2a3752;--ip-control-border: #64748b;--ip-head: #eef3fb;--ip-text: #c3cddd;--ip-muted: #8a98b0;--ip-faint: #5f6d86;--ip-placeholder: #8a98b0;--ip-accent: #5aa9ff;--ip-accent-hi: #7cbcff;--ip-accent-ink: #06101f;--ip-accent-soft: #16294a;--ip-bad: #ff9a92;--ip-bad-bg: #331815;--ip-bad-bd: #5a2a25;--ip-glass: rgba(18, 26, 43, .86);--ip-glass-highlight: rgba(255, 255, 255, .045);--ip-shadow: 0 16px 48px rgba(0, 0, 0, .2), inset 0 1px 0 rgba(255, 255, 255, .035);--ip-focus: rgba(90, 169, 255, .2);--ip-radius: 12px;--ip-radius-card: 18px;--ip-ease: cubic-bezier(.22, 1, .36, 1);--ip-font: "Manrope", "Segoe UI", system-ui, -apple-system, sans-serif;color:var(--ip-text);background:var(--ip-ground);font-family:var(--ip-font);color-scheme:dark}[data-hav-theme=light]{--ip-ground: #f4f7fb;--ip-hero: #ffffff;--ip-surface: #ffffff;--ip-field: #ffffff;--ip-border: #dde4ee;--ip-border-strong: #c9d4e3;--ip-control-border: #718198;--ip-head: #10203a;--ip-text: #33465c;--ip-muted: #56687d;--ip-faint: #64748b;--ip-placeholder: #56687d;--ip-accent: #0f4c81;--ip-accent-hi: #145f9f;--ip-accent-ink: #ffffff;--ip-accent-soft: #e7f0f9;--ip-bad: #b23c30;--ip-bad-bg: #fbe9e7;--ip-bad-bd: #d88f87;--ip-glass: rgba(255, 255, 255, .9);--ip-glass-highlight: rgba(255, 255, 255, .6);--ip-shadow: 0 16px 48px rgba(16, 35, 61, .07), inset 0 1px 0 rgba(255, 255, 255, .8);--ip-focus: rgba(15, 76, 129, .18);color-scheme:light}[data-hav-theme=light] .lockup{filter:brightness(0);opacity:.88}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--ip-accent);text-underline-offset:4px;transition:color .16s ease}a:hover{color:var(--ip-accent-hi)}.shell{background:radial-gradient(ellipse at 85% 10%,rgba(90,169,255,.07),transparent 55%),var(--ip-ground);display:flex;min-height:100vh;min-height:100svh}.hero{background:radial-gradient(520px 380px at 18% 12%,#5aa9ff2e,#5aa9ff00 65%),radial-gradient(ellipse at 90% 85%,rgba(90,169,255,.06),transparent 65%),var(--ip-hero);border-right:1px solid var(--ip-border);display:flex;flex:0 0 auto;flex-direction:column;max-width:520px;min-width:360px;padding:clamp(32px,4vw,56px);width:42%}.lockup{display:block;height:auto;width:210px}.panel{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;padding:56px 40px}.panel>*{max-width:456px;width:100%}#app{background:linear-gradient(145deg,var(--ip-glass-highlight),transparent 48%),var(--ip-glass);border:1px solid var(--ip-border);border-radius:var(--ip-radius-card);box-shadow:var(--ip-shadow);padding:28px;-webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%)}#app:empty{display:none}#app>*{animation:ip-panel-reveal .28s var(--ip-ease) both}@keyframes ip-panel-reveal{0%{opacity:0;filter:blur(2px);transform:translateY(6px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.brand{color:var(--ip-accent);font-size:11.5px;font-weight:700;letter-spacing:.12em;margin-bottom:12px;text-transform:uppercase}h1{color:var(--ip-head);font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0 0 12px}.status{color:var(--ip-muted);font-size:15px;line-height:1.5;margin:0 0 28px}.status[data-tone=error]{color:var(--ip-bad)}.form{display:grid;gap:20px}.form label{color:var(--ip-text);display:grid;font-size:12.5px;font-weight:600;gap:8px}.form input,.form select{background:var(--ip-field);border:1px solid var(--ip-control-border);border-radius:var(--ip-radius);color:var(--ip-head);font:inherit;font-size:15px;height:48px;padding:0 14px;width:100%;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.form input::placeholder{color:var(--ip-placeholder);opacity:1}.form input:focus,.form select:focus{border-color:var(--ip-accent);box-shadow:0 0 0 3px var(--ip-focus);outline:none}.form input[name=code]{font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.32em;text-align:center}.password-field,.factor-field{display:grid;gap:8px}.password-control{display:flex;gap:8px}.password-control input{min-width:0}.password-control .password-toggle{flex:0 0 94px;padding:8px;font-size:12px}.support-help{border-top:1px solid var(--ip-border);display:grid;gap:8px;color:var(--ip-muted);font-size:12.5px;margin:24px 0 0;padding-top:12px}.support-help a{align-items:center;display:inline-flex;min-height:44px;width:fit-content}button,.button-link{align-items:center;background:var(--ip-accent);border:1px solid transparent;border-radius:var(--ip-radius);color:var(--ip-accent-ink);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:700;min-height:48px;justify-content:center;line-height:1.4;padding:12px 18px;text-align:center;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .22s var(--ip-ease)}button:hover:not(:disabled),.button-link:hover{background:var(--ip-accent-hi);color:var(--ip-accent-ink);box-shadow:0 4px 14px var(--ip-focus);transform:translateY(-1px)}button:active:not(:disabled),.button-link:active{box-shadow:none;transform:translateY(0)}button:disabled{cursor:wait;opacity:.72}.form[data-busy=true]{cursor:progress}.form[data-busy=true] input:disabled{opacity:.78}.form [data-busy-action=true]:before{animation:ip-busy-spin .8s linear infinite;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;content:"";height:14px;margin-right:8px;width:14px}@keyframes ip-busy-spin{to{transform:rotate(360deg)}}button:focus-visible,a:focus-visible,.form input:focus-visible,.form select:focus-visible{outline:2px solid var(--ip-accent);outline-offset:2px}.secondary,.secondary-link{background:transparent;border-color:var(--ip-control-border);color:var(--ip-text)}.secondary:hover:not(:disabled),.secondary-link:hover{background:var(--ip-accent-soft);border-color:var(--ip-accent);color:var(--ip-head)}.form .reset{background:transparent;border:0;color:var(--ip-accent);font-size:13px;font-weight:600;height:auto;justify-self:start;min-height:44px;padding:0 4px;margin:-8px 0 -8px -4px}.form .reset:hover:not(:disabled){background:transparent;color:var(--ip-accent-hi);box-shadow:none;transform:none}.form-intro,.hint,.message p,.enrollment p{color:var(--ip-muted);font-size:14px;line-height:1.6;margin:0}.hint{font-size:12.5px;margin-top:-8px}.form-error{background:var(--ip-bad-bg);border:1px solid var(--ip-bad-bd);border-radius:8px;color:var(--ip-bad);font-size:13.5px;line-height:1.55;margin:0;padding:12px 14px}.message{display:grid;gap:16px}.message h2{color:var(--ip-head);font-size:18px;font-weight:700;margin:0}.enrollment{align-items:center;display:grid;gap:14px 18px;grid-template-columns:1fr;margin-bottom:24px}.enrollment>p:first-child{grid-column:1 / -1}.enrollment img{background:#fff;border-radius:10px;display:block;justify-self:start;height:172px;padding:8px;width:172px}.enrollment .manual-key{background:var(--ip-field);border:1px solid var(--ip-border-strong);border-radius:8px;color:var(--ip-head);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12.5px;letter-spacing:.04em;line-height:1.5;overflow-wrap:anywhere;padding:10px 12px}@media(max-width:900px){.shell{flex-direction:column}.hero{border-bottom:1px solid var(--ip-border);border-right:0;max-width:none;min-width:0;padding:28px 24px;width:auto}.lockup{width:160px}.panel{justify-content:flex-start;padding:40px 24px 48px}}@media(max-width:560px){.hero{padding:24px}.panel{padding:32px 20px 40px}#app{padding:22px 20px}h1{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}button,.button-link{transform:none!important}}
