.auth-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);backdrop-filter:blur(8px);z-index:1000;padding:20px;overflow-y:auto}.auth-modal.active{display:flex;align-items:center;justify-content:center}:root[data-theme=light] .auth-modal{background:rgba(0,0,0,.4)}.auth-modal-content{position:relative;background:var(--card-bg);border:1.5px solid var(--border);border-radius:24px;max-width:480px;width:100%;padding:48px;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}:root[data-theme=light] .auth-modal-content{background:linear-gradient(145deg,rgba(245,245,247,.8),rgba(245,245,245,.7));border:1px solid rgba(255,255,255,.2);box-shadow:-10px -10px 30px rgba(255,255,255,.9),10px 10px 30px rgba(0,0,0,.12),inset -3px -3px 8px rgba(245,245,247,.8),inset 3px 3px 8px rgba(0,0,0,.08)}.auth-modal-close{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.auth-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary);transform:rotate(90deg)}.auth-title{font-size:32px;font-weight:800;margin-bottom:8px;letter-spacing:-1px}.auth-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:32px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group label{font-size:14px;color:var(--text-primary)}.form-group input{width:100%;padding:12px 16px;border-radius:12px;background:var(--bg-tertiary);border:1.5px solid var(--border);transition:all .25s ease}.form-group input:focus{outline:none;border-color:var(--accent);background:var(--bg-secondary)}.form-group input::-moz-placeholder{color:var(--text-tertiary)}.form-group input::placeholder{color:var(--text-tertiary)}.form-options{justify-content:space-between;margin-bottom:24px}.checkbox-label,.form-options{display:flex;align-items:center}.checkbox-label{gap:8px;font-size:14px;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.forgot-password{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500;transition:all .25s ease}.forgot-password:hover{color:var(--accent-hover)}.auth-divider{position:relative;text-align:center;margin:32px 0}.auth-divider:after,.auth-divider:before{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--border)}.auth-divider:before{left:0}.auth-divider:after{right:0}.auth-divider span{background:var(--card-bg);padding:0 16px;font-size:14px;color:var(--text-tertiary)}.social-login{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;background:var(--bg-tertiary);border:1.5px solid var(--border);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .25s ease}.social-btn:hover{background:var(--bg-secondary);border-color:var(--border-hover);transform:translateY(-2px)}.auth-switch{text-align:center;font-size:14px;color:var(--text-secondary)}.auth-switch a{color:var(--accent);text-decoration:none;font-weight:600;transition:all .25s ease}.auth-switch a:hover{color:var(--accent-hover)}.social-login-grid{display:grid;grid-template-columns:1fr;gap:16px}.social-btn-large{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 24px;border-radius:12px;background:var(--bg-tertiary);border:1.5px solid var(--border);color:var(--text-primary);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.social-btn-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.google-btn:hover{background:#4285F4;border-color:#4285F4;color:#ffffff}.kakao-btn{background:#FEE500;border-color:#FEE500;color:#000000}.kakao-btn:hover{background:#FDD835;border-color:#FDD835}.github-btn:hover{background:#24292e;border-color:#24292e;color:#ffffff}.naver-btn:hover{background:#03C75A;border-color:#03C75A;color:#ffffff}.naver-btn:hover svg path{fill:#ffffff}