.login-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(5px)}.login-modal-overlay.active{display:flex}.login-modal{background-color:#1e1e1e;width:100%;max-width:480px;border-radius:12px;border:1px solid #2d2d2d;box-shadow:0 20px 50px rgba(0,0,0,.5);overflow:hidden;animation:modalSlideUp .4s ease-out;position:relative;margin:20px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-close{position:absolute;top:-45px;right:0;width:36px;height:36px;background:transparent;border:1px solid hsla(0,0%,100%,.2);border-radius:50%;color:hsla(0,0%,100%,.5);font-size:1rem;cursor:pointer;z-index:10;transition:all .3s;display:flex;align-items:center;justify-content:center}.login-modal-close:hover{border-color:#9333ea;color:#a855f7;transform:rotate(90deg)}.login-tabs-modal{display:flex;border-bottom:1px solid #2d2d2d;background:rgba(0,0,0,.2)}.login-tab-item{flex:1;text-align:center;padding:18px 0;font-size:1rem;color:#888;cursor:pointer;transition:all .3s;font-weight:500;position:relative;border:none;background:transparent}.login-tab-item:hover{color:#ccc}.login-tab-item.active{color:#fff;background-color:#1e1e1e;font-weight:600}.login-tab-item.active:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background-color:#9333ea}.login-modal-body{padding:40px}.login-view-modal{display:none;animation:fadeInModal .4s ease}.login-view-modal.active{display:block}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.modal-form-group{margin-bottom:24px}.modal-form-group label{display:block;color:#888;font-size:.9rem;margin-bottom:8px}.modal-input-wrapper{position:relative}.modal-input-wrapper i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#666;transition:color .3s}.modal-form-input{width:100%;padding:12px 15px 12px 42px;background-color:#09090b;border:1px solid #2d2d2d;border-radius:8px;color:#fff;font-size:.95rem;font-family:Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif;ime-mode:auto;transition:all .3s}.modal-form-input:focus{outline:none;border-color:#9333ea;background-color:#000;box-shadow:0 0 0 3px rgba(147,51,234,.1)}.modal-form-input::-moz-placeholder{color:#555}.modal-form-input::placeholder{color:#555}.modal-form-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;font-size:.85rem}.modal-remember-me{display:flex;align-items:center;gap:6px;color:#888;cursor:pointer}.modal-remember-me input{accent-color:#9333ea}.modal-forgot-pwd{color:#888;text-decoration:none}.modal-forgot-pwd:hover{color:#a855f7}.modal-btn-submit{width:100%;background:linear-gradient(90deg,#9333ea,#db2777);color:#fff;border:none;padding:12px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px rgba(147,51,234,.3)}.modal-btn-submit:hover{opacity:.9;transform:translateY(-1px)}.modal-btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-login-footer{text-align:center;margin-top:20px;font-size:.9rem;color:#666}.modal-register-link{color:#a855f7;font-weight:600;text-decoration:none;margin-left:5px}.modal-register-link:hover{text-decoration:underline}.modal-wechat-box{text-align:center;padding:0}.modal-qr-placeholder{width:100%;min-height:400px;background-color:transparent;margin:0 auto;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}.modal-qr-placeholder iframe{border:0!important;background:transparent}#wx_login_container{display:flex;align-items:center;justify-content:center;width:300px;height:460px}#wx_login_container iframe{border:0!important;width:300px!important;height:460px!important}.modal-qr-img{width:160px;height:160px;background:linear-gradient(45deg,#000 25%,transparent 0,transparent 75%,#000 0,#000),linear-gradient(45deg,#000 25%,transparent 0,transparent 75%,#000 0,#000);background-size:20px 20px;background-position:0 0,10px 10px;opacity:.8}.modal-scan-line{position:absolute;width:100%;height:2px;background:#22c55e;box-shadow:0 0 8px #22c55e;top:0;animation:modalScan 2s linear infinite}@keyframes modalScan{0%{top:0;opacity:0}20%{opacity:1}80%{opacity:1}to{top:100%;opacity:0}}.modal-wechat-tips{color:#ccc;font-size:.95rem;margin-bottom:8px}.modal-wechat-subtips{color:#666;font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:6px}.modal-wechat-icon{color:#22c55e}.user-logged-in{display:none;align-items:center;gap:12px;position:relative;flex-shrink:0}.user-logged-in.active{display:flex}.user-logged-in .btn-login{display:none!important}.user-notification{position:relative;cursor:pointer;padding:8px;color:#aaa;transition:color .3s}.user-notification:hover{color:#a855f7}.user-notification i{font-size:18px}.badge-count{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;justify-content:center;padding:0 4px}.badge-count,.user-profile{display:flex;align-items:center}.user-profile{gap:10px;cursor:pointer;padding:6px 12px 6px 6px;border-radius:25px;transition:background-color .3s}.user-profile:hover{background-color:hsla(0,0%,100%,.08)}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#9333ea,#7c3aed);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:14px;border:2px solid hsla(0,0%,100%,.2)}.user-avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-info{display:none}@media (min-width:768px){.user-info{display:block}}.user-name{font-size:14px;font-weight:600;color:#fff;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-level{font-size:12px;color:#a855f7;display:flex;align-items:center;gap:4px}.user-dropdown-arrow{color:#666;font-size:12px;transition:transform .3s}.user-profile:hover .user-dropdown-arrow{color:#999}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:240px;background-color:#1a1a1a;border:1px solid #2d2d2d;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:1000}.user-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{padding:20px;border-bottom:1px solid #2d2d2d;display:flex;align-items:center;gap:12px}.dropdown-header .user-avatar{width:48px;height:48px;font-size:18px}.dropdown-user-info .user-name{font-size:16px;max-width:140px}.dropdown-user-info .user-level{margin-top:4px}.dropdown-menu{padding:8px 0}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#ccc;text-decoration:none;transition:all .2s;cursor:pointer;width:100%;background:none;border:none;font-size:14px}.dropdown-item:hover{background-color:hsla(0,0%,100%,.05);color:#fff}.dropdown-item i{width:18px;text-align:center;font-size:14px;color:#888}.dropdown-item:hover i{color:#a855f7}.dropdown-item .item-badge{margin-left:auto;background:rgba(239,68,68,.2);color:#ef4444;font-size:11px;padding:2px 8px;border-radius:10px}.dropdown-divider{height:1px;background-color:#2d2d2d;margin:8px 0}.dropdown-item.logout{color:#888}.dropdown-item.logout:hover,.dropdown-item.logout:hover i{color:#ef4444}