:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;color:#171a1d;background:#d4e5ee;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}button{cursor:pointer}[hidden]{display:none!important}
.login-page{isolation:isolate;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:48px 28px;position:relative;overflow:hidden}
.login-page::before{content:"";position:absolute;inset:-70px;z-index:-1;background:linear-gradient(#e4f0f642,#cedfe85c),url('/static/login-hero.webp?v=20261023-wave1') 50% 38%/cover no-repeat;filter:blur(32px);opacity:.68;pointer-events:none}
.login-card{display:grid;grid-template-columns:46% minmax(0,1fr);width:min(100%,1060px);min-height:640px;padding:8px;border:1px solid #ffffffbd;border-radius:24px;background:#fff;box-shadow:0 28px 90px #29475d22;overflow:hidden}
.login-hero{position:relative;min-width:0;min-height:620px;border-radius:17px;background:#b7d5e6;overflow:hidden}
.login-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:login-breathe 12s ease-in-out infinite}
.login-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,#04122fb0);pointer-events:none}
.login-hero-copy{position:absolute;z-index:1;left:32px;right:28px;bottom:32px;color:#fff}
.login-hero-copy>span{display:block;margin-bottom:14px;font-size:14px;letter-spacing:2.4px;opacity:.86}
.login-hero-copy>strong{display:block;font-size:44px;font-weight:850;letter-spacing:-1.7px;line-height:.98}
.login-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:48px 64px;text-align:center}
.login-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#171a1d;text-decoration:none;margin-bottom:44px;font-size:25px;font-weight:600;letter-spacing:-1px}
.login-brand>img{filter:brightness(0)}
.login-heading{margin-bottom:30px}.login-heading h1{font-size:27px;font-weight:850;letter-spacing:-1.1px;line-height:1.15;margin:0 0 12px}.login-heading p{font-size:14px;color:#899096;line-height:1.6;margin:0}
#login-form{display:grid;grid-template-columns:minmax(0,1fr);width:100%;max-width:340px;text-align:left}
#login-form label{display:block;font-size:14px;color:#656f76;line-height:20px;margin:0 0 7px}
#login-form input{display:block;min-width:0;width:100%;height:46px;padding:0 14px;border:1px solid transparent;border-radius:7px;background:#f5f6f8;color:#171a1d;font-size:14px;box-shadow:none}
#login-form input::placeholder{color:#a3aab0;font-size:14px}#username{margin-bottom:20px}
#login-form input:focus-visible{border-color:#2966f8;outline:2px solid #2966f822;outline-offset:1px}button:focus-visible,a:focus-visible{outline:2px solid #2966f8;outline-offset:3px}
.login-password{position:relative;width:100%}#login-form #password{padding-right:46px}.password-toggle{position:absolute;top:5px;right:5px;width:36px;height:36px;display:grid;place-items:center;background:transparent;border:0;border-radius:5px;padding:0;color:#8f989f;transition:color .18s,background .18s}.password-toggle:hover{color:#171a1d;background:#e8edf1}.password-toggle svg{width:18px;height:18px}.eye-slash{display:none}.password-toggle[aria-pressed=true] .eye-slash{display:block}
.login-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:46px;padding:0 18px;margin-top:28px;border:0;border-radius:7px;background:#161a1d;color:#fff;font-size:14px;transition:background .18s,transform .18s}.login-submit>svg{position:absolute;right:16px;width:18px;height:18px}.login-submit:hover:not(:disabled){background:#2966f8}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.65;cursor:wait}
.login-error{color:#c33242;font-size:14px;line-height:1.6;margin:12px 0 0;overflow-wrap:anywhere}
.login-footnote{display:flex;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.6;color:#a1a9af;margin:30px 0 0}.login-footnote>svg{flex:none;width:14px;height:14px}
@keyframes login-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@media(max-width:1000px){.login-card{grid-template-columns:43% minmax(0,1fr);min-height:580px}.login-hero{min-height:560px}.login-content{padding:40px 30px}.login-hero-copy{left:24px;bottom:28px}.login-hero-copy>strong{font-size:36px}}
@media(max-width:650px){.login-page{padding:24px 16px}.login-card{max-width:420px;grid-template-columns:minmax(0,1fr);min-height:0;border-radius:20px}.login-hero{height:210px;min-height:210px;border-radius:13px}.login-hero>img{object-position:center 14%}.login-hero-copy{left:22px;bottom:20px}.login-hero-copy>span{font-size:14px;margin-bottom:9px}.login-hero-copy>strong{font-size:28px;line-height:1}.login-content{padding:32px 24px}.login-brand{margin-bottom:26px}.login-heading{margin-bottom:24px}.login-heading h1{font-size:25px}.login-footnote{margin-top:24px;font-size:14px}}
@media(max-width:650px){.login-hero::after{background:linear-gradient(180deg,#04122f1a,#04122fae 45%,#04122fe6)}}
@media(prefers-reduced-motion:reduce){.login-hero>img{animation:none}.login-submit,.password-toggle{transition:none}}
