.feedback-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.feedback-modal{background:#fff;border-radius:20px;padding:40px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.feedback-close{position:absolute;top:20px;right:20px;background:#f3f4f6;border:none;border-radius:50%;width:36px;height:36px;font-size:1.2em;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:#6b7280}.feedback-close:hover{background:#e5e7eb;transform:rotate(90deg)}.feedback-title{font-size:1.8em;margin-bottom:30px;color:#0891b2;font-weight:700}.feedback-form{display:flex;flex-direction:column;gap:20px}.feedback-field{display:flex;flex-direction:column;gap:8px}.feedback-field label{font-weight:600;color:#374151;font-size:.95em}.feedback-field input,.feedback-field select,.feedback-field textarea{padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1em;font-family:inherit;transition:all .2s ease}.feedback-field input:focus,.feedback-field select:focus,.feedback-field textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.feedback-field textarea{resize:vertical;min-height:120px}.feedback-submit{background:linear-gradient(135deg,#2193b0,#6dd5ed);color:#fff;border:none;border-radius:10px;padding:14px 28px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px}.feedback-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #2193b066}.feedback-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.feedback-status{padding:12px 16px;border-radius:10px;font-weight:600;text-align:center;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback-status.success{background:#d1fae5;color:#065f46}.feedback-status.error{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.feedback-modal{padding:30px 20px}.feedback-title{font-size:1.5em}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:20px}#root{max-width:1400px;margin:0 auto}.app{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.header{background:linear-gradient(135deg,#2193b0,#6dd5ed);color:#fff;padding:30px 40px}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto}.header-content>div{text-align:left}.header-buttons{display:flex;gap:12px;align-items:center}.header h1{font-size:2.5em;margin-bottom:10px;font-weight:700}.header p{font-size:1.1em;opacity:.95}.container{padding:40px}.upload-section{background:#f0f9ff;border:2px dashed #2193b0;border-radius:15px;padding:40px;text-align:center;margin-bottom:30px;transition:all .3s ease;cursor:pointer}.upload-section:hover{border-color:#0891b2;background:#e0f2fe;transform:translateY(-2px)}.upload-section.drag-over{border-color:#0891b2;background:#dbeafe;transform:scale(1.02)}.upload-icon{font-size:3em;margin-bottom:15px}.upload-section h2{color:#0891b2;margin-bottom:10px;font-size:1.5em}.upload-section p{color:#666;margin-bottom:20px}.file-input{display:none}.btn{padding:12px 30px;border:none;border-radius:25px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#2193b0,#6dd5ed);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 20px #2193b066}.btn-secondary{background:#e0f2fe;color:#0891b2;border:2px solid #0891b2}.btn-secondary:hover{background:#0891b2;color:#fff}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669;transform:translateY(-2px);box-shadow:0 5px 20px #10b98166}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.controls-left{display:flex;gap:10px;flex-wrap:wrap}.controls-right{display:flex;gap:10px}.chat-list{background:#f8f9fa;border-radius:15px;padding:20px;max-height:600px;overflow-y:auto}.chat-list::-webkit-scrollbar{width:8px}.chat-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.chat-list::-webkit-scrollbar-thumb{background:#0891b2;border-radius:10px}.chat-list::-webkit-scrollbar-thumb:hover{background:#0e7490}.chat-message{background:#fff;border-radius:12px;padding:20px;margin-bottom:15px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.chat-message:hover{transform:translate(5px);box-shadow:0 4px 12px #0000001f}.chat-message.selected{border-color:#0891b2;background:#f0f9ff}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.message-role{font-weight:600;padding:6px 14px;border-radius:20px;font-size:.9em;display:inline-block}.message-role.user{background:#dbeafe;color:#1e40af}.message-role.model{background:#dcfce7;color:#166534}.message-timestamp{color:#999;font-size:.85em}.message-content{color:#333;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.checkbox{width:20px;height:20px;cursor:pointer;accent-color:#0891b2}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state-icon{font-size:4em;margin-bottom:20px;opacity:.5}.empty-state h3{font-size:1.5em;margin-bottom:10px;color:#666}.stats{background:#f0f9ff;padding:15px 25px;border-radius:10px;display:inline-flex;gap:30px;margin-bottom:20px}.stat-item{display:flex;flex-direction:column}.stat-label{color:#666;font-size:.9em;margin-bottom:5px}.stat-value{color:#0891b2;font-size:1.5em;font-weight:700}@media (max-width: 768px){.header h1{font-size:1.8em}.container{padding:20px}.controls{flex-direction:column;align-items:stretch}.controls-left,.controls-right{width:100%;justify-content:center}.stats{flex-direction:column;gap:15px}}.export-preview{background:#fff;padding:40px;border-radius:10px;margin:20px 0;width:800px;max-width:800px;min-height:100px}.export-title{color:#0891b2;font-size:1.8em;margin-bottom:20px;text-align:center;font-weight:700}.loading{text-align:center;padding:20px;color:#0891b2;font-size:1.1em}.search-section{margin-bottom:25px}.search-box{display:flex;align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:12px 18px;transition:all .3s ease}.search-box:focus-within{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.search-icon{font-size:1.2em;margin-right:10px;color:#9ca3af}.search-input{flex:1;border:none;outline:none;font-size:1em;color:#333;background:transparent}.search-input::placeholder{color:#9ca3af}.clear-search{background:#f3f4f6;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;font-size:.9em;transition:all .2s ease}.clear-search:hover{background:#e5e7eb;color:#374151}.markdown-content{font-size:.95em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:.8em;margin-bottom:.4em;font-weight:600;color:#1f2937}.markdown-content h1{font-size:1.8em}.markdown-content h2{font-size:1.5em}.markdown-content h3{font-size:1.3em}.markdown-content h4{font-size:1.1em}.markdown-content p{margin-bottom:.6em;line-height:1.5}.markdown-content ul,.markdown-content ol{margin-bottom:.6em;padding-left:1.8em}.markdown-content li{margin-bottom:.3em;line-height:1.4}.markdown-content code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em;color:#dc2626}.markdown-content pre{background:#1f2937;color:#f3f4f6;padding:12px;border-radius:8px;overflow-x:auto;margin-bottom:.6em}.markdown-content pre code{background:transparent;padding:0;color:inherit;font-size:.9em}.markdown-content blockquote{border-left:4px solid #0891b2;padding-left:12px;margin:.6em 0;color:#6b7280;font-style:italic}.markdown-content a{color:#0891b2;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.markdown-content a:hover{border-bottom-color:#0891b2}.markdown-content table{width:100%;border-collapse:collapse;margin:.6em 0}.markdown-content table th,.markdown-content table td{border:1px solid #e5e7eb;padding:8px 12px;text-align:left}.markdown-content table th{background:#f9fafb;font-weight:600}.markdown-content img{max-width:100%;height:auto;border-radius:8px;margin:.6em 0}.markdown-content hr{border:none;border-top:2px solid #e5e7eb;margin:1em 0}.markdown-content strong{font-weight:600;color:#1f2937}.markdown-content em{font-style:italic}.feedback-btn,.language-toggle{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:25px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.feedback-btn:hover,.language-toggle:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}@media (max-width: 768px){.header-content{flex-direction:column;gap:20px}.header-content>div{text-align:center}.header-buttons{flex-direction:row;justify-content:center}}
