.auth-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal,500);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4,16px);background:rgba(26,26,46,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:all var(--transition-base, 300ms ease)}.auth-modal.is-open,.auth-modal[aria-hidden=false]{opacity:1;visibility:visible}.auth-modal__backdrop{position:absolute;top:0;left:0;right:0;bottom:0}.auth-modal__container{position:relative;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;background:var(--color-white,#fff);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-2xl,28px);box-shadow:8px 8px 0 #000;transform:translateY(20px);transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55))}.auth-modal.is-open .auth-modal__container,.auth-modal[aria-hidden=false] .auth-modal__container{transform:translateY(0)}.auth-modal__content{flex:1;overflow-y:auto;padding:var(--spacing-8,32px);padding-top:var(--spacing-12,48px)}.auth-modal__content::-webkit-scrollbar-track{margin:10% 0}.auth-modal__close{position:absolute;top:var(--spacing-4,16px);right:var(--spacing-4,16px);width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-secondary,#ff6b9d);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);box-shadow:3px 3px 0 #000;cursor:pointer;transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55));z-index:10}.auth-modal__close:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #000}.auth-modal__close:active{transform:translate(1px,1px);box-shadow:2px 2px 0 #000}.auth-modal__close svg{width:20px;height:20px;color:var(--color-white,#fff)}.auth-modal__back{display:inline-flex;align-items:center;gap:var(--spacing-2,8px);margin-bottom:var(--spacing-4,16px);padding:var(--spacing-2,8px) var(--spacing-4,16px);background:var(--color-accent,#ffd23f);border:2px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);color:var(--color-text,#1a1a2e);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);cursor:pointer;transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55))}.auth-modal__back:hover{transform:translateX(-4px);box-shadow:3px 3px 0 #000}.auth-modal__back svg{width:18px;height:18px}.auth-modal__logo{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3,12px);margin-bottom:var(--spacing-6,24px)}.auth-modal__logo img{width:144px;margin-top:20px}.auth-modal__title{font-family:var(--font-family-display, 'Poppins', sans-serif);font-size:var(--font-size-3xl, 32px);font-weight:var(--font-weight-extrabold,800);color:var(--color-text,#1a1a2e);text-align:center;margin-bottom:var(--spacing-2,8px);line-height:var(--line-height-tight, 1.2)}.auth-modal__subtitle{font-size:var(--font-size-base, 16px);color:var(--color-text-secondary,#4a4a5e);text-align:center;margin-bottom:var(--spacing-8,32px);line-height:var(--line-height-relaxed, 1.625)}.auth-form{display:flex;flex-direction:column}.auth-form__group{display:flex;flex-direction:column;gap:var(--spacing-2,8px);margin-bottom:var(--spacing-8,32px)}.auth-form__group:last-child{margin-bottom:0}.auth-form__label{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);color:var(--color-text,#1a1a2e)}.auth-form__label .required{color:var(--color-secondary,#ff6b9d);margin-left:2px}.auth-form__input-wrapper{position:relative;display:flex;align-items:center}.auth-form__input-icon{position:absolute;left:var(--spacing-4,16px);width:20px;height:20px;color:var(--color-gray-500,#8b7e6b);pointer-events:none;transition:all var(--transition-fast, 150ms)}.auth-form__input-wrapper:focus-within .auth-form__input-icon{color:var(--color-primary,#00a8e8)}.auth-form__input-wrapper input{width:100%;padding:var(--spacing-4,16px);padding-left:calc(var(--spacing-4,16px) + 32px);font-family:var(--font-family-primary, 'Pretendard', sans-serif);font-size:var(--font-size-base, 16px);color:var(--color-text,#1a1a2e);background:var(--color-background,#fffdf7);border:2px solid var(--color-text,#1a1a2e);border-radius:var(--radius-lg,16px);outline:0;transition:all var(--transition-fast, 150ms)}.auth-form__input-wrapper input:focus{border-color:var(--color-primary,#00a8e8);box-shadow:0 0 0 3px var(--color-primary-alpha,rgba(0,168,232,.2))}.auth-form__input-wrapper input::placeholder{color:var(--color-gray-400,#b8a99a)}.auth-form__toggle-password{position:absolute;right:var(--spacing-4,16px);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:var(--radius-full,9999px);cursor:pointer;color:var(--color-gray-500,#8b7e6b);transition:all var(--transition-fast, 150ms)}.auth-form__toggle-password:hover{color:var(--color-primary,#00a8e8);background:var(--color-primary-alpha,rgba(0,168,232,.1))}.auth-form__toggle-password svg{width:20px;height:20px}.auth-form__input-wrapper:has(.auth-form__toggle-password) input{padding-right:calc(var(--spacing-4,16px) + 40px)}.auth-form__hint{font-size:var(--font-size-xs, 12px);color:var(--color-text-muted,#7a7a8e);padding-left:var(--spacing-2,8px)}.auth-form__password-strength{display:flex;align-items:center;gap:var(--spacing-3,12px);margin-top:var(--spacing-1,4px)}.auth-form__strength-bar{flex:1;height:8px;background:var(--color-gray-200,#f0ebe3);border:2px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);overflow:hidden}.auth-form__strength-fill{height:100%;width:0%;border-radius:var(--radius-full,9999px);transition:all .3s ease}.auth-form__strength-fill[data-strength="1"]{width:25%;background:var(--color-error,#ff6b6b)}.auth-form__strength-fill[data-strength="2"]{width:50%;background:var(--color-warning,#ffd23f)}.auth-form__strength-fill[data-strength="3"]{width:75%;background:var(--color-tertiary,#7ed957)}.auth-form__strength-fill[data-strength="4"]{width:100%;background:var(--color-primary,#00a8e8)}.auth-form__strength-text{font-size:var(--font-size-xs, 12px);font-weight:var(--font-weight-bold,700);color:var(--color-text-secondary,#4a4a5e);white-space:nowrap;min-width:60px}.auth-form__options{display:flex;flex-direction:column;gap:var(--spacing-4,16px);padding:var(--spacing-5,20px);margin-bottom:var(--spacing-8,32px);background:var(--color-accent,#ffd23f);border:2px solid var(--color-text,#1a1a2e);border-radius:var(--radius-lg,16px)}.auth-form__checkbox{display:flex;align-items:flex-start;gap:var(--spacing-3,12px);cursor:pointer;font-size:var(--font-size-sm, 14px);color:var(--color-text,#1a1a2e);line-height:var(--line-height-normal, 1.5)}.auth-form__checkbox input{display:none}.auth-form__checkbox-mark{flex-shrink:0;width:24px;height:24px;margin-top:1px;border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-sm,6px);background:var(--color-white,#fff);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55))}.auth-form__checkbox:hover .auth-form__checkbox-mark{box-shadow:3px 3px 0 #000;transform:translate(-2px,-2px)}.auth-form__checkbox input:checked+.auth-form__checkbox-mark{background:var(--color-primary,#00a8e8);box-shadow:3px 3px 0 #000;transform:translate(-2px,-2px)}.auth-form__checkbox input:checked+.auth-form__checkbox-mark::after{content:'';display:block;width:6px;height:10px;border:3px solid var(--color-white,#fff);border-width:0 3px 3px 0;transform:rotate(45deg) translateY(-1px)}.auth-form__checkbox a{color:var(--color-primary,#00a8e8);text-decoration:underline;font-weight:var(--font-weight-bold,700)}.auth-form__submit{width:100%;margin-top:var(--spacing-6,24px);padding:var(--spacing-4,16px) var(--spacing-6,24px);font-family:var(--font-family-primary, 'Pretendard', sans-serif);font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-bold,700);color:var(--color-white,#fff);background:var(--color-primary,#00a8e8);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);box-shadow:6px 6px 0 #000;cursor:pointer;transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55))}.auth-form__submit:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 #000}.auth-form__submit:active{transform:translate(2px,2px);box-shadow:4px 4px 0 #000}.auth-form__submit:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:6px 6px 0 #000!important}.auth-form__links{display:flex;align-items:center;justify-content:center;gap:var(--spacing-4,16px);margin-top:var(--spacing-8,32px)}.auth-form__link{background:0 0;border:none;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-medium,500);color:var(--color-text-secondary,#4a4a5e);cursor:pointer;padding:var(--spacing-1,4px) var(--spacing-2,8px);border-radius:var(--radius-sm,6px);transition:all var(--transition-fast, 150ms)}.auth-form__link:hover{color:var(--color-primary,#00a8e8);background:var(--color-primary-alpha,rgba(0,168,232,.1))}.auth-form__link--primary{color:var(--color-primary,#00a8e8);font-weight:var(--font-weight-bold,700)}.auth-form__divider{color:var(--color-gray-400,#b8a99a);font-size:var(--font-size-xs, 12px)}.auth-social{margin-top:var(--spacing-10,40px)}.auth-social__divider{display:flex;align-items:center;gap:var(--spacing-4,16px);margin-bottom:var(--spacing-6,24px)}.auth-social__divider::after,.auth-social__divider::before{content:'';flex:1;height:2px;background:var(--color-text,#1a1a2e)}.auth-social__divider span{font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);color:var(--color-text,#1a1a2e)}.auth-social__buttons{display:flex;flex-direction:column;gap:var(--spacing-4,16px)}.auth-social__btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-3,12px);width:100%;padding:var(--spacing-3,12px) var(--spacing-4,16px);font-family:var(--font-family-primary, 'Pretendard', sans-serif);font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);color:var(--color-text,#1a1a2e);background:var(--color-white,#fff);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);box-shadow:4px 4px 0 #000;cursor:pointer;transition:all var(--transition-fast, 150ms) var(--ease-bounce, cubic-bezier(.68, -.55, .265, 1.55));position:relative}.auth-social__btn:hover:not(.auth-social__btn--disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}.auth-social__btn--disabled{cursor:not-allowed;background:var(--color-gray-200,#f0ebe3);box-shadow:4px 4px 0 #000;border-color:var(--color-gray-400,#b8a99a)}.auth-social__btn--disabled svg{filter:grayscale(100%);opacity:.5}.auth-social__btn--disabled>span:not(.auth-social__badge){color:var(--color-gray-500,#8b7e6b)}.auth-social__badge{position:absolute;right:var(--spacing-3,12px);font-size:10px;font-weight:var(--font-weight-bold,700);color:var(--color-white,#fff);background:var(--color-gray-500,#8b7e6b);padding:3px 10px;border-radius:var(--radius-full,9999px)}.auth-modal__footer{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2,8px);margin-top:var(--spacing-8,32px);padding-top:var(--spacing-6,24px);border-top:2px dashed var(--color-gray-300,#e0d8cc);font-size:var(--font-size-sm, 14px);color:var(--color-text-secondary,#4a4a5e)}.auth-form__result{text-align:center;padding:var(--spacing-8,32px) 0}.auth-form__result-icon{width:80px;height:80px;margin:0 auto var(--spacing-6,24px);display:flex;align-items:center;justify-content:center;border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-full,9999px);box-shadow:4px 4px 0 #000}.auth-form__result-icon--success{background:var(--color-tertiary,#7ed957)}.auth-form__result-icon--success svg{width:40px;height:40px;color:var(--color-white,#fff)}.auth-form__result-icon--error{background:var(--color-error,#ff6b6b)}.auth-form__result-icon--error svg{width:40px;height:40px;color:var(--color-white,#fff)}.auth-form__result-text{font-size:var(--font-size-lg, 18px);color:var(--color-text-secondary,#4a4a5e);margin-bottom:var(--spacing-6,24px);line-height:var(--line-height-relaxed, 1.625)}.auth-form__error{display:none;padding:var(--spacing-4,16px);margin-bottom:var(--spacing-4,16px);background:var(--color-error,#ff6b6b);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-lg,16px);box-shadow:4px 4px 0 #000;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);color:var(--color-white,#fff)}.auth-form__error.is-visible{display:block}.auth-form__success{display:none;padding:var(--spacing-4,16px);margin-bottom:var(--spacing-4,16px);background:var(--color-tertiary,#7ed957);border:3px solid var(--color-text,#1a1a2e);border-radius:var(--radius-lg,16px);box-shadow:4px 4px 0 #000;font-size:var(--font-size-sm, 14px);font-weight:var(--font-weight-bold,700);color:var(--color-white,#fff)}.auth-form__success.is-visible{display:block}.auth-form__loading{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:var(--spacing-2,8px)}.auth-form__loading::after{content:'';width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:var(--color-white,#fff);border-radius:var(--radius-full,9999px);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-modal__form{animation:slideUp .3s ease}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.auth-modal{padding:var(--spacing-3,12px);align-items:flex-end}.auth-modal__container{margin:0;max-width:100%;max-height:92vh;border-radius:var(--radius-2xl,28px) var(--radius-2xl,28px) 0 0;box-shadow:0 -4px 0 var(--color-primary,#00a8e8)}.auth-modal__content{padding:var(--spacing-5,20px);padding-top:var(--spacing-8,32px)}.auth-modal__close{top:var(--spacing-3,12px);right:var(--spacing-3,12px);width:40px;height:40px}.auth-modal__close svg{width:18px;height:18px}.auth-modal__logo img{width:120px;margin-top:var(--spacing-3,12px)}.auth-modal__title{font-size:var(--font-size-2xl, 24px);margin-bottom:var(--spacing-1,4px)}.auth-modal__subtitle{font-size:var(--font-size-sm, 14px);margin-bottom:var(--spacing-6,24px)}.auth-form__group{margin-bottom:var(--spacing-5,20px)}.auth-form__label{font-size:var(--font-size-sm, 14px)}.auth-form__input-wrapper input{padding:var(--spacing-3,12px);padding-left:calc(var(--spacing-3,12px) + 28px);font-size:var(--font-size-base, 16px);border-radius:var(--radius-md,12px)}.auth-form__input-icon{left:var(--spacing-3,12px);width:18px;height:18px}.auth-form__toggle-password{right:var(--spacing-3,12px);width:28px;height:28px}.auth-form__toggle-password svg{width:18px;height:18px}.auth-form__input-wrapper:has(.auth-form__toggle-password) input{padding-right:calc(var(--spacing-3,12px) + 36px)}.auth-form__options{padding:var(--spacing-4,16px);margin-bottom:var(--spacing-6,24px)}.auth-form__checkbox{font-size:var(--font-size-sm, 14px);gap:var(--spacing-2,8px)}.auth-form__checkbox-mark{width:24px;height:24px}.auth-form__checkbox{min-height:44px;padding:10px 0}.auth-form__submit{margin-top:var(--spacing-4,16px);padding:var(--spacing-3,12px) var(--spacing-5,20px);font-size:var(--font-size-base, 16px);box-shadow:4px 4px 0 #000}.auth-form__submit:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}.auth-form__links{margin-top:var(--spacing-6,24px);gap:var(--spacing-3,12px);flex-wrap:wrap;justify-content:center}.auth-form__link{font-size:var(--font-size-sm, 14px)}.auth-social{margin-top:var(--spacing-8,32px)}.auth-social__divider{margin-bottom:var(--spacing-5,20px)}.auth-social__divider span{font-size:var(--font-size-sm, 14px)}.auth-social__buttons{gap:var(--spacing-3,12px)}.auth-social__btn{padding:var(--spacing-3,12px) var(--spacing-4,16px);font-size:var(--font-size-sm, 14px);box-shadow:3px 3px 0 #000}.auth-social__btn:hover:not(.auth-social__btn--disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 #000}.auth-social__badge{font-size:9px;padding:2px 8px}.auth-modal__footer{margin-top:var(--spacing-6,24px);padding-top:var(--spacing-5,20px);font-size:var(--font-size-sm, 14px);flex-wrap:wrap;justify-content:center}.auth-modal__back{padding:var(--spacing-2,8px) var(--spacing-3,12px);font-size:var(--font-size-sm, 14px)}.auth-modal__back svg{width:16px;height:16px}.auth-form__password-strength{gap:var(--spacing-2,8px)}.auth-form__strength-bar{height:6px}.auth-form__strength-text{font-size:11px;min-width:50px}.auth-form__result{padding:var(--spacing-6,24px) 0}.auth-form__result-icon{width:64px;height:64px}.auth-form__result-icon--error svg,.auth-form__result-icon--success svg{width:32px;height:32px}.auth-form__result-text{font-size:var(--font-size-base, 16px)}.auth-form__error,.auth-form__success{padding:var(--spacing-3,12px);font-size:var(--font-size-base, 16px);border-radius:var(--radius-md,12px);box-shadow:3px 3px 0 #000}}@media (min-width:768px) and (max-width:1023px){.auth-modal{padding:var(--spacing-6,24px)}.auth-modal__container{max-width:460px;max-height:88vh;box-shadow:7px 7px 0 #000}.auth-modal__content{padding:var(--spacing-7,28px);padding-top:var(--spacing-10,40px)}.auth-modal__title{font-size:var(--font-size-2xl, 28px)}.auth-modal__subtitle{font-size:var(--font-size-base, 16px)}.auth-form__submit{box-shadow:5px 5px 0 #000}.auth-form__submit:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 #000}.auth-social__btn{box-shadow:4px 4px 0 #000}.auth-social__btn:hover:not(.auth-social__btn--disabled){box-shadow:5px 5px 0 #000}}@media (prefers-reduced-motion:reduce){.auth-form__submit,.auth-modal,.auth-modal__close,.auth-modal__container,.auth-modal__form{transition:none;animation:none}}