.auth-screen{--auth-navy:#1d4e8a;--auth-navy-d:#163f72;--auth-gold:#ffc41f;--auth-gold-d:#d99e0a;--auth-kraft:#dca96f;--auth-cream:#f8f4ec;--auth-ink:#22282f;--auth-muted:#5e6b78;--auth-line:#e7e1d4;--auth-error:#c2402e;--auth-white:#fff;--auth-stub-w:236px;--auth-hole:28px;--auth-radius:18px;background:radial-gradient(1100px 500px at 85% -10%, #dca96f24, transparent 60%), radial-gradient(900px 480px at -10% 110%, #1d4e8a12, transparent 55%), var(--auth-cream);min-height:calc(100dvh - 64px);color:var(--auth-ink);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;padding:48px 20px;line-height:1.55;display:flex}.auth-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--auth-gold-d);font-size:11px;font-weight:700}.auth-ticket{background:var(--auth-white);border:1px solid var(--auth-line);border-radius:var(--auth-radius);width:min(880px,100%);animation:.55s cubic-bezier(.22,1,.36,1) both auth-ticket-in;display:flex;position:relative;box-shadow:0 1px 2px #22282f0a,0 18px 44px -18px #1d4e8a38}@keyframes auth-ticket-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.auth-stub{flex:0 0 var(--auth-stub-w);border-right:2px dashed var(--auth-kraft);border-radius:var(--auth-radius) 0 0 var(--auth-radius);background:linear-gradient(#dca96f1a,#dca96f0a 45%,#0000),#fdfbf6;flex-direction:column;gap:22px;padding:34px 26px 30px;display:flex;position:relative}.auth-stub:before,.auth-stub:after{content:"";right:calc(var(--auth-hole) / -2 - 1px);width:var(--auth-hole);height:var(--auth-hole);background:radial-gradient(circle at 32% 30%, #fefcf7 0%, var(--auth-cream) 62%, #efe9dc 100%);z-index:2;border-radius:50%;position:absolute;box-shadow:inset 0 2px 4px #22282f1a}.auth-stub:before{top:calc(var(--auth-hole) / -2 - 1px)}.auth-stub:after{bottom:calc(var(--auth-hole) / -2 - 1px)}.auth-stub-head{flex-direction:column;gap:6px;display:flex}.auth-stub-head strong{color:var(--auth-navy);letter-spacing:-.01em;font-size:15px;font-weight:800}.auth-steps{flex-direction:column;flex:1;gap:0;margin:0;padding:0;list-style:none;display:flex}.auth-step{align-items:center;gap:12px;padding:11px 0;display:flex;position:relative}.auth-step+.auth-step:before{content:"";border-left:2px dotted var(--auth-line);height:18px;position:absolute;top:-9px;left:19px}.auth-step-ico{background:var(--auth-white);border:1.5px solid var(--auth-navy);width:40px;height:40px;color:var(--auth-navy);border-radius:12px;flex:0 0 40px;place-items:center;display:grid;box-shadow:0 2px 6px #1d4e8a1a}.auth-step-ico svg{width:20px;height:20px}.auth-step-txt{flex-direction:column;gap:1px;display:flex}.auth-step-txt b{color:var(--auth-navy-d);font-size:14px;font-weight:700}.auth-step-txt span{color:var(--auth-muted);font-size:11.5px}.auth-step-num{color:var(--auth-kraft);letter-spacing:.08em;margin-left:auto;font-size:11px;font-weight:800}.auth-stub-foot{border-top:1px solid var(--auth-line);color:var(--auth-muted);margin:0;padding-top:16px;font-size:11.5px}.auth-stub-foot b{color:var(--auth-navy)}.auth-body{border-radius:0 var(--auth-radius) var(--auth-radius) 0;flex:1;min-width:0;padding:44px 48px 40px}.auth-brand{align-items:center;gap:10px;margin-bottom:22px;display:flex}.auth-brand img{object-fit:contain;width:44px;height:44px}.auth-brand-name{color:var(--auth-navy);letter-spacing:-.02em;font-size:18px;font-weight:800}.auth-brand-name small{color:var(--auth-kraft);letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;font-weight:700;display:block}.auth-title{color:var(--auth-navy);letter-spacing:-.02em;margin:0 0 6px;font-size:26px;font-weight:800;line-height:1.3}.auth-lede{color:var(--auth-muted);margin:0 0 26px;font-size:14px}.auth-lede b{color:var(--auth-gold-d);font-weight:700}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field label{color:var(--auth-ink);font-size:13px;font-weight:700}.auth-field label .auth-hint{color:var(--auth-muted);margin-left:6px;font-size:12px;font-weight:500}.auth-input{width:100%;height:48px;font:inherit;color:var(--auth-ink);background:var(--auth-white);border:1.5px solid var(--auth-line);border-radius:12px;padding:0 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:#a8b0b9}.auth-input:hover{border-color:#d5cdbc}.auth-input:focus,.auth-input:focus-visible{border-color:var(--auth-navy);outline:none;box-shadow:0 0 0 3px #1d4e8a29}.auth-input[aria-invalid=true]{border-color:var(--auth-error);background:#fdf7f6}.auth-input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c2402e26}.auth-field-error{color:var(--auth-error);align-items:center;gap:5px;margin:0;font-size:12.5px;font-weight:600;display:flex}.auth-field-error svg{flex:none;width:14px;height:14px}.auth-alert{color:#96301f;background:#fdf3f1;border:1px solid #c2402e59;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;display:flex}.auth-alert svg{width:18px;height:18px;color:var(--auth-error);flex:none;margin-top:1px}.auth-alert b{font-weight:700}.auth-note{border:1px dashed var(--auth-kraft);color:var(--auth-muted);background:#dca96f14;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;display:flex}.auth-note svg{width:16px;height:16px;color:var(--auth-kraft);flex:none;margin-top:2px}.auth-note b{color:var(--auth-gold-d);font-weight:700}.auth-btn{font:inherit;cursor:pointer;border:none;border-radius:12px;font-weight:800;transition:background .15s,transform .12s,box-shadow .15s}.auth-btn:focus-visible{outline-offset:2px;outline:3px solid #1d4e8a73}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn-primary{letter-spacing:-.01em;height:52px;color:var(--auth-navy-d);background:linear-gradient(180deg, var(--auth-gold), #f5b90f);font-size:16px;box-shadow:0 6px 16px -6px #d99e0a8c,inset 0 1px #fff6}.auth-btn-primary:hover:not(:disabled){background:linear-gradient(180deg, #ffd04a, var(--auth-gold))}.auth-btn-primary:active:not(:disabled){transform:translateY(1px)}.auth-btn-ghost{height:48px;color:var(--auth-navy);background:var(--auth-white);border:1.5px solid var(--auth-navy);white-space:nowrap;padding:0 16px;font-size:13.5px;font-weight:700}.auth-btn-ghost:hover:not(:disabled){background:#1d4e8a0f}.auth-row{gap:8px;display:flex}.auth-row .auth-input{flex:1;min-width:0}.auth-otp-wrap{flex-direction:column;gap:8px;display:flex}.auth-otp{--auth-cell:52px;--auth-gap:8px;z-index:1;width:100%;height:60px;color:var(--auth-navy-d);font-variant-numeric:tabular-nums;letter-spacing:calc(var(--auth-cell) + var(--auth-gap) - 1ch);padding:0 0 0 calc((var(--auth-cell) - 1ch) / 2);caret-color:var(--auth-gold-d);text-align:left;background:0 0;border:none;font-family:inherit;font-size:26px;font-weight:800;position:relative}.auth-otp:focus{outline:none}.auth-otp-cells{width:352px;max-width:100%;position:relative}.auth-otp-slots{pointer-events:none;gap:8px;display:flex;position:absolute;inset:0}.auth-otp-slots i{border:2px dashed var(--auth-kraft);background:#fffdf7;border-radius:10px;flex:1;transition:border-color .15s,background .15s}.auth-otp-cells:focus-within .auth-otp-slots i{border-color:var(--auth-gold-d);background:#fffbef}.auth-otp-cells:focus-within{border-radius:12px;box-shadow:0 0 0 3px #d99e0a47}.auth-otp-caption{letter-spacing:.08em;color:var(--auth-kraft);font-size:11px;font-weight:700}.auth-help{color:var(--auth-muted);justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.auth-help a{color:var(--auth-navy);font-weight:700;text-decoration:none}.auth-help a:hover{color:var(--auth-navy-d);text-decoration:underline}.auth-help span{color:var(--auth-line)}.auth-or{color:var(--auth-muted);white-space:nowrap;align-items:center;gap:12px;margin:20px 0 14px;font-size:12.5px;display:flex}.auth-or:before,.auth-or:after{content:"";background:var(--auth-line);flex:1;height:1px}.auth-social{grid-template-columns:1fr 1fr;gap:10px;display:grid}.auth-social-btn{cursor:pointer;border:1.5px solid var(--auth-line);height:48px;color:var(--auth-ink);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:14.5px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.auth-social-btn:hover{background:#faf8f3;border-color:#d5cdbc}.auth-social-btn:focus-visible{outline-offset:2px;outline:3px solid #1d4e8a59}.auth-social-btn--kakao{color:#191600;background:#fee500;border-color:#fee500}.auth-social-btn--kakao:hover{background:#f5dc00;border-color:#f5dc00}.auth-swap{border-top:1px dashed var(--auth-line);color:var(--auth-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 0;padding-top:18px;font-size:13.5px;display:flex}.auth-swap a{color:var(--auth-navy);border-bottom:2px solid var(--auth-gold);padding-bottom:1px;font-weight:800;text-decoration:none;transition:color .15s,border-color .15s}.auth-swap a:hover{color:var(--auth-navy-d);border-color:var(--auth-gold-d)}.auth-swap a:focus-visible{outline-offset:3px;border-radius:4px;outline:3px solid #1d4e8a73}@media (max-width:640px){.auth-screen{padding:40px 14px}.auth-ticket{flex-direction:column}.auth-stub{border-right:none;border-bottom:2px dashed var(--auth-kraft);border-radius:var(--auth-radius) var(--auth-radius) 0 0;flex:none;gap:14px;padding:22px 20px 20px}.auth-stub:before,.auth-stub:after{top:auto;bottom:calc(var(--auth-hole) / -2 - 1px)}.auth-stub:before{left:calc(var(--auth-hole) / -2 - 1px);right:auto}.auth-stub:after{right:calc(var(--auth-hole) / -2 - 1px)}.auth-steps{flex-direction:row;justify-content:space-between;gap:4px}.auth-step{text-align:center;flex-direction:column;flex:1;gap:6px;padding:0}.auth-step+.auth-step:before{border-left:none;border-top:2px dotted var(--auth-line);width:calc(100% - 52px);height:0;top:19px;left:auto;right:calc(50% + 22px)}.auth-step-ico{flex:0 0 38px;width:38px;height:38px}.auth-step-txt b{font-size:12px}.auth-step-txt span,.auth-step-num,.auth-stub-foot{display:none}.auth-body{border-radius:0 0 var(--auth-radius) var(--auth-radius);padding:30px 22px 28px}.auth-title{font-size:22px}.auth-otp{--auth-cell:44px;height:54px;font-size:22px}.auth-otp-cells{width:304px}.auth-otp-slots i{border-width:1.5px}.auth-row{flex-direction:column}.auth-btn-ghost{height:44px}}@media (prefers-reduced-motion:reduce){.auth-screen *,.auth-screen :before,.auth-screen :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
