.modify-phone-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modify-phone-overlay.active{opacity:1;visibility:visible}.modify-phone-modal{background:var(--ip-white);border:var(--stroke);border-radius:var(--radius-head);box-shadow:var(--shadow-hard);width:480px;max-width:90vw;transform:scale(.8);transition:transform .3s ease;overflow:hidden}.modify-phone-overlay.active .modify-phone-modal{transform:scale(1)}.modify-phone-header{background:var(--ip-blue);color:var(--ip-white);padding:20px 24px;border-bottom:var(--stroke);display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-head) var(--radius-head) 0 0;margin:-1px -1px 0}.modify-phone-title{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:600;font-family:var(--font-cartoon)}.modify-phone-title i{font-size:24px}.modify-phone-close{width:36px;height:36px;background:var(--ip-white);border:2px solid var(--ip-black);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ip-black);box-shadow:3px 3px 0 var(--ip-black);transition:all .2s ease;padding:0}.modify-phone-close:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ip-black)}.modify-phone-close:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ip-black)}.modify-phone-content{padding:24px}.modify-phone-form-group{margin-bottom:20px}.modify-phone-label{display:block;font-size:14px;font-weight:600;font-family:var(--font-cartoon);color:var(--ip-black);margin-bottom:8px}.modify-phone-input{width:100%;padding:12px 16px;border:var(--stroke);border-radius:var(--radius-head);font-size:16px;font-family:var(--font-cartoon);background:var(--ip-white);transition:all .2s ease;box-sizing:border-box}.modify-phone-input:focus{outline:none;border-color:var(--ip-blue);box-shadow:2px 2px 0 var(--ip-blue)}.modify-phone-input::placeholder{color:var(--ip-black);opacity:.5}.modify-phone-code-group{display:flex;gap:12px}.modify-phone-code-input{flex:1;padding:12px 16px;border:var(--stroke);border-radius:var(--radius-head);font-size:16px;font-family:var(--font-cartoon);background:var(--ip-white);transition:all .2s ease;box-sizing:border-box}.modify-phone-code-input:focus{outline:none;border-color:var(--ip-blue);box-shadow:2px 2px 0 var(--ip-blue)}.modify-phone-code-btn{padding:10px 16px;background:var(--ip-blue);border:var(--stroke);border-radius:var(--radius-head);font-size:14px;font-weight:600;font-family:var(--font-cartoon);color:var(--ip-white);cursor:pointer;box-shadow:3px 3px 0 var(--ip-black);transition:all .2s ease;white-space:nowrap}.modify-phone-code-btn:hover:not(:disabled){background:var(--ip-blue-light);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ip-black)}.modify-phone-code-btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ip-black)}.modify-phone-code-btn:disabled{background:var(--ip-gray);cursor:not-allowed;box-shadow:none}.modify-phone-footer{padding:16px 24px;border-top:var(--stroke);display:flex;justify-content:flex-end;gap:12px;background:var(--bg-color)}.modify-phone-btn{padding:10px 24px;border-radius:var(--radius-head);font-size:14px;font-weight:600;font-family:var(--font-cartoon);cursor:pointer;transition:all .2s ease;border:var(--stroke)}.modify-phone-btn-cancel{background:var(--ip-white);color:var(--ip-black)}.modify-phone-btn-cancel:hover{background:var(--bg-color);transform:translateY(-2px)}.modify-phone-btn-primary{background:var(--ip-blue);color:var(--ip-white);box-shadow:3px 3px 0 var(--ip-black)}.modify-phone-btn-primary:hover:not(:disabled){background:var(--ip-blue-light);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ip-black)}.modify-phone-btn-primary:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ip-black)}.modify-phone-btn-primary:disabled{opacity:.6;cursor:not-allowed}.modify-phone-current{background:var(--bg-color);border:var(--stroke);border-radius:var(--radius-head);padding:12px 16px;margin-bottom:20px}.modify-phone-current-label{font-size:12px;color:var(--ip-black);opacity:.6;font-family:var(--font-cartoon)}.modify-phone-current-value{font-size:16px;font-weight:600;font-family:var(--font-cartoon);color:var(--ip-black);margin-top:4px}@media (max-width:768px){.modify-phone-modal{width:95vw;margin:16px}.modify-phone-content{padding:16px}.modify-phone-header{padding:16px 20px}.modify-phone-title{font-size:18px}.modify-phone-code-group,.modify-phone-footer{flex-direction:column}.modify-phone-footer{gap:8px}.modify-phone-btn{width:100%;text-align:center}}.redeem-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.redeem-modal-overlay.active{opacity:1;visibility:visible}.redeem-key-modal{background:var(--ip-white);border:var(--stroke);border-radius:var(--radius-head);box-shadow:var(--shadow-hard);width:480px;max-width:90vw;max-height:80vh;transform:scale(.8);transition:transform .3s ease;display:flex;flex-direction:column}.redeem-modal-overlay.active .redeem-key-modal{transform:scale(1)}.redeem-history-modal{background:var(--ip-white);border:var(--stroke);border-radius:var(--radius-head);box-shadow:var(--shadow-hard);width:600px;max-width:90vw;max-height:80vh;transform:scale(.8);transition:transform .3s ease;display:flex;flex-direction:column}.redeem-modal-overlay.active .redeem-history-modal{transform:scale(1)}.redeem-modal-header{background:var(--ip-blue);color:var(--ip-white);padding:20px 24px;border-bottom:var(--stroke);display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-head) var(--radius-head) 0 0;margin:-1px -1px 0;flex-shrink:0}.redeem-modal-title{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:600;font-family:var(--font-cartoon)}.redeem-modal-title i{font-size:24px}.redeem-modal-close{width:36px;height:36px;background:var(--ip-white);border:2px solid var(--ip-black);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--ip-black);box-shadow:3px 3px 0 var(--ip-black);transition:all .2s ease;flex-shrink:0;padding:0}.redeem-modal-close:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ip-black)}.redeem-modal-close:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ip-black)}.redeem-modal-content{padding:24px;overflow-y:auto;flex:1}.redeem-modal-content .ant-input{border:var(--stroke);border-radius:var(--radius-head);padding:12px 16px;font-size:16px;font-family:var(--font-cartoon);transition:all .2s ease}.redeem-modal-content .ant-input:focus{border-color:var(--ip-blue);box-shadow:2px 2px 0 var(--ip-blue)}.redeem-modal-content .ant-input-affix-wrapper{border:var(--stroke);border-radius:var(--radius-head);padding:8px 16px;transition:all .2s ease}.redeem-modal-content .ant-input-affix-wrapper:focus-within{border-color:var(--ip-blue);box-shadow:2px 2px 0 var(--ip-blue)}.redeem-modal-content .ant-btn-primary{background:var(--ip-blue);border:var(--stroke);border-radius:var(--radius-head);font-weight:600;padding:10px 24px;height:auto;font-size:14px;font-family:var(--font-cartoon);color:var(--ip-white);box-shadow:3px 3px 0 var(--ip-black);transition:all .2s ease}.redeem-modal-content .ant-btn-primary:hover{background:var(--ip-blue-light);color:var(--ip-white);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ip-black)}.redeem-modal-content .ant-btn-primary:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ip-black)}.redeem-modal-content .ant-btn{border-radius:var(--radius-head);font-weight:600;padding:8px 16px;height:auto;font-family:var(--font-cartoon);transition:all .2s ease}.redeem-modal-content .ant-btn:hover{transform:translateY(-2px)}.redeem-modal-content .ant-result{padding:24px 0}.redeem-modal-content .ant-result-title{font-weight:600;font-family:var(--font-cartoon);color:var(--ip-black)}.redeem-modal-content .ant-result-subtitle{font-family:var(--font-cartoon)}.redeem-history-modal .ant-table{border-radius:var(--radius-head);overflow:hidden}.redeem-history-modal .ant-table-thead>tr>th{background:var(--bg-color);border-bottom:var(--stroke);font-weight:600;font-family:var(--font-cartoon);color:var(--ip-black);padding:14px 12px}.redeem-history-modal .ant-table-tbody>tr>td{padding:12px;border-bottom:var(--stroke);font-family:var(--font-cartoon)}.redeem-history-modal .ant-table-tbody>tr:hover>td,.redeem-modal-step{background:var(--bg-color)}.redeem-modal-step{padding:16px 24px;border-bottom:var(--stroke);display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}.redeem-modal-step span{font-family:var(--font-cartoon);font-weight:600}@media (max-width:768px){.redeem-history-modal,.redeem-key-modal{width:95vw;max-height:90vh}.redeem-modal-content{padding:16px}.redeem-modal-header{padding:16px 20px}.redeem-modal-title{font-size:18px}}.profile-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;overflow:hidden}.profile-modal{background:var(--ip-white);border-radius:24px;border:3px solid var(--ip-black);box-shadow:6px 6px 0 var(--ip-black);width:520px;max-height:85vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.profile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:3px solid var(--ip-black)}.profile-modal-title{font-size:1.25rem;font-weight:700;color:var(--ip-black);margin:0}.profile-modal-close{width:40px;height:40px;border-radius:50%;background:var(--bg-color);border:3px solid var(--ip-black);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:1.2rem;color:var(--ip-black)}.profile-modal-close:hover{transform:scale(1.1);box-shadow:2px 2px 0 var(--ip-black);background:var(--ip-blue);color:var(--ip-white)}.profile-modal-content{flex:1;overflow-y:auto;padding:24px}.profile-avatar-section{display:flex;align-items:center;gap:20px;margin-bottom:24px}.profile-avatar{position:relative;width:100px;height:100px;border-radius:24px;overflow:hidden;border:3px solid var(--ip-black);background:var(--bg-color);flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-edit{position:absolute;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;cursor:pointer;color:var(--ip-white);font-size:.9rem;font-weight:600}.profile-avatar:hover .profile-avatar-edit{opacity:1}.profile-avatar-edit input{display:none}.profile-info{flex:1}.profile-name{font-size:1.5rem;font-weight:700;color:var(--ip-black);margin-bottom:4px;display:flex;align-items:center;gap:8px}.profile-name-edit-btn{background:transparent;border:none;cursor:pointer;color:var(--ip-black);padding:4px;border-radius:8px;transition:all .2s}.profile-name-edit-btn:hover{background:var(--bg-color)}.profile-phone{font-size:.9rem;color:#666}.profile-name-input{width:100%;padding:10px 14px;border:3px solid var(--ip-black);border-radius:12px;font-size:1.25rem;font-weight:600;outline:none;transition:all .3s}.profile-name-input:focus{box-shadow:2px 2px 0 var(--ip-black)}.profile-intro-section{background:var(--bg-color);border-radius:16px;padding:16px 20px;margin-bottom:24px;border:3px solid var(--ip-black)}.profile-intro-title{font-size:.9rem;font-weight:600;color:var(--ip-black);margin-bottom:8px}.profile-intro-text{font-size:.95rem;color:var(--ip-black);line-height:1.5}.profile-intro-text.empty{color:#999;font-style:italic}.profile-intro-edit-btn{background:transparent;border:none;cursor:pointer;color:var(--ip-black);padding:4px 8px;border-radius:8px;transition:all .2s;font-size:.85rem}.profile-intro-edit-btn:hover{background:rgba(44,165,224,.2)}.profile-intro-textarea{width:100%;padding:10px 14px;border:3px solid var(--ip-black);border-radius:12px;font-size:.95rem;resize:vertical;min-height:80px;outline:none;font-family:inherit}.profile-intro-textarea:focus{box-shadow:2px 2px 0 var(--ip-black)}.profile-stats-section{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.profile-stat-card{background:var(--ip-white);border-radius:16px;border:3px solid var(--ip-black);padding:16px;text-align:center;box-shadow:3px 3px 0 var(--ip-black);transition:all .3s}.profile-stat-card:hover{transform:translateY(-2px);box-shadow:6px 6px 0 var(--ip-black)}.profile-stat-value{font-size:1.5rem;font-weight:700;color:var(--ip-black)}.profile-stat-label{font-size:.85rem;color:#666;margin-top:4px}.profile-stat-card.energy{background:var(--ip-yellow)}.profile-stat-card.energy .profile-stat-value{color:var(--ip-black)}.profile-account-section{border-top:3px solid var(--ip-black);padding-top:20px}.profile-account-title{font-size:1rem;font-weight:700;color:var(--ip-black);margin-bottom:16px}.profile-account-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-color);border-radius:12px;margin-bottom:12px;border:2px solid var(--ip-black);transition:all .3s}.profile-account-item:hover{transform:translateY(-2px);box-shadow:2px 2px 0 var(--ip-black)}.profile-account-item.yellow{background:#fff9e6}.profile-account-item.blue{background:var(--bg-color)}.profile-account-info{flex:1}.profile-account-label{font-size:.85rem;color:#666;margin-bottom:2px}.profile-account-value{font-size:.95rem;font-weight:600;color:var(--ip-black)}.profile-account-btn{padding:8px 14px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s;border:2px solid var(--ip-black);background:var(--ip-white);color:var(--ip-black)}.profile-account-btn:hover{transform:translateY(-2px);box-shadow:2px 2px 0 var(--ip-black)}.profile-account-btn.primary{background:var(--ip-blue);color:var(--ip-white)}.profile-account-btn.yellow{background:var(--ip-yellow);color:var(--ip-black)}.profile-modal-loading{position:absolute;inset:0;background:hsla(0,0%,100%,.9);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:24px}.profile-loading-spinner{width:48px;height:48px;border:4px solid var(--bg-color);border-top-color:var(--ip-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.profile-loading-text{margin-top:16px;font-size:.95rem;color:#666}@media (max-width:560px){.profile-modal{width:95%;max-height:90vh;margin:16px}.profile-avatar-section{flex-direction:column;text-align:center}.profile-stats-section{grid-template-columns:1fr}}