*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--reg-font);background:var(--reg-background);color:var(--reg-white)}
a{color:inherit}
button,input,select{font:inherit}

.pg-register{position:relative;min-height:100vh;min-height:100dvh;padding:max(20px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));overflow-x:hidden}
.pg-register-bg{position:fixed;inset:-24px;z-index:0;background:var(--reg-bg-image) var(--reg-bg-x) var(--reg-bg-y)/cover no-repeat;filter:blur(var(--reg-blur)) saturate(.96);transform:scale(var(--reg-bg-scale));will-change:transform}
.pg-register-bg:after{content:"";position:absolute;inset:0;background:rgba(3,25,30,var(--reg-overlay))}
.pg-register-glow{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 8%,rgba(255,255,255,.16),transparent 26%),linear-gradient(180deg,rgba(15,74,112,.06),rgba(0,16,28,.20))}
.pg-register-shell{position:relative;z-index:2;width:min(100%,1040px);margin:0 auto}

.pg-register-header{text-align:center;position:relative;padding:0 0 22px}
.pg-register-back{position:absolute;left:0;top:8px;display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(7,43,58,.26);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-decoration:none;font-size:13px;font-weight:750}
.pg-register-back:hover{background:rgba(20,92,94,.34)}
.pg-register-logo{width:min(260px,64vw);height:126px;display:flex;align-items:center;justify-content:center;margin:0 auto 4px}
.pg-register-logo img{display:block;max-width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,24,45,.34))}
.pg-register-logo-fallback{font-size:30px;font-weight:900;text-shadow:0 3px 12px rgba(0,0,0,.35)}
.pg-register-intro{text-shadow:0 2px 14px rgba(0,25,43,.34)}
.pg-register-intro h1{margin:4px 0 8px;font-size:clamp(32px,6vw,56px);line-height:1.05;letter-spacing:-.035em}
.pg-register-intro p{margin:0 auto;width:min(100%,680px);font-size:clamp(15px,2.3vw,20px);line-height:1.45;color:var(--reg-muted)}

.pg-register-panel{background:rgba(7,38,55,.48);border:1px solid rgba(255,255,255,.20);border-radius:28px;padding:clamp(14px,2.5vw,28px);box-shadow:0 22px 70px rgba(0,21,37,.26);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.pg-required-note{font-size:13px;color:rgba(255,255,255,.82);margin:0 2px 14px}
.pg-alert{padding:13px 15px;border-radius:16px;margin:0 0 16px;border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(10px);font-size:14px;line-height:1.5}
.pg-alert-error{background:rgba(126,21,40,.75)}

.pg-registration-form{display:grid;gap:18px}
.pg-reg-section{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:clamp(15px,2.2vw,24px);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.pg-reg-section-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}
.pg-reg-section-icon{width:42px;height:42px;flex:0 0 42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(160,215,160,.95),rgba(89,215,192,.95));box-shadow:0 9px 24px rgba(10,203,169,.18);font-size:20px}
.pg-reg-section-head h2{margin:0;font-size:clamp(20px,3vw,27px)}
.pg-reg-section-head p{margin:4px 0 0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.76)}
.pg-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.pg-span-2{grid-column:1/-1}

