*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100dvh;background:#06120e;color:#ecfdf5;font:16px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(90% 55% at 88% -8%,rgba(52,211,153,.30),transparent 62%),radial-gradient(70% 45% at -12% 18%,rgba(197,231,160,.16),transparent 60%),radial-gradient(110% 70% at 50% 118%,rgba(14,116,144,.30),transparent 62%),linear-gradient(180deg,#08201a 0%,#06120e 52%,#040b09 100%)}
.bg::after{content:"";position:absolute;inset:-10%;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='640' height='640' viewBox='0 0 640 640'><g fill='none' stroke='%23a7f3d0' stroke-width='1'><path d='M120 330c40-120 190-170 300-120s150 170 80 250-230 90-310 40-110-90-70-170z'/><path d='M160 330c35-90 150-130 240-95s120 130 65 190-180 70-245 30-90-65-60-125z'/><path d='M200 330c28-62 110-90 180-65s90 92 48 136-132 50-182 22-70-45-46-93z'/><path d='M240 330c20-38 74-56 120-40s60 58 30 86-86 32-118 14-46-28-32-60z'/><path d='M-40 120c90-40 170 10 250-20s130-90 230-60 180 60 240 20'/><path d='M-40 160c90-40 170 10 250-20s130-90 230-60 180 60 240 20'/><path d='M-40 560c120-30 200 30 300 0s160-80 260-50 120 40 160 20'/><path d='M-40 600c120-30 200 30 300 0s160-80 260-50 120 40 160 20'/></g></svg>") center/640px 640px;opacity:.13;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 45%,transparent 92%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 45%,transparent 92%)}
.shell{position:relative;z-index:1;width:min(100%,1040px);margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 18px max(22px,env(safe-area-inset-bottom));display:grid;gap:22px}
.logo{display:block;width:196px;height:auto;margin:6px 0 22px}
.eyebrow{margin:0 0 10px;color:#a7f3d0;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h1{margin:0 0 12px;font-size:clamp(30px,8.4vw,52px);line-height:1.04;letter-spacing:-.025em;font-weight:820;max-width:15ch;background:linear-gradient(180deg,#fff 0%,#d9f99d 140%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin:0 0 18px;color:#c4d6cb;font-size:17px;max-width:44ch}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.chips li{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(167,243,208,.16);color:#dff5e8;font-size:13.5px;font-weight:650}
.dot{width:10px;height:10px;border-radius:50%}.dot.food{background:#fde68a;box-shadow:0 0 0 3px rgba(253,230,138,.18)}.dot.doppler{background:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.18)}.dot.pins{background:#f9a8d4;box-shadow:0 0 0 3px rgba(249,168,212,.18)}
.card{position:relative;padding:18px 18px 16px;border-radius:26px;background:linear-gradient(160deg,rgba(18,44,36,.88),rgba(7,20,16,.94));border:1px solid rgba(167,243,208,.16);box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:16px;background:rgba(0,0,0,.28);border:1px solid rgba(167,243,208,.10);margin-bottom:18px}
.tabs button{min-height:44px;border:0;border-radius:12px;background:transparent;color:#b9cdc1;font:inherit;font-weight:750;cursor:pointer}
.tabs button[aria-selected=true]{background:#c5e7a0;color:#0b2017;box-shadow:0 6px 18px rgba(197,231,160,.22)}
h2{margin:2px 0 6px;font-size:22px;letter-spacing:-.01em}
.muted{margin:0 0 18px;color:#b5c9bd}
.badge{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:999px;background:rgba(197,231,160,.14);border:1px solid rgba(197,231,160,.3);color:#d9f99d;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
label{display:block;margin:14px 0 6px;font-weight:700;font-size:15px}
.optional{margin-left:6px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#a9c2b4;font-size:12px;font-weight:650}
input[type=password],input[type=text],input[type=email]{width:100%;min-height:52px;padding:13px 15px;border-radius:14px;border:1px solid rgba(167,243,208,.24);background:rgba(3,12,9,.55);color:#fff;font:inherit;font-size:17px;transition:border-color .15s,box-shadow .15s}
input:focus{outline:none;border-color:#a7f3d0;box-shadow:0 0 0 4px rgba(167,243,208,.18)}
input[aria-invalid=true]{border-color:#fda4af;box-shadow:0 0 0 4px rgba(253,164,175,.14)}
.hint{margin:6px 2px 0;color:#94ab9e;font-size:13.5px}
.agree{display:flex;gap:12px;align-items:flex-start;margin:18px 0 4px;font-weight:600;font-size:14.5px;line-height:1.45;color:#dbe9e0}
.agree input{flex:none;width:24px;height:24px;margin:1px 0 0;accent-color:#34d399}
a{color:#a7f3d0}
.primary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;margin-top:18px;border:0;border-radius:17px;background:linear-gradient(135deg,#e2fbb2 0%,#9be7b9 45%,#34d399 100%);color:#04251a;font:inherit;font-size:18px;font-weight:820;letter-spacing:-.005em;cursor:pointer;box-shadow:0 12px 32px rgba(52,211,153,.32),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .12s,filter .12s}
.primary:active{transform:scale(.985)}.primary:disabled{filter:grayscale(.6) brightness(.8);cursor:progress}
.ghost{width:100%;min-height:48px;margin-top:10px;border-radius:14px;border:1px solid rgba(167,243,208,.2);background:transparent;color:#d6e8de;font:inherit;font-weight:700;cursor:pointer}
.linkish{border:0;background:none;padding:6px 2px;color:#a7f3d0;font:inherit;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.switch{margin:14px 0 0;text-align:center;color:#a9c2b4;font-size:15px}
.steps{list-style:none;display:flex;gap:8px;margin:0 0 6px;padding:0}
.steps li{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);color:#8fa79a;font-size:13.5px;font-weight:700}
.steps b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.08);font-size:12px}
.steps li.on{color:#ecfdf5;background:rgba(197,231,160,.12)}.steps li.on b{background:#c5e7a0;color:#0b2017}
.steps li.done b{background:#34d399;color:#03251a}
.perks{list-style:none;margin:0 0 4px;padding:0;display:grid;gap:9px}
.perks li{display:flex;gap:10px;align-items:flex-start;color:#d3e5da;font-size:15px}
.perks svg{flex:none;margin-top:3px;color:#34d399}
.status{min-height:1.5em;margin:14px 2px 0;font-size:15px;font-weight:650;color:#cfe3d6}
.status[data-tone=error]{color:#fecdd3}.status[data-tone=ok]{color:#bbf7d0}
.alt{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;margin-top:4px;border-radius:17px;border:1px solid rgba(167,243,208,.34);background:rgba(167,243,208,.07);color:#ecfdf5;font:inherit;font-size:17px;font-weight:780;cursor:pointer}
.alt:active{transform:scale(.985)}.alt:disabled{opacity:.6;cursor:progress}.alt svg{color:#a7f3d0}
.or{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#94ab9e;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.or::before,.or::after{content:"";flex:1;height:1px;background:rgba(167,243,208,.16)}
.pw{position:relative}.pw input{padding-right:78px}
.show{position:absolute;top:6px;right:6px;min-width:64px;min-height:40px;border:0;border-radius:11px;background:rgba(167,243,208,.10);color:#d9f99d;font:inherit;font-size:14px;font-weight:780;cursor:pointer}
.fine{margin:12px 2px 0;color:#94ab9e;font-size:13.5px;text-align:center}
body.no-passkeys .passkeyOnly{display:none}
footer{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;color:#6f877a;font-size:14px;padding:4px 0 8px}
footer a{color:#a9c2b4;text-decoration:none}footer a:hover{text-decoration:underline}
.noscript{position:relative;z-index:2;margin:16px;padding:14px;border-radius:12px;background:#3b1219;color:#fff}
@media (min-width:900px){.shell{grid-template-columns:1.1fr .9fr;align-items:center;min-height:100dvh;gap:56px;padding-top:40px}.hero{padding-bottom:40px}.card{padding:26px 26px 22px}footer{grid-column:1/-1;justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}