@charset "utf-8";

/* YGKS 2026 mobile sign-in. Scoped so registration and SMS pages keep their own flows. */
.ygks-login-page{min-height:100dvh;background:#f3f7fc;color:#10213b;text-align:left;}
.ygks-login-page .login-shell{position:relative;width:min(100%,520px);min-height:calc(100dvh - 68px - env(safe-area-inset-bottom));margin:0 auto;padding:calc(26px + env(safe-area-inset-top)) 24px 96px;}
.ygks-login-page .login-back{position:absolute;top:calc(18px + env(safe-area-inset-top));left:18px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #dce5f1;border-radius:14px;background:#fff;color:#26364e;font-size:34px;font-weight:300;line-height:1;text-decoration:none;box-shadow:0 8px 22px rgba(18,52,94,.06);}
.ygks-login-page .login-brand{display:flex;flex-direction:column;align-items:center;padding:48px 0 30px;text-align:center;}
.ygks-login-page .login-brand img{width:208px;height:auto;display:block;object-fit:contain;}
.ygks-login-page .login-brand p{margin:25px 0 6px;color:#0759f3;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.ygks-login-page .login-brand h1{margin:0;color:#10213b;font-size:30px;line-height:1.2;letter-spacing:-.025em;}
.ygks-login-page .login-brand>span{max-width:27em;margin:10px 0 0;color:#718096;font-size:13px;line-height:1.65;}
.ygks-login-page .login-form{display:grid;gap:16px;padding:22px;border:1px solid #dce5f1;border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(18,52,94,.1);}
.ygks-login-page .login-field{display:grid;gap:8px;margin:0;color:#43516a;font-size:12px;font-weight:750;}
.ygks-login-page .login-field>span:first-child{padding-left:2px;}
.ygks-login-page .login-field input{width:100%;height:50px;box-sizing:border-box;margin:0;padding:0 14px;border:1px solid #dce5f1;border-radius:13px;outline:0;background:#f8fafc;color:#10213b;font-size:15px;line-height:50px;-webkit-appearance:none;}
.ygks-login-page .login-field input::placeholder{color:#9aa6b7;}
.ygks-login-page .login-field input:focus{border-color:#0759f3;background:#fff;box-shadow:0 0 0 3px rgba(7,89,243,.1);}
.ygks-login-page .password-control{position:relative;display:block;}
.ygks-login-page .password-control input{padding-right:62px;}
.ygks-login-page .password-control button{position:absolute;right:5px;top:5px;min-width:50px;height:40px;border:0;border-radius:10px;background:#edf4ff;color:#0759f3;font-size:12px;font-weight:800;cursor:pointer;}
.ygks-login-page .login-submit{width:100%;min-height:52px;margin-top:4px;border:0;border-radius:14px;background:#0759f3;color:#fff;font-size:16px;font-weight:800;letter-spacing:.08em;box-shadow:0 10px 24px rgba(7,89,243,.22);cursor:pointer;-webkit-appearance:none;}
.ygks-login-page .login-submit:active{background:#0648c7;transform:scale(.99);}
.ygks-login-page .login-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:22px 0 0;color:#9aa6b7;font-size:12px;line-height:1.8;text-align:center;}
.ygks-login-page .login-links a{color:#46566e;font-size:13px;font-weight:700;}
.ygks-login-page .login-links>span{color:#bdc7d4;}
.ygks-login-page .login-security{max-width:32em;margin:18px auto 0;color:#8794a7;font-size:11px;line-height:1.7;text-align:center;}

@media (min-width:700px){
 .ygks-login-page .login-shell{padding-top:58px;}
 .ygks-login-page .login-brand{padding-top:32px;}
}

@media (prefers-reduced-motion:reduce){
 .ygks-login-page *{transition:none!important;}
}

/* YGKS 2026 mobile registration. */
.ygks-register-page,
.ygks-register-page *{box-sizing:border-box;}
.ygks-register-page{min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom,0px));overflow-x:hidden;background:#f2f6fb;color:#10213b;text-align:left;-webkit-font-smoothing:antialiased;}
.ygks-register-page .register-shell{width:min(100%,520px);margin:0 auto;padding:18px 16px 28px;}
.ygks-register-page .register-brand{position:relative;display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#071a38 0%,#0a3b87 62%,#0875dc 100%);box-shadow:0 16px 34px rgba(8,52,117,.16);color:#fff;}
.ygks-register-page .register-brand:after{content:"";position:absolute;right:-52px;top:-72px;width:190px;height:190px;border:28px solid rgba(103,225,255,.1);border-radius:50%;pointer-events:none;}
.ygks-register-page .register-brand img{position:relative;z-index:1;flex:0 0 72px;width:72px;height:72px;padding:7px;border-radius:18px;background:#fff;object-fit:contain;box-shadow:0 10px 22px rgba(0,18,52,.25);}
.ygks-register-page .register-brand>div{position:relative;z-index:1;min-width:0;}
.ygks-register-page .register-brand p{margin:0 0 5px;color:#8ce8ff;font-size:10px;font-weight:850;line-height:1.3;letter-spacing:.13em;}
.ygks-register-page .register-brand h1{margin:0;color:#fff;font-size:24px;font-weight:850;line-height:1.25;letter-spacing:-.025em;}
.ygks-register-page .register-brand span{display:block;margin-top:7px;color:#ceddf4;font-size:12px;line-height:1.55;}
.ygks-register-page .register-card{padding:8px 18px 20px;border:1px solid #dce5f1;border-radius:22px;background:#fff;box-shadow:0 15px 38px rgba(18,52,94,.09);}
.ygks-register-page .regty{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;margin:0 0 18px;padding:5px;border-radius:14px;background:#edf3fa;}
.ygks-register-page .regty .d1{width:auto;min-height:44px;margin:0;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#718096;font-size:14px;font-weight:750;line-height:1.25;text-align:center;cursor:pointer;-webkit-appearance:none;}
.ygks-register-page .regty .d11{background:#fff;color:#0759f3;box-shadow:0 5px 14px rgba(29,63,107,.1);}
.ygks-register-page .reg{width:100%;margin:0;padding:0;}
.ygks-register-page .register-form{display:grid;gap:15px;margin:0;}
.ygks-register-page .register-field{display:grid;gap:7px;margin:0;color:#344258;font-size:12px;font-weight:750;line-height:1.35;}
.ygks-register-page .register-field>span:first-child{padding-left:2px;}
.ygks-register-page .register-field input{display:block;width:100%;height:50px;margin:0;padding:0 14px;border:1px solid #dce5f1;border-radius:13px;outline:0;background:#f8fafc;color:#10213b;font-size:15px;line-height:50px;-webkit-appearance:none;}
.ygks-register-page .register-field input::placeholder{color:#9aa6b7;}
.ygks-register-page .register-field input:focus{border-color:#0759f3;background:#fff;box-shadow:0 0 0 3px rgba(7,89,243,.1);}
.ygks-register-page .register-code-control{position:relative;display:block;padding:0!important;}
.ygks-register-page .register-code-control input{padding-right:118px;}
.ygks-register-page .register-code-control button{position:absolute;right:5px;top:5px;min-width:104px;height:40px;padding:0 11px;border:0;border-radius:10px;background:#eaf2ff;color:#0759f3;font-size:12px;font-weight:800;line-height:40px;white-space:nowrap;cursor:pointer;}
.ygks-register-page .register-code-control button:disabled{color:#7f8b9d;cursor:default;}
.ygks-register-page .register-note{display:flex;align-items:center;gap:7px;margin:-2px 0 0;color:#7f8b9d;font-size:11px;line-height:1.5;}
.ygks-register-page .register-note span{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:#e8f7f2;color:#16835e;font-size:10px;font-weight:900;}
.ygks-register-page .register-submit{width:100%;min-height:52px;margin-top:1px;border:0;border-radius:14px;background:#0759f3;color:#fff;font-size:16px;font-weight:800;letter-spacing:.06em;box-shadow:0 10px 24px rgba(7,89,243,.21);cursor:pointer;-webkit-appearance:none;}
.ygks-register-page .register-submit:active{background:#0648c7;transform:scale(.99);}
.ygks-register-page .register-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 12px;width:100%;margin:20px 0 0;color:#8a96a8;font-size:12px;line-height:1.6;text-align:center;}
.ygks-register-page .register-links a{color:#0759f3;font-size:13px;font-weight:750;}
.ygks-register-page .register-links a+a{padding-left:12px;border-left:1px solid #d6dee9;}
@media (max-width:360px){
 .ygks-register-page .register-shell{padding-left:12px;padding-right:12px;}
 .ygks-register-page .register-brand{padding:15px;gap:11px;}
 .ygks-register-page .register-brand img{flex-basis:62px;width:62px;height:62px;}
 .ygks-register-page .register-brand h1{font-size:21px;}
 .ygks-register-page .register-card{padding-left:14px;padding-right:14px;}
}
@media (prefers-reduced-motion:reduce){.ygks-register-page *{transition:none!important;}}
