*{box-sizing:border-box}
:root{color-scheme:dark;--auth-bg:#080d10;--auth-panel:#101719;--auth-line:rgba(215,230,226,.14);--auth-text:#f0f3f0;--auth-muted:#93a09f;--auth-teal:#77d8ce;--auth-gold:#d9b17a}
html,body{min-width:320px;min-height:100%;margin:0}
body.auth-page{background:var(--auth-bg);color:var(--auth-text);font-family:'DM Sans','Noto Sans SC',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{color:inherit}
.auth-layout{min-height:100svh;display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);background:var(--auth-bg)}
.auth-poster{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#101819}
.poster-image,.poster-tint{position:absolute;z-index:-2;inset:0}
.poster-image{background:url('assets/hero-gate.png') center 48%/cover no-repeat;transform:scale(1.015);animation:poster-reveal 1.2s ease-out both}
.poster-tint{z-index:-1;background:linear-gradient(90deg,rgba(5,11,14,.16),rgba(5,11,14,.04) 58%,rgba(5,11,14,.36)),linear-gradient(0deg,rgba(5,10,12,.83),transparent 53%,rgba(5,10,12,.34));}
.poster-tint:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 88%,rgba(8,13,16,.38));}
.poster-brand{position:absolute;top:35px;left:clamp(26px,4vw,62px);display:flex;align-items:center;text-decoration:none}
.poster-brand img{width:150px;height:auto;display:block;filter:drop-shadow(0 3px 16px rgba(0,0,0,.3))}
.poster-message{position:absolute;left:clamp(30px,6vw,92px);right:36px;bottom:clamp(74px,11vh,128px);max-width:620px}
.poster-kicker{display:flex;align-items:center;gap:10px;color:#d8e3e0;font-size:11px;letter-spacing:.23em}
.poster-kicker i{width:6px;height:6px;border-radius:50%;background:var(--auth-teal);box-shadow:0 0 15px rgba(119,216,206,.9)}
.poster-message h1{margin:18px 0 15px;font-size:clamp(42px,5.4vw,72px);font-weight:500;line-height:1.22;letter-spacing:.055em;text-shadow:0 4px 28px rgba(0,0,0,.32)}
.poster-message h1 em{font-style:normal;color:#d5e8e2}
.poster-message p{margin:0;color:rgba(237,242,239,.8);font-size:clamp(14px,1.3vw,17px);letter-spacing:.12em}
.poster-mark{display:flex;align-items:center;gap:12px;margin-top:30px;color:rgba(228,238,234,.62);font-size:9px;letter-spacing:.2em}
.poster-mark i{width:28px;height:1px;background:rgba(224,238,233,.48)}
.poster-caption{position:absolute;right:clamp(24px,3vw,46px);bottom:30px;color:rgba(222,232,228,.63);font-size:10px;letter-spacing:.16em}
.auth-panel{position:relative;min-height:100svh;display:grid;place-items:center;padding:58px 40px;background:radial-gradient(ellipse at 50% 38%,rgba(28,57,59,.18),transparent 42%),linear-gradient(150deg,#0b1114,#080c0e 64%);}
.auth-close{position:absolute;top:24px;right:28px;width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;border-radius:50%;color:#9ca9a7;text-decoration:none;font-size:25px;font-weight:300;line-height:1;transition:.2s}
.auth-close:hover{color:#fff;border-color:var(--auth-line);background:rgba(255,255,255,.05);transform:rotate(90deg)}
.auth-content{width:min(100%,380px);margin:auto}
.auth-brand{display:flex;justify-content:center;align-items:center;gap:9px;color:#e8eeeb;font-size:13px;font-weight:600;letter-spacing:.17em}
.auth-brand img{width:26px;height:26px;object-fit:contain}
.auth-brand b{color:#92d9d0;font-weight:600}
.auth-heading{margin:33px 0 34px;text-align:center}
.auth-eyebrow{color:#78908b;font-size:9px;letter-spacing:.22em}
.auth-heading h2{margin:11px 0 8px;font-size:25px;font-weight:500;letter-spacing:.035em}
.auth-heading p{margin:0;color:var(--auth-muted);font-size:12px;letter-spacing:.04em}
.auth-form{display:flex;flex-direction:column}
.field-label{margin:0 0 8px;color:#b4bfbc;font-size:11px;letter-spacing:.04em}
.input-shell{height:50px;display:flex;align-items:center;border:1px solid rgba(220,234,229,.11);border-radius:12px;background:rgba(255,255,255,.045);transition:border-color .2s,background .2s,box-shadow .2s}
.input-shell:focus-within{border-color:rgba(112,214,203,.55);background:rgba(39,79,76,.11);box-shadow:0 0 0 3px rgba(89,181,171,.08)}
.input-shell input{width:100%;height:100%;min-width:0;padding:0 14px;border:0;outline:0;background:transparent;color:#eef4f1;font-size:13px}
.input-shell input::placeholder{color:#71807e}
.country-code{height:24px;flex:0 0 auto;padding:0 13px;border:0;border-right:1px solid rgba(219,233,229,.12);background:transparent;color:#d2ddda;font-size:12px;cursor:pointer}
.country-code span{margin-left:4px;color:#778582;font-size:10px}
.phone-shell input{padding-left:12px}
.code-label{margin-top:20px}
.code-shell input{flex:1}
.send-code{height:30px;flex:0 0 auto;margin:0 9px;padding:0 10px;border:0;border-left:1px solid rgba(219,233,229,.1);background:transparent;color:#88d7ce;font-size:11px;white-space:nowrap;cursor:pointer}
.send-code:hover{color:#c1f1ea}
.terms-error{margin:19px 0 -15px;color:#f07878;font-size:11px;line-height:1.5;text-align:center}
.terms-error[hidden]{display:none}
.auth-submit{height:48px;margin-top:28px;border:1px solid rgba(220,234,229,.12);border-radius:12px;background:#414b4b;color:#aab6b3;font-size:13px;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:filter .2s,transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s}
.auth-submit.ready{border-color:rgba(142,232,220,.32);background:linear-gradient(105deg,#8addd2,#59b9b0);color:#0b2423;box-shadow:0 10px 30px rgba(51,163,152,.15)}
.auth-submit:hover{filter:brightness(1.08);transform:translateY(-1px)}
.terms-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:17px;color:#7f8c89;font-size:10px;line-height:1.7;cursor:pointer}
.terms-row input{position:absolute;width:1px;height:1px;opacity:0}
.custom-check{width:14px;height:14px;flex:0 0 14px;display:grid;place-items:center;border:1px solid rgba(210,228,222,.25);border-radius:4px;background:rgba(255,255,255,.025);transition:.2s}
.terms-row input:checked+.custom-check{border-color:#80d9ce;background:#5abdb2}
.terms-row input:checked+.custom-check:after{content:"✓";color:#09201e;font-size:10px;font-weight:700}
.terms-row input:focus-visible+.custom-check{outline:2px solid #9be6dc;outline-offset:2px}
.terms-row a{color:#a6c8c1;text-decoration:none}
.terms-row a:hover{color:#c9f2ec}
.auth-foot{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:34px;color:#5f6c6a;font-size:9px;letter-spacing:.06em}
.foot-dot{width:3px;height:3px;border-radius:50%;background:#4f7771}
.auth-notice{min-height:18px;margin:12px 0 0;color:#93d9d0;font-size:11px;text-align:center;opacity:0;transition:opacity .2s}
.auth-notice.visible{opacity:1}
@keyframes poster-reveal{from{opacity:.7;transform:scale(1.045)}to{opacity:1;transform:scale(1.015)}}
@media(max-width:980px){.auth-layout{grid-template-columns:minmax(0,.82fr) minmax(390px,1.18fr)}.poster-message{left:34px;right:25px}.poster-message h1{font-size:clamp(40px,5.2vw,58px)}.auth-panel{padding-right:28px;padding-left:28px}}
@media(max-width:700px){.auth-layout{display:flex;flex-direction:column}.auth-poster{min-height:35svh;height:35svh;max-height:390px}.poster-image{background-position:59% 45%}.poster-brand{top:20px;left:22px}.poster-brand img{width:124px}.poster-message{left:24px;bottom:36px}.poster-message h1{margin:10px 0 8px;font-size:clamp(32px,9vw,46px)}.poster-message p{font-size:12px}.poster-mark,.poster-caption{display:none}.poster-kicker{font-size:9px}.auth-panel{min-height:65svh;flex:1;padding:42px 22px 30px}.auth-close{top:12px;right:15px;width:34px;height:34px}.auth-content{width:min(100%,380px)}.auth-heading{margin:24px 0 21px}.auth-brand{font-size:11px}.auth-brand img{width:22px;height:22px}.auth-heading h2{font-size:22px}.auth-foot{margin-top:24px}}
@media(max-width:380px){.auth-panel{padding-right:17px;padding-left:17px}.poster-message{left:20px}.terms-row{font-size:9px}.send-code{padding:0 7px;margin-right:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
