/* Registration only. Base = desktop reference; variables define each viewport/theme.
   Layout rules are consolidated here, rather than appended as corrective overrides. */
body:has(.registration-page){background:#fffdf7}
body:has(.registration-page) #app.wrap{width:100%;max-width:none;min-width:0;margin:0;padding:0;left:auto;transform:none}
body:has(.registration-page) :is(.pageline,.foot){display:none}
body:has(.registration-page) .thm-fix{position:fixed;z-index:12;top:28px;right:170px;background:#ffffffeb;color:#102151;border:1px solid #cbd6e8}
.registration-page{
 --reg-blue:#104bbb;--reg-ink:#071444;--reg-muted:#4c608d;--reg-paper:#fff;
 --reg-line:#e0e6f0;--reg-canvas:#fffdf7;--reg-surface:#fff;--reg-link:#0750db;
 --reg-brand:#071444;--reg-hero-ink:#071444;--reg-hero-muted:#3a5287;--reg-error:#c52245;
 --reg-female:linear-gradient(140deg,#fff8fa,#fff5f8);--reg-male:linear-gradient(135deg,#f5faff,#eaf2ff);
 --reg-card-line:#e9e3e8;--reg-selected:#0753ff;--reg-scene-height:max(1024px,100svh);
 --reg-card-height:330px;--reg-avatar-size:190px;--reg-panel-padding:34px;
 --reg-flag-height:clamp(160px,13.671875vw,240px);
 --ink:var(--reg-ink);--muted:var(--reg-muted);--surface:var(--reg-surface);--line:var(--reg-line);--accent:var(--reg-blue);--accent-ink:#fff;
 color-scheme:light;position:relative;isolation:isolate;display:grid;grid-template-columns:62.4349% minmax(0,1fr);
 width:100%;max-width:none;min-height:var(--reg-scene-height);background:var(--reg-canvas);color:var(--reg-ink);
 font:400 16px/1.5 "Manrope",Arial,sans-serif;overflow:clip;
}
.registration-page *{box-sizing:border-box}
.registration-page .reg-art{position:absolute;top:-48px;left:0;right:0;height:calc(var(--reg-scene-height) + 48px);z-index:-2;background:url('/assets/registration/journey-clean.png') center bottom/cover no-repeat;pointer-events:none}
.registration-page .reg-flags{position:absolute;z-index:0;top:calc(var(--reg-scene-height) - var(--reg-flag-height));left:0;right:0;height:var(--reg-flag-height);background:url('/assets/registration/flag-ribbons.svg') center bottom/100% 100% no-repeat;pointer-events:none}
.registration-page .reg-top{position:absolute;top:28px;left:10.8%;right:2.4%;display:flex;align-items:flex-start;justify-content:space-between;z-index:4}
.registration-page .reg-brand{display:flex;align-items:center;gap:18px;transform:translateY(14px);text-decoration:none;color:var(--reg-brand)}
.reg-brand>svg{width:100px;height:100px;flex-shrink:0}
.reg-brand>span{font:bold 52px/1 Georgia,"Times New Roman",serif;letter-spacing:-1.4px;transform:translateY(-4px)}
.reg-brand small{display:block;font:500 20px/1.8 "Manrope",Arial,sans-serif;letter-spacing:8px;color:#b77d19;text-align:center}
.reg-language{height:48px;display:flex;align-items:center;gap:12px;padding:0 17px;border-radius:19px;background:#eef7fff2;color:#071444}
.reg-language>span{font-size:24px}
.reg-language select{font:600 16px "Manrope",Arial,sans-serif;border:0;background:transparent;color:inherit;padding:8px 2px;min-height:44px;cursor:pointer;color-scheme:light}
.registration-page .reg-hero{position:relative;align-self:start;min-width:0;height:var(--reg-scene-height)}
.reg-travel{position:absolute;top:16%;left:36%;width:55%;height:210px;pointer-events:none}
.reg-map{position:absolute;width:120%;height:240px;left:-5%;top:0;fill:#67a2d8;opacity:.18;pointer-events:none}
.reg-route{position:absolute;top:36px;width:100%;height:auto;overflow:visible}
.reg-route path{fill:none;stroke:#fff;stroke-width:4;opacity:.85}
.reg-route .reg-route-dash{stroke-dasharray:6 8}
.reg-route circle{fill:#fff;stroke:#9cccf2;stroke-width:4}
.reg-plane{position:absolute;top:0;left:27%;width:240px;height:auto;filter:drop-shadow(0 10px 8px #17376340);animation:reg-flight 7s ease-in-out infinite}
@keyframes reg-flight{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(12px,-8px) rotate(1deg)}}
.reg-foreground{position:absolute;top:54.3%;left:0;width:100%;padding:0 24px 0 64px;text-align:center;color:var(--reg-hero-ink)}
.reg-foreground h1{font:700 56px/1.04 Georgia,"Times New Roman",serif;letter-spacing:-1.8px;text-wrap:initial;color:var(--reg-hero-ink);margin:0}
.reg-foreground>p{font-size:20px;line-height:1.4;color:var(--reg-hero-muted);margin:10px 0 12px}
.reg-features{list-style:none;padding:0;margin:0 auto;max-width:610px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.reg-features li{display:flex;align-items:center;flex-direction:column;min-width:0}
.reg-features li>span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fbf0dc;color:#a86d12;margin-bottom:4px}
.reg-features .ic{width:31px;height:31px;stroke-width:1.7}
.reg-features b{font-size:19px;line-height:1.35;color:var(--reg-hero-ink)}
.reg-features small{font-size:14px;line-height:1.4;color:var(--reg-hero-muted)}
.registration-page .reg-panel{align-self:start;position:relative;z-index:2;min-width:0;min-height:880px;margin:95px 26px 49px 0;border-radius:25px;padding:28px var(--reg-panel-padding) 32px;background:var(--reg-paper);color:var(--reg-ink);box-shadow:0 20px 60px #1c46801b}
.reg-account{display:flex;align-items:baseline;justify-content:center;gap:12px;font-size:16px;line-height:1.5;color:var(--reg-muted);margin:0}
.reg-account-top{justify-content:flex-end}
.registration-page .linkbtn{color:var(--reg-link);font:700 16px/1.5 "Manrope",Arial,sans-serif;text-decoration:none;padding:2px 0;border:0;background:none;cursor:pointer}
.reg-panel-title{text-align:center;margin:40px 0 0}
.reg-panel-title h2{font:700 44px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-1.2px;color:var(--reg-ink);margin:0}
.reg-panel-title p{font-size:19px;line-height:1.5;color:var(--reg-muted);margin:7px 0 0}
.reg-stepper{display:flex;isolation:isolate;list-style:none;margin:34px 0 0;padding:0;justify-content:space-between}
.reg-stepper li{display:flex;align-items:center;flex-direction:column;gap:4px;color:var(--reg-muted);flex:1;position:relative;font-size:16px}
.reg-stepper li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:2px;background:var(--reg-line);z-index:-1}
.reg-stepper li:first-child::before{display:none}
.reg-step-number{display:grid;place-items:center;background:var(--reg-surface);border:2px solid var(--reg-line);width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1}
.reg-stepper [aria-current]{color:var(--reg-selected);font-weight:700}
.reg-stepper [aria-current] .reg-step-number{background:linear-gradient(145deg,#2587ff,#0753ff);border-color:#1464ff;color:#fff;box-shadow:0 2px 8px #2679ff30}
.registration-page .reg-form{display:block;margin:47px 0 0;padding:0;max-width:none}
.reg-gender{border:0;margin:0;padding:0;min-width:0}
.reg-gender legend{font-size:23px;line-height:1.5;font-weight:600;padding:0;margin-bottom:12px;color:var(--reg-ink)}
.reg-gender legend>span:last-child{color:#ed3355}
.reg-gender-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.reg-gender-card{position:relative;display:block;min-width:0;cursor:pointer}
.reg-gender-card>input{position:absolute;top:25px;right:22px;width:24px;height:24px;opacity:0;z-index:1;margin:0}
.reg-card-face{display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:2px;position:relative;min-width:0;min-height:var(--reg-card-height);border:2px solid var(--reg-card-line);border-radius:15px;background:var(--reg-female);padding:44px 9px 9px;transition:border-color .15s,box-shadow .15s}
.male .reg-card-face{background:var(--reg-male)}
.reg-gender-symbol{position:absolute;top:20px;left:15px;width:65px;height:65px;display:grid;place-items:center;border-radius:50%;color:#1263f1;background:#dbeaff;font:48px/1 Arial,sans-serif;z-index:1}
.female .reg-gender-symbol{color:#f12d65;background:#ffe4ec}
.reg-card-check{position:absolute;top:20px;right:20px;width:31px;height:31px;border-radius:50%;border:2px solid var(--reg-card-line);background:transparent;color:transparent;display:grid;place-items:center;z-index:1}
.reg-card-check .ic{width:22px;height:22px}
.reg-gender-card input:checked+.reg-card-face{border-color:var(--reg-selected);box-shadow:0 0 0 3px #0753ff08}
.reg-gender-card input:checked+.reg-card-face .reg-card-check{background:#1675ff;border-color:#1675ff;color:#fff}
/* Clip the bitmap itself; the original square WebP files remain unchanged. */
.reg-card-face img{display:block;flex:none;width:var(--reg-avatar-size);height:var(--reg-avatar-size);aspect-ratio:1;border-radius:50%;overflow:hidden;object-fit:cover;object-position:center;min-width:0;margin:0 0 2px}
.reg-card-face b{font-size:19px;line-height:1.4;color:var(--reg-ink)}
.reg-card-face small{font-size:16px;line-height:1.4;color:var(--reg-muted)}
.reg-gender-card input:checked+.reg-card-face small{color:var(--reg-selected)}
.registration-page .reg-next{display:flex;width:100%;min-height:72px;align-items:center;justify-content:center;gap:20px;margin-top:23px;border-radius:15px;background:linear-gradient(120deg,#1054c8,#1045af);color:#fff;font-size:22px;font-weight:600;padding:14px;border:0;box-shadow:inset 0 1px 0 #5598ff60;cursor:pointer}
.reg-next .ic{width:25px;height:25px}
.reg-account-bottom{margin-top:18px}
.reg-alternatives{font-size:13px;margin-top:12px;color:var(--reg-muted)}
.reg-alternatives summary{cursor:pointer;text-align:center;padding:6px;min-height:44px}
.reg-alternatives .atabs{margin:12px 0;flex-wrap:wrap}
.reg-alternatives .atabs button{min-height:44px;font-size:13px}
.reg-alternatives .aform{margin:12px 0}
.reg-details-heading{font:700 21px/1.3 "Manrope",Arial,sans-serif;margin:0 0 12px;color:var(--reg-ink)}
.reg-selected-avatar{display:flex;align-items:center;gap:10px;color:var(--reg-muted);font-size:13px;margin:0 0 16px}
.reg-selected-avatar img{width:56px;height:56px;aspect-ratio:1;border-radius:50%;overflow:hidden;object-fit:cover;background:var(--reg-surface)}
.reg-selected-avatar .linkbtn{margin-left:auto;font-size:13px}
.registration-page .fld{margin:0 0 12px;min-width:0}
.registration-page .fld>label{font-size:14px;color:var(--reg-ink);font-weight:600}
.registration-page .fld input:not([type="checkbox"]){width:100%;min-width:0;min-height:48px;border-radius:9px;border:1px solid var(--reg-line);background:var(--reg-surface);color:var(--reg-ink);color-scheme:inherit;font:400 16px "Manrope",Arial,sans-serif;padding:10px 12px}
.registration-page .pwwrap input{padding-right:48px}
.registration-page .pweye{color:var(--reg-muted);width:44px;height:44px}
.registration-page .frow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.registration-page .ahint{font-size:12px;color:var(--reg-muted);margin:4px 0 8px}
.registration-page .fcheck label{display:flex;gap:8px;align-items:flex-start;font-size:12px;font-weight:400}
.registration-page .fcheck input{flex:none;width:20px;height:20px;accent-color:#1054c8;margin:0}
.registration-page .reg-back{display:flex;gap:8px;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:8px;font-size:14px}
.registration-page a{color:var(--reg-link)}
.registration-page :is(button,input,select,summary,a):focus-visible,.reg-gender-card input:focus-visible+.reg-card-face{outline:3px solid #d4a64a;outline-offset:4px}
.registration-page .fld input[aria-invalid="true"]{border-color:var(--reg-error)}
.registration-page .ferr{color:var(--reg-error);font-size:13px;margin:5px 0 0;min-height:0}
.registration-page .aerr{color:var(--reg-error);font-size:14px;margin:10px 0}
.registration-page :is(.aerr,.ferr,.ahint):empty{display:none}
.registration-page .reg-verification{margin-top:32px}
.registration-page .reg-verification h2{font:700 26px/1.2 Georgia,"Times New Roman",serif;margin:0 0 20px;color:var(--reg-ink)}
.reg-verification .btn{min-height:48px;white-space:normal}
.reg-verification .notice{overflow-wrap:anywhere}
.registration-page[data-step="2"] .reg-panel-title{margin:22px 0}
.registration-page[data-step="2"] .reg-stepper{margin:20px 0 25px}
.registration-page[data-step="2"] .reg-form{margin-top:0}
/* Theme tokens are opaque; only scenic artwork is filtered/faded. */
[data-theme="dark"] body:has(.registration-page){background:#081427}
[data-theme="dark"] .registration-page{--reg-ink:#edf2ff;--reg-muted:#b3c2df;--reg-paper:#0e1b30;--reg-line:#30425f;--reg-canvas:#081427;--reg-surface:#13233b;--reg-link:#9bc0ff;--reg-brand:#edf2ff;--reg-hero-ink:#edf2ff;--reg-hero-muted:#b3c2df;--reg-error:#ff9bb2;--reg-selected:#8db7ff;--reg-card-line:#405576;--reg-female:linear-gradient(140deg,#2c2032,#1d2035);--reg-male:linear-gradient(140deg,#172d4e,#152440);color-scheme:dark}
[data-theme="dark"] .registration-page .reg-art{filter:brightness(.55) saturate(.8);mask-image:linear-gradient(#000 25%,#0009 42%,transparent 68%)}
[data-theme="dark"] .registration-page .reg-flags{opacity:.45}
/* Reference first step has a fixed scene scale, but document height is never capped. */
@media(min-width:1151px){
 .registration-page[data-step="1"] .reg-alternatives:not([open]){position:absolute;bottom:6px;left:var(--reg-panel-padding);right:var(--reg-panel-padding);margin:0;font-size:12px}
 .registration-page[data-step="1"] .reg-alternatives:not([open]) summary{padding:0;min-height:32px}
}
@media(min-width:901px) and (max-width:1450px){
 .registration-page{--reg-panel-padding:26px;--reg-card-height:310px;--reg-avatar-size:174px}
 .reg-foreground h1{font-size:clamp(40px,3.65vw,54px)}.reg-panel-title h2{font-size:40px}
 .reg-gender-grid{gap:14px}.reg-brand>span{font-size:46px}.registration-page .reg-top{left:8%}
 .reg-features b{font-size:18px}.reg-features small{font-size:12px}
}
@media(min-width:901px) and (max-width:1150px){
 .registration-page{grid-template-columns:53% minmax(0,1fr);--reg-avatar-size:145px}
 .reg-brand>svg{width:75px;height:75px}.reg-brand>span{font-size:38px}.reg-foreground h1{font-size:39px}
 .reg-foreground>p{font-size:16px}.reg-travel{left:10%;width:80%}.reg-features{gap:6px}
 .reg-features b{font-size:15px}.reg-features small{font-size:11px}
}
@media(max-width:900px){
 .registration-page{--reg-scene-height:320px;--reg-card-height:200px;--reg-avatar-size:112px;--reg-panel-padding:18px;display:flex;flex-direction:column;min-height:100svh}
 /* Ustunli flex'da align-self:start blokni kontent kengligiga siqadi (hero ichida faqat absolute elementlar — 0 kenglik): to'liq kenglik */
 .registration-page .reg-hero,.registration-page .reg-panel{align-self:stretch}
 .registration-page .reg-art{top:0;height:var(--reg-scene-height);background-position:32% top;background-size:auto 450px;mask-image:linear-gradient(#000 48%,transparent 100%)}
 .registration-page .reg-flags,.reg-features,.reg-account-top{display:none}
 .registration-page .reg-top{top:12px;left:18px;right:18px}
 .registration-page .reg-brand{gap:8px;transform:none}.reg-brand>svg{width:45px;height:45px}
 .reg-brand>span{font-size:26px;letter-spacing:-.8px;transform:none}.reg-brand small{font-size:9px;letter-spacing:4px;line-height:1.8}
 .reg-language{height:44px;border-radius:16px;padding:0 10px;gap:6px}.reg-language>span{font-size:19px}.reg-language select{font-size:14px;min-height:44px}
 body:has(.registration-page) .thm-fix{top:65px;right:18px;width:44px;height:44px}
 .reg-travel{top:68px;left:24%;width:62%;height:100px}.reg-plane{width:145px;left:22%}.reg-route{top:5px}.reg-map{height:130px}
 .reg-foreground{top:auto;bottom:0;padding:14px 16px 12px;border-radius:50% 50% 0 0/15% 15% 0 0;background:var(--reg-canvas)}
 .reg-foreground h1{font-size:31px;line-height:1.08;letter-spacing:-.9px}.reg-foreground>p{font-size:14px;line-height:1.45;margin:6px 0 0}
 .registration-page .reg-panel{margin:0 14px 24px;padding:18px var(--reg-panel-padding);min-height:0;border-radius:20px;box-shadow:0 10px 35px #10254a15}
 .reg-panel-title{margin:0}.reg-panel-title h2{font-size:30px;letter-spacing:-.6px}.reg-panel-title p{font-size:14px;line-height:1.5;margin-top:4px}
 .reg-stepper{margin:8px 0 14px}.reg-stepper li{font-size:12px}.reg-step-number{width:28px;height:28px;font-size:16px}.reg-stepper li::before{top:14px}
 .registration-page .reg-form{margin-top:0}
 .reg-gender legend{font-size:17px;line-height:1.5;margin-bottom:8px}.reg-gender-grid{gap:12px}
 .reg-card-face{padding:32px 6px 8px;border-radius:12px}.reg-card-face b{font-size:17px;line-height:1.3}.reg-card-face small{font-size:14px;line-height:1.4}
 .reg-gender-symbol{width:41px;height:41px;left:9px;top:10px;font-size:32px}.reg-card-check{width:23px;height:23px;right:9px;top:11px}.reg-card-check .ic{width:17px;height:17px}
 .registration-page .reg-next{min-height:52px;font-size:17px;border-radius:11px;margin-top:14px}
 .reg-account{font-size:13px;gap:7px}.reg-account .linkbtn{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.reg-account-bottom{margin-top:4px}
 .reg-alternatives{font-size:13px;margin-top:4px}
 .registration-page[data-step="2"] .reg-panel-title{margin:0}.registration-page[data-step="2"] .reg-stepper{margin:8px 0 14px}
 .registration-page .reg-verification{margin-top:16px}
 [data-theme="dark"] .registration-page .reg-art{mask-image:linear-gradient(#000 30%,#0006 58%,transparent 100%)}
}
@media(min-width:600px) and (max-width:900px){
 .registration-page{--reg-panel-padding:28px;--reg-avatar-size:148px;--reg-card-height:242px}
 .registration-page .reg-panel{width:540px;max-width:calc(100% - 40px);margin:0 auto 30px}
 .reg-travel{left:32%;width:42%}
}
@media(max-width:380px){
 .registration-page{--reg-panel-padding:16px;--reg-avatar-size:104px}
 .registration-page .reg-top{left:14px;right:14px}.reg-brand>span{font-size:24px}.reg-brand>svg{width:43px;height:43px}
 .registration-page .reg-panel{margin-inline:10px}.reg-foreground h1{font-size:29px}.reg-gender-grid{gap:10px}
 .registration-page .frow{grid-template-columns:1fr;gap:0}
}
@media(prefers-reduced-motion:reduce){.registration-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