.pg-field{display:block;min-width:0}
.pg-field-label{display:block;margin:0 0 7px;font-size:14px;font-weight:750;text-shadow:0 1px 7px rgba(0,0,0,.24)}
.pg-field small,.pg-reg-section small{display:block;margin-top:6px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.72)}
.pg-input-wrap{position:relative;display:block}
.pg-input{width:100%;min-height:54px;border:2px solid rgba(168,232,214,.86);border-radius:var(--reg-field-radius);padding:0 16px;background:var(--reg-field);color:var(--reg-field-text);outline:none;font-size:15px;font-weight:600;box-shadow:inset 0 0 17px rgba(159,205,214,.18),0 7px 18px rgba(0,31,47,.10);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.pg-input:focus{border-color:var(--reg-teal);box-shadow:0 0 0 4px rgba(53,224,190,.18),0 9px 22px rgba(0,31,47,.14)}
.pg-input::placeholder{color:#7b94a2;opacity:.8}
.pg-select{appearance:auto;padding-right:38px}
.pg-password-wrap .pg-input{padding-right:56px}
.pg-password-toggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:#587889;cursor:pointer;font-size:18px}
.pg-password-toggle:hover{background:rgba(24,75,92,.08)}
.pg-region-other{margin-top:9px}

.pg-photo-section .pg-inline-info{padding:13px 15px;border:1px solid rgba(118,220,205,.35);border-radius:16px;background:rgba(30,154,145,.16);font-size:13px;line-height:1.55}
.pg-fieldset{margin:0;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:14px}
.pg-fieldset legend{padding:0 8px;font-weight:800}
.pg-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pg-check{display:flex;align-items:center;gap:9px;min-height:44px;padding:9px 11px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);cursor:pointer}
.pg-check input{width:18px;height:18px;accent-color:#59d7c0}
.pg-check span{font-size:13px}

.pg-terms-section{padding:16px 18px}
.pg-terms-check{display:flex;align-items:flex-start;gap:11px;line-height:1.5;font-size:13px}
.pg-terms-check input{width:19px;height:19px;margin-top:2px;accent-color:#59d7c0;flex:0 0 auto}
.registration-terms-link{border:0;background:none;color:#8ff3db;text-decoration:underline;cursor:pointer;font:inherit;padding:0;font-weight:800}

.pg-register-submit,.pg-register-secondary{border-radius:var(--reg-button-radius);min-height:58px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:850;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.pg-register-submit{width:min(100%,440px);margin:2px auto 0;border:0;color:#fff;background:linear-gradient(115deg,var(--reg-green-1),var(--reg-green-2));box-shadow:0 13px 31px rgba(13,210,176,.25),inset 0 1px rgba(255,255,255,.38);font-size:18px}
.pg-register-submit:hover{filter:brightness(1.04);transform:translateY(-1px)}
.pg-register-submit:active{transform:translateY(1px)}
.pg-register-submit-link{margin-top:16px}
.pg-register-secondary{border:2px solid var(--reg-teal);color:var(--reg-teal);background:rgba(9,57,58,.26);padding:0 18px;width:max-content;max-width:100%}
.pg-register-secondary:hover{background:rgba(22,116,103,.34)}
.pg-already{text-align:center;margin-top:2px;font-size:13px;color:rgba(255,255,255,.80)}
.pg-already a{color:#9af5de;font-weight:850;text-decoration:none;border-bottom:1px solid rgba(154,245,222,.55)}
.pg-register-footer{text-align:center;padding:20px 0 2px;font-size:11px;line-height:1.4;color:rgba(255,255,255,.62);text-shadow:0 1px 4px rgba(0,0,0,.28)}

.pg-state-card{text-align:center;padding:clamp(26px,5vw,54px) 18px}
.pg-state-icon{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900;background:linear-gradient(135deg,var(--reg-green-1),var(--reg-green-2));box-shadow:0 12px 30px rgba(13,210,176,.24)}
.pg-state-card.is-warning .pg-state-icon{background:linear-gradient(135deg,#f4d467,#e29a45)}
.pg-state-card h2{margin:0 0 10px;font-size:clamp(24px,4vw,34px)}
.pg-state-card p{margin:0 auto 18px;width:min(100%,620px);line-height:1.55;color:rgba(255,255,255,.82)}

.registration-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.registration-modal[hidden]{display:none}
.registration-modal{position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:18px}
.registration-modal__backdrop{position:absolute;inset:0;background:rgba(1,10,18,.82);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.registration-modal__dialog{position:relative;width:min(1100px,96vw);height:min(820px,92vh);background:#0b2238;border:1px solid #2e628f;border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.55);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.registration-modal__head,.registration-modal__foot{padding:12px 16px;background:#102b43;display:flex;align-items:center;justify-content:space-between;gap:12px}
.registration-modal__head h2{margin:0;font-size:18px}
.registration-modal iframe{width:100%;height:100%;border:0;background:#fff}
.registration-modal__foot{justify-content:flex-end}
.pg-modal-close{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 14px;cursor:pointer}

@media(max-width:820px){
 .pg-register{padding-left:12px;padding-right:12px}
 .pg-register-back{position:static;margin:0 auto 8px;width:max-content}
 .pg-register-logo{height:100px;width:min(210px,55vw)}
 .pg-register-logo img{max-height:96px}
 .pg-register-panel{border-radius:22px;padding:12px}
 .pg-form-grid{grid-template-columns:1fr}
 .pg-span-2{grid-column:auto}
 .pg-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pg-reg-section{padding:15px;border-radius:18px}
}
@media(max-width:520px){
 .pg-register{padding-left:8px;padding-right:8px}
 .pg-register-intro h1{font-size:32px}
 .pg-register-panel{border-radius:18px;padding:9px}
 .pg-reg-section{padding:13px}
 .pg-reg-section-head{gap:10px;margin-bottom:14px}
 .pg-reg-section-icon{width:38px;height:38px;flex-basis:38px;border-radius:13px}
 .pg-input{min-height:52px;font-size:16px}
 .pg-check-grid{grid-template-columns:1fr}
 .pg-register-submit{min-height:58px;width:100%}
 .registration-modal{padding:0}
 .registration-modal__dialog{width:100vw;height:100dvh;border:0;border-radius:0}
 .registration-modal__head{padding:10px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
