body{color:#14181f;background:#f6f7f9;margin:0;font-family:Noto sans KR,-apple-system,Apple SD Gothic Neo,sans-serif}.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-header{align-items:center;gap:10px;min-height:72px;padding:0 40px;font-size:18px;display:flex}.brand-mark{background:#2457d6;border-radius:7px;width:24px;height:24px}.auth-main{flex:1;justify-content:center;align-items:flex-start;padding:24px 24px 80px;display:flex}.auth-card{box-sizing:border-box;background:#fff;border:1px solid #e3e6eb;border-radius:16px;flex-direction:column;gap:22px;width:100%;max-width:400px;padding:40px;display:flex}.auth-card.wide{max-width:440px}.auth-head h1{margin:0 0 8px;font-size:26px;font-weight:700}.auth-head p{color:#5a6270;margin:0;font-size:15px;line-height:1.6}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field input{box-sizing:border-box;height:48px;font:inherit;color:#14181f;background:#fff;border:1px solid #8a93a2;border-radius:10px;padding:0 14px;font-size:16px}.field input:focus,.check input:focus-visible{outline-offset:1px;outline:2px solid #2457d6}.hint{color:#5a6270;font-size:13px}.check{align-items:center;gap:10px;font-size:14px;line-height:1.5;display:flex}.check input{accent-color:#2457d6;width:20px;height:20px;margin:0}.error{color:#c62828;min-height:20px;margin:0;font-size:14px}.notice{color:#1b45ad;background:#e8eefc;border-radius:10px;margin:0;padding:12px 14px;font-size:14px}.btn-primary{color:#fff;height:52px;font:inherit;cursor:pointer;background:#2457d6;border:0;border-radius:10px;font-size:16px;font-weight:700}.btn-primary:hover{background:#1b45ad}.btn-primary:disabled{opacity:.6;cursor:default}.btn-primary:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.auth-foot{text-align:center;color:#5a6270;margin:0;font-size:14px}.auth-foot a{color:#2457d6;font-weight:600}.brand-link{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-link:focus-visible{outline-offset:4px;border-radius:6px;outline:2px solid #2457d6}.home{flex-direction:column;min-height:100vh;display:flex}.home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;min-height:72px;padding:0 40px;display:flex}.home-brand{color:inherit;align-items:center;gap:10px;font-size:18px;text-decoration:none;display:flex}.home-brand.small{font-size:16px}.home-brand-mark{background:#2457d6;border-radius:7px;width:24px;height:24px}.home-brand.small .home-brand-mark{border-radius:6px;width:20px;height:20px}.home-nav{align-items:center;gap:8px;display:flex}.home-btn{box-sizing:border-box;color:#14181f;border:1px solid #8a93a2;border-radius:10px;align-items:center;height:44px;padding:0 18px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.home-btn.primary{color:#fff;background:#2457d6;border-color:#2457d6;font-weight:700}.home-btn.primary:hover{background:#1b45ad}.home-btn:focus-visible{outline-offset:2px;outline:2px solid #2457d6}.home-main{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:calc(100vh - 72px);padding:24px;display:flex}.home-main h1{letter-spacing:-.01em;margin:0;font-size:44px;font-weight:700;line-height:1.3;animation:.7s ease-out both fade-up}.home-main p{color:#5a6270;max-width:520px;margin:0;font-size:18px;line-height:1.7;animation:.7s ease-out .2s both fade-up}@keyframes fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.home-footer{background:#fff;border-top:1px solid #e3e6eb;padding:40px}.home-footer-top{flex-wrap:wrap;justify-content:space-between;gap:24px 40px;max-width:1040px;margin:0 auto;display:flex}.home-footer-info{flex-direction:column;gap:12px;display:flex}.home-footer-info p{color:#5a6270;margin:0;font-size:14px;line-height:1.6}.home-footer-links{flex-wrap:wrap;align-items:flex-start;gap:12px 24px;display:flex}.home-footer-links a{color:#5a6270;font-size:14px;text-decoration:none}.home-footer-links a:hover{color:#14181f;text-decoration:underline}.home-copy{color:#5a6270;border-top:1px solid #e3e6eb;max-width:1040px;margin:24px auto 0;padding-top:20px;font-size:13px}@media (width<=600px){.home-header{padding:0 20px}.home-main{padding:24px 20px}.home-main h1{font-size:32px}.home-main p{font-size:16px}.home-footer{padding:32px 20px}}@media (prefers-reduced-motion:reduce){.home-main h1,.home-main p{animation:none}}
