:root{--bg:#181818;--panel:#242426;--panel2:#2b2b2d;--text:#f4f4f4;--muted:#858589;--blue:#63b4ee;--blue2:#2296e6}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:ProjectRoboto,sans-serif}
body{min-height:100svh;overflow-x:hidden}.app{min-height:100svh;position:relative;overflow:hidden;background:var(--bg)}
button,input,textarea{font:inherit}button{cursor:pointer;border:0}button:focus,input:focus,textarea:focus{outline:0}
.topbar{height:clamp(58px,8svh,78px);padding:env(safe-area-inset-top) clamp(12px,4vw,32px) 0;display:flex;align-items:center;justify-content:space-between}.back{width:42px;height:42px;padding:7px;background:transparent;color:#fff}.back svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.shield{width:39px;height:39px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.auth-page{width:min(420px,calc(100% - 34px));margin:clamp(28px,5.2svh,56px) auto 0}.auth-page h1{margin:0;text-align:center;font-size:clamp(22px,6vw,28px);line-height:1.2;font-weight:700}.subtitle{margin:10px 0 clamp(25px,4svh,36px);text-align:center;color:var(--muted);font-size:clamp(14px,4vw,18px);line-height:1.34}
.field{width:100%;height:60px;position:relative;border-radius:13px}.country-field{border:1px solid #505054;padding:0 48px 0 18px;display:flex;align-items:center}.country-field input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#f4f4f4;font-size:17px}.country-field input::placeholder{color:#858589}.country-field label{position:absolute;left:14px;top:-9px;padding:0 7px;background:var(--bg);color:var(--blue);font-size:14px;line-height:18px;pointer-events:none}.clear-country{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:#303033;color:#aaa;font-size:20px;display:none}.country-field:focus-within .clear-country,.country-field.valid .clear-country{display:block}
.suggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 7px);max-height:min(55vh,430px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#252527;border:1px solid #414145;border-radius:12px;opacity:0;transform:translateY(-4px);pointer-events:none;transition:.16s ease;box-shadow:0 12px 30px rgba(0,0,0,.35)}.suggestions.open{opacity:1;transform:none;pointer-events:auto}.suggestion{width:100%;height:46px;min-height:46px;padding:0 14px;background:transparent;color:#eee;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:15px}.suggestion+ .suggestion{border-top:1px solid #343437}.suggestion:active{background:#333336}.suggestion small{color:#858589}
.phone-field,.password-field,.phone-login-field{border:2px solid var(--blue);padding:0 18px;display:flex;align-items:center}.phone-field{margin-top:24px}.phone-field label,.password-field label,.phone-login-field label{position:absolute;top:-9px;left:13px;padding:0 7px;background:var(--bg);font-size:14px;line-height:18px;color:var(--blue);pointer-events:none}.generated-phone,.login-phone-row{width:100%;height:100%;display:flex;align-items:center;gap:0;font-size:18px}.login-prefix{margin:0;padding:0;flex:0 0 auto}.login-phone-row input{margin:0;padding:0}.generated-value{margin-left:7px;color:#c0c0c3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generated-value.is-placeholder{color:#77777b}.login-phone-row input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent;color:#fff;font-size:18px}.login-phone-row input::placeholder{color:#77777b}.login-phone-row input:placeholder-shown{padding-left:7px}.login-phone-row input:not(:placeholder-shown){padding-left:0}
.password-field{margin-top:14px;padding-right:8px}.password-row{width:100%;height:100%;display:flex;align-items:center;gap:3px}.password-row input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent;color:#fff;font-size:17px}.password-row input::placeholder{color:#77777b}.password-row button{flex:0 0 40px;width:40px;height:40px;background:transparent;color:#8c8c90}.password-row svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-hint{margin:7px 5px 0;color:#69696d;font-size:11px;line-height:1.3}
.primary-action{width:100%;height:50px;margin-top:19px;border-radius:12px;background:var(--blue2);color:#fff;font-weight:600;font-size:16px;transition:transform .12s,opacity .12s}.primary-action:active{transform:scale(.985)}.primary-action:disabled{opacity:.55}.switch-auth{margin:15px 0 0;text-align:center;color:#89898d;font-size:13px}.switch-auth a{color:var(--blue);text-decoration:none}.login-page{margin-top:clamp(40px,7svh,68px)}.login-action{margin-top:20px}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:200;max-width:calc(100% - 32px);padding:10px 14px;border-radius:11px;background:#2d2d2f;color:#fff;font-size:13px;text-align:center;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}
.success-modal{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.65);display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:.2s}.success-modal.open{opacity:1;visibility:visible}.success-card{width:min(360px,100%);padding:23px 18px 18px;border-radius:18px;background:#252527;text-align:center;transform:translateY(10px) scale(.98);transition:.22s}.success-modal.open .success-card{transform:none}.success-icon{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#2d9fe8;color:#fff;font-size:29px}.success-card h2{margin:0 0 7px;font-size:21px}.success-card p{margin:0;color:#99999d;line-height:1.4;font-size:14px}.saved-number{margin:15px 0;padding:12px;border-radius:10px;background:#19191b;color:#fff;font-size:18px}.success-card button{width:100%;height:47px;border-radius:11px;background:#2296e6;color:#fff;font-size:16px;font-weight:600}
@media(min-width:700px){.auth-page{width:min(420px,calc(100% - 64px))}.field{height:64px}.auth-page h1{font-size:28px}.subtitle{font-size:18px}.country-field input,.password-row input,.login-phone-row input{font-size:18px}}
@media(max-height:680px){.auth-page{margin-top:22px}.login-page{margin-top:28px}.subtitle{margin-bottom:20px}.phone-field{margin-top:18px}.password-field{margin-top:11px}.primary-action{margin-top:14px}}


@font-face{font-family:ProjectRoboto;src:url('../fonts/rmedium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:ProjectRobotoX;src:url('../fonts/rextrabold.ttf') format('truetype');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:ProjectRobotoCondensed;src:url('../fonts/rcondensedbold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:ProjectRobotoMono;src:url('../fonts/rmono.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
html,body{font-family:ProjectRoboto,sans-serif!important;font-weight:500!important}
button,input,textarea,select{font-family:ProjectRoboto,sans-serif!important}
h1,h2,h3,h4,h5,h6,strong,b{font-family:ProjectRobotoX,ProjectRoboto,sans-serif!important;font-weight:800!important}

.suggestions{touch-action:pan-y}
.login-prefix{display:inline-block;min-width:10px;transform-origin:center;transition:opacity .16s ease,transform .22s cubic-bezier(.22,.75,.2,1);will-change:transform,opacity}.login-prefix.prefix-changing{animation:loginPrefixChange .22s ease}@keyframes loginPrefixChange{0%{opacity:.25;transform:translateY(3px) scale(.82)}55%{opacity:1;transform:translateY(0) scale(1.08)}100%{opacity:1;transform:none}}

.suggestions{max-height:min(70vh,520px);overflow-y:scroll;touch-action:pan-y}


.country-field{position:relative!important}
.suggestions{display:block!important;max-height:min(70vh,520px)!important;height:auto!important;overflow-y:scroll!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;overscroll-behavior:contain!important;scrollbar-width:auto!important}
.suggestions:not(.open){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.suggestions.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.suggestion{display:flex!important;min-height:46px!important;height:46px!important;flex:0 0 46px!important;touch-action:pan-y!important}
@media(max-width:600px){.suggestions{max-height:60svh!important;overflow-y:scroll!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch!important}}



.suggestions[hidden]{display:none!important}
.suggestions{touch-action:pan-y!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
.suggestions.open{display:block!important}
.settings-avatar{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;border-radius:50%!important;background:#2b2b2e!important;display:flex!important;align-items:center!important;justify-content:center!important}
.settings-avatar .avatar-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:50% 50%!important;border-radius:50%!important;margin:0!important}
.settings-avatar .avatar-letter{position:relative!important;inset:auto!important;width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;background:#343438!important;color:#fff!important;font-family:ProjectRoboto,sans-serif!important;font-size:32px!important;font-weight:500!important;line-height:1!important;text-align:center!important}


.registration-phone-step{transition:opacity .24s ease,transform .30s cubic-bezier(.22,.75,.2,1)}
.registration-app.registration-details-open .registration-topbar .shield{opacity:0;visibility:hidden}
.registration-phone-step.registration-step-hidden{opacity:0;transform:translateX(-24px);pointer-events:none;position:absolute;inset:0 auto auto 0;width:100%}
.registration-details-step{position:absolute;inset:0;min-height:100svh;background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);transition:opacity .24s ease,transform .30s cubic-bezier(.22,.75,.2,1);overflow:hidden}
.registration-details-step.active{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.registration-details-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;padding:calc(env(safe-area-inset-top) + 76px) 0 calc(185px + env(safe-area-inset-bottom));scrollbar-width:none}
.registration-details-scroll::-webkit-scrollbar{display:none}
.registration-back{position:absolute;z-index:3;left:clamp(12px,4vw,32px);top:calc(env(safe-area-inset-top) + 15px);width:44px;height:44px;padding:6px;background:transparent;color:#fff}
.registration-back svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.registration-avatar-button{display:block;width:180px;height:180px;margin:0 auto;border:0;border-radius:50%;padding:0;background:#55a7e6;color:#fff;overflow:hidden;box-shadow:none;transition:transform .16s ease}
.registration-avatar-button:active{transform:scale(.965)}
.registration-avatar-placeholder,.registration-avatar-image-wrap{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;overflow:hidden}
.registration-avatar-placeholder svg{width:76px;height:76px}
.registration-avatar-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.registration-details-copy{text-align:center;margin:30px auto 0;padding:0 20px}
.registration-details-copy h1{margin:0;font-size:clamp(30px,7vw,43px);line-height:1.14;font-weight:700;letter-spacing:-.8px}
.registration-details-copy p{margin:13px 0 0;color:#858589;font-size:clamp(19px,4.7vw,28px);line-height:1.25}
.registration-name-fields{width:min(870px,calc(100% - 160px));margin:68px auto 0;display:grid;gap:18px}
.registration-field{height:96px;position:relative;border:2px solid #55555a;border-radius:19px;background:transparent;transition:border-color .16s ease,box-shadow .16s ease}
.registration-field:focus-within,.registration-field.has-value,.registration-field.is-active{border-color:var(--blue)}
.registration-field label{position:absolute;z-index:1;left:22px;top:50%;transform:translateY(-50%);padding:0;background:var(--bg);color:#858589;font-size:clamp(20px,4.4vw,28px);line-height:1;pointer-events:none;transition:top .16s ease,transform .16s ease,color .16s ease,padding .16s ease,font-size .16s ease}
.registration-field:focus-within label,.registration-field.has-value label,.registration-field.is-active label{top:-2px;transform:translateY(-50%);padding:0 9px;color:var(--blue);font-size:clamp(17px,3.6vw,23px)}
.registration-field input{width:100%;height:100%;padding:18px 22px;border:0;outline:0;background:transparent;color:#fff;font-size:clamp(22px,4.6vw,28px);font-family:inherit}
.registration-field input::placeholder{color:#858589;opacity:1}
.registration-field:first-child input::placeholder{color:transparent}
.registration-field-error{animation:registrationFieldShake .34s ease;border-color:#e56b73!important}
@keyframes registrationFieldShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.registration-bottom{position:absolute;z-index:5;left:0;right:0;bottom:0;min-height:144px;padding:18px max(24px,calc((100vw - 900px)/2)) calc(22px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-between;gap:20px;background:linear-gradient(to bottom,rgba(24,24,24,0),rgba(24,24,24,.97) 34%,var(--bg) 68%)}
.registration-terms{display:flex;flex-direction:column;align-items:flex-start;max-width:min(590px,calc(100% - 92px));padding:0;background:transparent;color:#858589;text-align:left;font-size:clamp(18px,3.9vw,27px);line-height:1.35}
.registration-terms strong{font-weight:500;color:var(--blue)}
.registration-submit{flex:0 0 86px;width:86px;height:86px;border-radius:50%;padding:0;background:#2296e6;color:#fff;display:grid;place-items:center;box-shadow:none;transition:transform .14s ease,opacity .16s ease,filter .16s ease}
.registration-submit svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s cubic-bezier(.22,.75,.2,1)}
.registration-submit:active{transform:scale(.91)}
.registration-submit.is-loading{opacity:.72;pointer-events:none}
.registration-submit.is-loading svg{animation:registrationArrowSpin .75s linear infinite}
@keyframes registrationArrowSpin{to{transform:rotate(360deg)}}


.registration-agreement{position:fixed;inset:0;z-index:2200;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}
.registration-agreement.open{opacity:1;visibility:visible;pointer-events:auto}
.registration-agreement-card{width:min(970px,calc(100vw - 110px));max-height:min(88svh,1040px);overflow:auto;border-radius:28px;background:#202022;padding:52px 58px 22px;box-shadow:0 20px 70px rgba(0,0,0,.45);transform:scale(.97) translateY(8px);transition:transform .20s cubic-bezier(.22,.75,.2,1);scrollbar-width:thin}
.registration-agreement.open .registration-agreement-card{transform:none}
.registration-agreement-card h2{margin:0 0 36px;font-size:clamp(30px,4.6vw,43px);line-height:1.18;font-weight:700}
.registration-agreement-text{color:#f1f1f3;font-size:clamp(18px,2.7vw,25px);line-height:1.32}
.registration-agreement-text p{margin:0 0 36px}
.registration-agreement-text p:last-child{margin-bottom:0}
.registration-agreement-text a{color:var(--blue);text-decoration:none}
.registration-agreement-ok{display:block;margin:22px 0 0 auto;padding:5px 10px;background:transparent;color:var(--blue);font-size:clamp(20px,2.8vw,27px);font-weight:700}
.registration-alert{position:fixed;inset:0;z-index:2300;background:rgba(0,0,0,.58);display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .17s ease,visibility .17s ease}
.registration-alert.show{opacity:1;visibility:visible}
.registration-alert-card{width:min(620px,calc(100vw - 40px));border-radius:22px;background:#202022;padding:32px 40px 16px;box-shadow:0 20px 70px rgba(0,0,0,.4);transform:scale(.97);transition:transform .18s cubic-bezier(.22,.75,.2,1)}
.registration-alert.show .registration-alert-card{transform:none}
.registration-alert-card h2{margin:0 0 22px;font-size:clamp(24px,3.2vw,34px);line-height:1.1}
.registration-alert-card p{margin:0;color:#f2f2f4;font-size:clamp(18px,2.5vw,27px);line-height:1.25}
.registration-alert-ok{display:block;margin:22px 0 0 auto;padding:4px 10px;background:transparent;color:var(--blue);font-size:clamp(18px,2.3vw,25px);font-weight:700}

@media(max-width:699px){
  .registration-details-scroll{padding-top:calc(env(safe-area-inset-top) + 76px);padding-bottom:190px}
  .registration-avatar-button{width:min(180px,45vw);height:min(180px,45vw)}
  .registration-avatar-placeholder svg{width:40%;height:40%}
  .registration-details-copy{margin-top:27px}
  .registration-details-copy h1{font-size:clamp(28px,7.2vw,36px)}
  .registration-details-copy p{font-size:clamp(17px,4.6vw,21px);margin-top:12px}
  .registration-name-fields{width:calc(100% - 160px);margin-top:64px;gap:17px}
  .registration-field{height:86px;border-radius:18px}
  .registration-field label{left:20px;font-size:clamp(18px,4.7vw,23px)}
  .registration-field:focus-within label,.registration-field.has-value label,.registration-field.is-active label{font-size:17px}
  .registration-field input{padding:16px 20px;font-size:20px}
  .registration-bottom{min-height:150px;padding:18px 24px calc(20px + env(safe-area-inset-bottom));align-items:flex-end}
  .registration-terms{font-size:clamp(15px,4.1vw,19px);line-height:1.35;max-width:calc(100% - 78px)}
  .registration-submit{flex-basis:64px;width:64px;height:64px}
  .registration-submit svg{width:44px;height:44px}
  .registration-agreement{padding:0 10px}
  .registration-agreement-card{width:calc(100vw - 110px);max-height:calc(100svh - 24px);border-radius:27px;padding:54px 56px 17px;align-self:center}
  .registration-agreement-card h2{font-size:clamp(29px,7.4vw,36px);margin-bottom:35px}
  .registration-agreement-text{font-size:clamp(17px,4.8vw,24px);line-height:1.34}
  .registration-agreement-text p{margin-bottom:34px}
  .registration-agreement-ok{font-size:23px;margin-top:18px}
  .registration-alert-card{padding:28px 24px 15px;width:calc(100vw - 40px);border-radius:20px}
  .registration-alert-card h2{font-size:25px;margin-bottom:18px}
  .registration-alert-card p{font-size:20px}
  .registration-alert-ok{font-size:21px;margin-top:20px}
}

@media(min-width:700px){
  .registration-details-scroll{padding-top:90px}
  .registration-details-copy{margin-top:34px}
  .registration-name-fields{margin-top:58px}
}

@media(max-height:700px){
  .registration-avatar-button{width:min(145px,34vw);height:min(145px,34vw)}
  .registration-details-copy{margin-top:18px}
  .registration-name-fields{margin-top:35px}
  .registration-field{height:72px}
  .registration-bottom{min-height:120px}
}



.hidden-input{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:0!important;
  pointer-events:none!important;
}


.registration-details-scroll{padding-left:16px;padding-right:16px}
.registration-details-copy h1{font-size:clamp(28px,3.4vw,36px);letter-spacing:-.45px}
.registration-details-copy p{font-size:clamp(16px,2vw,21px)}
.registration-name-fields{width:min(670px,calc(100% - 32px));margin-top:48px;gap:16px}
.registration-field{height:76px;border-radius:17px}
.registration-field label{left:18px;font-size:clamp(17px,2vw,21px)}
.registration-field:focus-within label,.registration-field.has-value label,.registration-field.is-active label{font-size:16px;top:-1px;padding:0 7px}
.registration-field input{padding:14px 18px;font-size:19px}
.registration-avatar-button{width:164px;height:164px}
.registration-avatar-placeholder svg{width:64px;height:64px}
.registration-details-copy{margin-top:25px}
.registration-bottom{min-height:124px;padding-left:max(24px,calc((100vw - 670px)/2));padding-right:max(24px,calc((100vw - 670px)/2));padding-bottom:calc(18px + env(safe-area-inset-bottom))}
.registration-terms{max-width:min(470px,calc(100% - 84px));font-size:17px;line-height:1.3}
.registration-submit{flex-basis:78px;width:78px;height:78px;transition:transform .13s ease,opacity .16s ease}
.registration-submit svg{width:52px;height:52px}
.registration-submit:active{transform:scale(.965)}
.registration-submit:disabled{opacity:.72;cursor:default}
.registration-submit.is-loading svg{animation:none!important}

@media(max-width:699px){
  .registration-details-scroll{padding-top:calc(env(safe-area-inset-top) + 70px);padding-bottom:178px}
  .registration-avatar-button{width:min(145px,34vw);height:min(145px,34vw)}
  .registration-avatar-placeholder svg{width:40%;height:40%}
  .registration-details-copy{margin-top:22px}
  .registration-details-copy h1{font-size:clamp(26px,7vw,32px)}
  .registration-details-copy p{font-size:clamp(16px,4.4vw,20px);margin-top:10px}
  .registration-name-fields{width:min(670px,calc(100% - 32px));margin-top:42px;gap:14px}
  .registration-field{height:72px;border-radius:16px}
  .registration-field label{left:17px;font-size:18px}
  .registration-field:focus-within label,.registration-field.has-value label,.registration-field.is-active label{font-size:16px}
  .registration-field input{padding:13px 17px;font-size:18px}
  .registration-bottom{min-height:140px;padding-left:20px;padding-right:20px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .registration-terms{font-size:15px;max-width:calc(100% - 76px)}
  .registration-submit{flex-basis:62px;width:62px;height:62px}
  .registration-submit svg{width:42px;height:42px}
}

@media(max-height:700px) and (min-width:700px){
  .registration-avatar-button{width:140px;height:140px}
  .registration-details-copy{margin-top:18px}
  .registration-name-fields{margin-top:34px}
  .registration-field{height:68px}
  .registration-bottom{min-height:110px}
}



.registration-details-scroll{
  padding-top:calc(env(safe-area-inset-top) + 64px)!important;
  padding-bottom:calc(165px + env(safe-area-inset-bottom))!important;
}
.registration-avatar-button{
  width:126px!important;
  height:126px!important;
}
.registration-avatar-placeholder,
.registration-avatar-image-wrap{
  width:100%!important;
  height:100%!important;
}
.registration-avatar-icon{
  width:56px!important;
  height:56px!important;
  object-fit:contain!important;
  display:block!important;
}
.registration-details-copy{
  margin-top:20px!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
.registration-details-copy h1{
  font-size:clamp(25px,3.1vw,32px)!important;
}
.registration-details-copy p{
  font-size:clamp(15px,1.8vw,19px)!important;
  margin-top:8px!important;
}
.registration-name-fields{
  width:min(520px,calc(100% - 32px))!important;
  margin-top:34px!important;
  gap:12px!important;
}
.registration-field{
  height:54px!important;
  border-width:2px!important;
  border-radius:14px!important;
}
.registration-field label{
  left:15px!important;
  font-size:16px!important;
}
.registration-field:focus-within label,
.registration-field.has-value label,
.registration-field.is-active label{
  top:-1px!important;
  padding:0 6px!important;
  font-size:14px!important;
}
.registration-field input{
  padding:10px 15px!important;
  font-size:17px!important;
}
.registration-bottom{
  min-height:112px!important;
  padding-left:max(18px,calc((100vw - 520px)/2))!important;
  padding-right:max(18px,calc((100vw - 520px)/2))!important;
  padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
  gap:12px!important;
}
.registration-terms{
  max-width:calc(100% - 82px)!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.registration-submit{
  flex:0 0 71px!important;
  width:71px!important;
  height:71px!important;
}
.registration-submit svg{
  width:46px!important;
  height:46px!important;
}
.registration-submit:active{
  transform:scale(.96)!important;
}
.registration-submit.is-loading svg{
  animation:none!important;
}


.avatar-crop-modal{
  position:fixed!important;
  inset:0!important;
  z-index:1200!important;
  background:rgba(0,0,0,.72)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  opacity:0!important;
  animation:cropModalIn .2s ease forwards!important;
  overscroll-behavior:contain!important;
}
.avatar-crop-dialog{
  width:min(420px,100%)!important;
  max-height:calc(100svh - 28px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#242426!important;
  border-radius:24px!important;
  padding:20px!important;
  box-shadow:0 20px 70px rgba(0,0,0,.55)!important;
  position:relative!important;
  color:#fff!important;
  text-align:center!important;
}
.avatar-crop-dialog h2{
  margin:2px 42px 5px!important;
  font-size:22px!important;
  line-height:1.2!important;
}
.avatar-crop-dialog p{
  margin:0 0 18px!important;
  color:#8e8e93!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.avatar-crop-close{
  position:absolute!important;
  right:12px!important;
  top:10px!important;
  width:38px!important;
  height:38px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  color:#fff!important;
  font-size:30px!important;
  line-height:34px!important;
  padding:0!important;
  cursor:pointer!important;
}
.avatar-crop-stage{
  width:min(76vw,300px)!important;
  height:min(76vw,300px)!important;
  margin:0 auto 18px!important;
  border-radius:50%!important;
  overflow:hidden!important;
  background:#111!important;
  position:relative!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.12)!important;
}
.avatar-crop-stage:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)!important;
  pointer-events:none!important;
}
.avatar-crop-stage img{
  position:absolute!important;
  max-width:none!important;
  max-height:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
  touch-action:none!important;
  pointer-events:none!important;
}
.avatar-crop-zoom{
  display:block!important;
  text-align:left!important;
  margin:0 auto 18px!important;
  width:min(300px,76vw)!important;
  color:#b0b0b5!important;
  font-size:13px!important;
}
.avatar-crop-zoom span{
  display:block!important;
  margin-bottom:7px!important;
}
.avatar-crop-zoom input{
  width:100%!important;
  accent-color:#2aabee!important;
}
.avatar-crop-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.avatar-crop-actions button{
  height:48px!important;
  border:0!important;
  border-radius:14px!important;
  font-size:16px!important;
  font-weight:600!important;
  color:#fff!important;
  background:#333336!important;
}
.avatar-crop-actions .avatar-crop-save{
  background:#2aabee!important;
}
body:has(.avatar-crop-modal){
  overflow:hidden!important;
}
@keyframes cropModalIn{
  from{opacity:0}
  to{opacity:1}
}

.registration-agreement{
  padding:12px!important;
}
.registration-agreement-card{
  width:min(560px,calc(100vw - 24px))!important;
  max-height:calc(100svh - 24px)!important;
  border-radius:22px!important;
  padding:30px 28px 14px!important;
}
.registration-agreement-card h2{
  margin-bottom:22px!important;
  font-size:clamp(24px,5vw,32px)!important;
}
.registration-agreement-text{
  font-size:clamp(15px,2.2vw,19px)!important;
  line-height:1.32!important;
}
.registration-agreement-text p{
  margin-bottom:22px!important;
}
.registration-agreement-ok{
  font-size:20px!important;
  margin-top:14px!important;
}

@media(max-width:699px){
  .registration-details-scroll{
    padding-top:calc(env(safe-area-inset-top) + 62px)!important;
    padding-bottom:calc(156px + env(safe-area-inset-bottom))!important;
  }
  .registration-avatar-button{
    width:min(126px,30vw)!important;
    height:min(126px,30vw)!important;
  }
  .registration-avatar-icon{
    width:52px!important;
    height:52px!important;
  }
  .registration-details-copy{
    margin-top:18px!important;
  }
  .registration-details-copy h1{
    font-size:clamp(24px,6.4vw,30px)!important;
  }
  .registration-details-copy p{
    font-size:clamp(14px,4vw,18px)!important;
    margin-top:7px!important;
  }
  .registration-name-fields{
    width:calc(100% - 32px)!important;
    max-width:520px!important;
    margin-top:32px!important;
    gap:11px!important;
  }
  .registration-field{
    height:54px!important;
    border-radius:13px!important;
  }
  .registration-field label{
    left:14px!important;
    font-size:15px!important;
  }
  .registration-field:focus-within label,
  .registration-field.has-value label,
  .registration-field.is-active label{
    font-size:13px!important;
  }
  .registration-field input{
    padding:9px 14px!important;
    font-size:16px!important;
  }
  .registration-bottom{
    min-height:116px!important;
    padding-left:16px!important;
    padding-right:16px!important;
    padding-bottom:calc(12px + env(safe-area-inset-bottom))!important;
  }
  .registration-terms{
    max-width:calc(100% - 78px)!important;
    font-size:clamp(13px,3.6vw,15px)!important;
    line-height:1.22!important;
  }
  .registration-submit{
    flex-basis:62px!important;
    width:62px!important;
    height:62px!important;
  }
  .registration-submit svg{
    width:40px!important;
    height:40px!important;
  }
  .registration-agreement{
    padding:8px!important;
  }
  .registration-agreement-card{
    width:calc(100vw - 16px)!important;
    max-height:calc(100svh - 16px)!important;
    border-radius:20px!important;
    padding:25px 20px 12px!important;
  }
  .registration-agreement-card h2{
    font-size:clamp(23px,7vw,30px)!important;
    margin-bottom:20px!important;
  }
  .registration-agreement-text{
    font-size:clamp(14px,4vw,18px)!important;
    line-height:1.3!important;
  }
  .registration-agreement-text p{
    margin-bottom:19px!important;
  }
  .registration-agreement-ok{
    font-size:19px!important;
    margin-top:10px!important;
  }
  .avatar-crop-modal{
    padding:10px!important;
  }
  .avatar-crop-dialog{
    width:min(420px,calc(100vw - 20px))!important;
    max-height:calc(100svh - 20px)!important;
    padding:18px 15px 15px!important;
    border-radius:22px!important;
  }
  .avatar-crop-dialog h2{
    font-size:21px!important;
  }
  .avatar-crop-dialog p{
    margin-bottom:14px!important;
    font-size:13px!important;
  }
  .avatar-crop-stage{
    width:min(72vw,290px)!important;
    height:min(72vw,290px)!important;
    margin-bottom:15px!important;
  }
  .avatar-crop-zoom{
    width:min(290px,72vw)!important;
    margin-bottom:15px!important;
  }
  .avatar-crop-actions button{
    height:46px!important;
    border-radius:13px!important;
    font-size:15px!important;
  }
}



.registration-topbar .back{
  width:44px!important;
  height:44px!important;
  padding:8px!important;
  display:grid!important;
  place-items:center!important;
}
.registration-topbar .back svg,
.registration-back svg{
  width:28px!important;
  height:28px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.25!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.registration-back{
  width:44px!important;
  height:44px!important;
  padding:8px!important;
  display:grid!important;
  place-items:center!important;
}


.registration-crop-modal .avatar-crop-dialog{
  width:min(420px,calc(100vw - 24px))!important;
  max-height:calc(100svh - 24px)!important;
  overflow:hidden!important;
  padding:20px!important;
}
.registration-crop-modal .avatar-crop-stage{
  width:min(300px,76vw)!important;
  height:min(300px,76vw)!important;
  flex:0 0 auto!important;
  margin:0 auto 18px!important;
}
.registration-crop-modal .avatar-crop-stage.is-dragging{
  cursor:grabbing!important;
}
.registration-crop-modal .avatar-crop-stage:not(.is-dragging){
  cursor:grab!important;
}
.registration-crop-modal .avatar-crop-stage img{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.registration-crop-modal .avatar-crop-zoom{
  width:min(300px,76vw)!important;
}
.registration-crop-modal .avatar-crop-actions{
  width:100%!important;
}
.registration-crop-modal .avatar-crop-actions button{
  min-width:0!important;
}
.registration-avatar-image{
  object-fit:cover!important;
  object-position:center center!important;
}

@media(max-width:699px){
  .registration-topbar .back,
  .registration-back{
    width:42px!important;
    height:42px!important;
    padding:7px!important;
  }
  .registration-topbar .back svg,
  .registration-back svg{
    width:27px!important;
    height:27px!important;
  }
  .registration-crop-modal .avatar-crop-dialog{
    width:calc(100vw - 20px)!important;
    max-height:calc(100svh - 20px)!important;
    padding:18px 15px 15px!important;
  }
  .registration-crop-modal .avatar-crop-stage{
    width:min(290px,72vw)!important;
    height:min(290px,72vw)!important;
  }
  .registration-crop-modal .avatar-crop-zoom{
    width:min(290px,72vw)!important;
  }
}



.registration-crop-modal{
  position:fixed!important;
  inset:0!important;
  z-index:99999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  background:rgba(0,0,0,.72)!important;
  padding:12px!important;
}
.registration-crop-modal .avatar-crop-dialog{
  position:relative!important;
  z-index:100000!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:min(420px,calc(100vw - 24px))!important;
  max-width:420px!important;
  max-height:calc(100svh - 24px)!important;
  overflow:hidden!important;
  background:#242426!important;
  color:#fff!important;
  border-radius:24px!important;
  padding:20px!important;
  box-shadow:0 20px 70px rgba(0,0,0,.55)!important;
}
.registration-crop-modal .avatar-crop-stage{
  position:relative!important;
  display:block!important;
  width:min(300px,calc(100vw - 72px))!important;
  height:min(300px,calc(100vw - 72px))!important;
  max-width:300px!important;
  max-height:300px!important;
  min-width:180px!important;
  min-height:180px!important;
  margin:0 auto 18px!important;
  overflow:hidden!important;
  border-radius:50%!important;
  background:#111!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  touch-action:none!important;
}
.registration-crop-modal .avatar-crop-stage img{
  position:absolute!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  max-width:none!important;
  max-height:none!important;
  pointer-events:none!important;
}
.registration-crop-modal .avatar-crop-zoom,
.registration-crop-modal .avatar-crop-actions,
.registration-crop-modal .avatar-crop-close,
.registration-crop-modal h2,
.registration-crop-modal p{
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:520px){
  .registration-crop-modal{padding:8px!important}
  .registration-crop-modal .avatar-crop-dialog{
    width:calc(100vw - 16px)!important;
    max-height:calc(100svh - 16px)!important;
    padding:18px 14px 14px!important;
    border-radius:22px!important;
  }
  .registration-crop-modal .avatar-crop-stage{
    width:min(290px,72vw)!important;
    height:min(290px,72vw)!important;
    min-width:160px!important;
    min-height:160px!important;
    margin-bottom:15px!important;
  }
  .registration-crop-modal .avatar-crop-zoom{width:min(290px,72vw)!important}
}


.registration-topbar .back svg,
.registration-back svg{
  width:28px!important;
  height:28px!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2.15!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}



.registration-topbar .back,
.registration-details-step .registration-back {
  display: none !important;
}


.registration-avatar-button.has-avatar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.registration-avatar-button.has-avatar .registration-avatar-image-wrap {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.registration-avatar-button.has-avatar .registration-avatar-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 50% !important;
}


body:has(.login-page) .topbar .back svg {
  width: 30px !important;
  height: 30px !important;
}
body:has(.login-page) .topbar .back svg path {
  d: path("M20 12H4M10 6L4 12L10 18");
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
