/* A complete entry screen always fits the available browser viewport. */
.auth-body{--entry-cream:#fff;--entry-ink:#20242b;--entry-muted:#949aa3;--entry-orange:#f6a21b;background:#fff;color:var(--entry-ink);overflow:hidden;overscroll-behavior:none}
.entry-stage{height:var(--entry-height,100dvh);display:grid;place-items:center;padding:0;min-height:0}
.entry-card{--entry-pad:26px;--entry-button-h:49px;--auth-field-h:48px;width:100%;max-width:430px;height:100%;min-height:0;display:flex;flex-direction:column;position:relative;isolation:isolate;background:#fff;overflow:hidden}
.entry-card h1{color:var(--entry-ink);font-size:29px;font-weight:850;line-height:1.55;letter-spacing:-.8px}.entry-card p{color:var(--entry-muted)}
.entry-button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:var(--entry-button-h);padding:10px 18px;border-radius:16px;font-size:13px;font-weight:700;text-align:center;line-height:1.7;transition:background .18s,transform .18s,box-shadow .18s;flex:none}
.entry-button:hover{transform:translateY(-1px)}.entry-primary{background:#202126;color:#fff;border:1px solid #202126}.entry-primary:hover{background:#35363c;box-shadow:0 5px 14px #23282e0d}.entry-primary:disabled{opacity:.65;cursor:wait;transform:none}.entry-secondary{background:#fff;border:1px solid #dce0e5;color:#555c66;font-size:12px}.entry-secondary:hover{background:#f7f8fa;border-color:#b8bec6}
.entry-button:focus-visible,.entry-card a:focus-visible,.entry-card button:focus-visible{outline:3px solid #e9b859;outline-offset:3px}.entry-card button,.entry-card a{-webkit-tap-highlight-color:transparent}
.entry-welcome{padding:12px var(--entry-pad) max(24px,env(safe-area-inset-bottom));justify-content:space-between}.welcome-art{position:relative;flex:1;min-height:0;max-height:58%;margin:0 calc(-1 * var(--entry-pad));overflow:hidden}.welcome-art>img{z-index:1;position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(105%,430px);height:100%;max-width:none;object-fit:contain}.welcome-art::after{z-index:2;content:'';position:absolute;bottom:-1px;left:0;right:0;height:40px;background:linear-gradient(transparent,#fff)}.art-cloud{position:absolute;display:block;pointer-events:none;z-index:0;border-radius:50%}.cloud-one{width:115%;height:95%;left:-8%;top:3%;background:radial-gradient(ellipse,#ffe2a1cc 0%,#ffedc585 40%,#fff4dc38 62%,transparent 76%)}.cloud-two{width:55%;aspect-ratio:1;right:-16%;top:10%;background:radial-gradient(circle,#ffd9e6ad 0%,#ffe9ed66 56%,transparent 73%)}.cloud-three{width:66%;aspect-ratio:1;left:-22%;bottom:-6%;background:radial-gradient(circle,#ffd779bd 0%,#ffeab373 52%,transparent 73%)}.welcome-bottom{flex:none;text-align:center;padding-top:6px}.entry-card .persian-wordmark{font-size:43px;line-height:1.25;font-weight:900;letter-spacing:-1.8px}.entry-card .english-wordmark{font-family:Arial,Vazirmatn,sans-serif;direction:ltr}.persian-wordmark>span,.small-wordmark>span{color:var(--entry-orange)}.welcome-tagline{font-size:14px;line-height:1.55;margin-top:11px}.welcome-buttons{display:grid;gap:10px;margin-top:23px}
.intro-copy{padding:22px var(--entry-pad) 0;position:relative;z-index:2;flex:none}.intro-copy h1{font-size:37px;line-height:1.35;font-weight:900;letter-spacing:-1.4px}.intro-copy h1>span{color:var(--entry-orange)}.intro-copy p{font-size:15px;line-height:1.85;margin-top:17px;color:#969ca4}.intro-mascot{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;z-index:0}.intro-mascot>img{z-index:1;position:absolute;bottom:-9%;width:min(112%,450px);height:108%;left:50%;transform:translateX(-50%) rotate(-10deg);max-width:none;object-fit:contain}.intro-mascot::after{z-index:3;content:'';position:absolute;bottom:0;left:0;right:0;height:34px;background:linear-gradient(transparent,#fff)}.intro-heart{position:absolute;z-index:2;color:#ffae27;font-size:23px}.heart-one{right:31px;top:32%;transform:rotate(20deg)}.heart-two{left:26px;bottom:20%;transform:rotate(-25deg);font-size:18px;color:#ff8392}.intro-spark{z-index:2;position:absolute;left:30px;top:14%;font-size:36px;color:#ffc254;transform:rotate(-12deg)}
.intro-controls{z-index:3;margin-top:auto;display:grid;grid-template-columns:1fr auto;align-items:center;direction:ltr;padding:13px var(--entry-pad) max(23px,env(safe-area-inset-bottom));flex:none;min-height:82px}.entry-pagination{justify-self:start;display:flex;align-items:center;gap:8px;direction:ltr;padding:11px 3px}.entry-pagination>a{height:7px;width:7px;background:#dce0e5;border-radius:50%;display:block;position:relative}.entry-pagination>a::before{content:'';position:absolute;inset:-10px}.entry-pagination>a.current{background:var(--entry-orange)}.entry-next{justify-self:end;height:49px;width:49px;display:grid;place-items:center;border-radius:50%;background:#202126;color:#fff;flex:none;font-size:19px}.entry-next:hover{background:#35363c}.entry-next .bi{direction:ltr;transform:none}.intro-connections-art{display:flex;justify-content:center;align-items:center;height:clamp(120px,27dvh,220px);margin-top:22px;flex:none}.intro-connections-art>img{width:75%;max-width:255px;height:100%;object-fit:contain}.intro-copy.centered{text-align:center;padding:24px var(--entry-pad) 0}.intro-copy.centered h1{font-size:35px;line-height:1.4}.intro-copy.centered p{font-size:15px;line-height:1.85;margin-top:16px}
.entry-form-content{display:flex;flex-direction:column;flex:1;min-height:0;padding:clamp(14px,4dvh,34px) var(--entry-pad) max(24px,env(safe-area-inset-bottom))}.entry-form-heading{text-align:center;margin:0 0 25px;flex:none}.entry-form-heading h1{font-size:28px;line-height:1.55}.entry-form-heading>p{font-size:12px;line-height:1.8;margin-top:8px}.social-signin{display:grid;gap:10px;flex:none}.social-button{background:#fff;border:1px solid #e7eaf0;min-height:46px;font-size:12px;position:relative;border-radius:14px}.social-button:hover{background:#f8f9fb;border-color:#cdd3dc}.social-button>.bi{position:absolute;right:18px;font-size:21px;color:#24262a}.social-button .bi-google{color:#4285f4}.social-button .bi-google::before{background:conic-gradient(#4285f4 0deg 100deg,#34a853 100deg 180deg,#fbbc05 180deg 240deg,#ea4335 240deg 300deg,#4285f4 300deg);background-clip:text;-webkit-background-clip:text;color:transparent}.auth-divider{display:flex;align-items:center;justify-content:center;gap:12px;min-height:13px;margin:22px 0;color:#b2b8c1;font-size:10px;line-height:1;flex:none}.auth-divider>span:not(:nth-child(2)){height:1px;flex:1;background:#edf0f4}
.auth-form{display:flex;flex-direction:column;gap:13px;flex:none}.auth-field{min-height:0}.auth-input{background:#fff;border:1px solid #e3e7ed;border-radius:14px;display:flex;align-items:center;gap:11px;padding:0 14px;min-height:var(--auth-field-h);transition:border-color .2s,box-shadow .2s}.auth-input>.bi{font-size:18px;color:#9ba3af;flex:none}.auth-input input{border:0;background:transparent;color:#303640;min-width:0;width:100%;font-size:16px;line-height:1.6;padding:10px 0;outline:none;direction:rtl}.auth-input input::placeholder{font-family:Vazirmatn,Tahoma,sans-serif;color:#aab1ba;opacity:1;font-size:11px;direction:rtl;text-align:right}.auth-input:focus-within{box-shadow:none}.auth-input input[type=email]:not(:placeholder-shown){direction:ltr;text-align:left}.auth-input input[type=password]:not(:placeholder-shown),.auth-input input[data-password-visible]:not(:placeholder-shown){direction:ltr;text-align:left}.password-toggle{width:28px;height:33px;display:grid;place-items:center;padding:0;flex:none;color:#aab1ba;font-size:17px;border-radius:8px}.password-toggle:hover{background:#f5f7fa;color:#626b79}.password-toggle[aria-pressed=true]{color:#bb9144}.auth-input.has-error{border-color:#d9827f;background:#fffafa}.field-error{font-size:9px!important;color:#c36060!important;line-height:1.6;padding:4px 3px 0}.password-hint{display:block;color:#aeb5bf;font-size:9px;margin:7px 3px 0}.password-strength{display:flex;align-items:center;gap:4px;margin-top:7px;padding:0 3px}.password-strength>span{height:3px;width:27px;background:#e9edf2;border-radius:4px}.password-strength[data-strength="1"]>span:first-child{background:#dca05d}.password-strength[data-strength="2"]>span:nth-child(-n+2){background:#dfb44b}.password-strength[data-strength="3"]>span{background:#66ac7e}.password-strength>small{font-size:8px;color:#a3acb8;margin-right:4px}.auth-submit{margin-top:14px}.auth-consent{font-size:9px;line-height:1.8;text-align:center;margin-top:19px;color:#a5adb9!important;flex:none}.auth-consent button{color:#747f8e;padding:0;font-size:inherit;text-decoration:underline;text-decoration-color:#cbd1db;text-underline-offset:3px}.auth-consent button:hover{color:#b18231}.auth-switch{font-size:10px;text-align:center;margin-top:auto;padding-top:22px;color:#a5adb9!important;flex:none}.auth-switch a{color:#bf8c30;font-weight:700;margin-right:4px}.auth-switch a:hover{text-decoration:underline;text-underline-offset:4px}.remember-me{display:flex;align-items:center;gap:8px;font-size:10px;color:#949eac;cursor:pointer;padding:1px 3px}.remember-me input{accent-color:#d6a448;width:14px;height:14px;margin:0}.entry-login .auth-submit{margin-top:6px}.auth-notice,.auth-error-summary{display:flex;align-items:flex-start;gap:8px;border-radius:11px;padding:9px 11px;font-size:10px;line-height:1.8;margin-bottom:15px;flex:none}.auth-notice{border:1px solid #d9e9da;background:#f4faf4;color:#688e66}.auth-error-summary{border:1px solid #efd8d8;background:#fff5f3;color:#b77461}.auth-notice>.bi,.auth-error-summary>.bi{margin-top:3px;flex:none;font-size:13px}
.button-loader{width:16px;height:16px;border:2px solid #ffffff45;border-top-color:#fff;display:block;border-radius:50%;animation:button-spin .7s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-js-note{font-size:9px;text-align:center;margin-top:8px}
.entry-goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:24px}.entry-goal{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:115px;padding:12px 7px;border:1px solid #e5e9ef;border-radius:17px;background:#fff;cursor:pointer;transition:.2s}.entry-goal:hover{border-color:#ddc28a}.entry-goal input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.entry-goal:has(input:checked){background:#fff7e6;border-color:#ebc378}.entry-goal:has(input:focus-visible){outline:2px solid #e6ba64;outline-offset:3px}.entry-goal .quick-icon{width:38px;height:38px;border-radius:12px;font-size:21px}.entry-goal strong{font-size:10px;font-weight:600}.entry-goal-check{position:absolute;top:9px;left:9px;color:#d8a147;opacity:0;font-size:12px}.entry-goal:has(input:checked) .entry-goal-check{opacity:1}.entry-goals .auth-consent{margin-top:17px}.auth-body .toast-region{bottom:24px}.auth-body dialog{background:#fff;border-radius:22px}.auth-body .dialog-top .eyebrow{letter-spacing:0;font-size:12px}.auth-body #dialog-content h2{font-size:22px}.auth-body #dialog-content p{line-height:2.1}
@media(min-width:600px){.entry-stage{padding:24px}.entry-card{height:min(850px,calc(var(--entry-height,100dvh) - 48px));border:1px solid #edf0f4;border-radius:27px;box-shadow:0 12px 40px #1f293707}}
@media(max-height:740px){.entry-card{--entry-pad:24px;--entry-button-h:46px;--auth-field-h:44px}.entry-welcome{padding-top:8px;padding-bottom:max(19px,env(safe-area-inset-bottom))}.entry-card .persian-wordmark{font-size:40px}.welcome-tagline{font-size:13px;margin-top:9px}.welcome-buttons{margin-top:20px;gap:9px}.intro-copy{padding-top:17px}.intro-copy h1{font-size:33px}.intro-copy p{font-size:14px;line-height:1.8;margin-top:14px}.intro-controls{min-height:74px;padding-top:11px;padding-bottom:18px}.entry-next{width:46px;height:46px}.intro-connections-art{height:clamp(115px,25dvh,180px);margin-top:16px}.intro-copy.centered{padding-top:20px}.intro-copy.centered h1{font-size:31px}.intro-copy.centered p{font-size:13px;margin-top:13px}.entry-form-content{padding-top:18px;padding-bottom:20px}.entry-form-heading{margin-bottom:20px}.entry-form-heading h1{font-size:26px}.entry-form-heading>p{font-size:11px;margin-top:6px}.social-button{min-height:43px;font-size:11px}.social-signin{gap:9px}.auth-divider{margin:17px 0}.auth-form{gap:11px}.auth-submit{margin-top:12px}.auth-consent{margin-top:16px}.auth-switch{padding-top:18px}.entry-goal{min-height:100px;gap:10px}.entry-goal-grid{gap:10px;margin-bottom:20px}}
@media(max-height:660px){.entry-card{--entry-pad:21px;--entry-button-h:43px;--auth-field-h:40px}.entry-card .persian-wordmark{font-size:37px}.welcome-tagline{font-size:12px;line-height:1.5;margin-top:8px}.welcome-buttons{margin-top:18px;gap:9px}.entry-welcome{padding-top:7px;padding-bottom:16px}.intro-copy{padding-top:14px}.intro-copy h1{font-size:28px;line-height:1.35}.intro-copy p{font-size:12px;line-height:1.75;margin-top:11px}.intro-controls{min-height:66px;padding-top:9px;padding-bottom:14px}.entry-next{width:42px;height:42px;font-size:17px}.intro-connections-art{height:130px;margin-top:12px}.intro-copy.centered{padding-top:18px}.intro-copy.centered h1{font-size:28px}.intro-copy.centered p{font-size:12px;line-height:1.75;margin-top:11px}.entry-form-content{padding-top:12px;padding-bottom:16px}.entry-form-heading{margin-bottom:17px}.entry-form-heading h1{font-size:24px}.entry-form-heading>p{font-size:10px;line-height:1.7;margin-top:6px}.entry-form-heading>p br{display:none}.social-button{min-height:40px;font-size:10px;border-radius:12px}.social-button>.bi{font-size:18px}.social-signin{gap:8px}.auth-divider{font-size:9px;margin:13px 0;min-height:12px}.auth-form{gap:10px}.auth-input{padding:0 12px;border-radius:12px;gap:9px}.auth-input input{padding:7px 0}.auth-input>.bi{font-size:16px}.auth-input input::placeholder{font-size:10px}.password-hint{font-size:8px;margin-top:5px}.auth-submit{margin-top:10px;font-size:11px}.auth-consent{font-size:8px;line-height:1.7;margin-top:13px}.auth-switch{font-size:9px;padding-top:14px}.password-strength{margin-top:5px}.password-strength>small{font-size:7px}.field-error{font-size:8px!important;padding-top:3px}.auth-notice,.auth-error-summary{font-size:9px;padding:7px 9px;margin-bottom:10px}.entry-goal{min-height:88px;gap:9px}.entry-goal .quick-icon{width:32px;height:32px;font-size:18px}.entry-goal-grid{gap:9px;margin-bottom:17px}.entry-goal strong{font-size:9px}.entry-goals .entry-form-heading h1{font-size:22px}}
@media(max-width:350px){.entry-card{--entry-pad:20px}.intro-copy h1{font-size:29px}.intro-copy.centered h1{font-size:28px}.entry-card .persian-wordmark{font-size:36px}.entry-form-heading h1{font-size:24px}.entry-button{font-size:11px}}
.auth-body.auth-keyboard .entry-form-content{padding-top:8px;padding-bottom:10px}.auth-body.auth-keyboard .entry-form-heading{margin-bottom:12px}.auth-body.auth-keyboard .entry-form-heading h1{font-size:22px}.auth-body.auth-keyboard .entry-form-heading>p,.auth-body.auth-keyboard .social-signin,.auth-body.auth-keyboard .auth-divider,.auth-body.auth-keyboard .auth-consent{display:none}.auth-body.auth-keyboard .auth-switch{padding-top:10px;font-size:9px}.auth-body.auth-keyboard .auth-submit{margin-top:7px}.auth-body.auth-keyboard .auth-notice,.auth-body.auth-keyboard .auth-error-summary{padding:5px 9px;font-size:9px;margin-bottom:8px}
.auth-body.auth-keyboard .entry-form-content{padding-top:6px;padding-bottom:8px}.auth-body.auth-keyboard .entry-form-heading{margin-bottom:8px}.auth-body.auth-keyboard .auth-form{gap:8px}.auth-body.auth-keyboard .auth-submit{margin-top:4px}.auth-body.auth-keyboard .auth-switch{padding-top:8px}.auth-body.auth-keyboard .auth-notice,.auth-body.auth-keyboard .auth-error-summary{margin-bottom:5px}
@media(prefers-reduced-motion:reduce){.button-loader{animation-duration:1.4s!important}}

/* Localized soft halos retain the white page canvas. */
.intro-mascot::before{content:"";position:absolute;inset:5% -12% -4%;pointer-events:none;background:radial-gradient(ellipse at 52% 68%,#ffe1a17a 0%,#fff0cf52 37%,transparent 70%),radial-gradient(ellipse at 86% 28%,#ffdce650 0%,transparent 43%)}
.intro-connections-art{position:relative;isolation:isolate}.intro-connections-art::before{content:"";position:absolute;width:82%;height:125%;top:-10%;border-radius:50%;background:radial-gradient(ellipse,#ffe6b26b 0%,#ffe4e73d 43%,transparent 72%);pointer-events:none;z-index:-1}

/* Intro slides have an open top; navigation stays anchored during transitions. */
.entry-intro{padding-top:max(24px,env(safe-area-inset-top))}
@keyframes entry-content-in{from{opacity:0;transform:translate3d(22px,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes entry-content-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:.12;transform:translate3d(-18px,0,0)}}
@media(prefers-reduced-motion:no-preference){
  .entry-intro>.intro-copy,.entry-intro>.intro-mascot,.entry-intro>.intro-connections-art,.entry-register>.entry-form-content{animation:entry-content-in .42s cubic-bezier(.22,1,.36,1) both}
  .entry-intro>.intro-mascot{animation-delay:55ms}
  .entry-intro>.intro-copy.centered{animation-delay:45ms}
  .entry-card.entry-leaving>:not(.intro-controls){animation:entry-content-out .16s ease-in both}
}
.entry-card.entry-leaving .intro-controls,.entry-card.entry-leaving .welcome-buttons{pointer-events:none}
