.unicode-emoji-picker{position:absolute;left:0;width:320px;height:400px;background:#ffffff;border:1px solid #e1e8ed;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:1000;display:flex;flex-direction:column;overflow:hidden;animation:emojiPickerSlideUp .2s ease-out}.unicode-emoji-picker.picker-top{bottom:100%;margin-bottom:8px}.unicode-emoji-picker.picker-bottom{top:100%;margin-top:8px}@keyframes emojiPickerSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-header{background:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:8px;flex-shrink:0}.emoji-categories{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.emoji-categories::-webkit-scrollbar{display:none}.category-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:all .2s ease;flex-shrink:0}.category-btn:hover{background:#e9ecef}.category-btn.active{background:#007bff;color:white}.category-icon{font-size:18px;line-height:1}.emoji-picker-content{flex:1;overflow:hidden;position:relative}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:12px;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c1c1c1 transparent}.emoji-grid::-webkit-scrollbar{width:6px}.emoji-grid::-webkit-scrollbar-track{background:transparent}.emoji-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.emoji-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.emoji-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:20px;line-height:1;transition:all .15s ease;user-select:none}.emoji-btn:hover{background:#f0f2f5;transform:scale(1.1)}.emoji-btn:active{transform:scale(.95);background:#e4e6eb}@media (max-width:480px){.unicode-emoji-picker{width:90vw;height:35vh;left:5vw;right:5vw;border-radius:12px;margin-bottom:0;max-width:320px;max-height:280px}.emoji-picker-header{padding:6px}.emoji-grid{grid-template-columns:repeat(7,1fr);gap:3px;padding:12px}.emoji-btn{font-size:18px}.category-btn,.emoji-btn{width:32px;height:32px}.category-icon{font-size:16px}}@media (max-width:360px){.unicode-emoji-picker{width:85vw;height:30vh;left:7.5vw;right:7.5vw;border-radius:12px;margin-bottom:0;max-width:280px;max-height:240px}.emoji-picker-header{padding:4px}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:2px;padding:8px}.emoji-btn{font-size:16px}.category-btn,.emoji-btn{width:28px;height:28px}.category-icon{font-size:14px}}@media (max-width:320px){.unicode-emoji-picker{width:80vw;height:25vh;left:10vw;right:10vw;border-radius:12px;margin-bottom:0;max-width:240px;max-height:200px}.emoji-picker-header{padding:3px}.emoji-grid{grid-template-columns:repeat(5,1fr);gap:2px;padding:6px}.emoji-btn{font-size:14px}.category-btn,.emoji-btn{width:24px;height:24px}.category-icon{font-size:12px}}@media (prefers-color-scheme:dark){.unicode-emoji-picker{background:#1a1a1a;border-color:#333;box-shadow:0 8px 32px rgba(0,0,0,.3)}.emoji-picker-header{background:#2d2d2d;border-color:#333}.category-btn:hover{background:#404040}.category-btn.active{background:#007bff}.emoji-btn:hover{background:#404040}.emoji-btn:active{background:#505050}}.unicode-emoji-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:all .2s ease;color:#666;position:relative}.unicode-emoji-btn:hover{background:#f0f2f5;color:#007bff}.unicode-emoji-btn:active{transform:scale(.95)}.unicode-emoji-btn svg{width:20px;height:20px;fill:currentColor}@media (max-width:767px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;width:28px!important;height:28px!important;border-radius:50%!important;padding:4px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:16px!important;height:16px!important}}@media (max-width:480px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;width:24px!important;height:24px!important;border-radius:50%!important;padding:3px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:14px!important;height:14px!important}}@media (max-width:360px){.unicode-emoji-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;width:20px!important;height:20px!important;border-radius:50%!important;padding:2px!important}.unicode-emoji-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.unicode-emoji-btn svg{width:12px!important;height:12px!important}}.recollection-markdown-renderer{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.8;color:var(--theme-text-primary,#1f1f1f)}.recollection-markdown-content{margin-bottom:24px}.recollection-html-content{margin:16px 0;padding:20px;background:var(--theme-bg-secondary,#f8f9fa);border-radius:12px;border:1px solid var(--theme-border-color,#e0e0e0);box-shadow:var(--theme-shadow-light,0 2px 4px rgba(0,0,0,.05))}.recollection-h1{font-size:28px;font-weight:700;color:var(--theme-text-primary,#1f1f1f);margin:32px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--theme-accent-color,#007bff);line-height:1.3}.recollection-h2{font-size:24px;margin:28px 0 14px;padding-bottom:6px;border-bottom:1px solid var(--theme-border-color,#e0e0e0)}.recollection-h2,.recollection-h3{font-weight:600;color:var(--theme-text-primary,#1f1f1f);line-height:1.3}.recollection-h3{font-size:20px;margin:24px 0 12px}.recollection-h4{font-size:18px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);margin:20px 0 10px;line-height:1.3}.recollection-paragraph{margin:16px 0;font-size:16px;line-height:1.8;color:var(--theme-text-primary,#1f1f1f)}.recollection-bold{font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-italic{font-style:italic;color:var(--theme-text-secondary,#6c757d)}.recollection-code-block{background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:16px;margin:20px 0;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.recollection-code-block code{background:none;padding:0;border:none;color:var(--theme-text-primary,#1f1f1f)}.recollection-inline-code{background:var(--theme-bg-tertiary,#f1f3f4);color:var(--theme-accent-color,#007bff);padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:500}.recollection-ordered-list,.recollection-unordered-list{margin:16px 0;padding-left:24px}.recollection-list-item,.recollection-ordered-item{margin:8px 0;font-size:16px;line-height:1.6;color:var(--theme-text-primary,#1f1f1f)}.recollection-unordered-list{list-style-type:disc}.recollection-ordered-list{list-style-type:decimal}.recollection-blockquote{border-left:4px solid var(--theme-accent-color,#007bff);background:var(--theme-bg-secondary,#f8f9fa);margin:20px 0;padding:16px 20px;border-radius:0 8px 8px 0;font-style:italic;color:var(--theme-text-secondary,#6c757d);position:relative}.recollection-blockquote:before{content:none}.recollection-link{color:var(--theme-accent-color,#007bff);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s ease}.recollection-link:hover{color:var(--theme-accent-hover,#0056b3);border-bottom-color:var(--theme-accent-hover,#0056b3)}.recollection-line-break{display:block;margin:8px 0}.recollection-markdown-renderer .recollection-html-content img{max-width:100%;height:auto;border-radius:8px;box-shadow:var(--theme-shadow-light,0 2px 8px rgba(0,0,0,.1));margin:16px 0}.recollection-markdown-renderer .recollection-html-content table{width:100%;border-collapse:collapse;margin:20px 0;background:var(--theme-bg-primary,#ffffff);border-radius:8px;overflow:hidden;box-shadow:var(--theme-shadow-light,0 2px 4px rgba(0,0,0,.05))}.recollection-markdown-renderer .recollection-html-content td,.recollection-markdown-renderer .recollection-html-content th{padding:12px 16px;text-align:left;border-bottom:1px solid var(--theme-border-color,#e0e0e0)}.recollection-markdown-renderer .recollection-html-content th{background:var(--theme-bg-secondary,#f8f9fa);font-weight:600;color:var(--theme-text-primary,#1f1f1f)}@media (max-width:768px){.recollection-h1{font-size:24px;margin:24px 0 12px}.recollection-h2{font-size:20px;margin:20px 0 10px}.recollection-h3{font-size:18px;margin:18px 0 8px}.recollection-h4{font-size:16px;margin:16px 0 6px}.recollection-paragraph{font-size:15px;margin:12px 0}.recollection-code-block{padding:12px;font-size:13px}.recollection-html-content{padding:16px;margin:12px 0}.recollection-ordered-list,.recollection-unordered-list{padding-left:20px}}.theme-dark .recollection-markdown-renderer{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-html-content{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-code-block{background:var(--theme-bg-tertiary,#404040);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-inline-code{background:var(--theme-bg-tertiary,#404040);color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-blockquote{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-accent-color,#66b3ff);color:var(--theme-text-secondary,#b0b0b0)}.theme-dark .recollection-blockquote:before{color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-markdown-renderer .recollection-html-content table{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-markdown-renderer .recollection-html-content th{background:var(--theme-bg-secondary,#2d2d2d);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-markdown-renderer .recollection-html-content td,.theme-dark .recollection-markdown-renderer .recollection-html-content th{border-color:var(--theme-border-color,#404040)}.recollection-markdown-renderer *{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.recollection-memory-summary-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:6px;color:var(--theme-text-primary,#1f1f1f);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.recollection-memory-summary-btn:hover:not(:disabled){background:var(--theme-accent-color,#007bff);color:white;border-color:var(--theme-accent-color,#007bff);transform:translateY(-1px)}.recollection-memory-summary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.recollection-memory-summary-btn .btn-icon{display:flex;align-items:center;justify-content:center}.recollection-memory-summary-btn .btn-text{font-size:12px}.recollection-memory-summary-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}.recollection-modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);cursor:pointer;transition:all .2s ease}.recollection-modal-overlay.locked{cursor:not-allowed;background:rgba(0,0,0,.6)}.recollection-modal-content{position:relative;background:var(--theme-bg-primary,#ffffff);border-radius:12px;box-shadow:var(--theme-shadow-heavy,0 4px 16px rgba(0,0,0,.2));max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:recollection-modal-slide-in .3s ease;margin-top:-16px}@keyframes recollection-modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.recollection-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--theme-border-color,#e0e0e0);background:var(--theme-bg-secondary,#f8f9fa)}.recollection-modal-header h3{margin:0;font-size:18px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-modal-close{background:none;border:none;font-size:24px;color:var(--theme-text-secondary,#6c757d);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.recollection-modal-close:hover{background:var(--theme-bg-tertiary,#e9ecef);color:var(--theme-text-primary,#1f1f1f)}.recollection-modal-close.disabled{color:var(--theme-text-tertiary,#adb5bd);cursor:not-allowed;opacity:.5}.recollection-modal-close.disabled:hover{background:none;color:var(--theme-text-tertiary,#adb5bd)}.recollection-modal-body{flex:1;padding:24px;overflow-y:auto}.recollection-generating{text-align:center;padding:40px 20px}.recollection-generating .recollection-spinner{width:40px;height:40px;border-top:3px solid var(--theme-border-light,#e9ecef);border:3px solid var(--theme-border-light,#e9ecef);border-top-color:var(--theme-accent-color,#007bff);border-radius:50%;animation:recollection-memory-spin 1s linear infinite;margin:0 auto 20px}@keyframes recollection-memory-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.recollection-generating p{margin:0 0 16px;color:var(--theme-text-secondary,#6c757d);font-size:16px}.recollection-lock-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--theme-bg-tertiary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;margin-top:16px;font-size:14px;color:var(--theme-text-secondary,#6c757d)}.recollection-lock-icon{font-size:16px;opacity:.8}.recollection-streaming-preview{margin-top:24px;padding:20px;background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;max-height:300px;overflow-y:auto}.recollection-streaming-preview h5{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--theme-text-primary,#1f1f1f);display:flex;align-items:center;gap:8px}.recollection-streaming-preview h5:before{content:"⚡";font-size:16px;animation:recollection-streaming-pulse 1.5s ease-in-out infinite}@keyframes recollection-streaming-pulse{0%,to{opacity:1}50%{opacity:.5}}.recollection-streaming-content{position:relative;background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-light,#e9ecef);border-radius:6px;padding:16px;line-height:1.6;color:var(--theme-text-primary,#1f1f1f);font-size:14px;min-height:100px}.recollection-streaming-cursor{display:inline-block;color:var(--theme-accent-color,#007bff);font-weight:700;animation:recollection-cursor-blink 1s infinite;margin-left:2px}@keyframes recollection-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.recollection-streaming-content .recollection-markdown-renderer{font-size:14px;line-height:1.6}.recollection-streaming-content .recollection-h1{font-size:18px;margin:12px 0 6px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-h2{font-size:16px;margin:10px 0 4px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-h3{font-size:15px;margin:8px 0 3px;color:var(--theme-text-primary,#1f1f1f)}.recollection-streaming-content .recollection-paragraph{margin:6px 0;font-size:14px}.recollection-streaming-content .recollection-blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--theme-accent-color,#007bff);background:var(--theme-bg-tertiary,#f1f3f4);border-radius:0 4px 4px 0}.recollection-streaming-content .recollection-ordered-list,.recollection-streaming-content .recollection-unordered-list{margin:6px 0;padding-left:16px}.recollection-streaming-content .recollection-list-item,.recollection-streaming-content .recollection-ordered-item{margin:3px 0;font-size:14px}.recollection-error{text-align:center;padding:40px 20px}.recollection-error p{margin:0 0 20px;color:var(--theme-error-color,#dc3545);font-size:16px}.recollection-retry-btn{padding:10px 20px;background:var(--theme-accent-color,#007bff);color:white;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.recollection-retry-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-1px)}.recollection-start{text-align:center;padding:20px}.recollection-start p{margin:0 0 16px;color:var(--theme-text-secondary,#6c757d);line-height:1.6;font-size:14px}.recollection-generate-btn{padding:12px 24px;background:var(--theme-accent-color,#007bff);color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:20px}.recollection-generate-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-2px);box-shadow:var(--theme-shadow-medium,0 4px 12px rgba(0,0,0,.1))}.recollection-message-range{margin:20px 0;padding:20px;background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px}.recollection-message-range h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-range-options{display:flex;flex-direction:column;gap:16px}.recollection-range-option-group{background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:16px;margin-bottom:16px}.recollection-range-option-group:last-child{margin-bottom:0}.recollection-range-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--theme-border-light,#f0f0f0)}.recollection-range-header input[type=radio]{margin:0;cursor:pointer}.recollection-range-header span{font-size:14px;color:var(--theme-text-primary,#1f1f1f);font-weight:500}.recollection-range-input-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.recollection-range-input-row:last-child{margin-bottom:0}.recollection-range-input-row span{font-size:13px;color:var(--theme-text-secondary,#6c757d);white-space:nowrap}.recollection-range-slider-row{display:flex;justify-content:center;margin-top:8px}.recollection-range-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--theme-bg-primary,#ffffff);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:6px;cursor:pointer;transition:all .2s ease}.recollection-range-option:hover{border-color:var(--theme-accent-color,#007bff);background:var(--theme-bg-secondary,#f8f9fa)}.recollection-range-option input[type=radio]{margin:0;cursor:pointer}.recollection-range-option span{font-size:14px;color:var(--theme-text-primary,#1f1f1f);font-weight:500}.recollection-input-group{display:flex;flex-direction:column;gap:8px;align-items:center}.recollection-count-input,.recollection-range-input{width:80px;padding:6px 8px;border:1px solid var(--theme-border-color,#e0e0e0);border-radius:4px;font-size:14px;text-align:center;background:var(--theme-bg-primary,#ffffff);color:var(--theme-text-primary,#1f1f1f)}.recollection-count-slider,.recollection-range-slider{width:120px;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.recollection-count-slider::-webkit-slider-thumb,.recollection-range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#666666;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease}.recollection-count-slider::-webkit-slider-thumb:hover,.recollection-range-slider::-webkit-slider-thumb:hover{background:#333333;transform:scale(1.1)}.recollection-count-slider::-moz-range-thumb,.recollection-range-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#666666;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease}.recollection-count-slider::-moz-range-thumb:hover,.recollection-range-slider::-moz-range-thumb:hover{background:#333333;transform:scale(1.1)}.recollection-count-slider:disabled,.recollection-range-slider:disabled{background:#f1f3f4;cursor:not-allowed}.recollection-count-slider:disabled::-webkit-slider-thumb,.recollection-range-slider:disabled::-webkit-slider-thumb{background:#adb5bd;cursor:not-allowed}.recollection-count-slider:disabled::-moz-range-thumb,.recollection-range-slider:disabled::-moz-range-thumb{background:#adb5bd;cursor:not-allowed}.recollection-count-input:disabled,.recollection-range-input:disabled{background:var(--theme-bg-tertiary,#f1f3f4);color:var(--theme-text-tertiary,#adb5bd);cursor:not-allowed}.recollection-custom-range{display:flex;align-items:flex-start;gap:12px;margin-left:8px;flex-wrap:wrap}.recollection-custom-range span{font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-range-info{margin-top:16px;padding:12px;background:var(--theme-bg-secondary,#f8f9fa);border-radius:6px;border-left:3px solid var(--theme-accent-color,#007bff)}.recollection-range-info p{margin:0 0 4px;font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-range-info p:last-child{margin-bottom:0;font-weight:500;color:var(--theme-text-primary,#1f1f1f)}.recollection-summary-result{padding:0}.recollection-summary-result h4{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-summary-content{background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;padding:20px;margin-bottom:20px;color:var(--theme-text-primary,#1f1f1f);max-height:300px;overflow-y:auto}.recollection-summary-content,.recollection-summary-content .recollection-markdown-renderer{line-height:1.6;font-size:14px}.recollection-summary-content .recollection-h1{font-size:20px;margin:16px 0 8px}.recollection-summary-content .recollection-h2{font-size:18px;margin:14px 0 6px}.recollection-summary-content .recollection-h3{font-size:16px;margin:12px 0 4px}.recollection-summary-content .recollection-paragraph{margin:8px 0;font-size:14px}.recollection-summary-content .recollection-code-block{font-size:12px;padding:12px;margin:12px 0}.recollection-summary-content .recollection-inline-code{font-size:13px;padding:2px 4px}.recollection-summary-content .recollection-html-content{padding:12px;margin:8px 0}.recollection-summary-content .recollection-blockquote{margin:12px 0;padding:12px 16px}.recollection-summary-content .recollection-ordered-list,.recollection-summary-content .recollection-unordered-list{margin:8px 0;padding-left:20px}.recollection-summary-content .recollection-list-item,.recollection-summary-content .recollection-ordered-item{margin:4px 0;font-size:14px}.recollection-token-stats{background:var(--theme-bg-tertiary,#f1f3f4);border:1px solid var(--theme-border-light,#e9ecef);border-radius:8px;padding:16px;margin-bottom:20px}.recollection-token-stats h5{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--theme-text-primary,#1f1f1f)}.recollection-token-details{display:flex;flex-direction:column;gap:8px}.recollection-token-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.recollection-token-item.recollection-token-total{border-top:1px solid var(--theme-border-color,#e0e0e0);padding-top:12px;margin-top:4px;font-weight:600}.recollection-token-label{font-size:13px;color:var(--theme-text-secondary,#6c757d)}.recollection-token-value{font-size:13px;font-weight:500;color:var(--theme-text-primary,#1f1f1f);background:var(--theme-accent-color,#007bff);color:white;padding:2px 8px;border-radius:4px;min-width:40px;text-align:center}.recollection-token-item.recollection-token-total .recollection-token-value{background:var(--theme-success-color,#28a745);font-weight:600}.recollection-summary-actions{display:flex;gap:12px;justify-content:center}.recollection-complete-btn,.recollection-regenerate-btn,.recollection-save-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.recollection-save-btn{background:var(--theme-success-color,#28a745);color:white}.recollection-save-btn:hover{background:#218838;transform:translateY(-1px)}.recollection-regenerate-btn{background:var(--theme-bg-tertiary,#e9ecef);color:var(--theme-text-secondary,#6c757d);border:1px solid var(--theme-border-color,#e0e0e0)}.recollection-regenerate-btn:hover{background:var(--theme-border-light,#e9ecef);color:var(--theme-text-primary,#1f1f1f)}.recollection-complete-btn{background:var(--theme-accent-color,#007bff);color:white}.recollection-complete-btn:hover{background:var(--theme-accent-hover,#0056b3);transform:translateY(-1px)}@media (max-width:768px){.recollection-memory-summary-modal{padding:10px}.recollection-modal-content{max-height:90vh}.recollection-modal-header{padding:16px 20px}.recollection-modal-body{padding:20px}.recollection-summary-actions{flex-direction:column}.recollection-complete-btn,.recollection-regenerate-btn,.recollection-save-btn{width:100%}.recollection-range-options{gap:12px}.recollection-range-option{flex-direction:column;align-items:flex-start;gap:8px}.recollection-custom-range{margin-left:0;flex-wrap:wrap}.recollection-count-input,.recollection-count-slider,.recollection-range-input,.recollection-range-slider{width:100px}.recollection-input-group{gap:6px}}.theme-dark .recollection-memory-summary-btn{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-modal-content{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-modal-header,.theme-dark .recollection-summary-content{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-summary-content{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-token-stats{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-token-item.recollection-token-total,.theme-dark .recollection-token-stats{border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-lock-notice{color:var(--theme-text-secondary,#b0b0b0)}.theme-dark .recollection-lock-notice,.theme-dark .recollection-message-range{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-range-option{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-range-option:hover{background:var(--theme-bg-secondary,#2d2d2d);border-color:var(--theme-accent-color,#66b3ff)}.theme-dark .recollection-count-input,.theme-dark .recollection-range-input{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-count-input:disabled,.theme-dark .recollection-range-input:disabled{background:var(--theme-bg-tertiary,#404040);color:var(--theme-text-tertiary,#666666)}.theme-dark .recollection-range-info{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-range-option-group{background:var(--theme-bg-primary,#1a1a1a)}.theme-dark .recollection-range-header,.theme-dark .recollection-range-option-group,.theme-dark .recollection-streaming-preview{border-color:var(--theme-border-color,#404040)}.theme-dark .recollection-streaming-preview{background:var(--theme-bg-secondary,#2d2d2d)}.theme-dark .recollection-streaming-preview h5{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content{background:var(--theme-bg-primary,#1a1a1a);border-color:var(--theme-border-color,#404040);color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content .recollection-h1,.theme-dark .recollection-streaming-content .recollection-h2,.theme-dark .recollection-streaming-content .recollection-h3{color:var(--theme-text-primary,#ffffff)}.theme-dark .recollection-streaming-content .recollection-blockquote{background:var(--theme-bg-secondary,#2d2d2d);border-left-color:var(--theme-accent-color,#66b3ff)}.recollection-count-input,.recollection-memory-summary-btn,.recollection-message-range,.recollection-modal-content,.recollection-modal-header,.recollection-range-header,.recollection-range-info,.recollection-range-input,.recollection-range-option,.recollection-range-option-group,.recollection-summary-content,.recollection-token-item,.recollection-token-stats{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.action-btn.instant-reply-btn{background:var(--theme-bg-secondary,#f8f9fa);border-color:var(--theme-border-color,#e0e0e0);transition:all .2s ease}.action-btn.instant-reply-btn:hover:not(:disabled){background:var(--theme-bg-tertiary,#e9ecef);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.action-btn.instant-reply-btn.active{background:linear-gradient(135deg,#007bff,#0056b3);color:white;border-color:#007bff;box-shadow:0 2px 8px rgba(0,123,255,.3)}.action-btn.instant-reply-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);border-color:#0056b3;box-shadow:0 4px 12px rgba(0,123,255,.4)}.action-btn.story-mode-btn{background:var(--theme-bg-secondary,#f8f9fa);border-color:var(--theme-border-color,#e0e0e0);transition:all .2s ease}.action-btn.story-mode-btn:hover:not(:disabled){background:var(--theme-bg-tertiary,#e9ecef);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.action-btn.story-mode-btn.active{background:linear-gradient(135deg,#28a745,#20c997);color:white;border-color:#28a745;box-shadow:0 2px 8px rgba(40,167,69,.3)}.action-btn.story-mode-btn.active:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1e7e34);border-color:#218838;box-shadow:0 4px 12px rgba(40,167,69,.4)}@media (max-width:767px){.input-container{padding:12px 15px}.action-buttons-row{gap:4px;margin-bottom:8px}.action-btn{background:none;border:none;font-size:16px;color:var(--theme-text-secondary,#666);cursor:pointer;padding:4px;border-radius:50%;transition:background-color .2s;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-btn .btn-text{display:none}.action-btn.instant-reply-btn .btn-text,.action-btn.story-mode-btn .btn-text{display:inline}.action-btn.instant-reply-btn{background:var(--theme-bg-secondary,#f8f9fa)!important;border:1px solid var(--theme-border-color,#e0e0e0)!important;border-radius:20px!important;padding:6px 12px!important;min-width:auto!important;min-height:32px!important;max-width:none!important;max-height:none!important;width:auto!important;height:auto!important;font-size:12px!important;color:var(--theme-text-primary,#333)!important}.action-btn.instant-reply-btn.active{background:linear-gradient(135deg,#007bff,#0056b3)!important;color:white!important;border-color:#007bff!important}.action-btn.story-mode-btn{background:var(--theme-bg-secondary,#f8f9fa)!important;border:1px solid var(--theme-border-color,#e0e0e0)!important;border-radius:20px!important;padding:6px 12px!important;min-width:auto!important;min-height:32px!important;max-width:none!important;max-height:none!important;width:auto!important;height:auto!important;font-size:12px!important;color:var(--theme-text-primary,#333)!important}.action-btn.story-mode-btn.active{background:linear-gradient(135deg,#28a745,#20c997)!important;color:white!important;border-color:#28a745!important}.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;width:28px!important;height:28px!important}}@media (max-width:480px){.input-container{padding:10px 12px}.action-buttons-row{gap:2px;margin-bottom:6px}.action-btn{padding:3px;min-width:24px;min-height:24px}.action-btn.instant-reply-btn,.action-btn.story-mode-btn{padding:4px 8px!important;min-width:auto!important;min-height:28px!important;font-size:11px!important}.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;width:24px!important;height:24px!important}}@media (max-width:360px){.action-buttons-row{gap:2px;margin-bottom:4px}.action-btn{padding:2px;min-width:20px;min-height:20px;font-size:12px}.action-btn.instant-reply-btn,.action-btn.story-mode-btn{padding:3px 6px!important;min-width:auto!important;min-height:24px!important;font-size:10px!important}.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;width:20px!important;height:20px!important}}@media (max-width:767px){.send-btn{padding:6px 12px;font-size:12px;border-radius:12px;min-width:60px;min-height:32px}}@media (max-width:480px){.send-btn{padding:5px 10px;font-size:11px;border-radius:10px;min-width:50px;min-height:28px}}@media (max-width:360px){.send-btn{padding:4px 8px;font-size:10px;border-radius:8px;min-width:45px;min-height:26px}}@media (max-width:767px){.generate-btn{padding:6px 12px;font-size:12px;border-radius:12px;min-width:60px;min-height:32px}}@media (max-width:480px){.generate-btn{padding:5px 10px;font-size:11px;border-radius:10px;min-width:50px;min-height:28px}}@media (max-width:360px){.generate-btn{padding:4px 8px;font-size:10px;border-radius:8px;min-width:45px;min-height:26px}}.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);border-bottom:1px solid var(--theme-border-color,#e0e0e0);z-index:10;position:sticky;top:0;left:0;right:0;min-height:60px}@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-btn{background:none;border:none;font-size:24px;color:var(--theme-accent-color,#007bff);cursor:pointer;padding:5px;margin-right:15px;border-radius:50%;transition:background-color .2s}.chat-header .back-btn:hover{background-color:var(--theme-bg-tertiary,rgba(0,123,255,.1))}@media (max-width:767px){.chat-header .back-btn{font-size:18px;margin-right:10px}}@media (max-width:480px){.chat-header .back-btn{font-size:16px;margin-right:8px}}.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)}@media (max-width:767px){.chat-name{font-size:15px;line-height:1.2}}@media (max-width:480px){.chat-name{font-size:14px;line-height:1.1}}.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:20px;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:15px;gap:12px}.load-more-btn{padding:8px 16px;font-size:13px;min-width:100px}}@media (max-width:480px){.messages-container{padding:12px;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;gap:10px;max-width:80%;position:relative}.user-message{align-self:flex-end;flex-direction:row-reverse}.ai-message{align-self:flex-start}.message-avatar img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--theme-border-color,#e0e0e0)}@media (max-width:767px){.message-avatar img{width:38px;height:38px}}@media (max-width:480px){.message-avatar img{width:32px;height:32px}}.message-content{display:flex;flex-direction:column;gap:5px}.user-message .message-content{align-items:flex-end}.ai-message .message-content{align-items:flex-start}.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}.message-avatar img{width:28px;height:28px}}.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}.message-bubble{padding:12px 16px;border-radius:18px;font-size:16px;line-height:1.5;word-wrap:break-word;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,white);border-bottom-right-radius:6px}.ai-message .message-bubble{background:var(--theme-message-ai-bg,white);color:var(--theme-message-ai-text,#1f1f1f);border:1px solid var(--theme-border-color,#e0e0e0);border-bottom-left-radius:6px}.message-bubble:has(.red-packet-message){background:none!important;border:none!important;padding:0!important}.ai-message .message-bubble .red-packet-message,.user-message .message-bubble .red-packet-message{margin:0!important}.ai-message:has(.red-packet-message) .message-bubble,.user-message:has(.red-packet-message) .message-bubble{background:none!important;border:none!important;padding:0!important}.message-bubble:has(.extra-info-inline){background:none!important;border:none!important;padding:0!important}.ai-message .message-bubble .extra-info-inline,.user-message .message-bubble .extra-info-inline{margin:0!important}.ai-message:has(.extra-info-inline) .message-bubble,.user-message:has(.extra-info-inline) .message-bubble{background:none!important;border:none!important;padding:0!important}@media (max-width:767px){.message{max-width:85%}.message-bubble{padding:10px 14px;font-size:15px;line-height:1.5}}@media (max-width:480px){.message{max-width:90%}.message-bubble{padding:8px 12px;font-size:14px;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)}.input-container,.typing-indicator{position:relative}.input-container{padding:15px 20px;background-color:var(--theme-bg-primary,white);border-top:1px solid var(--theme-border-color,#e0e0e0)}.action-buttons-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 5px}.action-buttons-left,.action-buttons-right{display:flex;align-items:center;gap:10px}.action-btn{display:flex;align-items:center;gap:6px;background:var(--theme-bg-secondary,#f8f9fa);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--theme-text-primary,#333);white-space:nowrap;min-width:70px;min-height:36px;max-width:fit-content;box-sizing:border-box}.action-btn:hover:not(:disabled){background:var(--theme-bg-tertiary,#e9ecef);transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.action-btn .btn-icon{font-size:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px}.action-btn .btn-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;display:inline}.action-btn.red-packet-btn{background:linear-gradient(135deg,#ff6b6b,#ff8e8e);color:white;border-color:#ff6b6b;box-shadow:0 2px 8px rgba(255,107,107,.3)}.action-btn.red-packet-btn:hover:not(:disabled){background:linear-gradient(135deg,#ff5252,#ff7979);border-color:#ff5252;box-shadow:0 4px 12px rgba(255,107,107,.4)}@media (max-width:767px){.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;width:28px!important;height:28px!important}.action-btn.red-packet-btn:hover:not(:disabled){background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}.action-buttons-row{gap:4px;margin-bottom:8px}.action-btn{background:none;border:none;font-size:16px;color:var(--theme-text-secondary,#666);cursor:pointer;padding:4px;border-radius:50%;transition:background-color .2s;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.action-btn,.action-btn .btn-icon{flex-shrink:0}.action-btn .btn-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.action-btn .btn-text{display:none}.action-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)}}@media (max-width:480px){.action-buttons-row{gap:2px;margin-bottom:6px}.action-btn{background:none;border:none;color:var(--theme-text-secondary,#666);cursor:pointer;padding:3px;border-radius:50%;transition:background-color .2s;min-width:24px;min-height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-btn .btn-icon{font-size:14px;flex-shrink:0}.action-btn .btn-text{display:none}.action-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)}.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:24px!important;min-height:24px!important;max-width:24px!important;max-height:24px!important;width:24px!important;height:24px!important}.action-btn.red-packet-btn:hover:not(:disabled){background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}}@media (max-width:360px){.action-buttons-row{gap:2px;margin-bottom:4px}.action-btn{background:none;border:none;color:var(--theme-text-secondary,#666);cursor:pointer;padding:2px;border-radius:50%;transition:background-color .2s;min-width:20px;min-height:20px;display:flex;align-items:center;justify-content:center}.action-btn,.action-btn .btn-icon{font-size:12px;flex-shrink:0}.action-btn .btn-text{display:none}.action-btn:hover{background-color:var(--theme-bg-tertiary,#f0f0f0)}.action-btn.red-packet-btn{background:none!important;border:none!important;color:var(--theme-text-secondary,#666)!important;box-shadow:none!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;width:20px!important;height:20px!important}.action-btn.red-packet-btn:hover:not(:disabled){background-color:var(--theme-bg-tertiary,#f0f0f0)!important;border:none!important;box-shadow:none!important}}@media (max-width:767px){.input-container{padding:12px 15px}}@media (max-width:480px){.input-container{padding:10px 12px}}.quote-preview{display:flex;align-items:center;justify-content:space-between;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:10px;border-radius:8px;font-size:12px}.quote-preview-content{flex:1}.quote-preview-sender{font-weight:500;color:var(--theme-accent-color,#007bff);margin-right:8px}.quote-preview-text{color:var(--theme-text-secondary,#555)}.quote-cancel{background:none;border:none;font-size:16px;color:var(--theme-text-secondary,#666);cursor:pointer;padding:4px;border-radius:50%;margin-left:8px}.quote-cancel:hover{background-color:var(--theme-bg-tertiary,rgba(0,0,0,.1))}.mention-list{position:absolute;bottom:100%;left:20px;right:20px;background:var(--theme-bg-primary,white);border:1px solid var(--theme-border-color,#e0e0e0);border-radius:8px;box-shadow:var(--theme-shadow-heavy,0 4px 12px rgba(0,0,0,.15));max-height:200px;overflow-y:auto;z-index:100}.mention-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:background-color .2s}.mention-item:hover{background-color:var(--theme-bg-secondary,#f8f9fa)}.mention-item:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mention-item:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mention-avatar{border-radius:50%;margin-right:12px;object-fit:cover}.mention-name{font-size:14px;color:var(--theme-text-primary,#333);font-weight:500}.input-wrapper{display:flex;align-items:flex-end;gap:10px;background-color:var(--theme-bg-secondary,#f8f9fa);border-radius:20px;padding:8px 15px;border:1px solid var(--theme-border-color,#e0e0e0)}.send-buttons{display:flex;align-items:center;gap:8px;flex-shrink:0}@media (max-width:767px){.send-buttons{gap:6px}}@media (max-width:480px){.send-buttons{gap:4px}}@media (max-width:360px){.send-buttons{gap:3px}}@media (max-width:767px){.input-wrapper{gap:8px;padding:6px 12px;border-radius:16px}}@media (max-width:480px){.input-wrapper{gap:6px;padding:5px 10px;border-radius:14px}}@media (max-width:360px){.input-wrapper{gap:4px;padding:4px 8px;border-radius:12px}}.input-wrapper textarea{flex:1;border:none;background:none;resize:none;outline:none;font-size:14px;line-height:1.4;max-height:96px;min-height:32px;font-family:inherit;color:var(--theme-text-primary,#1f1f1f)}.input-wrapper textarea::placeholder{color:var(--theme-text-tertiary,#8a8a8a)}@media (max-width:767px){.input-wrapper textarea{font-size:13px;max-height:80px}}@media (max-width:480px){.input-wrapper textarea{font-size:12px;max-height:60px}}.send-btn{display:flex;align-items:center;gap:4px;background-color:var(--theme-accent-color,#007bff);color:white;border:none;border-radius:15px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px rgba(0,123,255,.3);min-width:70px;min-height:36px;box-sizing:border-box}.send-btn:hover:not(:disabled){background-color:var(--theme-accent-hover,#0056b3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,123,255,.4)}.send-btn:disabled{background-color:var(--theme-text-secondary,#6c757d);cursor:not-allowed;transform:none;box-shadow:none}.send-btn .btn-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px}.send-btn .btn-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.send-btn .btn-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}@media (max-width:767px){.send-btn{padding:6px 12px;font-size:12px;border-radius:12px;min-width:60px;min-height:32px}.send-btn .btn-icon{flex-shrink:0}.send-btn .btn-icon svg{width:12px;height:12px}.send-btn .btn-text{font-size:11px;white-space:nowrap}}@media (max-width:480px){.send-btn{padding:5px 10px;font-size:11px;border-radius:10px;min-width:50px;min-height:28px}.send-btn .btn-icon{flex-shrink:0}.send-btn .btn-icon svg{width:11px;height:11px}.send-btn .btn-text{font-size:10px;white-space:nowrap}}@media (max-width:360px){.send-btn{padding:4px 8px;font-size:10px;border-radius:8px;min-width:45px;min-height:26px}.send-btn .btn-icon{flex-shrink:0}.send-btn .btn-icon svg{width:10px;height:10px}.send-btn .btn-text{font-size:9px;white-space:nowrap}}.generate-btn{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,#28a745,#34ce57);color:white;border:none;border-radius:15px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px rgba(40,167,69,.3);min-width:70px;min-height:36px;box-sizing:border-box}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#218838,#28a745);transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,.4)}.generate-btn:disabled{background:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}.generate-btn .btn-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:16px}.generate-btn .btn-icon svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.generate-btn .btn-text{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}@media (max-width:767px){.generate-btn{padding:6px 12px;font-size:12px;border-radius:12px;min-width:60px;min-height:32px}.generate-btn .btn-icon{flex-shrink:0}.generate-btn .btn-icon svg{width:12px;height:12px}.generate-btn .btn-text{font-size:11px;white-space:nowrap}}@media (max-width:480px){.generate-btn{padding:5px 10px;font-size:11px;border-radius:10px;min-width:50px;min-height:28px}.generate-btn .btn-icon{flex-shrink:0}.generate-btn .btn-icon svg{width:11px;height:11px}.generate-btn .btn-text{font-size:10px;white-space:nowrap}}@media (max-width:360px){.generate-btn{padding:4px 8px;font-size:10px;border-radius:8px;min-width:45px;min-height:26px}.generate-btn .btn-icon{flex-shrink:0}.generate-btn .btn-icon svg{width:10px;height:10px}.generate-btn .btn-text{font-size:9px;white-space:nowrap}}.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:38px;height:38px;margin-right:8px;flex-shrink:0;display:flex;align-items:flex-start;align-self:flex-start}.group-message .avatar-image{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--theme-border-color,#e0e0e0)}.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:85%;padding:10px 14px;font-size:15px;line-height:1.5;border-radius:16px}.group-message.user-message .message-bubble{background:var(--theme-message-user-bg,#007bff);color:var(--theme-message-user-text,white);margin-left:auto;border-bottom-right-radius:6px;align-self:flex-end;min-width:fit-content;max-width:70%}.group-message.ai-message .message-bubble{background:var(--theme-message-ai-bg,white);color:var(--theme-message-ai-text,#333);border:1px solid var(--theme-border-color,#e0e0e0);border-bottom-left-radius:6px;box-shadow:var(--theme-shadow-light,0 1px 3px rgba(0,0,0,.1));align-self:flex-start}.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){.group-message{gap:6px;margin-bottom:10px}.group-message .avatar-image,.group-message .message-avatar{width:30px;height:30px}.group-message .message-sender{font-size:11px;max-width:150px}.group-message .message-bubble{max-width:85%;padding:8px 12px;font-size:14px;line-height:1.5}.message-avatar img{width:30px;height:30px}.group-message.user-message .message-bubble{min-width:fit-content;max-width:85%}}@media (max-width:480px){.group-message{gap:4px;margin-bottom:8px}.group-message .message-avatar{width:28px;height:28px}.group-message .message-sender{font-size:10px;max-width:120px}.group-message .message-bubble{max-width:90%;padding:6px 10px;font-size:13px;line-height:1.5}.group-message.user-message .message-bubble{min-width:fit-content;max-width:90%}}@media (min-width:768px) and (max-width:1023px){.group-message .message-bubble,.message{max-width:75%}.group-message .message-sender{max-width:250px}}@media (min-width:1024px){.group-message .message-bubble,.message{max-width:70%}.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:10px 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}.image-message,.image-placeholder{display:flex;align-items:center}.image-placeholder{background-color:var(--theme-bg-tertiary,#f0f0f0);border:2px dashed var(--theme-border-color,#ccc);border-radius:8px;padding:20px;text-align:center;color:var(--theme-text-secondary,#666);font-size:14px;cursor:pointer;transition:all .2s ease;flex-direction:column;justify-content:center;width:200px;height:150px}.image-placeholder:hover{background-color:var(--theme-bg-secondary,rgba(255,255,255,.9));border-color:var(--theme-accent-color,#007bff);transform:scale(1.02)}.image-icon{font-size:32px;margin-bottom:8px}.image-description{font-size:16px;font-weight:500;margin-bottom:4px}.image-hint{font-size:12px;color:var(--theme-text-tertiary,#999)}.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){.image-placeholder{background-color:#2a2a2a;border-color:#444;color:#ccc}.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}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@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:8px;margin-top:2px;padding:0 5px}.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:6px;margin-top:1px}.message-footer .message-time{font-size:12px}}@media (max-width:480px){.message-footer{gap:4px}.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}}