.auth-page{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-body);color:var(--text);background:var(--bg-subtle);-webkit-font-smoothing:antialiased;word-break:keep-all;overflow-wrap:break-word;min-height:100vh;padding:var(--space-6);padding-top:max(var(--space-6), calc(50vh - 307px));flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-base);letter-spacing:var(--ls-heading);border:1px solid var(--border);color:var(--text);background:var(--bg);font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--white)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.auth-logo{font-size:var(--text-xl);font-weight:var(--weight-heading);letter-spacing:var(--ls-heading);color:var(--text);margin-bottom:var(--space-6)}.auth-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-md);padding:var(--space-8)}.auth-title{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.auth-sub{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-6)}.auth-field{margin-bottom:var(--space-4)}.auth-field label{font-size:var(--text-sm);margin-bottom:var(--space-2);font-weight:600;display:block}.auth-input{width:100%;padding:var(--space-3) var(--space-4);font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}.auth-input::placeholder{color:var(--gray-400)}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--blue-100);outline:none}.auth-error{font-size:var(--text-xs);color:#dc2626;margin-top:var(--space-2);display:none}.auth-error.show{display:block}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-divider{align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--gray-400);margin:var(--space-6) 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-social{gap:var(--space-3);flex-direction:column;display:flex}.auth-social .btn{width:100%;font-weight:500}.auth-links{justify-content:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-6);display:flex}.auth-links a:hover{color:var(--accent)}.auth-links span{color:var(--border)}.auth-steps{justify-content:center;gap:var(--space-8);margin-bottom:var(--space-8);display:flex}.auth-step{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--gray-400);flex-direction:column;display:flex}.auth-step-num{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;font-size:var(--text-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.auth-step.active{color:var(--accent)}.auth-step.active .auth-step-num{background:var(--accent);border-color:var(--accent);color:var(--white)}.auth-step.done{color:var(--text-muted)}.auth-step.done .auth-step-num{background:var(--blue-100);border-color:var(--blue-100);color:var(--accent)}.auth-panel{display:none}.auth-panel.active{display:block}.auth-panel-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.auth-panel-actions .btn{flex:1}.auth-agree-all{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:var(--space-4);cursor:pointer;font-weight:600;display:flex}.auth-agree-list{gap:var(--space-3);padding:0 var(--space-2);flex-direction:column;list-style:none;display:flex}.auth-agree-list label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);cursor:pointer;display:flex}.auth-agree-tag{font-size:var(--text-xs);color:var(--accent);font-weight:600}.auth-agree-tag.optional{color:var(--gray-400)}.auth-agree-view{font-size:var(--text-xs);color:var(--gray-400);margin-left:auto;text-decoration:underline}.auth-page input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.auth-success{text-align:center;padding:var(--space-4) 0}.auth-success-icon{background:var(--blue-100);width:64px;height:64px;color:var(--accent);margin-bottom:var(--space-4);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.auth-success h2{font-size:var(--text-xl);margin-bottom:var(--space-2)}.auth-success p{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-6)}.auth-page.auth-line{background:var(--bg)}.auth-line-inner{width:100%;max-width:340px}.auth-line-logo{letter-spacing:-.02em;color:var(--accent);margin-bottom:44px;font-size:32px;font-weight:800;line-height:1.2;display:block}.auth-line-title{letter-spacing:-.03em;margin-bottom:48px;font-size:34px;line-height:1.25}.auth-line-title.has-sub{margin-bottom:12px}.auth-line-sub{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:44px}.auth-line-field{margin-bottom:36px;position:relative}.auth-line-field label{font-size:var(--text-base);color:var(--gray-400);pointer-events:none;font-weight:400;transition:all .18s;position:absolute;top:10px;left:0}.auth-line-input{width:100%;font:inherit;color:var(--text);border:none;border-bottom:1.5px solid var(--border);background:0 0;border-radius:0;padding:10px 0;transition:border-color .18s}.auth-line-input::placeholder{color:#0000}.auth-line-input:focus{border-bottom-color:var(--accent);outline:none}.auth-line-input:focus+label,.auth-line-input:not(:placeholder-shown)+label{font-size:var(--text-xs);color:var(--accent);top:-14px}.auth-line-submit{background:var(--gray-900);width:100%;color:var(--white);letter-spacing:-.01em;border-radius:4px;justify-content:center;align-items:center;margin-top:4px;padding:15px 0;font-size:15px;font-weight:600;transition:background-color .15s;display:inline-flex}.auth-line-submit:hover{background:var(--navy-700)}.auth-line-divider{color:var(--gray-400);align-items:center;gap:12px;margin-top:32px;font-size:12px;display:flex}.auth-line-divider:before,.auth-line-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-line-social-hint{text-align:center;color:var(--gray-400);margin-top:10px;font-size:12px}.auth-line-social{justify-content:center;gap:12px;margin-top:24px;display:flex}.auth-line-social button{border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:filter .15s,border-color .15s;display:inline-flex}.auth-line-social button:hover{filter:brightness(.96)}.auth-line-social .social-google{background:var(--white);border:1px solid var(--gray-200)}.auth-line-social .social-google:hover{filter:none;border-color:var(--gray-400)}.auth-line-social .social-naver{background:#03c75a}.auth-line-social .social-kakao{background:#fee500}.auth-line-links{color:var(--gray-400);justify-content:center;gap:20px;margin-top:40px;font-size:13px;display:flex}.auth-line-links>:not(:first-child){position:relative}.auth-line-links>:not(:first-child):before{content:"";background:var(--gray-200);width:1px;height:12px;position:absolute;top:50%;left:-11px;transform:translateY(-50%)}.auth-line-links a:hover{color:var(--gray-900);text-underline-offset:3px;text-decoration:underline}.auth-tf-bar{background:var(--gray-200);z-index:10;height:3px;position:fixed;top:0;left:0;right:0}.auth-tf-bar-fill{background:var(--accent);width:0%;height:100%;transition:width .35s}.auth-tf-inner{width:100%;max-width:340px}.auth-tf-stepnum{letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--accent);border-bottom:2px solid var(--accent);margin-bottom:16px;padding-bottom:2px;font-size:13px;font-weight:600;display:inline-block}.auth-tf-step{min-height:430px;display:none}.auth-tf-step.on{animation:.3s auth-tf-up;display:block}@keyframes auth-tf-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-tf-step.on{animation:none}.auth-tf-bar-fill{transition:none}}.auth-tf-q{letter-spacing:-.03em;margin-bottom:36px;font-size:30px;line-height:1.35}.auth-tf-input{width:100%;font:inherit;color:var(--text);border:none;border-bottom:1.5px solid var(--border);background:0 0;border-radius:0;margin-bottom:24px;padding:12px 0;font-size:21px;transition:border-color .18s}.auth-tf-input::placeholder{color:var(--gray-200)}.auth-tf-input:focus{border-bottom-color:var(--accent);outline:none}.auth-tf-actions{align-items:center;gap:16px;margin-top:4px;display:flex}.auth-tf-next{background:var(--gray-900);color:var(--white);letter-spacing:-.01em;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:13px 32px;font-size:15px;font-weight:600;transition:background-color .15s;display:inline-flex}.auth-tf-next:hover{background:var(--navy-700)}.auth-tf-back{color:var(--gray-400);margin-top:32px;font-size:13px;display:inline-block}.auth-tf-back:hover{color:var(--gray-900)}.auth-tf-error{color:#dc2626;margin:-12px 0 20px;font-size:12.5px;display:none}.auth-tf-error.show{display:block}.auth-tf-terms{margin-bottom:32px}.auth-tf-terms input[type=checkbox]{accent-color:var(--gray-900)}.auth-tf-term-all{border-bottom:1.5px solid var(--gray-900);cursor:pointer;align-items:center;gap:10px;padding-bottom:14px;font-size:15px;font-weight:700;display:flex}.auth-tf-term-list{flex-direction:column;gap:12px;margin-top:14px;padding:0;list-style:none;display:flex}.auth-tf-term-list label{font-size:var(--text-sm);cursor:pointer;align-items:center;gap:10px;display:flex}.auth-tf-tag{font-size:var(--text-xs);color:var(--accent);flex-shrink:0;font-weight:600}.auth-tf-tag.optional{color:var(--gray-400)}.auth-tf-view{font-size:var(--text-xs);color:var(--gray-400);text-underline-offset:2px;flex-shrink:0;margin-left:auto;text-decoration:underline}.auth-tf-success-icon{border:1.5px solid var(--gray-900);width:64px;height:64px;color:var(--gray-900);border-radius:50%;justify-content:center;align-items:center;margin-bottom:22px;display:inline-flex}.auth-tf-success-title{letter-spacing:-.03em;margin-bottom:10px;font-size:26px}.auth-tf-success-sub{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:32px}
