/* Public welcome page: approved layout, preserving authentication controls. */
html body{min-height:100dvh;height:auto;background:radial-gradient(ellipse at 29% 76%,#e7dbfa70,transparent 64%),#faf9fd;display:flex;flex-direction:column;color:#242037;font-family:Arial,sans-serif}
body>.welcome-header{padding:26px max(4vw,24px);border:0;background:transparent!important}
.welcome-header .official-logo{width:174px}
body>.welcome{width:100%;max-width:1560px;min-height:0;height:auto;flex:1 0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(350px,.9fr);grid-template-rows:auto;gap:clamp(32px,5vw,80px);align-items:center;padding:28px max(4vw,24px) 18px;background-image:none}
.welcome,.welcome button,.welcome input,.welcome select{font-family:Arial,sans-serif}
.welcome .welcome-experience{position:relative;align-self:center;height:auto;padding:0;min-width:0}
.welcome-experience .welcome-copy{position:relative;inset:auto;display:block;padding:0;max-width:none}
.welcome-copy h1{font-size:clamp(38px,3.5vw,56px);font-weight:600;letter-spacing:-1.8px;line-height:1.09;max-width:590px}
.welcome-copy .intro{font-size:17px;letter-spacing:0;line-height:1.5;margin:16px 0 22px;color:#8a829d}
.welcome .welcome-discovery-tabs{max-width:510px;gap:18px}
.welcome-discovery-tabs button{font-family:Arial,sans-serif;font-size:15px;font-weight:500;letter-spacing:0;padding:12px 2px 14px;border-bottom:2px solid #e5dfee;color:#958ba5}
.welcome-discovery-tabs button[aria-selected=true]{border-bottom-color:#8139f8;color:#8139f8}
.welcome .welcome-scene{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;row-gap:42px;height:auto;max-width:680px;margin:28px -16px 0 0}
/* One decorative layer keeps the same dimensions in both themes. CSS selects
   only the active artwork before paint, even while welcome.js is loading. */
.welcome .welcome-social-globe{position:relative;inset:auto;grid-column:1;grid-row:2;width:100%;height:auto!important;max-height:none;aspect-ratio:3/2;margin-top:-21.224%;background:url("welcome-scene-soft.png") center/100% 100% no-repeat;animation:none}
.welcome .welcome-example{position:relative;grid-column:1;grid-row:1;min-width:0;width:min(330px,100%);max-width:100%;padding:18px 20px;gap:14px;border-radius:22px;background:#fff;box-shadow:0 10px 36px #5b3c8520}
.welcome-example strong{font-size:15px;font-weight:600;letter-spacing:0;color:#30283f}
.welcome-example p{font-size:13px;letter-spacing:0;color:#93879e}
.welcome-example-icon img{width:44px;height:44px}
html .welcome-example.welcome-example-anchored{top:0;left:var(--woman-bubble-left);right:auto}
html body .welcome .registration{width:100%;max-width:470px;grid-column:2;grid-row:1;align-self:center;transform:none;padding:34px 30px 26px;margin:0 auto;background:#fff!important;border:1px solid #eee8f7;border-radius:24px;box-shadow:0 18px 60px #73519b0d}
.registration .dialog-heading h2{font-size:32px;font-weight:600;letter-spacing:-.8px;line-height:1.2;color:#262036}
.registration .registration-intro{font-size:15px;line-height:1.5;letter-spacing:0;margin:10px 0 26px;color:#92889f}
.welcome-expired{display:flex;align-items:center;gap:13px;padding:15px 16px;margin:0 0 23px;background:#f2eefc;border:1px solid #ede7fa;border-radius:12px;color:#8262af;font-size:13px;line-height:1.5}
.welcome-expired svg{width:24px;height:24px;flex:none}
.welcome-expired strong{display:block;font-weight:600;color:#7952af}
.welcome-expired p{margin:3px 0 0;color:#9586aa}
.registration .auth-fields{gap:14px}
#phoneForm>label{display:block;position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip-path:none;white-space:normal;font-size:12px;font-weight:500;line-height:18px;color:#30263e}
.registration .phone-row{min-height:55px;border:1px solid #e5deed;border-radius:11px;background:#fff}
.registration .phone-row input{font-size:16px;color:#30263e}
.registration .phone-row input::placeholder{color:#ada4b8}
.registration .pill-button{border-radius:11px;min-height:52px;font-size:15px;font-weight:600}
.registration .pill-button.primary{background:linear-gradient(105deg,#9652fa,#7930ed);box-shadow:0 4px 12px #8439f51c;color:white}
#sendSMS{position:relative;display:flex;align-items:center;justify-content:center;padding-left:54px;padding-right:54px;text-align:center}
#sendSMS::before{content:none}
#sendSMS::after{content:'';position:absolute;right:24px;top:50%;transform:translateY(-50%);width:20px;height:20px;pointer-events:none;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.welcome-sms-note{text-align:center;margin:0;font-size:12px;color:#a79caf;line-height:1.6}
.registration #lostPhone{display:block;margin:16px auto 0;font-size:12px;color:#9585aa}
.registration #recaptchaContainer{overflow:visible;height:auto;max-height:none;padding:2px 0;transform:none}
.registration #recaptchaContainer iframe{display:block}
@media(max-width:380px){.registration #recaptchaContainer{zoom:.85}}
.registration[data-screen=error] #sheetBody{display:grid;gap:10px}
.registration .auth-error:not(:empty){padding:12px;border-radius:10px;background:#fff3f3;color:#944554}
body>.welcome-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border:0;background:transparent;padding:22px max(4vw,24px);font-family:Arial,sans-serif;color:#a297af}
.welcome-footer a{color:#a297af}
.welcome-footer #languageChoice{border:0;background:transparent;color:#8f7ca7}
@media(max-width:900px){
 body>.welcome{display:flex;flex-direction:column;gap:28px;padding:20px max(20px,calc((100% - 520px)/2)) 30px}
 .welcome .welcome-experience{width:100%}
 .welcome-copy h1{font-size:40px;letter-spacing:-1.3px}
 .welcome-copy .intro{font-size:15px}
 .welcome .welcome-scene{margin:24px 0 0;row-gap:34px}
 .welcome .welcome-example{width:min(290px,100%)}
 html body .welcome .registration{max-width:none;padding:28px 24px}
 body>.welcome-footer{justify-content:center;text-align:center}
}
@media(max-width:480px){
 body>.welcome-header{padding:20px 20px 10px}
 .welcome-header .official-logo{width:156px}
 .welcome-copy h1{font-size:35px;max-width:340px}
 .welcome .welcome-discovery-tabs{gap:10px}
 .welcome-discovery-tabs button{font-size:12px;gap:6px}
 .welcome .welcome-example{width:min(250px,100%);padding:14px;gap:10px}
 .welcome-example strong{font-size:13px}.welcome-example p{font-size:12px}
 .welcome-example-icon img{width:34px;height:34px}
 html body .welcome .registration{padding:25px 16px;border-radius:20px}
 .registration .dialog-heading h2{font-size:29px}
 .registration .registration-intro{font-size:14px}
}
html[data-hw-theme=dark] body{background:radial-gradient(ellipse at 29% 76%,#875bc429,transparent 64%),#19151f;color:#eee6fa}
html[data-hw-theme=dark] body .welcome .registration{background:#241e2d!important;border-color:#3b304b}
html[data-hw-theme=dark] .registration .dialog-heading h2{color:#eee6fa}
html[data-hw-theme=dark] .registration .phone-row{background:#201a29;border-color:#4b3c60}
html[data-hw-theme=dark] .registration .phone-row input{color:#eee6fa}
html[data-hw-theme=dark] .welcome-expired{background:#352642;border-color:#4c3762}
html[data-hw-theme=dark] .welcome-expired strong{color:#c4a1f0}
html[data-hw-theme=dark] .welcome-expired p{color:#b7a6c9}

/* Override the former gradient bounded by the main content on both themes. */
html body>.welcome,html[data-hw-theme=dark] body>.welcome{background-image:none}

/* Size the illustration to the desktop height instead of adding page overflow.
   Keep natural scrolling for smaller screens and longer account forms. */
@media(min-width:901px) and (min-height:700px){
 html body{min-height:100dvh}
 body>.welcome-header{padding-block:18px;flex:0 0 auto}
 body>.welcome{flex:1 0 auto;padding-block:12px;gap:clamp(28px,4vw,64px)}
 body>.welcome-footer{padding-block:12px;flex:0 0 auto}
 .welcome-copy h1{font-size:clamp(36px,3.2vw,52px)}
 .welcome-copy .intro{margin:12px 0 14px}
 .welcome-discovery-tabs button{padding-block:9px 11px}
 .welcome .welcome-scene{width:min(100%,clamp(240px,calc((100dvh - 560px) * 1.8),640px));margin:18px auto 0;row-gap:30px}
 .welcome .welcome-example{padding:15px 18px}
}
@media(min-width:901px) and (min-height:700px) and (max-height:820px){
 html body .welcome .registration{padding-block:24px}
 .registration .registration-intro{margin-bottom:20px}
 .welcome-copy h1{font-size:36px}
 .welcome-copy .intro{font-size:15px}
}

/* The theme's important body background must retain the welcome-page glow. */
html body,html[data-hw-theme] body{
 background:radial-gradient(ellipse at 29% 76%,rgba(217,196,255,.38) 0%,rgba(217,196,255,.24) 22%,rgba(217,196,255,.10) 39%,rgba(217,196,255,0) 64%),#faf9fd!important;
}
html[data-hw-theme=dark] body{
 background:radial-gradient(ellipse at 29% 76%,rgba(135,91,196,.22) 0%,rgba(135,91,196,.10) 30%,rgba(135,91,196,0) 64%),#19151f!important;
}

/* Let the page gradient remain visible beneath the information footer,
   including when the global theme assigns important card backgrounds. */
html body>.welcome-footer,
html[data-hw-theme] body>.welcome-footer,
html[data-hw-theme=dark] body>.welcome-footer{
 background:transparent!important;
 border-top:0;
 box-shadow:none;
}

/* Keep the original 44px desktop / 26px mobile pointer unchanged.
   Lower the artwork by reserving the matching gap above its portrait. */
html .welcome .welcome-scene{row-gap:52px}
@media(max-width:700px){html .welcome .welcome-scene{row-gap:34px}}

/* Requested solid white footer. */
html body>.welcome-footer,
html[data-hw-theme] body>.welcome-footer,
html[data-hw-theme=dark] body>.welcome-footer{background:#fff!important}

/* Larger desktop artwork, still bounded by the available column. */
@media(min-width:901px) and (min-height:700px){
 html .welcome .welcome-scene{
  width:min(100%,clamp(280px,calc((100dvh - 560px) * 2.15),740px));
  max-width:740px;
 }
}

/* Small requested alignment adjustment, preserving the original pointer. */
html .welcome-example.welcome-example-anchored{
 left:calc(var(--woman-bubble-left) + 10px);
}

/* Fine vertical adjustment of the bubble only. */
html .welcome-example.welcome-example-anchored{top:6px}

/* One clickable country selector: flag, calling code and chevron. */
.registration .phone-country{width:115px}
.registration .phone-country .country-flag{position:absolute;left:12px;top:50%;margin:0;transform:translateY(-50%);pointer-events:none}
.registration .phone-country-code{padding-left:43px}
.registration .phone-country select{z-index:1}

/* Account recovery: the approved simple card, without a decorative title icon. */
.registration[data-screen=recovery] .dialog-heading{margin:0 0 14px}
.registration[data-screen=recovery] .dialog-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.5px;font-weight:700}
.recovery-content{display:flex;flex-direction:column;gap:0;min-width:0}
.recovery-content .recovery-subtitle{margin:0 0 24px;font-size:16px;line-height:1.5;color:#9685b0}
.recovery-content .recovery-description{margin:0 0 28px;font-size:16px;line-height:1.55;color:#837292}
.registration .recovery-contact{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 18px;text-decoration:none;line-height:1.4;text-align:center}
.registration .recovery-contact::after{content:none}
.recovery-contact svg,.recovery-back svg{width:22px;height:22px;flex:none}
.registration .recovery-back{display:flex;align-items:center;justify-content:center;gap:10px;align-self:center;padding:10px 4px;margin:16px 0 0;font-size:15px;line-height:1.4;text-decoration:none;color:#8134f8}
html[dir=rtl] .recovery-back svg{transform:scaleX(-1)}
html[data-hw-theme=dark] .recovery-content .recovery-subtitle,html[data-hw-theme=dark] .recovery-content .recovery-description{color:#c0aecf}
@media(max-width:480px){.registration[data-screen=recovery] .dialog-heading h2{font-size:25px}.recovery-content .recovery-description{font-size:15px}}

/* Cancel the generic input top margin inside the horizontal phone control. */
.registration .phone-row input#phoneNumber{
 margin:0;
 align-self:center;
 min-height:0;
 height:52px;
 padding:0 12px;
 line-height:normal;
 box-sizing:border-box;
}

/* Approved mobile composition: integrated form and upper-right globe, no bubble. */
@media(max-width:700px){
 html body{height:auto;min-height:100svh}
 html body>.welcome-header{padding:12px 16px 4px;flex:none}
 .welcome-header .official-logo{width:142px;height:auto}
 html body>.welcome{display:flex;flex-direction:column;width:100%;max-width:540px;flex:0 0 auto;gap:16px;margin:0 auto;padding:8px 16px 18px;box-sizing:border-box}
 .welcome .welcome-experience{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:8px 0;width:100%;min-width:0}
 .welcome-experience .welcome-copy{grid-column:1;grid-row:1;z-index:1;min-width:0;padding:8px 0;transform:none}
 .welcome-copy h1{font-size:clamp(25px,6.9vw,34px);line-height:1.08;font-weight:700;letter-spacing:-1px;margin:0;max-width:none;overflow-wrap:normal}
 .welcome-copy .intro{font-size:13px;line-height:1.35;margin:10px 0 0;max-width:none}
 html .welcome .welcome-scene{grid-column:2;grid-row:1;position:relative;inset:auto;display:block;width:100%;max-width:none;height:clamp(132px,38vw,160px);min-width:0;margin:0;row-gap:0;align-self:center}
 .welcome .welcome-social-globe{position:absolute;inset:50% 0 auto auto;width:160%;max-width:none;height:auto!important;max-height:none;margin:0;aspect-ratio:3/2;transform:translateY(-50%);animation:none}
 .welcome .welcome-scene::before{display:none}
 html .welcome .welcome-example{display:none!important}
 .welcome .welcome-discovery-tabs{grid-column:1/-1;grid-row:2;display:flex;max-width:none;width:100%;gap:8px;margin:0}
 .welcome-discovery-tabs button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 0;font-size:12px;line-height:1.25;border-radius:0;overflow-wrap:anywhere}
 .welcome-discovery-tabs button img,.welcome-discovery-tabs button svg{width:19px;height:19px;flex:none}
 html body .welcome .registration,html[data-hw-theme=dark] body .welcome .registration{width:100%;max-width:none;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent!important}
 #phoneForm>label{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip-path:none;white-space:normal;font-size:14px;font-weight:700;line-height:1.4}
 .registration .auth-fields{gap:10px;margin:0}
 .registration .phone-row{min-height:48px}
 .registration .phone-row input#phoneNumber{height:46px;padding:0 8px;font-size:16px;width:0;min-width:0;flex:1}
 .registration .phone-country{width:99px;flex:0 0 99px}
 .registration .phone-country .country-flag{left:9px}
 .registration .phone-country-code{padding-left:36px;font-size:14px}
 .registration .pill-button{min-height:48px;padding:12px 16px;font-size:16px}
 .registration #recaptchaContainer{padding:0;zoom:1;min-width:0}
 .registration #lostPhone{min-height:36px;margin:6px auto 0;padding:8px 4px;font-size:12px;line-height:1.5}
 .welcome-sms-note{font-size:12px;line-height:1.4}
 #welcomeStatus:empty,.registration .auth-error:empty{display:none}
 html body>.welcome-footer{margin-top:auto;padding:12px 16px;gap:6px;justify-content:center;flex:none}
 .welcome-footer .welcome-information{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:10px;line-height:1.6}
 .welcome-footer .welcome-footer-tools{margin:0;gap:6px}
 .welcome-footer #languageChoice{font-size:11px;min-height:30px;padding-block:4px}
 .welcome-footer .welcome-language-icon{width:14px;height:14px}
 html[dir=rtl] .welcome .welcome-scene{margin:0}
}
@media(max-width:350px){
 .registration #recaptchaContainer{zoom:.9}
 .welcome-discovery-tabs button{font-size:11px;gap:3px}
 .welcome-discovery-tabs button img{width:16px;height:16px}
}
@media(max-width:700px){
 .welcome .welcome-experience{overflow:clip}
 .registration .phone-row{width:100%;box-sizing:border-box}
}

/* Keep the globe inside the native language selector's clickable/focus area. */
.welcome-footer .welcome-language-control{position:relative;display:inline-flex;align-items:center;color:var(--hw-muted,#80758f);border-radius:6px}
.welcome-footer .welcome-language-control .welcome-language-icon{position:absolute;inset-inline-start:8px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none;z-index:1}
.welcome-footer .welcome-footer-tools .welcome-language-control #languageChoice{padding-inline-start:28px;padding-inline-end:6px;max-width:170px;border-radius:6px}

/* Approved night palette. Keep the day design and all responsive geometry. */
html[data-hw-theme=dark] body{
 --welcome-night-card:#292336;
 background:radial-gradient(ellipse at 30% 72%,#7546b827,transparent 62%),#17141e!important;
 color:#f4f0fa;
}
html[data-hw-theme=dark] .welcome-copy h1,
html[data-hw-theme=dark] .registration .dialog-heading h2{color:#f4f0fa!important}
html[data-hw-theme=dark] .welcome-copy .intro,
html[data-hw-theme=dark] .registration .registration-intro{color:#ccc4d8!important}
html[data-hw-theme=dark] .welcome .welcome-example{
 --hw-card:var(--welcome-night-card);
 background:var(--welcome-night-card)!important;border:1px solid #43334f;
 box-shadow:0 10px 32px #08060d30;
}
html[data-hw-theme=dark] .welcome .welcome-example::after{background:var(--welcome-night-card)!important}
html[data-hw-theme=dark] .welcome-example strong{color:#f4f0fa!important}
html[data-hw-theme=dark] .welcome-example p{color:#bcb3cd!important}
html[data-hw-theme=dark] .welcome-example-icon img,
html[data-hw-theme=dark] .welcome-discovery-tabs button img{filter:brightness(1.3) saturate(.8)}
html[data-hw-theme=dark] .welcome .welcome-discovery-tabs button{color:#bcb3cd!important;border-bottom-color:#51465f!important}
html[data-hw-theme=dark] .welcome .welcome-discovery-tabs button[aria-selected=true]{color:#b783ff!important;border-bottom-color:#a568ff!important}
html[data-hw-theme=dark] body .welcome .registration{background:#231e2e!important;border-color:#383044;box-shadow:0 18px 60px #08061018}
html[data-hw-theme=dark] .registration .phone-row,
html[data-hw-theme=dark] .registration .form-control{background:#2d2738!important;border-color:#403549!important;color:#f4f0fa!important}
html[data-hw-theme=dark] .registration .phone-row :is(input,select),
html[data-hw-theme=dark] .registration .phone-country-code{color:#f4f0fa!important}
html[data-hw-theme=dark] .registration input::placeholder{color:#bcb3cd!important;opacity:1}
html[data-hw-theme=dark] .registration select option{background:#2d2738;color:#f4f0fa}
html[data-hw-theme=dark] .welcome-expired{background:#30243e;border-color:#49345d;color:#b783ff}
html[data-hw-theme=dark] .welcome-expired strong{color:#d0a7ff}
html[data-hw-theme=dark] .welcome-expired p{color:#c3b4d4}
html[data-hw-theme=dark] .welcome-sms-note{color:#bcb3cd}
html[data-hw-theme=dark] .registration #lostPhone,
html[data-hw-theme=dark] .registration .auth-link{color:#c4a1f0}
html[data-hw-theme=dark] .registration .auth-error:not(:empty){background:#3b2431;color:#ffc0cd}
html[data-hw-theme=dark] .registration .pill-button.primary{background:linear-gradient(105deg,#9146f6,#7930ed);color:#fff}
html[data-hw-theme=dark] .welcome-social-globe{background-image:url("welcome-scene-night.png");filter:none}
html[data-hw-theme=dark] body>.welcome-footer{background:#17141e!important;border-top:1px solid #37303f;color:#bcb3cd}
html[data-hw-theme=dark] .welcome-footer a,
html[data-hw-theme=dark] .welcome-footer .welcome-language-control,
html[data-hw-theme=dark] .welcome-footer #languageChoice{color:#c1b2d5!important}
html[data-hw-theme=dark] .welcome-footer #languageChoice{background:transparent!important}
html[data-hw-theme=dark] .welcome-footer #languageChoice option{background:#231e2e;color:#f4f0fa}
html[data-hw-theme=dark] .welcome-footer a:hover{color:#fff!important}
@media(max-width:700px){
 html[data-hw-theme=dark] body .welcome .registration{background:transparent!important}
 /* Fade the left cloud bank before the mobile headline, keeping the globe
    and its foreground clouds at the same position as the daytime artwork. */
 html[data-hw-theme=dark] .welcome-social-globe{
  mask-image:linear-gradient(to right,transparent 0%,transparent 24%,#000 48%,#000 90%,rgba(0,0,0,.95) 92%,rgba(0,0,0,.75) 94%,rgba(0,0,0,.4) 96%,rgba(0,0,0,.1) 98%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,transparent 24%,#000 48%,#000 90%,rgba(0,0,0,.95) 92%,rgba(0,0,0,.75) 94%,rgba(0,0,0,.4) 96%,rgba(0,0,0,.1) 98%,transparent 100%);
 }
}

/* First paint: the final logo is present in the HTML, the example waits for its
   measured anchor, and no obsolete authentication screen is exposed. */
.welcome-example:not(.welcome-example-anchored){visibility:hidden}
#authDialog[data-welcome-pending]>.dialog-heading,
#authDialog[data-welcome-pending]>.registration-intro{visibility:hidden}
.welcome-form-placeholder{display:grid;gap:14px;min-height:140px;align-content:center}
.welcome-form-placeholder span{display:block;height:48px;border-radius:11px;background:var(--hw-raised,#f3eff9)}
.welcome-form-placeholder span:last-child{height:12px;width:65%;justify-self:center}

/* Remove the browser iframe bevel around Google's dark CAPTCHA.
   Keep the widget size, focus indicator and challenge content unchanged. */
html[data-hw-theme="dark"] body .registration #recaptchaContainer iframe {
  border: 0 !important;
  background: transparent;
  display: block;
}

/* Google paints a light rim inside its cross-origin anchor iframe.
   Trim only the outer 2px of that widget, never the challenge iframe. */
html[data-hw-theme="dark"] body .registration #recaptchaContainer iframe[src*="/anchor"]{
  color-scheme:light;
  clip-path:inset(2px round 3px);
}

/* Approved entry card. Its layout is independent of the verification,
   recovery and profile screens, which keep their own headings and controls. */
html body .welcome .registration[data-screen=phone],
html body .welcome .registration[data-welcome-pending]{
 max-width:478px;
 padding:32px;
 border-radius:22px;
}
/* Reserve the completed card's space while the translated form is loading. */
html body .welcome #authDialog[data-welcome-pending]{min-height:442px}
.registration[data-screen=phone]>.dialog-heading{margin:0}
.registration .dialog-heading h2.welcome-entry-title{
 margin:0;
 font-size:34px;
 font-weight:700;
 line-height:1.18;
 letter-spacing:-1px;
 overflow-wrap:break-word;
}
.welcome-entry-title-line{display:block}
.welcome-entry-title-brand bdi{white-space:nowrap}
.registration[data-screen=phone]>.registration-intro{
 margin:6px 0 32px;
 font-size:15px;
 line-height:1.5;
 color:#8c819e;
}
.registration .registration-intro[hidden]{display:none!important}
.registration #phoneForm{
 display:grid;
 grid-template-columns:minmax(0,1fr);
 gap:16px;
 margin:0;
}
.registration #phoneForm>label{margin-bottom:-10px}
.registration #phoneForm>.phone-row{
 min-height:56px;
 border-radius:10px;
}
.registration #phoneForm>.phone-row input#phoneNumber{height:54px}
.registration #phoneForm #recaptchaContainer{
 padding:0;
 transform:none;
}
.registration #sendSMS{
 width:100%;
 min-height:54px;
 padding-block:14px;
 border-radius:9px;
 font-size:15px;
 font-weight:600;
 line-height:1.5;
 background:linear-gradient(105deg,#892eff,#761dff);
 box-shadow:0 4px 12px #8439f51c;
}
.registration #sendSMS::after{right:auto;inset-inline-end:22px;width:18px;height:18px}
html[dir=rtl] .registration #sendSMS::after{transform:translateY(-50%) scaleX(-1)}
.registration #phoneForm>.welcome-sms-note{font-size:12px;line-height:1.6;color:#92859f}
.registration[data-screen=phone] #lostPhone{
 width:fit-content;
 max-width:100%;
 margin:22px auto 0;
 padding:5px 0;
 color:#8239ed;
 font-size:12px;
 line-height:1.5;
 text-align:center;
 text-decoration:underline;
 text-underline-offset:3px;
}
html[data-hw-theme=dark] .registration #phoneForm>label{color:#f4f0fa}
html[data-hw-theme=dark] .registration #phoneForm>.welcome-sms-note{color:#bcb3cd}
html[data-hw-theme=dark] .registration[data-screen=phone] #lostPhone{color:#c4a1f0}
@media(min-width:901px) and (max-height:820px){
 html body .welcome .registration[data-screen=phone],
 html body .welcome .registration[data-welcome-pending]{padding:26px 32px}
 html body .welcome #authDialog[data-welcome-pending]{min-height:420px}
 .registration .dialog-heading h2.welcome-entry-title{font-size:30px}
 .registration[data-screen=phone]>.registration-intro{margin-bottom:24px}
}
@media(max-width:700px){
 html body .welcome .registration[data-screen=phone],
 html body .welcome .registration[data-welcome-pending]{max-width:none;padding:0;border-radius:0}
 html body .welcome #authDialog[data-welcome-pending]{min-height:326px}
 .registration[data-screen=phone]>.dialog-heading{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
 .registration .dialog-heading h2.welcome-entry-title{font-size:26px;line-height:1.16;letter-spacing:-.7px}
 .registration[data-screen=phone]>.registration-intro{display:block;margin:6px 0 20px;font-size:14px}
 .registration #phoneForm{gap:12px}
 .registration #phoneForm>label{margin-bottom:-6px;font-size:13px}
 .registration #phoneForm>.phone-row{min-height:50px}
 .registration #phoneForm>.phone-row input#phoneNumber{height:48px}
 .registration #sendSMS{min-height:50px;font-size:15px}
 .registration[data-screen=phone] #lostPhone{margin-top:14px;min-height:36px;padding:8px 0}
}

/* Keep Google's content at native size inside an aligned full-width frame.
   Only shrink on narrow screens; the separate challenge is untouched. */
html body .registration #phoneForm #recaptchaContainer.hw-captcha-fit{
 position:relative;
 direction:ltr;
 width:100%;
 min-width:0;
 min-height:0;
 height:calc(var(--hw-captcha-height) + 2px);
 box-sizing:border-box;
 border:1px solid #d8d8d8;
 border-radius:4px;
 background:#f9f9f9;
 box-shadow:0 1px 2px #0000000a;
 padding:0;
 zoom:1;
 transform:none;
 overflow:visible;
}
#recaptchaContainer.hw-captcha-fit .hw-captcha-fit-widget{
 position:absolute!important;
 top:0!important;
 left:var(--hw-captcha-left)!important;
 right:auto!important;
 bottom:auto!important;
 margin:0!important;
 max-width:none;
 transform:scale(var(--hw-captcha-scale));
 transform-origin:top left;
}
/* Google's bordered box ends before its 304 x 78 iframe's right/bottom
   edges. Remove that rim as well as the iframe border, keeping every label,
   link, logo and control inside the native widget visible. */
html body .registration #recaptchaContainer.hw-captcha-fit iframe[src*="/recaptcha/"][src*="/anchor"]{
 border:0!important;
 box-shadow:none;
 clip-path:inset(2px 5px 5px 2px);
}
html[data-hw-theme=dark] body .registration #phoneForm #recaptchaContainer.hw-captcha-fit{background:#222;border-color:#555;box-shadow:none}

/* This verification step is inserted only after Continue. Hidden sections
   consume no grid row, padding or border on the initial phone form. */
.registration #phoneForm .welcome-captcha{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.registration #phoneForm .welcome-captcha[hidden]{display:none!important}
.registration .welcome-captcha-status{margin:0;font-size:13px;line-height:1.5;color:#8c819e}
.registration #cancelCaptcha{justify-self:start;width:auto;min-height:32px;max-width:100%;margin:0;padding:5px 0;color:#8239ed;font-size:12px;line-height:1.5;text-align:start;text-decoration:underline;text-underline-offset:3px}
html[data-hw-theme=dark] .registration .welcome-captcha-status{color:#ccc4d8}
html[data-hw-theme=dark] .registration #cancelCaptcha{color:#c4a1f0}
@media(max-width:700px){.registration #cancelCaptcha{min-height:40px}}
