/* Full-screen landscape with independent responsive welcome and form columns. */
#internal-auth-gate{padding:40px clamp(24px,5vw,88px) 24px;background:#071523;justify-content:flex-start;overflow-x:hidden;overscroll-behavior:contain}
#internal-auth-gate::before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,#020b155c 0%,#03132438 28%,#04132226 55%,#03102366 100%),linear-gradient(0deg,#020b1566,transparent 50%,#04132238),url('../assets/images/login-scenery.png') center center/cover no-repeat;pointer-events:none}
#internal-auth-gate .auth-home-preview,#internal-auth-gate .auth-shade{display:none}
#internal-auth-gate .auth-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,440px);align-items:center;gap:64px;width:min(1280px,100%);margin:auto 0;border:0;border-radius:0;overflow:visible;background:none;box-shadow:none;flex-shrink:0}
#internal-auth-gate .auth-welcome{display:flex;isolation:auto;min-height:650px;height:100%;padding:70px 0 50px;border:0;border-radius:0;background:none;justify-content:center}
#internal-auth-gate .auth-welcome::before,#internal-auth-gate .auth-welcome::after{display:none}
#internal-auth-gate .auth-brand{margin:0 0 36px;gap:14px;text-shadow:0 2px 12px #00101f}
#internal-auth-gate .auth-brand>img{width:60px;height:60px;border-radius:16px;box-shadow:0 0 24px #03182966}
#internal-auth-gate .auth-brand>span{font-size:36px;letter-spacing:-1px}
#internal-auth-gate .auth-brand small{font-size:10px;letter-spacing:3.5px;color:#c1d7e8}
#internal-auth-gate .auth-welcome-copy{flex:none;margin:0;padding:0;text-shadow:0 2px 5px #00101fcc,0 5px 30px #00101f}
#internal-auth-gate .auth-welcome h1{max-width:650px;margin:0 0 18px;font-family:'Times New Roman',Times,serif;font-size:clamp(44px,4.8vw,76px);font-weight:700;line-height:1.08;letter-spacing:-1.6px;text-wrap:initial}
#internal-auth-gate .auth-welcome h1>.auth-youth-accent,#internal-auth-gate .auth-welcome h1>span{color:#38d4ef}
#internal-auth-gate .auth-welcome-copy>p{display:block;max-width:none;font-family:'Times New Roman',Times,serif;font-style:italic;font-size:clamp(19px,2vw,29px);font-weight:400;line-height:1.6;color:#b8dbff;letter-spacing:0}
#internal-auth-gate .auth-welcome-foot{position:absolute;bottom:0;left:0;justify-content:flex-start;margin:0;padding:0;font-size:13px;color:#b3c7db;text-shadow:0 2px 8px #000}
#internal-auth-gate .auth-welcome-foot::before,#internal-auth-gate .auth-mini-icon{display:none}
#internal-auth-gate .auth-form{padding:38px 36px 30px;gap:19px;background:#071629ed;border:1px solid #7756ff;border-radius:20px;box-shadow:0 20px 65px #0008,0 0 0 1px #69b3ff08;backdrop-filter:blur(12px);margin:0}
#internal-auth-gate .auth-form-heading{margin:0 0 8px}
#internal-auth-gate .auth-form-heading h2{font-size:28px;letter-spacing:-.7px;line-height:1.4}
#internal-auth-gate .auth-form-heading p{font-size:15px;color:#a4bdd5;margin-top:5px}
#internal-auth-gate .auth-form>label{font-size:14px;gap:8px}
#internal-auth-gate .auth-form input{background:#0d1c30b8!important;border-color:#496a9b!important;height:52px!important}
#internal-auth-gate .auth-form input:focus{border-color:#5bc6ff!important}
#internal-auth-gate .auth-form input::placeholder{color:#95aac4;font-size:16px}
#internal-auth-gate .auth-submit{background:linear-gradient(110deg,#078ffc,#1c6cff)!important;border-color:#58baff99!important;box-shadow:0 3px 18px #007bff25,inset 0 1px 0 #9ddcff40}
#internal-auth-gate .auth-mode-switch{background:#06142344;border-color:#829dcb;color:#e5ecfa;font-weight:600}
#internal-auth-gate .auth-support{font-size:12px;gap:5px 7px}
#internal-auth-gate .auth-access-note{font-size:11px}
#internal-auth-gate .auth-page-footer{width:min(1280px,100%);margin:20px 0 0;color:#b4cadd;text-shadow:0 2px 6px #000}
@media(min-width:901px){#internal-auth-gate{scrollbar-gutter:stable both-edges}#internal-auth-gate .auth-welcome h1{font-size:64px}#internal-auth-gate .auth-welcome-copy>p{font-size:24px}}
@media(min-width:901px) and (max-width:1199px){#internal-auth-gate .auth-card{gap:32px;grid-template-columns:minmax(0,1fr) 390px}#internal-auth-gate .auth-welcome h1{font-size:44px}#internal-auth-gate .auth-welcome-copy>p{font-size:20px}}
@media(max-width:900px){
 #internal-auth-gate{padding:32px 20px 24px}
 #internal-auth-gate::before{background:linear-gradient(90deg,#020e1b99,#03101b55),linear-gradient(#03101b55,#03101ba6 45%,#020b17d9),url('../assets/images/login-scenery.png') 43% top/auto 100svh no-repeat,#071523}
 #internal-auth-gate .auth-card{grid-template-columns:minmax(0,1fr);gap:24px;max-width:510px;margin:auto 0}
 #internal-auth-gate .auth-welcome{display:flex;height:auto;min-height:0;padding:12px 20px 6px;justify-content:flex-start}
 #internal-auth-gate .auth-brand{margin-bottom:28px;gap:12px}
 #internal-auth-gate .auth-brand>img{width:48px;height:48px;border-radius:13px}
 #internal-auth-gate .auth-brand>span{font-size:30px}
 #internal-auth-gate .auth-brand small{font-size:8px;letter-spacing:3px}
 #internal-auth-gate .auth-welcome h1{font-size:clamp(35px,8.8vw,49px);line-height:1.18;letter-spacing:-1.2px;margin-bottom:12px}
 #internal-auth-gate .auth-welcome-copy>p{font-size:clamp(16px,3.7vw,21px);line-height:1.6}
 #internal-auth-gate .auth-welcome-foot{display:none}
 #internal-auth-gate .auth-form{padding:27px 24px 24px;gap:17px;border-radius:17px;background:#071523ed}
 #internal-auth-gate .auth-form-heading h2{font-size:clamp(22px,5.7vw,28px);letter-spacing:-.6px}
 #internal-auth-gate .auth-form-heading p{font-size:14px}
 #internal-auth-gate .auth-page-footer{display:block;max-width:510px;margin:22px auto 0;text-align:center;font-size:12px}
 #internal-auth-gate .auth-page-footer>span{display:none}
 #internal-auth-gate .auth-page-footer::after{content:none}
}
@media(max-width:360px){#internal-auth-gate{padding:24px 12px}#internal-auth-gate .auth-welcome{padding:8px 12px}#internal-auth-gate .auth-form{padding:24px 18px}#internal-auth-gate .auth-form-heading h2{font-size:21px}}
/* Fit the normal mobile login within one screen; longer account flows remain scrollable. */
@media(max-width:600px){
 #internal-auth-gate{padding:24px 16px max(16px,env(safe-area-inset-bottom));min-height:0;justify-content:flex-start}
 #internal-auth-gate .auth-card{gap:22px;margin:auto 0;max-width:430px}
 #internal-auth-gate .auth-welcome{padding:0 10px;min-height:0;align-items:center;text-align:center}
 #internal-auth-gate .auth-brand{gap:10px;margin:0 auto 18px;text-align:left}
 #internal-auth-gate .auth-brand>img{width:36px;height:36px;border-radius:10px}
 #internal-auth-gate .auth-brand>span{font-size:25px}
 #internal-auth-gate .auth-brand small{font-size:7px;margin-top:6px;letter-spacing:2.7px}
 #internal-auth-gate .auth-welcome h1{font-size:30px;line-height:1.15;margin:0 0 9px;letter-spacing:-.8px}
 #internal-auth-gate .auth-welcome-copy>p{font-size:14px;line-height:1.5}
 #internal-auth-gate .auth-form{padding:22px 20px;gap:12px;border-radius:17px;text-align:left}
 #internal-auth-gate .auth-form-heading{margin:0 0 3px}
 #internal-auth-gate .auth-form-heading h2{font-size:22px;line-height:1.3}
 #internal-auth-gate .auth-form-heading p{font-size:12px;margin-top:4px}
 #internal-auth-gate .auth-form>label{font-size:12px;gap:6px}
 #internal-auth-gate .auth-form input{height:46px!important}
 #internal-auth-gate .auth-password-toggle{top:8px}
 #internal-auth-gate .auth-forgot{font-size:12px;min-height:22px;margin-top:-5px}
 #internal-auth-gate .auth-permission{font-size:11px;gap:8px;margin:0}
 #internal-auth-gate .auth-permission svg{width:17px;height:17px}
 #internal-auth-gate .auth-submit{height:45px;font-size:14px!important}
 #internal-auth-gate .auth-contact{gap:11px}
 #internal-auth-gate .auth-divider{font-size:11px;gap:12px}
 #internal-auth-gate .auth-mode-switch{min-height:43px;padding:8px 12px;font-size:13px}
 #internal-auth-gate .auth-support{font-size:11px;min-height:22px}
 #internal-auth-gate .auth-access-note{font-size:9px;margin:0;line-height:1.5}
 #internal-auth-gate .auth-page-footer{display:none}
}
@media(max-width:600px) and (max-height:760px){
 #internal-auth-gate{padding:10px 12px}
 #internal-auth-gate .auth-card{gap:12px}
 #internal-auth-gate .auth-brand{margin-bottom:9px}
 #internal-auth-gate .auth-brand>img{width:30px;height:30px}
 #internal-auth-gate .auth-brand>span{font-size:22px}
 #internal-auth-gate .auth-welcome h1{font-size:27px;line-height:1.1}
 #internal-auth-gate .auth-welcome-copy>p{font-size:12px}
 #internal-auth-gate .auth-form{padding:16px 18px;gap:9px}
 #internal-auth-gate .auth-form-heading h2{font-size:20px}
 #internal-auth-gate .auth-page-footer{display:none}
}
@media(prefers-reduced-transparency:reduce){#internal-auth-gate .auth-form{background:#071523;backdrop-filter:none}}
/* A quiet, widely tracked community signature beneath the wordmark. */
#internal-auth-gate .auth-brand small{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:9px;font-weight:600;letter-spacing:.5em;line-height:1.6;margin-top:10px;color:#9ec9ef;white-space:nowrap}
#internal-auth-gate .auth-welcome-copy>p{font-family:'Times New Roman',Times,serif;font-style:italic;font-weight:400}
@media(max-width:600px){#internal-auth-gate .auth-brand small{font-size:7px;letter-spacing:.48em;margin-top:6px}}
/* Keep the entire form frame inside short desktop viewports, including zoom. */
@media(min-width:901px){
 #internal-auth-gate .auth-welcome{min-height:min(650px,calc(100dvh - 112px))}
 #internal-auth-gate .auth-form{max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#355779 transparent}
}
@media(min-width:901px) and (max-height:820px){
 #internal-auth-gate{padding-top:20px;padding-bottom:20px}
 #internal-auth-gate .auth-form{padding:24px 28px;gap:12px;max-height:calc(100dvh - 40px)}
 #internal-auth-gate .auth-form-heading h2{font-size:24px}
 #internal-auth-gate .auth-form-heading p{font-size:13px}
 #internal-auth-gate .auth-form>label{font-size:12px;gap:6px}
 #internal-auth-gate .auth-form input{height:46px!important}
 #internal-auth-gate .auth-page-footer{display:none}
}
@media(max-width:600px){
 #internal-auth-gate.is-registering .auth-card{gap:14px}
 #internal-auth-gate.is-registering .auth-brand{margin-bottom:10px}
 #internal-auth-gate.is-registering .auth-welcome h1{font-size:25px}
 #internal-auth-gate.is-registering .auth-welcome-copy>p{font-size:12px}
}

/* Editorial welcome typography, paired with a compact sans-serif member form. */
#internal-auth-gate .auth-welcome-copy>p{color:#e2ecfa;text-shadow:0 2px 12px #00101f}
#internal-auth-gate .auth-welcome h1>.auth-youth-accent{display:inline-block;color:#49dcf6}
#internal-auth-gate .auth-form-heading h2{font-weight:750;color:#f4f6fd;letter-spacing:-.65px}
#internal-auth-gate .auth-form-heading p{color:#a7bce2;font-weight:400}
#internal-auth-gate .auth-security-label{font-size:12px;font-weight:500;color:#d5dff0;line-height:1.5}
#internal-auth-gate .auth-security-widget{width:100%;min-width:0;min-height:65px}
#internal-auth-gate .auth-mode-switch:hover{background:#14253c;border-color:#a7c8ff;text-decoration:none}
#internal-auth-gate .auth-form input:focus-visible{outline:2px solid #66caff;outline-offset:2px}
#internal-auth-gate .auth-form.is-verifying #auth-turnstile{display:none!important}
@media(min-width:901px){
 #internal-auth-gate .auth-brand{flex-direction:column;align-items:flex-start;gap:12px;width:fit-content;margin-bottom:42px}
 #internal-auth-gate .auth-brand>img{width:104px;height:104px;border-radius:50%;margin-left:45px}
 #internal-auth-gate .auth-brand>span{font-size:48px;font-weight:800;letter-spacing:-2px;line-height:1}
 #internal-auth-gate .auth-brand small{font-size:10px;letter-spacing:.5em;line-height:1.6;margin-top:13px}
 #internal-auth-gate .auth-welcome{padding:32px 0;justify-content:center}
 #internal-auth-gate .auth-welcome h1{font-size:76px;line-height:.98;letter-spacing:-1.7px;margin-bottom:8px}
 #internal-auth-gate .auth-welcome-copy>p{font-size:clamp(25px,2.4vw,30px);line-height:1.2}
 #internal-auth-gate .auth-form{padding:30px 28px;gap:14px;border-radius:19px}
 #internal-auth-gate .auth-form-heading h2{font-size:28px;line-height:1.35}
 #internal-auth-gate .auth-form-heading p{font-size:14px}
 #internal-auth-gate .auth-form>label{font-size:13px;gap:6px}
 #internal-auth-gate .auth-form input{height:46px!important}
 #internal-auth-gate .auth-form input::placeholder{font-size:13px}
 #internal-auth-gate .auth-forgot,#internal-auth-gate .auth-permission{font-size:12px}
 #internal-auth-gate .auth-submit{height:44px}
 #internal-auth-gate .auth-mode-switch{min-height:42px}
}
@media(min-width:901px) and (max-width:1199px){
 #internal-auth-gate .auth-welcome h1{font-size:clamp(64px,6.4vw,76px)}
 #internal-auth-gate .auth-brand{margin-bottom:30px}
 #internal-auth-gate .auth-brand>img{width:86px;height:86px}
 #internal-auth-gate .auth-brand>span{font-size:42px}
 #internal-auth-gate .auth-form-heading h2{font-size:25px}
}
@media(min-width:901px) and (max-height:700px){
 #internal-auth-gate .auth-form{padding:22px 26px;gap:10px;max-height:calc(100dvh - 40px)}
 #internal-auth-gate .auth-brand{margin-bottom:26px}
 #internal-auth-gate .auth-brand>img{width:80px;height:80px}
 #internal-auth-gate .auth-welcome h1{font-size:64px}
}
@media(max-width:900px){
 #internal-auth-gate .auth-form{border-color:#7756ff}
 #internal-auth-gate .auth-welcome h1{font-family:'Times New Roman',Times,serif;font-weight:700;letter-spacing:-.8px}
}
@media(max-width:600px){
 #internal-auth-gate .auth-welcome h1{font-size:40px;line-height:1;letter-spacing:-.8px}
 #internal-auth-gate .auth-welcome-copy>p{font-size:16px}
 #internal-auth-gate .auth-card{gap:18px}
 #internal-auth-gate .auth-security-label{font-size:11px}
 #internal-auth-gate .auth-form{gap:10px}
}
@media(max-width:600px) and (max-height:760px){
 #internal-auth-gate .auth-welcome h1{font-size:34px}
 #internal-auth-gate .auth-welcome-copy>p{font-size:13px}
 #internal-auth-gate .auth-card{gap:12px}
 #internal-auth-gate .auth-form{gap:8px}
}
#internal-auth-gate .auth-welcome h1>.auth-youth-accent{font-family:inherit;font-weight:inherit;letter-spacing:inherit}
/* Match the reference's classic, high-contrast serif and cyan-to-blue second line. */
#internal-auth-gate .auth-welcome-copy>p{color:#f2f5fa;font-weight:400;letter-spacing:0}
#internal-auth-gate .auth-welcome h1>.auth-youth-accent{color:#26d2f3;background:linear-gradient(100deg,#6ee7f3 0%,#24d0f1 55%,#00b7f1 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none}
@media(forced-colors:active){#internal-auth-gate .auth-welcome h1>.auth-youth-accent{-webkit-text-fill-color:CanvasText;background:none;color:CanvasText}}

/* Geometric lowercase wordmark with a quiet, evenly tracked signature. */
#internal-auth-gate .auth-brand>span{display:block;font-family:'Poppins','Plus Jakarta Sans',system-ui,sans-serif;font-size:56px;font-weight:800;line-height:.94;letter-spacing:-3.2px;color:#f8fbff;text-shadow:none;-webkit-font-smoothing:antialiased}
#internal-auth-gate .auth-brand>span>span{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:#32cef1;background:linear-gradient(115deg,#74e4f4 0%,#32cef1 55%,#0ebcf0 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
#internal-auth-gate .auth-brand small{display:block;width:100%;padding-left:.5em;margin-top:13px;text-align:center;white-space:nowrap;font-family:'Montserrat','Plus Jakarta Sans',system-ui,sans-serif;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.5em;color:#b2c5e6;text-shadow:none}
@media(min-width:901px){#internal-auth-gate .auth-brand>img{align-self:center;margin-left:0}}
@media(max-width:900px){#internal-auth-gate .auth-brand>span{font-size:42px;letter-spacing:-2.4px}#internal-auth-gate .auth-brand small{font-size:8px;margin-top:10px}}
@media(max-width:600px){#internal-auth-gate .auth-brand>span{font-size:34px;letter-spacing:-1.9px}#internal-auth-gate .auth-brand small{font-size:7px;letter-spacing:.45em;padding-left:.45em;margin-top:8px}}
@media(max-width:600px) and (max-height:760px){#internal-auth-gate .auth-brand>span{font-size:30px;letter-spacing:-1.7px}#internal-auth-gate .auth-brand small{font-size:6px;margin-top:7px}}
@media(forced-colors:active){#internal-auth-gate .auth-brand>span>span{-webkit-text-fill-color:CanvasText;background:none;color:CanvasText}}
#internal-auth-gate .auth-brand>span{filter:drop-shadow(0 2px 3px #020b1866);animation:auth-wordmark-enter 500ms ease-out both}
@keyframes auth-wordmark-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#internal-auth-gate .auth-brand>span{animation:none;opacity:1;transform:none}}
/* Crystal emblem and a stencil treatment confined to the cyan wordmark. */
#internal-auth-gate .auth-brand>span>span{display:inline-block;mask-image:linear-gradient(90deg,#000 0 35.5%,transparent 35.5% 38%,#000 38% 66%,transparent 66% 68.5%,#000 68.5%);-webkit-mask-image:linear-gradient(90deg,#000 0 35.5%,transparent 35.5% 38%,#000 38% 66%,transparent 66% 68.5%,#000 68.5%)}
#internal-auth-gate .auth-brand>img{object-fit:contain;border-radius:0;box-shadow:none;filter:drop-shadow(0 3px 12px #009ff033);animation:auth-crystal-float 6s ease-in-out infinite}
@media(min-width:901px){#internal-auth-gate .auth-brand{gap:0}#internal-auth-gate .auth-brand>img{width:128px;height:128px;margin-bottom:2px}}
@keyframes auth-crystal-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){#internal-auth-gate .auth-brand>img{animation:none;transform:none}}
@media(forced-colors:active){#internal-auth-gate .auth-brand>span>span{mask-image:none;-webkit-mask-image:none}}
/* Background-clipped text needs extra paint area for stacked Vietnamese accents. */
#internal-auth-gate .auth-welcome h1>.auth-youth-accent{padding-block:.2em;margin-block:-.2em;overflow:visible}

/* Vietnamese typography pairing: a serif slogan and a sans-serif authentication form. */
#internal-auth-gate .auth-welcome h1{font-family:'Noto Serif',Georgia,serif;font-weight:700;line-height:1.08;letter-spacing:-1.4px}
#internal-auth-gate .auth-welcome-copy>p{font-family:'Noto Serif',Georgia,serif;font-weight:400;font-style:italic;line-height:1.4}
#internal-auth-gate .auth-form,#internal-auth-gate .auth-form :is(input,button,label,p,h2,small,span,div,a,strong,section){font-family:'Be Vietnam Pro',system-ui,sans-serif}
#internal-auth-gate .auth-form-heading h2{font-weight:700;letter-spacing:-.7px}
@media(min-width:1200px){#internal-auth-gate .auth-welcome h1{font-size:72px}}
@media(min-width:901px) and (max-width:1199px){#internal-auth-gate .auth-welcome h1{font-size:clamp(48px,5.2vw,64px)}}
@media(max-width:600px){#internal-auth-gate .auth-welcome h1{font-size:36px;letter-spacing:-.7px}#internal-auth-gate .auth-welcome-copy>p{font-size:14px}}
@media(max-width:600px) and (max-height:760px){#internal-auth-gate .auth-welcome h1{font-size:30px}#internal-auth-gate .auth-welcome-copy>p{font-size:12px}}
