.gift-history-overlay{position:fixed;inset:0;background:var(--theme-overlay-bg,rgba(0,0,0,.6));backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:giftFadeIn .3s ease-out}.gift-history-modal{width:580px;max-width:92vw;max-height:80vh;background:var(--theme-bg-primary,#ffffff);border-radius:16px;box-shadow:0 20px 60px var(--theme-shadow-color,rgba(0,0,0,.15)),0 8px 25px var(--theme-shadow-light,rgba(0,0,0,.1));border:1px solid var(--theme-border-color,rgba(0,0,0,.1));overflow:hidden;animation:giftSlideUp .3s ease-out}.gift-history-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,var(--theme-accent-color,#007bff) 0,var(--theme-accent-hover,#0056b3) 100%);color:var(--theme-text-on-primary,#ffffff);position:relative}.gift-history-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,var(--theme-border-light,rgba(255,255,255,.3)) 50%,transparent 100%)}.gift-history-title{display:flex;align-items:center;gap:12px}.gift-icon{font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.gift-history-title h3{margin:0;font-size:18px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1);color:var(--theme-text-on-primary,#ffffff)}.gift-count{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.close-button,.gift-count{background:rgba(255,255,255,.2);backdrop-filter:blur(10px);color:var(--theme-text-on-primary,#ffffff)}.close-button{border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.close-button:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.close-button:active{transform:scale(.95)}.gift-history-content{padding:0;max-height:calc(80vh - 80px);overflow:auto;background:var(--theme-bg-primary,#ffffff)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--theme-text-secondary,#666)}.loading-spinner{width:40px;height:40px;border-top:3px solid var(--theme-border-light,#e1e5e9);border:3px solid var(--theme-border-light,#e1e5e9);border-top-color:var(--theme-accent-color,#007bff);border-radius:50%;animation:giftSpin 1s linear infinite;margin-bottom:16px}.loading-container p{margin:0;font-size:14px}.empty-state,.loading-container p{color:var(--theme-text-secondary,#666)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h4{margin:0 0 8px;font-size:16px;font-weight:500;color:var(--theme-text-primary,#333)}.empty-state p{margin:0;font-size:14px;opacity:.7;color:var(--theme-text-secondary,#666)}.owned-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:1rem}.owned-item-card{background:rgba(255,255,255,.25);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:16px;box-shadow:0 6px 24px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.6);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;height:100%;border:1px solid rgba(255,255,255,.3);animation:giftSlideInUp .4s ease-out both}.owned-item-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);pointer-events:none}.owned-item-card:hover{transform:translateY(-4px);box-shadow:var(--theme-shadow-medium,0 2px 8px rgba(0,0,0,.15)),inset 0 1px 0 rgba(255,255,255,.7),0 0 0 1px color-mix(in srgb,var(--theme-accent-color,#007bff) 20%,transparent);border-color:color-mix(in srgb,var(--theme-accent-color,#007bff) 40%,transparent);background:rgba(255,255,255,.3)}.owned-item-header{padding:.75rem .875rem .5rem;border-bottom:1px solid rgba(255,255,255,.2);position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.owned-item-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent)}.owned-item-name{margin:0;font-size:1rem;font-weight:700;color:var(--theme-text-primary,#1a1a1a)!important;line-height:1.25;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 3px rgba(255,255,255,.9),0 0 2px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.05);filter:drop-shadow(0 1px 2px rgba(255,255,255,.6));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.delete-item-btn{background:var(--theme-error-color,#ef4444);background:color-mix(in srgb,var(--theme-error-color,#ef4444) 20%,transparent);border:1px solid color-mix(in srgb,var(--theme-error-color,#ef4444) 30%,transparent);border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:var(--theme-error-color,#ef4444);flex-shrink:0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.delete-item-btn svg{width:14px;height:14px}.delete-item-btn:hover{background:color-mix(in srgb,var(--theme-error-color,#ef4444) 30%,transparent);transform:scale(1.1);box-shadow:var(--theme-shadow-medium,0 2px 8px rgba(0,0,0,.15))}.delete-item-btn:active{transform:scale(.95)}.owned-item-description{padding:0 .875rem;font-size:.8125rem;color:var(--theme-text-secondary,#555)!important;line-height:1.4;margin:.375rem 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(255,255,255,.7),0 0 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.owned-item-meta{padding:.5rem .875rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.owned-item-price,.owned-item-quantity{display:flex;flex-direction:column;gap:.125rem;flex:1}.price-label,.quantity-label{font-size:.6875rem;color:var(--theme-text-secondary,#666)!important;font-weight:500;text-shadow:0 1px 2px rgba(255,255,255,.7),0 0 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.price-value,.quantity-value{font-size:.875rem;font-weight:700;color:var(--theme-text-primary,#1a1a1a);color:color-mix(in srgb,var(--theme-accent-color,#007bff) 70%,var(--theme-text-primary,#1a1a1a));text-shadow:0 1px 2px rgba(255,255,255,.7)}.owned-item-tags{padding:.375rem .875rem;display:flex;flex-wrap:wrap;gap:.3125rem}.owned-item-tag{display:inline-block;padding:.1875rem .625rem;font-size:.6875rem;font-weight:500;color:var(--theme-accent-color,#007bff);background:rgba(0,123,255,.15);background:color-mix(in srgb,var(--theme-accent-color,#007bff) 15%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:10px;border:1px solid rgba(0,123,255,.3);border:1px solid color-mix(in srgb,var(--theme-accent-color,#007bff) 30%,transparent);box-shadow:var(--theme-shadow-light,0 1px 3px rgba(0,0,0,.1)),inset 0 1px 0 rgba(255,255,255,.3);transition:all .2s ease}.owned-item-tag:hover{background:rgba(0,123,255,.25);background:color-mix(in srgb,var(--theme-accent-color,#007bff) 25%,transparent);border-color:rgba(0,123,255,.5);border-color:color-mix(in srgb,var(--theme-accent-color,#007bff) 50%,transparent);transform:scale(1.05)}.owned-item-footer{padding:.4375rem .875rem .75rem;display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:.75rem}.owned-item-from{display:flex;align-items:center;gap:.375rem}.from-label{color:var(--theme-text-secondary,#666)!important;font-weight:500;text-shadow:0 1px 2px rgba(255,255,255,.7),0 0 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.from-user{color:var(--theme-text-secondary,#444);font-weight:600;padding:.125rem .4375rem;background:color-mix(in srgb,var(--theme-accent-color,#007bff) 10%,transparent);border-radius:6px;text-shadow:0 1px 2px rgba(255,255,255,.6);font-size:.6875rem}.owned-item-date{color:var(--theme-text-secondary,#666)!important;font-size:.6875rem;text-shadow:0 1px 2px rgba(255,255,255,.7),0 0 1px rgba(0,0,0,.05);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes giftFadeIn{0%{opacity:0}to{opacity:1}}@keyframes giftSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes giftSlideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes giftSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.gift-history-modal{width:95vw;max-height:85vh;border-radius:12px}.gift-history-header{padding:16px 20px}.gift-history-title h3{font-size:16px}.owned-items-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.875rem;padding:.875rem}.owned-item-card{border-radius:14px}.owned-item-header{padding:.75rem .875rem .5rem}.owned-item-name{font-size:.9375rem}.owned-item-description{padding:0 .875rem;font-size:.75rem}.owned-item-meta{padding:.5rem .875rem}.owned-item-tags{padding:.4375rem .875rem}.owned-item-footer{padding:.4375rem .875rem .75rem}}@media (max-width:480px){.gift-history-modal{width:98vw;border-radius:8px}.gift-history-header{padding:12px 16px}.gift-history-title{gap:8px}.gift-icon{font-size:20px}.gift-history-title h3{font-size:14px}.gift-count{font-size:10px;padding:2px 6px}.close-button{width:32px;height:32px}.owned-items-grid{grid-template-columns:1fr;gap:.75rem;padding:.75rem}.owned-item-card{border-radius:14px}.owned-item-header{padding:.625rem .75rem .4375rem}.owned-item-name{font-size:.9375rem}.delete-item-btn{width:26px;height:26px}.delete-item-btn svg{width:12px;height:12px}.owned-item-description{padding:0 .75rem;font-size:.75rem;-webkit-line-clamp:2;margin:.4375rem 0}.owned-item-meta{padding:.4375rem .75rem;flex-direction:column;align-items:flex-start;gap:.4375rem}.owned-item-price,.owned-item-quantity{width:100%;flex-direction:row;justify-content:space-between}.owned-item-tags{padding:.375rem .75rem;gap:.3125rem}.owned-item-tag{font-size:.625rem;padding:.15625rem .5rem}.owned-item-footer{padding:.4375rem .75rem .625rem;flex-direction:column;align-items:flex-start;gap:.4375rem}}.gift-history-content::-webkit-scrollbar{width:6px}.gift-history-content::-webkit-scrollbar-track{background:var(--theme-bg-secondary,#f1f1f1)}.gift-history-content::-webkit-scrollbar-thumb{background:var(--theme-border-color,#c1c1c1);border-radius:3px}.gift-history-content::-webkit-scrollbar-thumb:hover{background:var(--theme-accent-color,#007bff)}@media (prefers-reduced-motion:reduce){.close-button,.gift-card,.gift-history-modal,.gift-history-overlay{animation:none;transition:none}.loading-spinner{animation:none}}@media (prefers-contrast:high){.gift-card,.gift-history-modal{border:2px solid var(--theme-border-color,#000)}.close-button{border:2px solid var(--theme-text-on-primary,#fff)}.item-tag{border-width:2px}.gift-item{border-bottom-width:2px}}.ios-request-gift-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(180%);display:flex;align-items:center;justify-content:center;z-index:10000;animation:iosFadeIn .25s cubic-bezier(.4,0,.2,1);padding:16px;box-sizing:border-box}.ios-request-gift-modal{background:var(--theme-bg-primary,#ffffff);border-radius:20px;width:100%;max-width:420px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.15),0 8px 25px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.9);border:.5px solid rgba(0,0,0,.08);overflow:hidden;animation:iosSlideUp .35s cubic-bezier(.4,0,.2,1);margin:auto;position:relative}.ios-request-gift-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:.5px solid var(--theme-border-color,rgba(0,0,0,.08));position:relative}.ios-request-gift-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--theme-text-secondary,#8e8e93);cursor:pointer;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.ios-request-gift-close:hover:not(:disabled){background:var(--theme-bg-secondary,rgba(0,0,0,.05));color:var(--theme-text-primary,#1d1d1f)}.ios-request-gift-close:active:not(:disabled){transform:scale(.95);background:var(--theme-bg-secondary,rgba(0,0,0,.1))}.ios-request-gift-close:disabled{opacity:.4;cursor:not-allowed}.ios-request-gift-close svg{width:18px;height:18px}.ios-request-gift-title{font-size:17px;font-weight:600;color:var(--theme-text-primary,#1d1d1f);letter-spacing:-.2px;margin:0;text-align:center;flex:1}.ios-request-gift-spacer{width:32px;flex-shrink:0}.ios-request-gift-content{flex:1;overflow-y:auto;padding:32px 24px;display:flex;flex-direction:column;gap:24px}.ios-request-gift-icon-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.ios-request-gift-icon-circle{width:80px;height:80px;border-radius:20px;background:linear-gradient(135deg,var(--theme-accent-color,#007aff) 0,var(--theme-accent-hover,#0051d5) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px rgba(0,122,255,.2),0 4px 8px rgba(0,122,255,.15),inset 0 1px 0 rgba(255,255,255,.2)}.ios-request-gift-icon{width:40px;height:40px;color:white;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.ios-request-gift-subtitle{font-size:15px;color:var(--theme-text-secondary,#8e8e93);margin:0;text-align:center;font-weight:400}.ios-request-gift-input-wrapper{position:relative}.ios-request-gift-input{width:100%;padding:16px;border:1.5px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:12px;font-size:15px;font-family:inherit;resize:none;background:var(--theme-bg-secondary,#f2f2f7);color:var(--theme-text-primary,#1d1d1f);transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1.5;min-height:100px}.ios-request-gift-input:focus{outline:none;border-color:var(--theme-accent-color,#007aff);background:var(--theme-bg-primary,#ffffff);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-accent-color,#007aff) 12%,transparent),0 2px 8px rgba(0,122,255,.1)}.ios-request-gift-input:disabled{opacity:.5;cursor:not-allowed;background:var(--theme-bg-secondary,#f2f2f7)}.ios-request-gift-input::placeholder{color:var(--theme-text-tertiary,#c7c7cc)}.ios-request-gift-counter{text-align:right;font-size:13px;color:var(--theme-text-tertiary,#c7c7cc);margin-top:8px;font-weight:400}.ios-request-gift-error{padding:12px 16px;background:rgba(255,59,48,.1);border-radius:10px;color:#ff3b30;font-size:14px;text-align:center;font-weight:500;border:.5px solid rgba(255,59,48,.2)}.ios-request-gift-footer{padding:16px 24px 24px;border-top:.5px solid var(--theme-border-color,rgba(0,0,0,.08));background:var(--theme-bg-primary,#ffffff)}.ios-request-gift-button{width:100%;padding:16px;background:var(--theme-accent-color,#007aff);color:white;border:none;border-radius:12px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.2px;box-shadow:0 4px 12px rgba(0,122,255,.25),0 2px 6px rgba(0,122,255,.15)}.ios-request-gift-button:hover:not(:disabled){background:var(--theme-accent-hover,#0051d5);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,122,255,.3),0 3px 8px rgba(0,122,255,.2)}.ios-request-gift-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px rgba(0,122,255,.25),0 1px 4px rgba(0,122,255,.15)}.ios-request-gift-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ios-request-gift-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:iosSpin .6s linear infinite}.ios-request-gift-content::-webkit-scrollbar{width:4px}.ios-request-gift-content::-webkit-scrollbar-track{background:transparent}.ios-request-gift-content::-webkit-scrollbar-thumb{background:var(--theme-border-color,rgba(0,0,0,.2));border-radius:2px}.ios-request-gift-content::-webkit-scrollbar-thumb:hover{background:var(--theme-accent-color,#007aff)}@media (max-width:768px){.ios-request-gift-overlay{padding:0}.ios-request-gift-modal{max-width:100%;max-height:100vh;border-radius:20px 20px 0 0;margin-top:auto}.ios-request-gift-header{padding:16px 20px}.ios-request-gift-title{font-size:16px}.ios-request-gift-content{padding:24px 20px;gap:20px}.ios-request-gift-icon-circle{width:72px;height:72px}.ios-request-gift-icon{width:36px;height:36px}.ios-request-gift-footer{padding:12px 20px 20px}.ios-request-gift-button{padding:14px;font-size:16px}}.ios-send-gift-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(20px) saturate(180%);display:flex;align-items:center;justify-content:center;z-index:10000;animation:iosFadeIn .25s cubic-bezier(.4,0,.2,1);padding:16px;box-sizing:border-box}@keyframes iosFadeIn{0%{opacity:0}to{opacity:1}}.ios-send-gift-modal{background:var(--theme-bg-primary,#ffffff);border-radius:20px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.15),0 8px 25px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.9);border:.5px solid rgba(0,0,0,.08);overflow:hidden;animation:iosSlideUp .35s cubic-bezier(.4,0,.2,1);margin:auto;position:relative}@keyframes iosSlideUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.ios-send-gift-header{justify-content:space-between;padding:20px 24px;border-bottom:.5px solid var(--theme-border-color,rgba(0,0,0,.08));position:relative}.ios-send-gift-close,.ios-send-gift-header{display:flex;align-items:center;flex-shrink:0}.ios-send-gift-close{width:32px;height:32px;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--theme-text-secondary,#8e8e93);cursor:pointer;padding:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.ios-send-gift-close:hover:not(:disabled){background:var(--theme-bg-secondary,rgba(0,0,0,.05));color:var(--theme-text-primary,#1d1d1f)}.ios-send-gift-close:active:not(:disabled){transform:scale(.95);background:var(--theme-bg-secondary,rgba(0,0,0,.1))}.ios-send-gift-close:disabled{opacity:.4;cursor:not-allowed}.ios-send-gift-close svg{width:18px;height:18px}.ios-send-gift-title{font-size:17px;font-weight:600;color:var(--theme-text-primary,#1d1d1f);letter-spacing:-.2px;margin:0;text-align:center;flex:1}.ios-send-gift-spacer{width:32px;flex-shrink:0}.ios-send-gift-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.ios-send-gift-subtitle{font-size:15px;color:var(--theme-text-secondary,#8e8e93);margin:0;text-align:center;font-weight:400}.ios-send-gift-form{display:flex;flex-direction:column;gap:20px}.ios-send-gift-form-group{display:flex;flex-direction:column;gap:8px}.ios-send-gift-form-row{display:flex;gap:12px}.ios-send-gift-form-row .ios-send-gift-form-group{flex:1}.ios-send-gift-label{font-size:14px;font-weight:500;color:var(--theme-text-primary,#1d1d1f)}.ios-send-gift-input{width:100%;padding:12px 16px;border:1.5px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:12px;font-size:15px;font-family:inherit;background:var(--theme-bg-secondary,#f2f2f7);color:var(--theme-text-primary,#1d1d1f);transition:all .2s cubic-bezier(.4,0,.2,1)}.ios-send-gift-input:focus{outline:none;border-color:var(--theme-accent-color,#007aff);background:var(--theme-bg-primary,#ffffff);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-accent-color,#007aff) 12%,transparent),0 2px 8px rgba(0,122,255,.1)}.ios-send-gift-input:disabled{opacity:.5;cursor:not-allowed;background:var(--theme-bg-secondary,#f2f2f7)}.ios-send-gift-input::placeholder{color:var(--theme-text-tertiary,#c7c7cc)}.ios-send-gift-textarea{width:100%;padding:12px 16px;border:1.5px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:12px;font-size:15px;font-family:inherit;resize:vertical;background:var(--theme-bg-secondary,#f2f2f7);color:var(--theme-text-primary,#1d1d1f);transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1.5;min-height:80px}.ios-send-gift-textarea:focus{outline:none;border-color:var(--theme-accent-color,#007aff);background:var(--theme-bg-primary,#ffffff);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-accent-color,#007aff) 12%,transparent),0 2px 8px rgba(0,122,255,.1)}.ios-send-gift-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--theme-bg-secondary,#f2f2f7)}.ios-send-gift-textarea::placeholder{color:var(--theme-text-tertiary,#c7c7cc)}.ios-send-gift-total-preview{padding:12px 16px;font-size:16px;font-weight:600;color:var(--theme-accent-color,#007aff);text-align:right}.ios-send-gift-shipping,.ios-send-gift-total-preview{background:var(--theme-bg-secondary,#f2f2f7);border-radius:12px}.ios-send-gift-shipping{padding:16px}.ios-send-gift-shipping-title{font-size:15px;font-weight:600;color:var(--theme-text-primary,#1d1d1f);margin-bottom:12px}.ios-send-gift-shipping-options{display:flex;gap:8px}.ios-send-gift-shipping-option{flex:1;padding:10px 16px;border:1.5px solid var(--theme-border-color,rgba(0,0,0,.1));border-radius:8px;background:var(--theme-bg-primary,#ffffff);color:var(--theme-text-primary,#1d1d1f);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.ios-send-gift-shipping-option.active,.ios-send-gift-shipping-option:hover{border-color:var(--theme-accent-color,#007aff)}.ios-send-gift-shipping-option.active{background:var(--theme-accent-color,#007aff);color:white}.ios-send-gift-shipping-option:active{transform:scale(.98)}.ios-send-gift-error{padding:12px 16px;background:rgba(255,59,48,.1);border-radius:10px;color:#ff3b30;font-size:14px;text-align:center;font-weight:500;border:.5px solid rgba(255,59,48,.2)}.ios-send-gift-footer{padding:16px 24px 24px;border-top:.5px solid var(--theme-border-color,rgba(0,0,0,.08));background:var(--theme-bg-primary,#ffffff);flex-shrink:0}.ios-send-gift-button{width:100%;padding:16px;background:var(--theme-accent-color,#007aff);color:white;border:none;border-radius:12px;font-size:17px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:-.2px;box-shadow:0 4px 12px rgba(0,122,255,.25),0 2px 6px rgba(0,122,255,.15)}.ios-send-gift-button:hover:not(:disabled){background:var(--theme-accent-hover,#0051d5);transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,122,255,.3),0 3px 8px rgba(0,122,255,.2)}.ios-send-gift-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px rgba(0,122,255,.25),0 1px 4px rgba(0,122,255,.15)}.ios-send-gift-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ios-send-gift-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:iosSpin .6s linear infinite}@keyframes iosSpin{to{transform:rotate(1turn)}}.ios-send-gift-content::-webkit-scrollbar{width:4px}.ios-send-gift-content::-webkit-scrollbar-track{background:transparent}.ios-send-gift-content::-webkit-scrollbar-thumb{background:var(--theme-border-color,rgba(0,0,0,.2));border-radius:2px}.ios-send-gift-content::-webkit-scrollbar-thumb:hover{background:var(--theme-accent-color,#007aff)}@media (max-width:768px){.ios-send-gift-overlay{padding:0}.ios-send-gift-modal{max-width:100%;max-height:100vh;border-radius:20px 20px 0 0;margin-top:auto}.ios-send-gift-header{padding:16px 20px}.ios-send-gift-title{font-size:16px}.ios-send-gift-content{padding:20px;gap:16px}.ios-send-gift-footer{padding:12px 20px 20px}.ios-send-gift-button{padding:14px;font-size:16px}}.send-red-packet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10050;padding:20px}.send-red-packet-modal{background:#fff;border-radius:20px;border:1px solid rgba(0,0,0,.08);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.red-packet-header{background:#fff;padding:20px 24px;border-radius:20px 20px 0 0;position:relative;display:flex;align-items:center;gap:16px}.header-content{flex:1;text-align:left}.red-packet-header h3{margin:0 0 4px;font-size:18px;font-weight:700;color:#1f1f1f}.recipient-info{font-size:13px;color:#6b7280}.red-packet-header .redpacket-close-btn{background:rgba(0,0,0,.04);border:none;color:#333;font-size:22px;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;transition:all .2s;flex-shrink:0}.red-packet-header .redpacket-close-btn:hover:not(:disabled){background:rgba(0,0,0,.08);transform:scale(1.05)}.red-packet-header .redpacket-close-btn:disabled{opacity:.4;cursor:not-allowed}.red-packet-preview{padding:24px;background:linear-gradient(180deg,#fffaf0,#fff);display:flex;justify-content:center}.red-packet-bg{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);border-radius:20px;padding:32px 40px;text-align:center;color:white;box-shadow:0 12px 32px rgba(255,107,107,.3);min-width:200px}.red-packet-icon{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}.red-packet-amount{font-size:32px;font-weight:900;color:#ffd700;text-shadow:0 3px 8px rgba(0,0,0,.3);letter-spacing:1px}.amount-input-section{padding:20px 24px;background:#fff}.balance-hint{text-align:center;margin-bottom:16px;color:#9ca3af;font-size:13px}.amount-input-container{display:flex;align-items:center;background:white;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}.amount-input-container:focus-within{border-color:#ff4d4f;box-shadow:0 0 0 4px rgba(255,77,79,.12)}.currency-symbol{font-size:22px;font-weight:700;color:#374151;margin-right:8px}.amount-input{flex:1;border:none;outline:none;font-size:28px;font-weight:800;color:#111827;background:transparent}.amount-input::placeholder{color:#c4c7cc}.error-message{color:#dc3545;font-size:13px;margin-bottom:8px;text-align:center}.message-input-section{padding:20px 24px;background:#fafafa;border-top:1px solid #f0f0f0}.message-input{width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:12px;font-size:15px;background:#fff;outline:none;transition:all .2s;box-sizing:border-box}.message-input:focus{border-color:#ff6b6b;box-shadow:0 0 0 4px rgba(255,107,107,.1)}.message-input::placeholder{color:#cbd5e1}.message-input:disabled{background:#f8f9fa;opacity:.7}.message-length{text-align:right;font-size:12px;color:#9ca3af;margin-top:6px}.send-button-section{padding:20px 24px 24px;background:#fff}.send-button{width:100%;background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:white;border:none;border-radius:14px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 8px 20px rgba(255,107,107,.4);letter-spacing:.5px}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#ff5252,#ff7979);box-shadow:0 12px 28px rgba(255,107,107,.5);transform:translateY(-2px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{background:#e0e0e0;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:480px){.send-red-packet-overlay{padding:10px}.send-red-packet-modal{max-height:85vh;margin:10px}.red-packet-preview{padding:20px 15px}.red-packet-bg{min-width:160px;padding:20px}.red-packet-icon{font-size:40px}.red-packet-amount{font-size:24px}.amount-input-section,.message-input-section,.send-button-section{padding:16px}.red-packet-header .redpacket-close-btn{width:44px;height:44px;font-size:20px}.amount-input-container,.send-button{min-height:48px}.message-input{min-height:44px}}@media (max-height:600px){.send-red-packet-modal{max-height:90vh;overflow-y:auto}.red-packet-preview{padding:15px}.red-packet-bg{padding:16px}.red-packet-icon{font-size:36px;margin-bottom:8px}.amount-input-section,.message-input-section,.send-button-section{padding:10px}}@media (max-width:360px){.send-red-packet-modal{max-height:80vh;margin:5px}.red-packet-header{padding:12px 16px}.red-packet-header h3{font-size:16px}.red-packet-preview{padding:15px 10px}.amount-input-section,.message-input-section,.send-button-section{padding:10px}}@media (max-width:480px){.red-packet-preview{padding:16px 12px}.red-packet-bg{min-width:140px;padding:16px}.red-packet-icon{font-size:36px}.red-packet-amount{font-size:22px}.amount-input-section,.message-input-section,.send-button-section{padding:14px}.amount-input-container,.send-button{min-height:46px}.currency-symbol{font-size:20px}.amount-input{font-size:24px}}@media (max-width:360px){.red-packet-preview{padding:12px 10px}.red-packet-bg{min-width:130px;padding:14px}.red-packet-icon{font-size:30px}.red-packet-amount{font-size:20px}.currency-symbol{font-size:18px}.amount-input{font-size:22px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:10000;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.personal-settings-modal{background:white;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.3)}.personal-settings-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.personal-settings-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f1f1f}.personal-settings-modal .close-btn{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.personal-settings-modal .close-btn:hover{background-color:#f0f0f0}.personal-settings-modal .modal-body{padding:20px;max-height:calc(90vh - 160px);overflow-y:auto}.personal-settings-modal .form-group{margin-bottom:20px;position:relative}.personal-settings-modal .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.personal-settings-modal .form-group input,.personal-settings-modal .form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;resize:vertical}.personal-settings-modal .form-group input:focus,.personal-settings-modal .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.personal-settings-modal .char-count{position:absolute;bottom:-20px;right:0;font-size:12px;color:#666}.personal-settings-modal .tip-box{background-color:#f0f2f5;border:1px solid #e0e0e0;border-radius:8px;padding:15px;font-size:14px;color:#666;margin-top:10px}.personal-settings-modal .modal-footer{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;position:sticky;bottom:0;z-index:10}.personal-settings-modal .cancel-btn,.personal-settings-modal .save-btn{flex:1;min-width:100px;padding:10px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s;text-align:center}.personal-settings-modal .cancel-btn{background-color:#f8f9fa;color:#666;border:1px solid #ddd}.personal-settings-modal .cancel-btn:hover{background-color:#e9ecef}.personal-settings-modal .save-btn{background-color:#007bff;color:white}.personal-settings-modal .save-btn:hover{background-color:#0056b3}.mask-persona-toolbar{display:flex;justify-content:flex-end;margin:12px 0 8px}.mask-persona-toolbar-btn{padding:8px 14px;border-radius:8px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:600;box-shadow:0 2px 4px rgba(99,102,241,.2)}.mask-persona-toolbar-btn:hover{background:linear-gradient(135deg,#5855eb,#7c3aed)}.mask-persona-list{display:flex;flex-direction:column;gap:12px;max-height:250px;overflow-y:auto;padding:4px}.mask-persona-list::-webkit-scrollbar{width:6px}.mask-persona-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.mask-persona-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.mask-persona-list::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.mask-persona-item{border:1px solid #e5e7eb;border-radius:12px;padding:12px 130px 12px 12px;background:#ffffff;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:72px}.mask-persona-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);opacity:0;transition:opacity .2s ease}.mask-persona-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.12),0 4px 10px rgba(0,0,0,.08);border-color:#d1d5db}.mask-persona-item:hover:before{opacity:1}.mask-persona-item.active{border-color:#6366f1;background:linear-gradient(135deg,#fafaff,#f8faff);box-shadow:0 0 0 3px rgba(99,102,241,.1),0 4px 12px rgba(99,102,241,.15)}.mask-persona-item.active:before{opacity:0}.mask-persona-main{display:flex;gap:10px;align-items:center;margin-bottom:6px}.mask-persona-avatar{width:52px;height:50px;border-radius:12px;overflow:hidden;border:2px solid #f3f4f6;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative}.mask-persona-avatar:after{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(45deg,rgba(99,102,241,.1),rgba(139,92,246,.1));opacity:0;transition:opacity .2s ease}.mask-persona-avatar:hover{border-color:#6366f1;transform:scale(1.05)}.mask-persona-avatar:hover:after{opacity:1}.mask-persona-info{flex:1;min-width:0}.mask-persona-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}.mask-persona-name{font-weight:600;color:#111827;font-size:15px;line-height:1.3;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mask-persona-badge{font-size:11px;padding:3px 8px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#ffffff;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(99,102,241,.2)}.mask-persona-bio{color:#6b7280;font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.mask-persona-actions{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:6px;align-items:center;justify-content:flex-end;width:118px;flex-wrap:wrap}.mask-persona-action{padding:10px 12px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid transparent;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;text-align:center;min-width:70px}.mask-persona-action:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .3s ease}.mask-persona-action:hover:before{left:100%}.mask-persona-action:active{transform:translateY(1px) scale(.98)}.mask-persona-action-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#ffffff;box-shadow:0 2px 4px rgba(99,102,241,.2)}.mask-persona-action-primary:hover{background:linear-gradient(135deg,#5855eb,#7c3aed);box-shadow:0 4px 8px rgba(99,102,241,.3)}.mask-persona-action-secondary{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.mask-persona-action-secondary:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.mask-persona-action-danger{background:linear-gradient(135deg,#fef2f2,#fce7e7);color:#dc2626;border:1px solid #fecaca}.mask-persona-action-danger:hover{background:linear-gradient(135deg,#fee2e2,#fca5a5);border-color:#f87171;color:#b91c1c;box-shadow:0 2px 4px rgba(220,38,38,.15)}.mask-persona-action-icon{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1}.empty-list{text-align:center;padding:40px 20px;color:#9ca3af;font-size:14px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px;border:2px dashed #e5e7eb}@media (max-width:480px){.personal-settings-modal{width:95%;max-width:none}.personal-settings-modal .modal-body,.personal-settings-modal .modal-footer,.personal-settings-modal .modal-header{padding:15px}.avatar-preview{width:80px;height:80px}.avatar-placeholder span:first-child{font-size:20px}.avatar-placeholder{font-size:11px}}.trimupload-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.trimupload-modal{background:#fff;border-radius:12px;width:420px;max-width:92vw;box-shadow:0 10px 30px rgba(0,0,0,.2);overflow:hidden}.trimupload-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.trimupload-close{background:transparent;border:none;font-size:20px;cursor:pointer}.trimupload-body{padding:16px}.trimupload-crop-area{position:relative;margin:0 auto;background:#111;border-radius:8px;overflow:hidden;touch-action:none}.trimupload-image{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);will-change:transform;user-select:none;pointer-events:none}.trimupload-square-mask:before{content:"";position:absolute;inset:0;box-shadow:0 0 0 9999px rgba(0,0,0,.5);pointer-events:none}.trimupload-square-mask{position:absolute;top:1px;left:1px;right:1px;bottom:1px;border:1px solid rgba(255,255,255,.35)}.trimupload-circle-preview{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.trimupload-circle{width:60%;height:60%;border-radius:50%;border:1px dashed rgba(255,255,255,.45)}.trimupload-tips{margin-top:10px;color:#666;font-size:12px;text-align:center}.trimupload-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid rgba(0,0,0,.06)}.trimupload-btn{padding:8px 14px;border-radius:8px;border:1px solid #ddd;background:#fff;cursor:pointer}.trimupload-btn.primary{background:#1677ff;border-color:#1677ff;color:#fff}.groupmember-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:1000;animation:groupmember-fadeIn .2s ease-out}.groupmember-container{background:white;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px rgba(0,0,0,.15);animation:groupmember-slideIn .3s ease-out}.groupmember-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;flex-shrink:0;background:linear-gradient(135deg,#f8f9fa,#ffffff);border-radius:12px 12px 0 0}.groupmember-header-title{margin:0;font-size:18px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.groupmember-header-title:before{content:"👥";font-size:20px}.groupmember-close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.groupmember-close-btn:hover{background-color:#f0f0f0;color:#333;transform:scale(1.1)}.groupmember-content{flex:1;overflow-y:auto;padding:20px;background:#fafafa}.groupmember-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;background:white;border-radius:8px;border:1px solid #e0e0e0}.groupmember-list-title{margin:0;font-size:16px;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}.groupmember-list-title:before{content:"📋";font-size:16px}.groupmember-add-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.groupmember-add-btn:before{content:"➕";font-size:12px}.groupmember-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,123,255,.3)}.groupmember-list{display:flex;flex-direction:column;gap:12px}.groupmember-item{display:flex;align-items:center;padding:16px;border:1px solid #e0e0e0;border-radius:12px;background:white;transition:all .2s ease;position:relative;overflow:hidden}.groupmember-item:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#007bff,#0056b3);opacity:0;transition:opacity .2s ease}.groupmember-item:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1);border-color:#007bff}.groupmember-item:hover:before{opacity:1}.groupmember-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;margin-right:16px;border:3px solid #f0f0f0;transition:border-color .2s ease}.groupmember-item:hover .groupmember-avatar{border-color:#007bff}.groupmember-info{flex:1;min-width:0}.groupmember-name{font-weight:600;font-size:16px;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.groupmember-original-name{font-size:12px;color:#666;margin-bottom:4px;font-style:italic}.groupmember-persona{font-size:13px;color:#888;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.groupmember-actions{display:flex;gap:8px;flex-shrink:0}.groupmember-action-btn{padding:6px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:4px}.groupmember-edit-btn{background:linear-gradient(135deg,#17a2b8,#138496);color:white}.groupmember-edit-btn:before{content:"✏️";font-size:10px}.groupmember-edit-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(23,162,184,.3)}.groupmember-remove-btn{background:linear-gradient(135deg,#dc3545,#c82333);color:white}.groupmember-remove-btn:before{content:"🗑️";font-size:10px}.groupmember-remove-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(220,53,69,.3)}.groupmember-empty{text-align:center;padding:60px 20px;color:#666;background:white;border-radius:12px;border:2px dashed #e0e0e0}.groupmember-empty:before{content:"👥";font-size:48px;display:block;margin-bottom:16px;opacity:.5}.groupmember-empty-text{font-size:16px;font-weight:500;margin-bottom:8px}.groupmember-empty-hint{font-size:14px;color:#999}.groupmember-add-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:white;border-radius:8px;border:1px solid #e0e0e0}.groupmember-add-title{margin:0;font-size:16px;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}.groupmember-add-title:before{content:"➕";font-size:16px}.groupmember-back-btn{background:linear-gradient(135deg,#6c757d,#545b62);color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.groupmember-back-btn:before{content:"←";font-size:12px}.groupmember-back-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(108,117,125,.3)}.groupmember-tabs{display:flex;border-bottom:1px solid #e0e0e0;margin-bottom:20px;background:white;border-radius:8px 8px 0 0;overflow:hidden}.groupmember-tab{background:none;padding:12px 20px;cursor:pointer;font-size:14px;color:#666;border:none;border-bottom:3px solid transparent;transition:all .2s ease;flex:1;text-align:center;font-weight:500}.groupmember-tab.active{border-bottom-color:#007bff}.groupmember-tab.active,.groupmember-tab:hover{color:#007bff;background:#f8f9ff}.groupmember-tab:before{content:"📋";margin-right:8px;font-size:12px}.groupmember-tab:nth-child(2):before{content:"✨"}.groupmember-contacts-section{background:white;border-radius:8px;padding:16px;border:1px solid #e0e0e0;margin-bottom:16px}.groupmember-contacts-title{font-size:14px;color:#333;margin-bottom:12px;font-weight:600;display:flex;align-items:center;gap:8px}.groupmember-contacts-title:before{content:"👤";font-size:14px}.groupmember-contacts-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.groupmember-contact-item{display:flex;align-items:center;padding:8px;border-radius:6px;transition:background-color .2s ease}.groupmember-contact-item:hover{background-color:#f8f9ff}.groupmember-contact-checkbox{margin-right:12px;width:18px;height:18px;accent-color:#007bff}.groupmember-contact-label{display:flex;align-items:center;cursor:pointer;flex:1;padding:4px;border-radius:4px;transition:background-color .2s ease}.groupmember-contact-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;margin-right:12px;border:2px solid #f0f0f0}.groupmember-contact-name{font-size:14px;color:#333;font-weight:500}.groupmember-confirm-btn{background:linear-gradient(135deg,#28a745,#218838);color:white;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;width:100%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.groupmember-confirm-btn:before{content:"✅";font-size:12px}.groupmember-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,.3)}.groupmember-create-section{background:white;border-radius:8px;padding:16px;border:1px solid #e0e0e0}.groupmember-create-title{font-size:14px;color:#333;margin-bottom:16px;padding-top:16px;border-top:1px solid #e0e0e0;font-weight:600;display:flex;align-items:center;gap:8px}.groupmember-create-title:before{content:"✨";font-size:14px}.groupmember-form-group{margin-bottom:16px}.groupmember-form-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.groupmember-form-input,.groupmember-form-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;box-sizing:border-box;transition:all .2s ease;background:#fafafa}.groupmember-form-input:focus,.groupmember-form-textarea:focus{outline:none;border-color:#007bff;background:white;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.groupmember-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.groupmember-avatar-upload{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:2px dashed #e0e0e0}.groupmember-avatar-preview{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid #e0e0e0;transition:border-color .2s ease}.groupmember-avatar-upload:hover .groupmember-avatar-preview{border-color:#007bff}.groupmember-avatar-upload-btn{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:6px}.groupmember-avatar-upload-btn:before{content:"📷";font-size:12px}.groupmember-avatar-upload-btn:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#007bff;transform:translateY(-1px)}.groupmember-create-btn{background:linear-gradient(135deg,#007bff,#0056b3);color:white;border:none;padding:14px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;width:100%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.groupmember-create-btn:before{content:"✨";font-size:12px}.groupmember-create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,123,255,.3)}.groupmember-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:16px;background:white;border-radius:8px;border:1px solid #e0e0e0}.groupmember-edit-title{margin:0;font-size:16px;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}.groupmember-edit-title:before{content:"✏️";font-size:16px}.groupmember-edit-actions{display:flex;gap:12px;margin-top:20px}.groupmember-save-btn{background:linear-gradient(135deg,#28a745,#218838);color:white;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;flex:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.groupmember-save-btn:before{content:"💾";font-size:12px}.groupmember-save-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,.3)}.groupmember-cancel-btn{background:linear-gradient(135deg,#6c757d,#545b62);color:white;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;flex:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.groupmember-cancel-btn:before{content:"❌";font-size:12px}.groupmember-cancel-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(108,117,125,.3)}@keyframes groupmember-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes groupmember-slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:768px){.groupmember-container{width:95%;max-height:90vh;margin:10px}.groupmember-content{padding:16px}.groupmember-item{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.groupmember-actions{align-self:flex-end;flex-wrap:wrap}.groupmember-edit-actions,.groupmember-tabs{flex-direction:column}.groupmember-tab{border-bottom:none;border-right:3px solid transparent}.groupmember-tab.active{border-bottom-color:transparent;border-right-color:#007bff}.groupmember-avatar-upload{flex-direction:column;text-align:center}}@media (max-width:480px){.groupmember-header{padding:12px 16px}.groupmember-header-title{font-size:16px}.groupmember-content{padding:12px}.groupmember-item{padding:10px}.groupmember-avatar{width:40px;height:40px;margin-right:12px}.groupmember-name{font-size:14px}.groupmember-action-btn{padding:4px 8px;font-size:11px}}.groupmember-content::-webkit-scrollbar{width:6px}.groupmember-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.groupmember-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.groupmember-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.groupmember-loading{display:flex;justify-content:center;align-items:center;padding:40px;color:#666}.groupmember-loading:before{content:"⏳";font-size:24px;margin-right:12px;animation:groupmember-spin 1s linear infinite}@keyframes groupmember-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.groupmember-error{text-align:center;padding:40px 20px;color:#dc3545;background:#fff5f5;border:1px solid #fecaca;border-radius:8px}.groupmember-error:before{content:"⚠️";font-size:24px;display:block;margin-bottom:12px}.groupmember-error-text{font-size:16px;font-weight:500;margin-bottom:8px}.groupmember-error-hint{font-size:14px;color:#999}.add-friend-modal{background:white;border-radius:12px;width:90%;max-width:450px;max-height:90vh;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.3)}.add-friend-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.add-friend-modal .modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1f1f1f}.add-friend-modal .close-btn{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.add-friend-modal .close-btn:hover{background-color:#f0f0f0}.add-friend-modal .modal-body{padding:20px;max-height:calc(90vh - 140px);overflow-y:auto}.add-friend-modal .form-group{margin-bottom:20px}.add-friend-modal .form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.add-friend-modal .form-group .tag-description{display:block;margin-bottom:6px;font-size:12px;color:#666;font-style:italic}.add-friend-modal .form-group input,.add-friend-modal .form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;resize:vertical}.add-friend-modal .form-group input:focus,.add-friend-modal .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.add-friend-modal .tip-box{background-color:#f0f2f5;border:1px solid #e0e0e0;border-radius:8px;padding:15px;font-size:14px;color:#666;margin-top:10px}.add-friend-modal .modal-footer{display:flex;gap:10px;padding:20px;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.add-friend-modal .cancel-btn,.add-friend-modal .save-btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-friend-modal .cancel-btn{background-color:#f8f9fa;color:#666;border:1px solid #ddd}.add-friend-modal .cancel-btn:hover{background-color:#e9ecef}.add-friend-modal .save-btn{background-color:#007bff;color:white}.add-friend-modal .save-btn:hover{background-color:#0056b3}.avatar-upload-container{display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-preview{width:100px;height:100px;border-radius:50%;border:2px dashed #ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;background-color:#f8f9fa}.avatar-preview:hover{border-color:#007bff;background-color:#f0f8ff;transform:scale(1.05)}.avatar-preview.uploading{pointer-events:none}.avatar-image{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#666;font-size:12px}.avatar-placeholder span:first-child{font-size:24px}.upload-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:12px;gap:8px}.upload-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.avatar-tips{text-align:center;font-size:12px;color:#666;line-height:1.4}.avatar-tips p{margin:0}@media (max-width:480px){.avatar-preview{width:80px;height:80px}.avatar-placeholder span:first-child{font-size:20px}.avatar-placeholder{font-size:11px}}.form-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.expand-editor-btn{background:var(--theme-bg-tertiary,#f0f0f0);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:6px;padding:6px 12px;color:var(--theme-text-secondary,#666);cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px;transition:all .2s ease;white-space:nowrap}.expand-editor-btn:hover{background:var(--theme-bg-secondary,#e8e8e8);color:var(--theme-text-primary,#1f1f1f);border-color:var(--theme-accent-color,#007bff)}.expand-editor-btn:active{transform:scale(.98)}.expand-editor-btn svg{flex-shrink:0}@media (max-width:480px){.expand-editor-btn{padding:5px 10px;font-size:12px;gap:4px}.expand-editor-btn svg{width:14px;height:14px}}.memory-manager-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);width:90%;max-width:600px;max-height:80vh;overflow:hidden;z-index:1001}.member-info{display:flex;align-items:center;flex:1;min-width:0}.member-avatar{border-radius:50%;margin-right:10px;flex-shrink:0}.member-details{flex:1;min-width:0}.member-name{font-weight:600;color:#333;margin-bottom:3px;font-size:13px}.member-persona{color:#666;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.memory-manager-modal .action-btn{padding:4px 8px!important;border:none!important;border-radius:0!important;background:transparent!important;color:#007bff!important;font-size:10px!important;cursor:pointer!important;transition:all .2s!important;white-space:nowrap!important;line-height:1.2!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;text-decoration:underline!important}.memory-manager-modal .action-btn:hover:not(:disabled){background:transparent!important;color:#0056b3!important;text-decoration:none!important}.memory-manager-modal .action-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.memory-manager-modal .refresh-btn:hover{color:#9c27b0!important}.memory-manager-modal .unlink-btn:hover{color:#f44336!important}.memory-manager-modal .settings-btn:hover{color:#ff9800!important}.link-select{padding:5px 8px;border:1px solid #ddd;border-radius:5px;background:white;font-size:11px;cursor:pointer;min-width:110px}.link-select:focus{outline:none;border-color:#007bff}.link-select:disabled{opacity:.5;cursor:not-allowed}.no-memory{text-align:center;padding:40px 20px}@media (max-width:768px){.memory-manager-modal{width:95%;max-height:85vh}.memory-item{flex-direction:column;align-items:flex-start;gap:12px}.memory-status{align-items:flex-start;margin:0}.memory-actions{width:100%;flex-direction:row;justify-content:flex-end}.action-btn{flex:1;max-width:80px}.link-select{width:100%}}.single-chat-memory-manager-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);width:90%;max-width:600px;max-height:80vh;overflow:hidden;z-index:1001}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee;background:#f8f9fa}.modal-header h2{margin:0;font-size:16px;color:#333;font-weight:600}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-btn:hover{background-color:#eee}.modal-body{padding:20px;max-height:60vh;overflow-y:auto}.memory-info{margin-bottom:20px;padding:15px;background:#f0f8ff;border-radius:8px;border-left:4px solid #007bff}.memory-info p{margin:0;color:#555;font-size:12px;line-height:1.4}.memory-list{display:flex;flex-direction:column;gap:15px}.memory-item{display:flex;align-items:center;padding:12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;transition:all .2s}.memory-item:hover{border-color:#007bff;box-shadow:0 2px 8px rgba(0,123,255,.1)}.group-info{display:flex;align-items:center;flex:1;min-width:0}.group-avatar{border-radius:50%;margin-right:10px;flex-shrink:0}.group-details{flex:1;min-width:0}.group-name{font-weight:600;color:#333;margin-bottom:3px;font-size:13px}.group-memory-info{color:#666;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.memory-stats{display:flex;flex-direction:column;gap:2px}.memory-count{color:#007bff;font-weight:500}.memory-breakdown{display:flex;gap:8px;font-size:10px}.normal-memory{color:#28a745}.story-memory{color:#6f42c1}.memory-limits{margin-top:4px}.limit-info{font-size:9px;color:#888;background:#f0f0f0;padding:2px 6px;border-radius:3px}.memory-status{margin:0 12px;min-width:110px}.linked-status,.memory-status,.unlinked-status{display:flex;flex-direction:column;align-items:flex-end}.linked-status,.unlinked-status{gap:4px}.status-badge{padding:3px 6px;border-radius:10px;font-size:10px;font-weight:500;text-transform:uppercase}.status-badge.linked{background:#d4edda;color:#155724}.status-badge.unlinked{background:#f8d7da;color:#721c24}.memory-count{font-size:11px;color:#666}.last-updated{font-size:10px;color:#999}.no-memory{font-size:11px;color:#999;font-style:italic}.memory-actions{display:flex;flex-direction:column;gap:4px;min-width:80px;padding:2px}.single-chat-memory-manager-modal .action-btn{padding:4px 8px!important;border:none!important;border-radius:0!important;background:transparent!important;color:#007bff!important;font-size:10px!important;cursor:pointer!important;transition:all .2s!important;white-space:nowrap!important;line-height:1.2!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;text-decoration:underline!important}.single-chat-memory-manager-modal .action-btn:hover:not(:disabled){background:transparent!important;color:#0056b3!important;text-decoration:none!important}.single-chat-memory-manager-modal .action-btn:disabled{opacity:.5!important;cursor:not-allowed!important}.single-chat-memory-manager-modal .refresh-btn:hover{color:#9c27b0!important}.single-chat-memory-manager-modal .unlink-btn:hover{color:#f44336!important}.single-chat-memory-manager-modal .link-btn:hover{color:#4caf50!important}.single-chat-memory-manager-modal .settings-btn:hover{color:#ff9800!important}.no-groups{text-align:center;color:#999;font-style:italic;padding:40px 20px}.memory-messages{display:flex;flex-direction:column;gap:12px}.memory-message{padding:10px;border-radius:8px;border-left:3px solid}.memory-message.user{background:#e3f2fd;border-left-color:#2196f3}.memory-message.assistant{background:#f3e5f5;border-left-color:#9c27b0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}.message-sender{font-weight:600;font-size:11px;color:#666}.message-mode{font-size:9px;color:#999;background:#f5f5f5;padding:1px 4px;border-radius:3px}.message-content{font-size:12px;color:#333;line-height:1.3;margin-bottom:3px}.message-time{font-size:10px;color:#999;text-align:right}.memory-message.story-message{border-left-color:#6f42c1;background:#f8f5ff}.memory-message.normal-message{border-left-color:#28a745;background:#f0fff4}@media (max-width:768px){.single-chat-memory-manager-modal{width:95%;max-height:85vh}.memory-item{flex-direction:column;align-items:flex-start;gap:12px}.memory-status{align-items:flex-start;margin:0}.memory-actions{width:100%;flex-direction:row;justify-content:flex-end}.action-btn{flex:1;max-width:80px}}.limit-settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);width:90%;max-width:400px;max-height:80vh;overflow:hidden;z-index:1003}.limit-settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1002}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background:#f8f9fa}.settings-header h3{margin:0;font-size:16px;color:#333;font-weight:600}.settings-header .close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#666;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.settings-header .close-btn:hover{background-color:#eee;color:#333}.settings-content{padding:20px}.limit-input-group{margin-bottom:20px}.limit-input-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.limit-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;margin-bottom:4px}.limit-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25)}.limit-hint{font-size:12px;color:#666}.settings-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.save-btn{background:#007bff;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.save-btn:hover:not(:disabled){background:#0056b3}.save-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#6c757d;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.cancel-btn:hover{background:#545b62}