*{box-sizing:border-box} :root{color-scheme:dark;font-family:Arial,"Noto Sans KR",sans-serif;color:#f8fafc;background:#071020}
body{margin:0;background:radial-gradient(ellipse at 15% 10%,#12336a 0,transparent 52%),radial-gradient(ellipse at 90% 95%,#104147 0,transparent 50%),#071020}
.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 18px}
.auth-card{width:min(460px,100%);padding:32px;border:1px solid #314158;border-radius:24px;background:#0c1729;box-shadow:0 24px 70px #0005}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:1px;font-weight:800;color:#e6f0ff;text-decoration:none;margin-bottom:28px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#2563eb,#38bdf8);color:white;font-size:26px}
h1{font-size:28px;margin:0 0 12px}.lead{font-size:14px;color:#a9bbd4;line-height:1.75;margin:0 0 24px;word-break:keep-all}
label{display:block;font-size:14px;font-weight:700;color:#dceaff;margin:16px 0 8px}input,textarea{display:block;width:100%;border:1px solid #41516a;border-radius:12px;background:#081121;color:#f8fafc;padding:13px 14px;font:inherit;outline:none}
input{height:49px}input:focus,textarea:focus{border-color:#6dbbff;box-shadow:0 0 0 3px #2563eb44}textarea{resize:vertical;min-height:112px;line-height:1.6;overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:14px}
input[type=hidden]{display:none}button{display:block;width:100%;min-height:50px;border:0;border-radius:12px;background:linear-gradient(135deg,#2563eb,#0891b2);color:white;font-size:16px;font-weight:700;cursor:pointer;margin-top:24px;padding:12px}
button:hover{filter:brightness(1.12)}button:focus-visible,a:focus-visible{outline:2px solid #7dd3fc;outline-offset:4px}.outline{background:transparent;border:1px solid #5684ab;margin-top:12px}
.links{margin:24px 0 16px;font-size:14px;text-align:center;color:#a9bbd4}.links a,.secondary{color:#93c5fd;text-decoration:none}.links a{font-weight:700}.secondary{display:block;text-align:center;font-size:13px;margin-top:18px}
.hint{color:#9aacc4;font-size:12px;line-height:1.6;margin:7px 0 0;font-weight:400}.error{padding:12px 14px;border:1px solid #a64753;background:#4b1c2d;color:#ffd7dd;border-radius:10px;font-size:14px;line-height:1.6}
@media(max-width:480px){.auth-page{padding:18px 12px}.auth-card{padding:24px 20px;border-radius:20px}h1{font-size:25px}}
