[hidden]{display:none!important}
.brand{position:relative}
.back-button,.close-button{display:grid;place-items:center;width:42px;height:42px;padding:10px;border:1px solid #ffffff12;border-radius:50%;background:#ffffff06;transition:background .2s,transform .2s}
.back-button{position:absolute;left:18px;top:50%;transform:translateY(-50%)}
.back-button:hover,.close-button:hover{background:#ffffff13}
.back-button svg,.close-button svg{width:22px;height:22px;fill:none;stroke:var(--text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.flow-screen{flex:1;min-height:0;display:flex;flex-direction:column;animation:screen-enter .35s var(--ease)}
.flow-screen h1:focus{outline:none}
.flow-screen h1{font-size:2rem;line-height:1.12;letter-spacing:-.04em;font-weight:650;margin:0;text-wrap:balance}
.flow-screen h1 span{color:var(--teal)}
.account-content{padding:45px 24px 20px;flex:1;display:flex;flex-direction:column;justify-content:center;padding-bottom:80px}
.flow-steps{display:flex;align-items:center;justify-content:center;gap:13px;color:#8392ac;font-size:.8125rem;letter-spacing:.02em;margin-bottom:28px}
.flow-steps .current-step{color:var(--teal)}
.step-line{height:1px;width:32px;background:#ffffff24}
.account-screen h1{text-align:center;font-size:2.3rem}
.account-subtitle{max-width:290px;margin:14px auto 0;text-align:center;color:var(--muted);font-size:.9375rem;line-height:1.5;text-wrap:pretty}
.account-actions{margin-top:28px;display:grid;gap:14px}
.provider-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:62px;border-radius:18px;padding:17px 38px 17px 48px;border:1px solid transparent;font-size:1rem;font-weight:600;transition:transform .18s,background .18s,opacity .18s;touch-action:manipulation}
.provider-button>img,.provider-button>svg{position:absolute;left:21px;width:23px;height:26px;object-fit:contain}
.provider-apple{background:var(--teal);color:#0a2831;box-shadow:0 8px 24px #15d3a911}
.provider-apple:hover{background:#38e3bd}
.provider-google{background:#eef4f7;color:#152137}
.provider-google:hover{background:#fff}
.provider-email{background:#ffffff05;border-color:#ffffff25;color:var(--text)}
.provider-email:hover{background:#ffffff0d;border-color:#ffffff50}
.provider-email>svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.provider-button:active{transform:scale(.98)}
.provider-button:disabled{opacity:.4;cursor:wait}
.provider-button.is-loading{opacity:1}
.account-divider{display:flex;align-items:center;gap:16px;color:#8998af;font-size:.8125rem;margin:5px 0}
.account-divider::before,.account-divider::after{content:"";height:1px;flex:1;background:#ffffff14}
.button-spinner{display:none;position:absolute;right:17px;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .65s linear infinite}
.is-loading .button-spinner{display:block}
.account-status{font-size:.875rem;line-height:1.5;color:var(--muted);text-align:center;min-height:21px;margin:20px 0 0}
.account-status[data-kind="error"]{color:#ffd6c8}
.preview-caption{margin:0;padding:16px 24px 22px;color:#8998af;font-size:.75rem;line-height:1.5;text-align:center}
.email-mode .account-content{justify-content:flex-start;padding-top:24px;padding-bottom:20px}
.email-mode .flow-steps{margin-bottom:20px}
.email-mode h1{font-size:2rem}
.email-form{display:flex;flex-direction:column;margin-top:28px}
.email-form label{font-size:.875rem;font-weight:550;color:#dce6f1;margin:0 0 9px}
.email-form input{width:100%;min-width:0;min-height:54px;border:1px solid #ffffff28;border-radius:14px;background:#ffffff05;color:var(--text);padding:14px 16px;font:inherit;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}
.email-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #15d3a919}
.email-form input::placeholder{color:#7e91ad;opacity:1}
.email-form input:disabled{opacity:.55}
.email-form>input{margin-bottom:21px}
.password-field{position:relative}
.password-field input{padding-right:68px}
.password-toggle{position:absolute;right:7px;top:5px;min-width:51px;min-height:44px;border:0;border-radius:9px;background:transparent;font-size:.8125rem;color:#a5ddcf;padding:8px}
.password-toggle:hover{background:#ffffff0a}
.field-help{font-size:.75rem;line-height:1.5;margin:8px 0 25px;color:#92a5bf}
.create-account{position:relative}
.verify-account{position:relative;margin-top:12px}
.verification-description{color:var(--muted);font-size:.9375rem;line-height:1.5;margin:0 0 22px}
.hosted-signin{margin-top:30px}
.primary-button:disabled{cursor:wait;opacity:.7}
.onboarding[data-stage="paywall"]{height:100svh;min-height:0}
.onboarding[data-stage="paywall"] .brand,.onboarding[data-stage="success"] .brand,.onboarding[data-stage="free"] .brand{display:none}
.paywall-toolbar{display:flex;align-items:center;gap:12px;padding:14px 24px 8px;flex-shrink:0}
.circle-button{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;padding:9px;border:1px solid #ffffff1a;border-radius:50%;background:#ffffff07;transition:background .2s}
.circle-button:hover{background:#ffffff18}
.circle-button svg{width:21px;height:21px;fill:none;stroke:var(--text);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.paywall-close{width:44px;height:44px;padding:12px;border:0;background:transparent;color:var(--muted)}
.paywall-close svg{width:20px;height:20px;stroke:currentColor}
.paywall-toolbar:has(.paywall-close:not([hidden])){gap:8px;padding-right:14px}
.paywall-content{overflow-y:auto;overscroll-behavior-y:contain;min-height:0;padding:0 24px 22px;scrollbar-width:thin;scrollbar-color:#41546b transparent;flex:1}
.coverage-selector{flex:1;border:1px solid #ffffff0c;border-radius:12px;background:#080f225c;padding:3px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:3px}
.coverage-selector label{position:relative;min-width:0;cursor:pointer}
.coverage-selector input,.plan-option input{position:absolute;opacity:0;width:1px;height:1px}
.coverage-selector span{display:block;text-align:center;padding:6px 5px;line-height:20px;font-size:.875rem;font-weight:600;color:#aebbcf;border-radius:9px;transition:color .2s,background .2s,box-shadow .2s}
.coverage-selector input:checked+span{background:#1c3944;color:#65e7c8;box-shadow:inset 0 0 0 1px #15d3a923,0 2px 6px #0000001f}
.coverage-selector input:focus-visible+span{outline:2px solid #91ffdf;outline-offset:1px}
.paywall-heading{text-align:center;padding-top:18px}
.premium-symbol{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 13px;background:#15d3a91a;border:1px solid #15d3a928;border-radius:11px;box-shadow:0 0 28px #15d3a910}
.premium-symbol svg{width:20px;height:20px;fill:var(--teal)}
.paywall-heading h1{font-size:1.9rem}
.paywall-heading p{font-size:1rem;line-height:1.5;color:var(--muted);margin:14px 0 24px;text-wrap:pretty}
.premium-features{display:grid;gap:15px;list-style:none;margin:0;padding:0}
.premium-features li{display:flex;gap:13px;align-items:center;font-size:1rem;line-height:1.4;letter-spacing:-.015em;color:#dce6f1}
.premium-features li::before{content:"";width:18px;height:18px;flex:0 0 18px;background:var(--teal);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.purchase-dock{position:relative;flex-shrink:0;padding:15px 24px 10px;border-top:1px solid #ffffff0e;background:#10182eea;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 -14px 35px #080f2026}
.plan-selector{border:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plan-option{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:5px 8px;min-height:69px;padding:11px 13px;cursor:pointer;border:1px solid #ffffff26;background:#ffffff03;border-radius:14px;transition:border-color .2s,background .2s,box-shadow .2s}
.plan-option:has(input:checked){border-color:#15d3a9b3;background:#15d3a909;box-shadow:inset 0 0 0 1px #15d3a918}
.plan-option:has(input:focus-visible){outline:2px solid #91ffdf;outline-offset:3px}
.plan-radio{display:block;width:16px;height:16px;border:1.5px solid #71809a;border-radius:50%;position:relative}
.plan-option input:checked+.plan-radio{border-color:var(--teal)}
.plan-option input:checked+.plan-radio::after{content:"";position:absolute;inset:3px;background:var(--teal);border-radius:50%}
.plan-name{font-weight:550;font-size:.875rem;line-height:1.3}
.plan-price{grid-column:2;display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.plan-price strong{font-size:1.125rem;font-weight:650;letter-spacing:-.025em}
.plan-price-unit{font-size:.75rem;color:#a4b3ca}
.saving-badge{position:absolute;right:8px;top:-9px;padding:3px 6px;border:1px solid #24624f;border-radius:6px;background:#173e36;color:#81edcf;font-size:.75rem;font-weight:600;line-height:1}
.primary-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:56px;padding:16px;border-radius:17px;border:1px solid #80f2d544;background:var(--teal);color:#0a2831;font-size:1rem;font-weight:650;letter-spacing:-.01em;box-shadow:0 7px 24px #15d3a916;transition:transform .18s,background .18s;touch-action:manipulation}
.primary-button:hover{background:#38e3bd}
.primary-button:active{transform:scale(.98)}
.primary-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.billing-disclosure{font-size:.75rem;line-height:1.45;text-align:center;color:#aebbcf;margin:12px auto 0;max-width:330px}
.price-preview-note{font-size:.75rem;line-height:1.4;text-align:center;color:#8291aa;margin:6px 0 0}
.text-button{display:block;border:0;background:none;color:var(--muted);font-size:.875rem;min-height:44px;padding:10px;margin:5px auto -8px}
.text-button:hover{color:var(--text)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes screen-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:600px){.onboarding[data-stage="paywall"]{height:min(880px,calc(100svh - 56px));min-height:0}.account-content{padding-left:34px;padding-right:34px}.paywall-content,.purchase-dock{padding-left:28px;padding-right:28px}}
@media(max-height:720px){.account-content{padding-top:20px;padding-bottom:20px;justify-content:flex-start}.flow-steps{margin-bottom:20px}.account-screen h1{font-size:2rem}.account-actions{margin-top:26px}.provider-button{min-height:56px}.paywall-heading{padding-top:12px}.paywall-heading h1{font-size:1.7rem}.premium-symbol{display:none}.paywall-heading p{margin:12px 0 19px}.premium-features{gap:12px}.purchase-dock{padding-top:13px;padding-bottom:10px}.plan-option{min-height:65px;padding-top:9px;padding-bottom:9px}.plan-selector{gap:8px;margin-bottom:11px}.billing-disclosure{margin-top:9px}.email-mode .account-content{padding-top:12px}.email-mode h1{font-size:1.8rem}.email-form{margin-top:22px}}
@media(max-width:350px){.account-content,.paywall-content,.purchase-dock,.paywall-toolbar{padding-left:20px;padding-right:20px}.provider-button{font-size:.9375rem}.coverage-selector span{font-size:.75rem;padding:6px 3px}.plan-option{padding-left:10px;padding-right:10px}.plan-price strong{font-size:1rem}.trial-button{font-size:.9375rem}.paywall-heading h1{font-size:1.6rem}}
@media(max-height:480px){.onboarding[data-stage="paywall"]{height:auto;min-height:100svh}.paywall-content{overflow:visible}.paywall-screen{min-height:auto}.purchase-dock{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.flow-screen{animation:none}.button-spinner{animation-duration:1.5s!important}}

.trial-button{position:relative}
.trial-button.is-loading>svg{visibility:hidden}
.checkout-error{font-size:.8125rem;color:#ffd6c8;line-height:1.4;margin:12px 0 0;text-align:center}
.checkout-status-content{padding:56px 24px;text-align:center;margin:auto 0}
.checkout-status-content h1{margin:26px 0 18px}
.checkout-status-message{font-size:1rem;line-height:1.5;color:var(--muted);margin:0 0 26px}
.confirmation-spinner{display:block;width:40px;height:40px;margin:auto;border:3px solid #15d3a930;border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}

html[data-boot] .onboarding>.brand,html[data-boot] .carousel,html[data-boot] .controls{display:none!important}
.boot-cover{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:40px 28px;min-height:70svh}
.boot-cover .confirmation-spinner{margin:0 auto 30px}
.boot-cover h1{font-size:2rem;letter-spacing:-.04em;line-height:1.15;margin:0}
.boot-cover h1 span{color:var(--teal)}
.boot-cover p{color:var(--muted)}
html[data-boot="account"] .boot-cover{display:flex!important}
html[data-boot="account"] .flow-screen,html[data-boot="account"] .success-screen{display:none!important}
.onboarding.account-preparing{height:100svh;min-height:0}
.account-preparing>.brand,.account-preparing #account-screen{display:none!important}
.account-preparing #paywall-screen{display:flex!important}
.account-welcome{display:flex;gap:11px;align-items:center;padding:14px;margin:6px 0 12px;border:1px solid #41e0b735;border-radius:18px;background:linear-gradient(120deg,#1b53494d,#19354b66);animation:welcome-arrive .55s var(--ease)}
.account-welcome:focus{outline:none}
.account-welcome strong{display:block;font-size:.875rem;font-weight:600;color:#e8fff7}
.account-welcome p{font-size:.75rem;line-height:1.45;color:#a9c9c6;margin:4px 0 0}
.welcome-mark{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#15d3a923;color:var(--teal)}
.welcome-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;animation:welcome-check .6s ease both}
.setup-spinner{display:none;flex-shrink:0;width:17px;height:17px;margin-left:auto;border:2px solid #15d3a92c;border-top-color:var(--teal);border-radius:50%;animation:spin .9s linear infinite}
.is-preparing .setup-spinner{display:block}
.account-welcome:not([hidden])+.paywall-heading{padding-top:5px}
.account-welcome:not([hidden])+.paywall-heading .premium-symbol{display:none}
.account-preparing .trial-button:disabled{opacity:.5;cursor:wait}
@keyframes welcome-arrive{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes welcome-check{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@media(min-width:600px){.onboarding.account-preparing{height:min(880px,calc(100svh - 56px))}}
@media(prefers-reduced-motion:reduce){.account-welcome,.welcome-mark svg{animation:none}.setup-spinner,.confirmation-spinner{animation-duration:1.5s}}

.account-created-screen,.setup-wait-screen{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:radial-gradient(ellipse at 50% 35%,#19574f55,transparent 65%),var(--navy)}
.account-created-screen h1,.setup-wait-screen h1{font-size:2rem;line-height:1.15;letter-spacing:-.04em;margin:26px 0 10px;outline:none}
.account-created-screen p,.setup-wait-screen p{color:var(--muted);line-height:1.5;margin:0}
.setup-wait-screen h1 span{color:var(--teal)}
.setup-wait-screen .confirmation-spinner{margin:0;width:30px;height:30px}
.created-check{display:grid;place-items:center;width:86px;height:86px;border-radius:25px;background:var(--teal);color:#092f29;box-shadow:0 0 65px #15d3a936;animation:tick-pop .5s var(--ease) both}
.created-check svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:50;animation:welcome-check .55s .1s ease both}
.account-created .account-created-screen,.setup-waiting .setup-wait-screen{display:flex!important}
.account-created>.brand,.account-created #account-screen,.setup-waiting>.brand,.setup-waiting #account-screen,.setup-waiting #paywall-screen{display:none!important}
.paywall-toolbar{padding-left:24px}
.signin-reminder{overflow-wrap:anywhere}
@keyframes tick-pop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.created-check,.created-check svg{animation:none}}

.existing-account-download{width:fit-content;max-width:100%;min-height:44px;padding:10px 20px;margin:18px auto 0;gap:10px;text-align:center;text-decoration:none;font-size:.9375rem;font-weight:600;color:#80dfc9;background:#15d3a90d;border:1px solid #80dfc966;border-radius:13px;box-shadow:none}
.existing-account-download:hover{background:#15d3a91c;border-color:#80dfc9;color:var(--text)}
.account-support{margin:16px auto 0;max-width:320px;text-align:center;font-size:.8125rem;line-height:1.6;color:var(--muted)}
.account-support a,.account-support button{font:inherit;color:#80dfc9;text-decoration:none;background:none;border:0;padding:4px 0;cursor:pointer}
.account-support a:hover,.account-support button:hover{color:var(--text)}
.account-support a:focus-visible,.account-support button:focus-visible,.existing-account-download:focus-visible{outline:2px solid #91ffdf;outline-offset:4px;border-radius:4px}
.existing-account-help{display:none}
.account-content:has(.existing-account-download:not([hidden])) .existing-account-help{display:inline}
.account-content:has(.existing-account-download:not([hidden])) .general-account-help{display:none}
