/* Native-source parity revision: shared geometry uses the usable browser viewport. */
.native-progress{isolation:isolate}.native-progress-snapshot{width:100%;max-width:600px;margin:auto!important}.native-progress-snapshot.au-screen{height:100%;overflow:hidden}.native-progress-snapshot .au-editor{overflow:hidden}.native-dots{animation:native-dots 1.5s steps(4,end) infinite;display:inline-block;vertical-align:bottom;overflow:hidden;width:18px}@keyframes native-dots{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.ob-ai{height:var(--native-height)}.ob-ai .ob-nav{position:absolute;top:env(safe-area-inset-top);left:0;right:0;z-index:4;height:50px;pointer-events:none;padding:2px 5px}.ob-ai .ob-nav .ob-back{pointer-events:auto;background:transparent url('assets/native-ui/back-white.png') center/12px 23px no-repeat;color:transparent;width:50px;height:50px;min-width:50px;box-shadow:none;border-radius:0;padding:0;font-size:0}.ob-ai-scroll{padding-top:25px}.ob-eyebrow{padding:0 40px;min-height:16px}.ob-ai h1{margin-top:12px}.ob-ai-footer{padding-top:16px}.ob-ai-footer .ob-primary{background:#087bff;color:#fff;position:relative;padding-right:44px;border-radius:16px;font-size:19px}.ob-ai-footer .ob-primary:after{content:'';position:absolute;right:18px;top:calc(50% - 8px);width:10px;height:16px;background:url('assets/paywall-chevron.png') center/contain no-repeat}.ob-ai .ob-options{margin-top:26px}.onboarding-screen[data-onboarding=intro] .ob-options{margin-top:22px;gap:4px}.onboarding-screen[data-onboarding=intro] .ob-benefit{min-height:43px;padding:6px 10px}.ob-ai-scroll{padding-bottom:18px}
.ob-registration{height:var(--native-height)}.ob-reg-scroll{display:flex;flex-direction:column;scroll-padding-bottom:16px;padding-bottom:calc(24px + var(--native-picker-height))}.ob-reg-scroll>form{flex-shrink:0}.ob-security{display:flex;gap:10px;margin-top:auto;padding:20px 16px 0;color:#687282;font-size:12px;line-height:1.35}.ob-security>span{display:block;background:#77879a;mask:url('assets/onboarding/shield.png') center/contain no-repeat;-webkit-mask:url('assets/onboarding/shield.png') center/contain no-repeat;flex:0 0 20px;height:20px;color:transparent}.ob-security p{font-size:12px}.ob-security button{border:0;background:transparent;color:#007aff;font-size:12px;font-weight:400;text-align:left;padding:4px 0 0;min-height:32px}.ob-genders button{border:.5px solid #d5deeb;background:#f6f8fb;min-height:128px}.ob-genders img{width:44px;height:54px}.ob-genders button[aria-pressed=true]{background:#e8f3ff;border-color:#087bff}.ob-reg-scroll form>.ob-person-card{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:20px 16px;align-items:center}.ob-person-fields{display:grid;gap:12px}.ob-person-card .ob-avatar{font-size:12px;gap:7px;text-align:center}.ob-person-card .ob-avatar img{width:76px;height:76px}.ob-person-card #ob-cities{grid-column:1/-1}.ob-person-card .ob-auth-field input{font-size:15px;padding-left:36px}.ob-person-card .ob-auth-field>.ob-icon{left:10px;width:18px}.ob-person-fields .ob-auth-field:last-child .ob-icon{mask:url('assets/native-ui/city.png') center/contain no-repeat;-webkit-mask:url('assets/native-ui/city.png') center/contain no-repeat}
.ob-auth .ob-reg-scroll h1{font-size:24px;line-height:1.2;font-weight:700;margin-bottom:24px}.ob-auth .ob-forgot{align-self:center;font-size:14px;font-weight:400;margin-top:12px}.ob-auth .ob-support{font-size:15px}.ob-auth .ob-reg-scroll{padding-top:26px}.ob-auth .ob-card{border-radius:22px}.ob-card{border-color:#b9c9df70}.ob-info{border-color:#77b9ff66}.ob-nav .ob-back,.ob-nav .ob-next{border-radius:18px}.onboarding-screen[aria-busy=true]:after{display:none}
.au-screen{height:var(--native-height);min-height:var(--native-height)!important;overflow:hidden!important;display:flex!important;flex-direction:column}.au-editor{overflow:auto;flex:1;min-height:0;padding-bottom:calc(32px + var(--native-picker-height));scroll-padding-bottom:20px}.au-nav{height:calc(54px + env(safe-area-inset-top));flex-shrink:0;padding-top:calc(6px + env(safe-area-inset-top))}.au-identity{display:flex;align-items:center;gap:20px;min-height:140px;padding:14px 18px}.au-edit-avatar{height:auto;flex:0 0 100px;font-size:13px}.au-edit-avatar img{width:100px;height:100px}.au-identity-email{font-size:16px;font-weight:300;overflow-wrap:anywhere;min-width:0}.au-row{gap:8px;padding:0 18px}.au-row>span{white-space:nowrap;min-width:0;max-width:none;flex-shrink:0;font-size:15px}.au-row input,.au-row select{text-align:left}.au-row select{width:auto;flex:1;text-overflow:ellipsis}.au-row input{flex:1}.au-row .native-date-field{flex:1}.au-row .native-date-button{padding:6px 0}.au-row .native-field-icon{display:none}.au-profile{min-height:180px}.au-profile p{white-space:nowrap;font-size:clamp(10px,3.3vw,16px);overflow:hidden;text-overflow:ellipsis}.au-menu .au-big{margin-top:20px}.au-menu .au-big[data-action=retake-menu]{margin-top:35px}.au-screen[aria-busy=true]:after,.au-screen[aria-busy=true] .au-nav:after{display:none}.au-password-toggle{white-space:nowrap;font-weight:400}
.native-password{position:fixed;inset:0;margin:0 auto;border:0;padding:0;width:min(600px,100vw);max-width:100vw;height:var(--native-height);max-height:100dvh;background:#fff;color:#000;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.native-password nav{height:54px;display:flex;align-items:center;justify-content:center}.native-password nav h2{font-size:17px}.native-password nav button{position:absolute;left:12px;border:0;background:transparent;color:#007aff;font-size:17px}.native-password form{position:absolute;top:calc(50% - 20px);left:50px;right:50px;transform:translateY(-50%);display:grid;gap:15px}.native-password .password-error{margin:0;min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;color:red;font-size:17px}.native-password input[type=password]{width:100%;box-sizing:border-box;background:#e8e8ea url('assets/native-ui/unlocked.png') no-repeat 13px center;background-size:25px 24px;border:0;border-radius:20px;padding:8px 12px 8px 47px;height:40px;font-size:17px}.native-password input.invalid{background-color:#fec5c2}.native-password input:focus{background-color:#d0eaff;outline:1px solid #007aff55}.native-password form button{border:0;border-radius:20px;font-size:17px;font-weight:600;min-height:40px;height:40px;margin-top:32px;padding:0 8px}.native-password::backdrop{background:#0005}.password-hud{position:absolute;inset:0;display:grid;place-items:center;background:#ffffff55}.password-hud .native-spinner{position:static;width:36px;height:36px;border-color:#9995;border-top-color:#666}.native-password[aria-busy=true] nav button{pointer-events:none}
@media(max-height:740px){.onboarding-screen[data-onboarding=intro] .ob-ai h1{font-size:28px}.onboarding-screen[data-onboarding=intro] .ob-subtitle{font-size:15px}.onboarding-screen[data-onboarding=intro] .ob-options{margin-top:16px;gap:2px}.onboarding-screen[data-onboarding=intro] .ob-benefit{min-height:36px;font-size:17px}.onboarding-screen[data-onboarding=intro] .ob-benefit .ob-icon{width:24px;height:24px}.ob-ai-footer{padding-top:10px}.ob-ai-scroll{padding-bottom:10px}}
@media(max-width:350px){.au-identity{gap:12px;padding:12px}.au-edit-avatar{flex-basis:80px}.au-edit-avatar img{width:80px;height:80px}.au-row{padding:0 12px}.au-row>span{font-size:13px}.au-row input,.au-row select{font-size:14px}.ob-reg-scroll form>.ob-person-card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:16px 12px}.ob-person-card .ob-avatar img{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.native-dots{animation:none}}

.account-bg{background:#b2c1ce}.native-account-snapshot{position:absolute!important;inset:-27px!important;width:calc(100% + 54px);height:calc(100% + 54px);max-width:none!important;min-height:0!important;filter:blur(27px);z-index:-1;pointer-events:none;overflow:hidden!important;transform:scale(1.04);opacity:.8}.native-account-snapshot .section-card{min-height:160px}.account-bg:has(.native-account-snapshot){isolation:isolate}

.ob-reg-scroll h1{font-size:28px;margin-bottom:10px}.ob-description{font-size:16px;line-height:1.25}.ob-security{background:#fff;border:.5px solid #b9c9df70;border-radius:18px;padding:14px 16px 12px;margin-top:24px;min-height:105px;flex-shrink:0}.ob-reg-scroll>form{margin-bottom:auto}.ob-reg-scroll:has(#ob-biorhythm)>form{gap:24px}.ob-reg-scroll:has(#ob-biorhythm) .ob-card:first-child{padding:14px}.ob-reg-scroll:has(#ob-biorhythm) .ob-card:nth-child(2){padding:17px 12px 14px;gap:10px}.ob-reg-scroll:has(#ob-biorhythm) .ob-card h2{padding-left:6px}.native-date-button{background:#f3f6fa;border:.5px solid #cbd5e2;border-radius:14px;min-height:46px}.au-row .native-date-button{background:transparent;border:0}.ob-reg-scroll:has(.ob-person-card) .ob-info h2{font-size:14px}.ob-reg-scroll:has(.ob-person-card) .ob-info .ob-icon{width:18px;height:18px}
body:has(.au-screen),body:has(.account-bg){overflow-x:hidden}

.palmist-alert{background:linear-gradient(135deg,#f8f9faf5,#e9eef1f2)}.native-progress-snapshot{filter:blur(27px) brightness(.68) saturate(1.3)}.native-progress.check-only .native-progress-snapshot{filter:blur(5px) brightness(.8)}.native-field-icon.calendar{background:#e0eafa;position:relative}.native-field-icon.calendar:after{content:'';position:absolute;inset:5px;background:#007aff;mask:url('assets/native-ui/calendar.png') center/contain no-repeat;-webkit-mask:url('assets/native-ui/calendar.png') center/contain no-repeat}

/* Personal values share the native cell's fixed text-field start. */
.au-row:not(.au-single){display:grid;grid-template-columns:110px minmax(0,1fr);gap:5px}.au-row:not(.au-single)>span{width:110px;overflow:hidden;text-overflow:ellipsis}.au-row:not(.au-single)>input,.au-row:not(.au-single)>select{width:100%;min-width:0}.au-row.au-single{display:block;padding:0 18px}.au-single>select{display:block;width:100%;font-size:17px;min-height:50px}.au-single>select:has(option[value=""]:checked){color:#a2a6ae}.au-single option{color:#000}.au-identity-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:16px}.au-avatar-empty{background:#e7f2ff;border:1px dashed #86baff;border-radius:50%;width:100px;height:100px;position:relative;color:#007aff}.au-avatar-empty>img{visibility:hidden;position:absolute}.au-avatar-empty:before{content:'';width:25px;height:22px;background:#007aff;mask:url('assets/native-ui/camera.png') center/contain no-repeat;-webkit-mask:url('assets/native-ui/camera.png') center/contain no-repeat}.au-avatar-empty .au-photo-label{font-size:14px}.palmist-alert{background:linear-gradient(135deg,#f4f5f6,#e7ebef);border:1px solid #ffffffc9;backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px)}
@media(max-width:350px){.au-row:not(.au-single){grid-template-columns:100px minmax(0,1fr)}.au-row:not(.au-single)>span{width:100px}.au-avatar-empty{width:80px;height:80px}}

.ob-avatar-empty{width:80px;height:94px;border-radius:18px;background:#e8f3ff;border:1px dashed #85b9ff;justify-content:center;position:relative}.ob-avatar-empty>img{visibility:hidden;position:absolute}.ob-avatar-empty:before{content:'';width:24px;height:22px;background:#007aff;mask:url('assets/native-ui/camera.png') center/contain no-repeat;-webkit-mask:url('assets/native-ui/camera.png') center/contain no-repeat}.ob-person-card .ob-avatar-empty span{font-size:12px}.ob-person-card .ob-auth-field input{border-radius:14px}.ob-person-card #ob-cities{grid-column:2}.ob-reg-scroll>form .ob-person-card{align-items:start}.ob-reg-scroll>form .ob-person-card .ob-avatar{margin-top:0}@media(max-width:350px){.ob-avatar-empty{width:64px;height:94px}}
/* Remove UA select insets so glyphs and text share the input baseline. */
.au-row select{-webkit-appearance:none;appearance:none;height:50px;line-height:50px;padding:0 24px 0 0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='16' viewBox='0 0 10 16'%3E%3Cpath d='M2 5L5 2L8 5M2 11L5 14L8 11' fill='none' stroke='%2365707f' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center/10px 16px no-repeat}

/* v52: native auth geometry, explicit summary action, keyboard-safe fields. */
.ob-auth .ob-reg-scroll>form{margin-bottom:0}.ob-auth .ob-forgot{margin-top:16px;min-height:40px}.ob-auth .ob-auth-field input{border-radius:14px;font-size:16px;padding-left:54px;height:46px}.ob-auth form .ob-primary{border-radius:20px}.ob-auth .ob-auth-field>.ob-icon{left:16px;top:14px;width:18px;height:18px;color:#087bff}.ob-auth .ob-auth-field:before{content:'';position:absolute;left:10px;top:8px;width:30px;height:30px;border-radius:9px;background:#087bff17;pointer-events:none}.ob-auth .ob-support{flex-shrink:0}.ob-auth .ob-reg-scroll h1{font-size:28px}.onboarding-screen[data-onboarding=signin] .ob-reg-scroll h1{font-size:28px;margin-bottom:34px}.ob-ai-footer .ob-secondary{display:block;width:100%;min-height:48px;margin-top:10px;border-radius:14px;border:.7px solid #ffffff2e;background:#ffffff14;color:#ffffffe6;font-size:17px;font-weight:600}.ob-option:not(.compact).selected{border:.7px solid #64646473}.ob-welcome-action>span{top:50%;transform:translateY(-50%);width:9px;height:16px;font-size:0;background:url('assets/paywall-chevron.png') center/contain no-repeat;right:19px}.native-progress.check-only .native-progress-snapshot{filter:blur(18px) brightness(.7)}.native-progress.check-only{background:#0005;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}
.ob-person-card .ob-auth-field input,.au-row input,.au-row select,.au-group textarea{font-size:16px!important}.ob-person-card .ob-auth-field input{height:46px}.ob-person-card #ob-cities{gap:0;border-radius:12px;background:#f3f6fa;scrollbar-width:thin;overscroll-behavior:contain}.ob-person-card #ob-cities button{border-radius:0;background:transparent;min-height:36px;padding:7px 10px;font-size:14px}.ob-person-card .ob-avatar-empty{border-radius:50%;height:80px}.native-policy{height:var(--native-height);max-height:var(--native-height);overflow-y:auto}.native-policy header{z-index:1}.native-password nav button{background:#fafafa;border:.5px solid #ddd;border-radius:20px;padding:7px 12px}.native-password form button{box-shadow:0 10px 20px #0002}
/* Keep the registration/editor viewport at the visual viewport origin when Safari pans for the keyboard. */
body.native-keyboard-open .onboarding-screen:has(.ob-registration),body.native-keyboard-open .au-screen{height:var(--native-height);min-height:var(--native-height)!important}

.ob-ai.has-more-options:after{content:'';position:absolute;bottom:0;left:0;right:0;height:24px;pointer-events:none;background:url('assets/paywall-chevron.png') center 6px/7px 12px no-repeat,linear-gradient(transparent,#050507cc);transform:none}.ob-ai.has-more-options:after{background-image:linear-gradient(transparent,#050507cc)}.ob-ai.has-more-options:before{top:auto;right:auto;display:block;content:'';position:absolute;left:calc(50% - 4px);bottom:5px;width:8px;height:8px;border-right:1.5px solid #ffffffb3;border-bottom:1.5px solid #ffffffb3;transform:rotate(45deg);z-index:2;background:none;pointer-events:none}

.ob-person-fields .ob-auth-field:before{content:"";position:absolute;left:10px;top:8px;width:30px;height:30px;background:#087bff17;border-radius:9px;pointer-events:none}.ob-person-fields .ob-auth-field>.ob-icon{left:16px;top:14px;width:18px;height:18px;color:#087bff}.ob-person-fields .ob-auth-field input{padding-left:54px}.ob-security>span{background:#28a582}

/* Join the decorative AI background to Safari's solid system-bar tint without moving content. */
.ob-top-blend{position:absolute;top:0;left:0;right:0;height:48px;background:linear-gradient(to bottom,var(--chrome-edge-color) 0,var(--chrome-edge-color) 2px,transparent 100%);pointer-events:none;z-index:0}.ob-ai-scroll{position:relative;z-index:1}

/* Native image contains its own circular close button. */
.native-policy header button{border:0;background:transparent;padding:0;display:grid;place-items:center}.native-policy header button img{width:100%;height:100%;object-fit:contain}.ob-reg-scroll{min-height:0}.ob-person-card{scroll-margin-block:12px}

/* The portrait label opens the explicit camera/library chooser. */
.ob-avatar input[type=file],.au-edit-avatar input[type=file]{pointer-events:none}
/* The inner 100dvh container must shrink too: Safari keeps dvh behind its keyboard. */
body.native-keyboard-open .onboarding-screen:has(.ob-registration),body.native-keyboard-open .au-screen{position:fixed;top:var(--native-top);left:0;right:0;margin-inline:auto;max-width:600px;width:100%;height:var(--native-height);overflow:hidden}
body.native-keyboard-open .ob-registration{height:100%;min-height:0;padding-top:0}
body.native-keyboard-open .ob-reg-scroll{min-height:0;scroll-padding-block:12px;padding-bottom:18px}
body.native-keyboard-open .ob-security{margin-top:20px}
