.tts-play-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:#111827;cursor:pointer;padding:0;transition:background-color .16s ease,opacity .16s ease,transform 80ms ease}.tts-play-btn:hover{background-color:rgba(0,0,0,.06)}.tts-play-btn:active{transform:translateY(1px)}.tts-play-btn[disabled]{opacity:.5;cursor:not-allowed}.tts-play-btn.loading{background-color:transparent;color:#111827;display:inline-block;width:auto;height:auto;padding:0;border:none;border-radius:0;box-shadow:none;line-height:0}@keyframes tts-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tts-spinner{width:14px;height:14px;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:tts-spin .8s linear infinite;display:inline-block;vertical-align:middle;margin:0}@keyframes msg-blink-outline{0%{outline-color:rgba(16,185,129,.6)}50%{outline-color:rgba(16,185,129,.2)}to{outline-color:rgba(16,185,129,.6)}}.message--blink{outline:1px solid rgba(16,185,129,.6);animation:msg-blink-outline .9s ease-in-out infinite;border-radius:8px}.mask-persona-dropdown{position:absolute;right:0;top:110%;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:260px;max-width:320px;z-index:30;padding:8px}.chat-interface{width:100%;height:100%;max-width:100%;margin:0 auto;display:flex;flex-direction:column;background-color:transparent;position:relative;overflow:visible;flex:1 1 auto;min-height:0;backdrop-filter:none;-webkit-backdrop-filter:none}@media (min-width:1024px){.chat-interface{max-width:100%;margin:0;border-left:none;border-right:none;box-shadow:none}}@media (min-width:768px) and (max-width:1023px){.chat-interface{max-width:100%;margin:0;border-left:none;border-right:none}}.chat-header{display:flex;align-items:center;padding:15px 20px;background-color:var(--theme-header-bg,rgba(247,247,247,.95));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:10;position:sticky;top:0;left:0;right:0;min-height:60px}.chat-header.headfunction-search-active .back-button,.chat-header.headfunction-search-active .chat-actions .ifm-root,.chat-header.headfunction-search-active .chat-info{display:none!important}.chat-header.headfunction-search-active .chat-actions{flex:1}@media (max-width:767px){.chat-header{padding:10px 12px;position:sticky;top:0;min-height:50px}.chat-interface{height:100%;min-height:0}}@media (max-width:480px){.chat-header{padding:8px 10px;position:sticky;top:0;min-height:45px}.chat-interface{height:100%;min-height:0}}.chat-header .back-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;cursor:pointer;color:var(--theme-text-primary,#202124);transition:all .2s ease;margin-right:8px}.chat-header .back-button:hover{background-color:var(--theme-bg-tertiary,#f1f3f4)}.chat-header .back-button.back-button-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.chat-header .back-button svg{width:20px;height:20px}@media (max-width:767px){.chat-header .back-button{width:32px;height:32px;margin-right:6px}.chat-header .back-button svg{width:18px;height:18px}}@media (max-width:480px){.chat-header .back-button{width:28px;height:28px;margin-right:4px}.chat-header .back-button svg{width:16px;height:16px}}.chat-info{display:flex;align-items:center;flex:1;gap:12px;min-width:0}.chat-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--theme-border-color,#e0e0e0)}@media (max-width:767px){.chat-avatar{width:36px;height:36px}}@media (max-width:480px){.chat-avatar{width:32px;height:32px}}.chat-details{display:flex;flex-direction:column;min-width:0;flex:1}.chat-name{font-weight:600;font-size:17px;color:var(--theme-text-primary,#1f1f1f);max-width:8em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.chat-name{font-size:15px;line-height:1.2;max-width:8em}}@media (max-width:480px){.chat-name{font-size:14px;line-height:1.1;max-width:8em}}.chat-status{font-size:12px;color:var(--theme-text-tertiary,#8a8a8a)}@media (max-width:480px){.chat-status{font-size:11px}}.chat-actions{display:flex;gap:8px;flex-shrink:0}.chat-actions .action-btn{background:none;border:none;color:var(--theme-text-secondary,#666);cursor:pointer;padding:8px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.chat-actions .action-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.chat-actions .action-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0);transform:scale(1.05)}.chat-actions .action-btn:active{transform:scale(.95);background-color:var(--theme-bg-quaternary,#e0e0e0)}@media (max-width:767px){.chat-actions{gap:4px}.chat-actions .action-btn{padding:6px;min-width:32px;min-height:32px;display:flex;align-items:center;justify-content:center}.chat-actions .action-btn svg{width:18px;height:18px}}@media (max-width:480px){.chat-actions{gap:2px}.chat-actions .action-btn{padding:4px;min-width:28px;min-height:28px}.chat-actions .action-btn svg{width:16px;height:16px}}.messages-container{flex:1;overflow-y:auto;padding:0 16px;display:flex;flex-direction:column;gap:15px;margin-top:0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-padding-top:0;scroll-padding-bottom:0;scroll-snap-type:y proximity;height:auto!important;max-height:none!important}.messages-container.initialized{scroll-behavior:auto}.messages-container:not(.initialized){scroll-behavior:auto!important}.load-more-container{display:flex;justify-content:center;padding:10px 0;margin-bottom:10px}.load-more-btn{background-color:var(--theme-bg-secondary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:20px;padding:10px 20px;font-size:14px;color:var(--theme-accent-color,#007bff);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.1);min-width:120px;font-weight:500}.load-more-btn:hover:not(:disabled){background-color:var(--theme-accent-color,#007bff);color:white;transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}.load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.load-more-btn.loading{background-color:var(--theme-accent-color,#007bff);color:white}.load-more-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.1)}@media (max-width:767px){.messages-container{padding:0 12px;gap:12px}.load-more-btn{padding:8px 16px;font-size:13px;min-width:100px}}@media (max-width:480px){.messages-container{padding:0 10px;gap:10px}.load-more-btn{padding:6px 12px;font-size:12px;min-width:80px}}.empty-chat{display:flex;justify-content:center;align-items:center;height:100%;color:var(--theme-text-tertiary,#8a8a8a);font-size:14px}@media (max-width:480px){.empty-chat{font-size:13px}}.scroll-to-bottom-btn{position:fixed;bottom:144px;left:50%;transform:translateX(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#333;cursor:pointer;font-size:18px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .2s ease;z-index:1000;display:flex;align-items:center;justify-content:center}.scroll-to-bottom-btn:hover{background:rgba(255,255,255,.3);transform:translateX(-50%) translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.scroll-to-bottom-btn:active{transform:translateX(-50%) translateY(0)}@media (max-width:767px){.scroll-to-bottom-btn{bottom:124px;width:36px;height:36px;font-size:16px}}@media (max-width:480px){.scroll-to-bottom-btn{bottom:114px;width:32px;height:32px;font-size:14px}}.message{display:flex;max-width:80%;position:relative}.message.batch-delete-mode{padding-left:0;width:100%;max-width:100%}.message.batch-selected{background-color:rgba(59,130,246,.1);border-left:3px solid var(--accent-color,#3b82f6);margin-left:-3px}.message-checkbox{display:flex;align-items:flex-start;padding-top:10px;margin-right:8px;flex-shrink:0;width:18px}.message-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.message.batch-delete-mode.user-message{flex-direction:row}.message.batch-delete-mode.user-message .message-content{align-items:flex-end;max-width:100%;min-width:0}.message.batch-delete-mode.user-message .message-sender{text-align:right}.message.batch-delete-mode.user-message .message-avatar{margin-left:auto}.message.batch-delete-mode.user-message .message-content{margin-left:8px}.ai-message{align-self:flex-start;flex-direction:row}.user-message{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.ai-message .message-avatar{margin-right:8px;margin-left:0}.user-message .message-avatar{margin-left:8px;margin-right:-8px}.message-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:none}.message-content{display:flex;flex-direction:column;gap:5px;flex:0 1 auto;min-width:0}.ai-message .message-content{align-items:flex-start}.user-message .message-content{align-items:flex-end}.message-sender{font-size:12px;color:var(--theme-text-secondary,#666);font-weight:500;margin-bottom:2px;padding:0 5px}.user-message .message-sender{text-align:right}.ai-message .message-sender{text-align:left}@media (max-width:480px){.message-sender{font-size:11px}}:root{--message-bubble-max-width:calc(100% - 20px);--group-message-bubble-max-width:calc(100% - 44px);--message-container-max-width:100%}.quoted-message{background-color:var(--theme-bg-tertiary,rgba(0,123,255,.1));border-left:3px solid var(--theme-accent-color,#007bff);padding:8px 12px;margin-bottom:5px;border-radius:8px;font-size:12px}.quote-header{display:flex;justify-content:space-between;margin-bottom:4px}.quote-sender{font-weight:500;color:var(--theme-accent-color,#007bff)}.quote-time{color:var(--theme-text-tertiary,#8a8a8a);font-size:11px}.quote-content{color:var(--theme-text-secondary,#555);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.message-bubble{display:block;padding:10px 14px;border-radius:16px;font-size:var(--theme-bubble-font-size,15px);line-height:1.6;background:var(--theme-message-ai-bg,#ffffff);color:var(--theme-message-ai-text,#1f1f1f);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;width:fit-content;max-width:100%;height:auto!important;max-height:none!important;overflow:visible!important}.user-message .message-bubble{background:var(--theme-message-user-bg,#007bff);color:var(--theme-message-user-text,#ffffff);border-radius:var(--theme-user-bubble-radius,18px 18px 4px 18px);opacity:var(--theme-user-bubble-opacity,1);background-image:var(--theme-user-bubble-bg-image,none);background-size:var(--theme-user-bubble-bg-size,cover);background-position:var(--theme-user-bubble-bg-position,center);background-repeat:no-repeat}.ai-message .message-bubble{background:var(--theme-message-ai-bg,#ffffff);color:var(--theme-message-ai-text,#1f1f1f);border-radius:var(--theme-ai-bubble-radius,18px 18px 18px 4px);opacity:var(--theme-ai-bubble-opacity,.95);box-shadow:var(--theme-shadow-light,0 1px 3px rgba(0,0,0,.06));background-image:var(--theme-ai-bubble-bg-image,none);background-size:var(--theme-ai-bubble-bg-size,cover);background-position:var(--theme-ai-bubble-bg-position,center);background-repeat:no-repeat}.message-bubble:has(.extra-info-inline),.message-bubble:has(.fake-pic-message),.message-bubble:has(.red-packet-message){background:none!important;border:none!important;padding:0!important;box-shadow:none!important}.ai-message .message-bubble .extra-info-inline,.ai-message .message-bubble .fake-pic-message,.ai-message .message-bubble .red-packet-message,.user-message .message-bubble .extra-info-inline,.user-message .message-bubble .fake-pic-message,.user-message .message-bubble .red-packet-message{margin:0!important}@media (max-width:767px){:root{--message-bubble-max-width:calc(100% - 15px);--group-message-bubble-max-width:calc(100% - 40px)}.message-bubble{padding:10px 14px;font-size:var(--theme-bubble-font-size,15px);line-height:1.5}}@media (max-width:480px){:root{--message-bubble-max-width:calc(100% - 10px);--group-message-bubble-max-width:calc(100% - 35px)}.message-bubble{padding:8px 12px;font-size:calc(var(--theme-bubble-font-size, 15px) - 1px);line-height:1.5}}.typing-indicator{background:var(--theme-message-ai-bg,white)!important;border:1px solid var(--theme-border-color,#e0e0e0)!important;padding:16px!important}.typing-dots{display:flex;gap:4px;align-items:center}.typing-dots span{width:6px;height:6px;background-color:var(--theme-text-tertiary,#8a8a8a);border-radius:50%;animation:typing 1.4s ease-in-out infinite}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.cancel-ai-btn{position:absolute;top:-8px;right:-8px;width:20px;height:20px;border-radius:50%;background-color:#ff4757;color:white;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10;box-shadow:0 2px 4px rgba(0,0,0,.2)}.cancel-ai-btn:hover{background-color:#ff3742;transform:scale(1.1)}.cancel-ai-btn:active{transform:scale(.95)}.typing-indicator{position:relative}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.messages-container::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.mention-list::-webkit-scrollbar{width:4px}.mention-list::-webkit-scrollbar-track{background:transparent}.mention-list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:2px}.mention-list::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.3)}.group-message{display:flex;align-items:flex-start;margin-bottom:12px;gap:8px}.group-message .message-avatar{width:36px;height:36px;margin-right:8px;flex-shrink:0;display:flex;align-items:flex-start;align-self:flex-start}.group-message.ai-message .message-avatar{margin-left:8px}.group-message .avatar-image{width:100%;height:100%;border-radius:50%;object-fit:cover;border:none}.group-message .message-content{flex:1;min-width:0;display:flex;flex-direction:column}.group-message .message-sender{font-size:12px;font-weight:600;color:var(--theme-accent-color,#007bff);margin-bottom:4px;padding:2px 8px;background-color:var(--theme-bg-tertiary,rgba(0,123,255,.1));border-radius:10px;display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-message.user-message .message-sender{color:var(--theme-accent-color,#28a745);background-color:var(--theme-bg-tertiary,rgba(40,167,69,.1))}.group-message .message-bubble{max-width:var(--group-message-bubble-max-width)}.group-message.consecutive{margin-top:4px;margin-bottom:4px}.group-message.consecutive .message-bubble{border-radius:18px}.group-message .quoted-message{background-color:var(--theme-bg-tertiary,rgba(0,0,0,.05));border-left:3px solid var(--theme-accent-color,#007bff);padding:8px;margin-bottom:8px;border-radius:4px;font-size:12px}.group-message.user-message .quoted-message{border-left-color:var(--theme-accent-color,#28a745);background-color:var(--theme-bg-tertiary,rgba(40,167,69,.1))}@media (max-width:767px){.message-avatar{width:36px;height:36px;margin-right:10px}.group-message .message-avatar{width:32px;height:32px;margin-right:6px}.group-message{gap:6px;margin-bottom:10px}.group-message .message-sender{font-size:11px;max-width:150px}.group-message .message-bubble{padding:8px 12px;font-size:var(--theme-bubble-font-size,15px);line-height:1.5}.group-message.user-message .message-bubble{min-width:fit-content}}@media (max-width:480px){.message-avatar{width:37px!important;height:37px!important;margin-right:2px}.group-message .message-avatar{width:28px;height:28px;margin-right:4px}.group-message{gap:4px;margin-bottom:8px}.group-message .message-sender{font-size:10px;max-width:120px}.group-message .message-bubble{padding:6px 10px;font-size:calc(var(--theme-bubble-font-size, 15px) - 2px);line-height:1.5}.group-message.user-message .message-bubble{min-width:fit-content}}@media (min-width:768px) and (max-width:1023px){:root{--message-bubble-max-width:calc(100% - 25px);--group-message-bubble-max-width:calc(100% - 50px)}.group-message .message-sender{max-width:250px}}@media (min-width:1024px){:root{--message-bubble-max-width:calc(100% - 30px);--group-message-bubble-max-width:calc(100% - 55px)}.group-message .message-sender{max-width:300px}}@media (orientation:landscape) and (max-height:500px){.chat-interface{height:100vh}.chat-header{padding:8px 15px}.messages-container{padding:0 15px}.input-container{padding:8px 15px}}.sticker-message{display:flex;align-items:center;gap:8px}.sticker-image{max-width:80px;max-height:80px;border-radius:8px;object-fit:cover}.sticker-fallback{color:var(--theme-text-secondary,#666);font-style:italic}.fallback-hidden{display:none}.user-image{max-width:200px;max-height:200px;border-radius:8px;object-fit:cover}.image-fallback{color:var(--theme-text-tertiary,#999);font-size:12px;font-style:italic}.voice-message{display:flex;align-items:center;gap:8px;color:var(--theme-accent-color,#007bff);font-weight:500;cursor:pointer;transition:background-color .2s;min-width:80px;max-width:200px}.voice-message:hover{background-color:var(--theme-bg-tertiary,rgba(0,0,0,.05));border-radius:8px}.voice-message-body{display:flex;align-items:center;width:100%;gap:8px}.voice-waveform{display:flex;align-items:center;height:20px;gap:2px;flex-grow:1}.voice-waveform div{width:3px;background-color:currentColor;border-radius:2px;animation:wave-quiet 1.5s ease-in-out infinite}@keyframes wave-quiet{0%,to{height:2px}50%{height:10px}}.voice-waveform div:nth-child(2){animation-delay:.2s}.voice-waveform div:nth-child(3){animation-delay:.4s}.voice-waveform div:nth-child(4){animation-delay:.6s}.voice-waveform div:nth-child(5){animation-delay:.8s}.voice-duration{font-size:13px;font-weight:500;color:var(--text-secondary,#666);white-space:nowrap}@media (prefers-color-scheme:dark){.sticker-fallback{color:#ccc}.image-fallback{color:#999}.voice-message{color:#4dabf7}}.chat-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.3);z-index:9999;display:flex;align-items:flex-start;justify-content:flex-end;animation:fadeIn .2s ease}.chat-menu{position:absolute;top:80px;right:20px;background:var(--theme-bg-primary,#ffffff);border-radius:8px;box-shadow:var(--theme-shadow-heavy,0 4px 16px rgba(0,0,0,.2));border:1px solid var(--theme-border-color,#e8eaed);min-width:120px;overflow:hidden;animation:slideIn .2s ease;z-index:10000}.chat-menu-item{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;cursor:pointer;font-size:14px;color:var(--theme-text-primary,#202124);transition:background-color .2s ease;border-bottom:1px solid var(--theme-border-light,#f1f3f4)}.chat-menu-item:last-child{border-bottom:none}.chat-menu-item:hover{background-color:var(--theme-bg-secondary,#f8f9fa)}.chat-menu-item.delete{color:#dc3545}.chat-menu-item.delete:hover{background-color:#fff5f5}@media (max-width:767px){.chat-menu{top:70px;right:15px;min-width:100px}.chat-menu-item{padding:10px 14px;font-size:13px}}@media (max-width:480px){.chat-menu{top:65px;right:10px;min-width:90px}.chat-menu-item{padding:8px 12px;font-size:12px}}.message-bubble{position:relative;margin-bottom:4px}.message-footer{display:flex;align-items:center;gap:0;margin-top:2px;padding:0 2px}.ai-message .message-footer{justify-content:flex-start}.user-message .message-footer{justify-content:flex-end;flex-direction:row-reverse}.message-footer .message-time{font-size:13px;color:var(--theme-text-tertiary,#8a8a8a);white-space:nowrap;font-weight:500}.message-footer .message-inline-actions{display:flex;align-items:center}@media (max-width:767px){.message-footer{gap:5px;margin-top:1px}.message-footer .message-time{font-size:12px}}@media (max-width:480px){.message-footer{gap:3px}.message-footer .message-time{font-size:11px}}.message-edit-container{width:100%}.message-edit-input{width:100%;min-height:60px;padding:12px;border:2px solid var(--theme-accent-color,#007bff);border-radius:12px;font-size:14px;line-height:1.4;resize:vertical;background:var(--theme-bg-primary,white);color:var(--theme-text-primary,#1f1f1f);outline:none;font-family:inherit}.message-edit-input:focus{border-color:var(--theme-accent-hover,#0056b3);box-shadow:0 0 0 3px var(--theme-bg-tertiary,rgba(0,123,255,.1))}.message-edit-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.edit-cancel-btn,.edit-save-btn{padding:6px 12px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background-color .2s}.edit-save-btn{background-color:#28a745;color:white}.edit-save-btn:hover{background-color:#218838}.edit-cancel-btn{background-color:#6c757d;color:white}.edit-cancel-btn:hover{background-color:#545b62}@media (max-width:767px){.message-edit-input{min-height:50px;padding:10px;font-size:13px}.edit-cancel-btn,.edit-save-btn{padding:5px 10px;font-size:11px}}@media (max-width:480px){.message-edit-input{min-height:45px;padding:8px;font-size:12px}.edit-cancel-btn,.edit-save-btn{padding:4px 8px;font-size:10px}}.group-message .message-footer{gap:6px;margin-top:1px}.group-message.user-message .message-footer{justify-content:flex-end;flex-direction:row-reverse}.group-message.ai-message .message-footer{justify-content:flex-start}.group-message .message-footer .message-time{font-size:12px;font-weight:500}@media (max-width:767px){.group-message .message-footer{gap:4px}.group-message .message-footer .message-time{font-size:11px}}@media (max-width:480px){.group-message .message-footer{gap:3px}.group-message .message-footer .message-time{font-size:10px}}.extra-info-inline{margin:8px 0!important;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important;display:block!important;width:100%!important;position:relative!important;max-width:none!important;height:auto!important;min-height:auto!important}.extra-info-inline,.extra-info-inline *{max-height:none!important;overflow:visible!important}.extra-info-inline *{box-sizing:border-box}@media (prefers-color-scheme:dark){.extra-info-inline{background:none!important}}.story-action-btn{background:none;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease;color:#666;background-color:rgba(0,0,0,.05);border:1px solid rgba(0,0,0,.1)}.story-action-btn:hover{background:rgba(0,0,0,.1);color:#333;transform:scale(1.05);border-color:rgba(0,0,0,.2)}.story-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.vision-message{display:flex;flex-direction:column;gap:8px}.vision-message-text{font-size:14px;color:var(--theme-text-primary,#333);white-space:pre-wrap;word-break:break-word}.vision-message-grid{display:flex;flex-wrap:wrap;gap:10px}.vision-message-item{position:relative;max-width:280px;max-height:400px;min-width:120px;min-height:120px;border-radius:12px;overflow:hidden;border:1px solid var(--theme-border-color,rgba(0,0,0,.08));box-shadow:0 2px 10px rgba(0,0,0,.12);background:var(--theme-bg-primary,#fff);cursor:zoom-in;display:flex;align-items:center;justify-content:center}.vision-message-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform .2s ease}.vision-message-image:hover{transform:scale(1.02)}.vision-message-simple{display:flex;flex-direction:column;gap:8px}.vision-message-grid-simple{display:flex;flex-wrap:wrap;gap:8px}.vision-message-image-simple{max-width:200px;max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:8px;cursor:zoom-in;transition:transform .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.1)}.vision-message-image-simple:hover{transform:scale(1.05)}.message-content-direct{display:block;width:fit-content;max-width:100%}@media (max-width:768px){.vision-message-item{max-width:200px;max-height:300px;min-width:100px;min-height:100px}.vision-message-image-simple{max-width:150px;max-height:150px}}.location-message-card{display:flex;flex-direction:column;width:220px;border-radius:16px;overflow:hidden;background:#ffffff;box-shadow:0 6px 18px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.06)}.location-message-card.from-user{margin-left:auto}.location-message-map{position:relative;height:120px;background:linear-gradient(135deg,#f4f7fb,#dde6f5);display:flex;align-items:center;justify-content:center;color:#2f66f3;isolation:isolate}.location-message-grid{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 0),linear-gradient(0deg,rgba(255,255,255,.4) 1px,transparent 0);background-size:32px 32px;mix-blend-mode:overlay}.location-message-pin{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(47,102,243,.25);position:relative;z-index:1}.location-message-content{padding:14px 16px 10px;display:flex;flex-direction:column;gap:4px}.location-message-name{font-size:15px;font-weight:600;color:#1f2333;line-height:1.3}.location-message-address{font-size:12px;color:#5a6275;line-height:1.5;word-break:break-word}.location-message-footer{display:flex;align-items:center;gap:6px;padding:8px 16px 14px;color:#9aa3b5;font-size:11px;text-transform:uppercase;letter-spacing:.6px}.location-message-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.5}.location-message-label{user-select:none}.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:2px dashed #ddd;display:flex;align-items:center;justify-content:center;transition:all .3s ease;background-color:#f8f9fa}.avatar-preview:hover{border-color:#007bff;background-color:#f0f8ff}.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}.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}}.image-preview-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.68);display:flex;align-items:center;justify-content:center;z-index:2000;backdrop-filter:blur(2px);animation:fadeIn .2s ease}.image-preview-overlay.fullscreen{background-color:rgba(0,0,0,.95)}.image-preview-container{position:relative;width:min(90vw,1000px);height:min(85vh,90vw);max-width:100%;max-height:100%;display:flex;flex-direction:column;background:#000;border-radius:16px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.4)}.image-preview-container.fullscreen{width:100vw;height:100vh;border-radius:0;box-shadow:none}.image-preview-toolbar{position:absolute;top:0;left:0;right:0;background:transparent;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;z-index:10;backdrop-filter:none}.image-preview-toolbar-left,.image-preview-toolbar-right{display:flex;align-items:center;gap:8px}.image-preview-btn{width:auto;height:auto;border:none;border-radius:0;background:transparent;color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;backdrop-filter:none;padding:4px 8px;opacity:.9}.image-preview-btn:hover{background:transparent;opacity:1;transform:none}.image-preview-btn:active{transform:none;opacity:.7}.image-preview-zoom-level{color:white;font-size:14px;font-weight:500;min-width:50px;text-align:center;background:transparent;padding:4px 8px;border-radius:0;backdrop-filter:none;opacity:.9}.image-preview-content{flex:1;min-height:0;overflow:hidden;background:#000}.image-preview-content,.image-preview-image-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.image-preview-image-wrapper{width:100%;height:100%;transform-origin:center center}.image-preview-image{object-fit:contain;max-width:100%;max-height:100%;user-select:none;-webkit-user-drag:none}.image-preview-close{width:auto;height:auto;border:none;border-radius:0;background:transparent;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;backdrop-filter:none;padding:4px 8px;opacity:.9}.image-preview-close:hover{background:transparent;opacity:1;transform:none}.image-preview-close:active{transform:none;opacity:.7}.image-preview-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:white;z-index:5}.image-preview-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin 1s linear infinite}.image-preview-info{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;padding:20px 16px 16px;border-radius:0 0 16px 16px;backdrop-filter:blur(4px)}.image-preview-sender{font-size:14px;opacity:.8;margin-bottom:4px}.image-preview-description{font-size:16px;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:100px;overflow-y:auto}@media (max-width:768px){.image-preview-container{width:95vw;height:min(80vh,95vw)}.image-preview-toolbar{padding:8px 12px}.image-preview-btn{width:auto;height:auto;font-size:18px;padding:4px 8px}.image-preview-zoom-level{font-size:12px;min-width:40px;padding:2px 6px}.image-preview-info{padding:16px 12px 12px}.image-preview-description{font-size:14px;max-height:80px}}.image-preview-container.fullscreen .image-preview-toolbar{background:transparent}.image-preview-container.fullscreen .image-preview-info{border-radius:0}@media (prefers-color-scheme:dark){.image-preview-content{background:#1a1a1a}}.image-description-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.image-description-container{background:white;border-radius:12px;padding:24px;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,.3);animation:slideIn .2s ease}.image-description-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.image-description-icon{font-size:24px}.image-description-title h3{margin:0;color:#333;font-size:18px;font-weight:600}.image-description-title p{margin:4px 0 0;color:#666;font-size:14px}.image-description-content{background-color:#f8f9fa;border-radius:8px;padding:16px;border-left:4px solid #28a745;font-size:16px;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word;margin-bottom:16px}.image-description-close{width:100%;padding:8px 16px;background-color:#28a745;color:white;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.image-description-close:hover{background-color:#218838}.image-description-close:active{background-color:#1e7e34}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:768px){.image-description-container{padding:20px;max-width:95%}.image-description-title h3{font-size:16px}.image-description-title p{font-size:13px}.image-description-content{font-size:14px;padding:12px}}@media (prefers-color-scheme:dark){.image-description-container{background:#2a2a2a;color:#fff}.image-description-title h3{color:#fff}.image-description-title p{color:#ccc}.image-description-content{background-color:#3a3a3a;color:#fff;border-left-color:#4caf50}}.modal-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;backdrop-filter:blur(4px);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.modal-content{background:white;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.3);animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid #e8eaed;background:linear-gradient(135deg,#f8f9fa,#ffffff)}.modal-header h3{margin:0;font-size:20px;font-weight:600;color:#1f1f1f}.close-btn{color:#666;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.close-btn:hover{background-color:#f5f5f5;color:#333}.modal-body{max-height:calc(90vh - 140px)}.step-indicator{justify-content:center;margin-bottom:32px}.step,.step-indicator{display:flex;align-items:center;gap:8px}.step{flex-direction:column}.step,.step-number{transition:all .3s ease}.step-number{width:32px;height:32px;border-radius:50%;background-color:#e8eaed;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step.active .step-number{background-color:#007AFF;color:white;box-shadow:0 2px 8px rgba(0,122,255,.3)}.step-label{font-size:12px;color:#666;font-weight:500;text-align:center}.step.active .step-label{color:#007AFF;font-weight:600}.step-line{width:40px;height:2px;background-color:#e8eaed;margin:0 4px}.step-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-title{margin-bottom:24px;text-align:center}.step-title h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#1f1f1f}.step-title p{margin:0;color:#666;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-group .tag-description{margin-bottom:6px;font-size:12px;color:#666;font-style:italic}.form-input,.form-textarea{width:100%;padding:12px 16px;border:2px solid #e8eaed;border-radius:12px;font-size:16px;box-sizing:border-box;transition:all .2s ease;background-color:#ffffff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#007AFF;box-shadow:0 0 0 3px rgba(0,122,255,.1)}.form-textarea{resize:vertical;min-height:120px;font-family:inherit}.char-count{text-align:right;font-size:12px;color:#666;margin-top:4px}.avatar-upload{display:flex;flex-direction:column;align-items:center;gap:16px}.avatar-preview{position:relative;border-radius:50%;overflow:hidden;cursor:pointer;transition:all .2s ease}.avatar-preview:hover{transform:scale(1.05)}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.avatar-preview:hover .avatar-overlay{opacity:1}.avatar-overlay span{font-size:24px;color:white}.upload-btn{padding:10px 20px;background-color:#f8f9fa;border:2px solid #e8eaed;border-radius:8px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.upload-btn:hover{background-color:#007AFF;border-color:#007AFF;color:white}.search-box{position:relative;margin-bottom:20px}.search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e8eaed;border-radius:12px;font-size:16px;box-sizing:border-box;transition:all .2s ease}.search-input:focus{outline:none;border-color:#007AFF;box-shadow:0 0 0 3px rgba(0,122,255,.1)}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:#666}.contacts-container{border:2px solid #e8eaed;border-radius:12px;overflow:hidden;background-color:#ffffff}.contacts-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed;font-size:14px;font-weight:500}.selected-count{color:#007AFF;font-weight:600}.contacts-list{max-height:300px;overflow-y:auto}.contact-item{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid #f1f3f4;cursor:pointer;transition:all .2s ease;background-color:#ffffff}.contact-item:last-child{border-bottom:none}.contact-item:hover{background-color:#f8f9fa}.contact-item.selected{background-color:#e3f2fd;border-left:4px solid #007aff}.contact-checkbox{margin-right:12px}.contact-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:#007AFF;cursor:pointer}.contact-avatar{border-radius:50%;margin-right:12px;object-fit:cover}.contact-info{flex:1}.contact-name{font-weight:500;color:#333;margin-bottom:4px;font-size:14px}.contact-persona{font-size:12px;color:#666;line-height:1.4}.no-contacts{text-align:center;padding:40px 20px;color:#666}.no-contacts-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-contacts p{margin:8px 0;font-size:14px}.rules-preview{margin-top:20px;border:2px solid #e8eaed;border-radius:12px;overflow:hidden}.rules-preview h5{margin:0;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed;font-size:14px;font-weight:500;color:#333}.rules-content{padding:16px;min-height:80px;background-color:#ffffff}.rules-text{white-space:pre-wrap;line-height:1.6;color:#333;font-size:14px}.rules-placeholder{color:#999;font-style:italic;text-align:center;padding:20px}.step-actions{display:flex;gap:12px;margin-top:32px;justify-content:space-between}.create-btn,.next-btn,.prev-btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.prev-btn{background-color:#f5f5f5;color:#333}.prev-btn:hover{background-color:#e0e0e0}.create-btn,.next-btn{background-color:#007AFF;color:white}.create-btn:hover,.next-btn:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,122,255,.3)}.create-btn:disabled,.next-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width:600px){.modal-overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.modal-content{width:95%;margin:10px;max-height:95vh}.modal-body{padding:20px}.step-indicator{margin-bottom:24px}.step-label{font-size:11px}.step-line{width:30px}.contacts-list{max-height:250px}.step-actions{flex-direction:column}.create-btn,.next-btn,.prev-btn{width:100%}}@media (max-width:480px){.modal-overlay{padding:0;align-items:stretch}.modal-content{width:100%;height:100vh;max-height:100vh;border-radius:0;box-shadow:none;margin:0;height:100dvh;max-height:100dvh}.modal-header{padding:max(16px,env(safe-area-inset-top)) 20px 16px}.modal-header h3{font-size:18px}.modal-body{padding:16px 16px calc(16px + env(safe-area-inset-bottom));max-height:calc(100dvh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.step-title h4{font-size:16px}.form-input,.form-textarea,.search-input{padding:10px 14px;font-size:14px}.contact-item{padding:10px 12px}.contact-avatar{width:40px;height:40px}}@supports (height:100dvh){@media (max-width:480px){.modal-content{height:100dvh;max-height:100dvh}.modal-body{max-height:calc(100dvh - 140px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}}}.bottom-navigation{position:absolute;bottom:0;left:0;width:100%;z-index:15;display:flex;border-top:1px solid var(--theme-border-color,#e8eaed)!important;background-color:var(--theme-nav-bg,#ffffff)!important;box-shadow:var(--theme-shadow-light,0 1px 3px rgba(0,0,0,.1))!important;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;text-align:center;padding:12px 0;font-size:14px;color:var(--theme-text-secondary,#5f6368);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:4px;overflow:hidden;border-radius:8px;margin:0 4px}.nav-item:before{top:0;left:0;right:0;background:linear-gradient(135deg,var(--theme-nav-active,#1a73e8) 0,rgba(26,115,232,.1) 100%);opacity:0;transition:opacity .3s ease;border-radius:8px;z-index:-1}.nav-item:after,.nav-item:before{content:"";position:absolute;bottom:0}.nav-item:after{left:50%;transform:translateX(-50%);width:0;height:3px;background:var(--theme-nav-active,#1a73e8);border-radius:2px 2px 0 0;transition:width .3s cubic-bezier(.4,0,.2,1)}.nav-item:hover{color:var(--theme-nav-active,#1a73e8);transform:translateY(-2px);box-shadow:0 4px 12px rgba(26,115,232,.15)}.nav-item:hover:before{opacity:.05}.nav-item.active{color:var(--theme-nav-active,#1a73e8);font-weight:600;transform:translateY(-3px);box-shadow:0 6px 20px rgba(26,115,232,.2)}.nav-item.active:before{opacity:.1}.nav-item.active:after{width:60%}.nav-item.active .nav-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(26,115,232,.3))}.nav-item.active .nav-icon svg{stroke:var(--theme-nav-active,#1a73e8);filter:drop-shadow(0 1px 2px rgba(26,115,232,.2))}.nav-icon{display:flex;align-items:center;justify-content:center;position:relative}.nav-icon,.nav-icon svg{transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes iconPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.nav-item.active .nav-icon{animation:iconPulse 2s ease-in-out infinite}@keyframes iconRotate{0%{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}to{transform:rotate(0deg)}}.nav-item.active .nav-icon svg{animation:iconRotate 3s ease-in-out infinite}.nav-label{font-size:12px}.nav-badge{position:absolute;top:-2px;right:-2px;z-index:10}.badge-count{background:linear-gradient(135deg,#ff4757,#ff3742);color:white;font-size:9px;font-weight:600;padding:1px 4px;border-radius:8px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(255,71,87,.3);animation:badgePulse 2s infinite}@keyframes badgePulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@media (max-width:767px){.nav-item{padding:10px 0;font-size:13px}.nav-label{font-size:11px}}@media (max-width:480px){.nav-item{padding:8px 0;font-size:12px}.nav-label{font-size:10px}}@media (orientation:landscape) and (max-height:500px){.bottom-navigation{padding-bottom:5px}.nav-item{padding:6px 0}}@media print{.bottom-navigation{display:none!important}}.nav-item{position:relative}.nav-item .ripple{position:absolute;border-radius:50%;background:rgba(26,115,232,.3);transform:scale(0);animation:ripple .6s linear;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.nav-item.active:before{box-shadow:0 0 20px rgba(26,115,232,.3)}.nav-item.active .nav-label{text-shadow:0 0 8px rgba(26,115,232,.5);animation:textGlow 2s ease-in-out infinite alternate}@keyframes textGlow{0%{text-shadow:0 0 8px rgba(26,115,232,.5)}to{text-shadow:0 0 12px rgba(26,115,232,.8)}}@media (prefers-reduced-motion:reduce){.nav-item{transition-duration:.01ms!important}.nav-item.active .nav-icon,.nav-item.active .nav-icon svg,.nav-item.active .nav-label{animation:none!important}}.page-transition{position:absolute;top:0;left:0;width:100%;height:100%;transition:all var(--transition-duration,.3s) cubic-bezier(.4,0,.2,1);will-change:transform,opacity;overflow:hidden}.page-transition-fade{opacity:0;transform:scale(1)}.page-transition-fade.visible{opacity:1;transform:scale(1)}.page-transition-left{opacity:1;transform:translateX(100%)}.page-transition-left.visible{opacity:1;transform:translateX(0)}.page-transition-right{opacity:1;transform:translateX(-100%)}.page-transition-right.visible{opacity:1;transform:translateX(0)}.page-transition-up{opacity:1;transform:translateY(100%)}.page-transition-up.visible{opacity:1;transform:translateY(0)}.page-transition-down{opacity:1;transform:translateY(-100%)}.page-transition-down.visible{opacity:1;transform:translateY(0)}.page-transition-scale{opacity:0;transform:scale(.8)}.page-transition-scale.visible{opacity:1;transform:scale(1)}.page-transition-slide-fade-left{opacity:0;transform:translateX(30px)}.page-transition-slide-fade-left.visible{opacity:1;transform:translateX(0)}.page-transition-slide-fade-right{opacity:0;transform:translateX(-30px)}.page-transition-slide-fade-right.visible{opacity:1;transform:translateX(0)}.page-transition-slide-fade-up{opacity:0;transform:translateY(30px)}.page-transition-slide-fade-up.visible{opacity:1;transform:translateY(0)}.page-transition-slide-fade-down{opacity:0;transform:translateY(-30px)}.page-transition-slide-fade-down.visible{opacity:1;transform:translateY(0)}.page-transition-bounce{opacity:0;transform:scale(.3)}.page-transition-bounce.visible{opacity:1;transform:scale(1);transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.page-transition-flip{opacity:1;transform:rotateY(90deg);transform-style:preserve-3d;perspective:1000px}.page-transition-flip.visible{opacity:1;transform:rotateY(0deg)}.page-transition-3d-left{opacity:1;transform:translateX(100%) rotateY(-15deg);transform-style:preserve-3d;perspective:1000px}.page-transition-3d-left.visible{opacity:1;transform:translateX(0) rotateY(0deg)}.page-transition-3d-right{opacity:1;transform:translateX(-100%) rotateY(15deg);transform-style:preserve-3d;perspective:1000px}.page-transition-3d-right.visible{opacity:1;transform:translateX(0) rotateY(0deg)}@media (max-width:767px){.page-transition{transition-duration:calc(var(--transition-duration, .3s) * .8)}}@media (prefers-reduced-motion:reduce){.page-transition{transition:none!important;transform:none!important;opacity:1!important}}.page-transition.animating{backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}.page-transition:not(.visible){pointer-events:none}.page-transition.visible:not(.animating){pointer-events:auto}.character-preview{background:#ffffff;border-radius:16px;max-width:500px;max-height:80vh;box-shadow:0 10px 40px rgba(0,0,0,.15);border:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden}.preview-header{text-align:center;padding:24px 24px 16px;border-bottom:1px solid #f3f4f6;flex-shrink:0}.preview-header h3{margin:0 0 4px;color:#111827;font-size:20px;font-weight:600}.preview-header p{margin:0;color:#6b7280;font-size:14px}.preview-scrollable{flex:1;overflow-y:auto;padding:24px;min-height:0}.info-card{background:#f9fafb;border-radius:12px;padding:16px;margin-bottom:16px;border:1px solid #e5e7eb}.info-card:last-of-type{margin-bottom:0}.info-card h5{margin:0 0 12px;color:#374151;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.avatar-section{display:flex;align-items:center;gap:12px}.avatar{border-radius:50%;border:2px solid #e5e7eb;object-fit:cover;flex-shrink:0}.name-section{flex:1;min-width:0}.name-section h4{margin:0 0 4px;color:#111827;font-size:18px;font-weight:600;line-height:1.2}.creator{color:#6b7280;font-size:13px;font-style:italic}.persona-content{background:#ffffff;border-radius:8px;padding:12px;border:1px solid #e5e7eb}.persona-content p{margin:0}.first-message-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;position:relative}.first-message-card:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:12px;z-index:-1;opacity:.3}.first-message-card h5{color:#92400e;font-weight:700}.first-message-content{background:rgba(255,255,255,.8);border-radius:8px;padding:12px;border:1px solid rgba(245,158,11,.3)}.first-message-content p{margin:0 0 8px;color:#1f2937;font-style:italic;line-height:1.5}.first-message-note{padding-top:8px;border-top:1px solid rgba(245,158,11,.2)}.first-message-note small{color:#92400e;font-size:12px;font-weight:500}.persona-content{color:#374151;font-size:14px;line-height:1.6;white-space:pre-wrap;max-height:200px;overflow-y:auto}.persona-content .empty{color:#9ca3af;font-style:italic}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item .label{color:#6b7280;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.info-item .value{color:#374151;font-size:14px;font-weight:500;word-break:break-word}.extended-info{border:none;background:none;padding:0}.extended-info summary{color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;padding:8px 0;user-select:none;transition:color .2s ease}.extended-info summary:hover{color:#2563eb}.extended-info summary::-webkit-details-marker{color:#3b82f6}.extended-content{margin-top:12px;display:flex;flex-direction:column;gap:16px}.extended-item{background:#ffffff;border-radius:8px;padding:12px;border:1px solid #e5e7eb}.extended-item h6{margin:0 0 8px;color:#374151;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.extended-item p{margin:0;color:#6b7280;font-size:14px;line-height:1.5;white-space:pre-wrap;max-height:150px;overflow-y:auto}.preview-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px;border-top:1px solid #f3f4f6;flex-shrink:0;background:#ffffff}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.btn-import{background:#3b82f6;color:white}.btn-import:hover{background:#2563eb;transform:translateY(-1px)}.btn-cancel{background:#f3f4f6;color:#374151}.btn-cancel:hover{background:#e5e7eb;transform:translateY(-1px)}.extended-item p::-webkit-scrollbar,.persona-content::-webkit-scrollbar,.preview-scrollable::-webkit-scrollbar{width:6px}.extended-item p::-webkit-scrollbar-track,.persona-content::-webkit-scrollbar-track,.preview-scrollable::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.extended-item p::-webkit-scrollbar-thumb,.persona-content::-webkit-scrollbar-thumb,.preview-scrollable::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.extended-item p::-webkit-scrollbar-thumb:hover,.persona-content::-webkit-scrollbar-thumb:hover,.preview-scrollable::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width:640px){.character-preview{margin:16px;max-width:none}.preview-header{padding:20px 20px 16px}.preview-scrollable{padding:20px}.preview-actions{padding:16px 20px 20px;flex-direction:column}.info-grid{grid-template-columns:1fr}.btn{width:100%}}.character-import-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.character-import-modal{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.modal-header h2{margin:0;color:#1f2937;font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#e5e7eb;color:#374151}.modal-body{flex:1;overflow-y:auto;padding:24px}.upload-step{text-align:center}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:40px 20px;cursor:pointer;transition:all .3s ease;background:#f9fafb}.upload-area.drag-over,.upload-area:hover{border-color:#3b82f6;background:#eff6ff}.upload-area.drag-over{transform:scale(1.02)}.upload-icon{font-size:48px;margin-bottom:16px}.upload-area h3{margin:0 0 8px;color:#1f2937;font-size:18px;font-weight:600}.upload-area p{margin:0 0 4px;color:#6b7280;font-size:14px}.upload-tip{color:#3b82f6!important;font-weight:500;margin-top:8px!important}.upload-note{color:#059669!important;font-size:12px!important;font-style:italic;margin-top:4px!important}.error-message{margin-top:16px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.loading-step{text-align:center;padding:40px 20px}.loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-step p{margin:0;color:#6b7280;font-size:16px}.loading-subtitle{font-size:14px!important;color:#9ca3af!important;margin-top:8px!important}@media (max-width:640px){.character-import-modal-overlay{padding:10px}.character-import-modal{max-width:100vw;max-height:100vh;border-radius:8px}.modal-header{padding:16px 20px}.modal-body{padding:20px}.upload-area{padding:30px 16px}.upload-icon{font-size:36px}.upload-area h3{font-size:16px}}