@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.semantic-search-container{margin:0 auto;max-width:1400px;padding:2rem}.semantic-search-header{margin-bottom:2rem;text-align:center}.semantic-search-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;font-size:2rem;margin-bottom:.5rem}.semantic-search-subtitle{color:#6b7280;font-size:1rem;margin:0 auto;max-width:600px}.search-input-container{margin-bottom:2rem}.search-input-wrapper{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;padding:.75rem 1rem;transition:all .3s ease}.search-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.search-icon{color:#9ca3af;margin-right:.75rem}.search-input{border:none;color:#1f2937;flex:1 1;font-size:1rem;outline:none}.search-input::placeholder{color:#9ca3af}.search-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-left:1rem;padding:.75rem 2rem;transition:all .3s ease}.search-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.search-button:disabled{cursor:not-allowed;opacity:.5}.results-comparison{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.results-column{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem}.keyword-column{border:2px solid #e5e7eb}.semantic-column{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #667eea}.results-header{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:.75rem;margin-bottom:.5rem;padding-bottom:1rem}.results-header h3{color:#1f2937;flex:1 1;font-size:1.25rem;margin:0}.semantic-header{border-bottom-color:#667eea}.results-count{background:#f3f4f6;border-radius:20px;color:#6b7280;font-size:.875rem;font-weight:600;padding:.25rem .75rem}.semantic-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.results-description{color:#6b7280;font-size:.875rem;margin-bottom:1rem}.results-list{max-height:600px;overflow-y:auto;padding-right:.5rem}.results-list::-webkit-scrollbar{width:6px}.results-list::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.results-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.results-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.result-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem;transition:all .3s ease}.result-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.semantic-card{border-left:3px solid #667eea}.result-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.result-number{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.75rem;font-weight:700;padding:.25rem .5rem}.similarity-score{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .75rem}.result-reviewer{color:#6b7280;font-size:.875rem;font-weight:500}.result-date{color:#9ca3af;font-size:.75rem}.result-text{color:#374151;line-height:1.6;margin:0}.no-results{color:#9ca3af;padding:3rem 1rem;text-align:center}.no-results p{font-size:1.125rem;margin-bottom:.5rem}.no-results-hint{color:#d1d5db;font-size:.875rem}.improvement-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:2rem}.stat-card{border:2px solid #e5e7eb;box-shadow:0 4px 6px #0000000d;text-align:center}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;font-size:2.5rem;margin-bottom:.5rem}.stat-label{font-weight:500}.example-queries{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:2rem;text-align:center}.example-queries h4{color:#374151;margin-bottom:1rem}.example-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.example-buttons button{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.example-buttons button:hover{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}@media (max-width:768px){.improvement-stats,.results-comparison{grid-template-columns:1fr}.search-input-wrapper{flex-direction:column;gap:1rem}.search-button{margin-left:0;width:100%}}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.app-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;box-shadow:0 4px 6px #0000001a;padding:2rem}.header-content{margin:0 auto;max-width:1400px;text-align:center}.header-content h1{align-items:center;color:#1f2937;display:flex;font-size:2rem;gap:1rem;justify-content:center;margin-bottom:.5rem}.header-logo{height:50px;object-fit:contain;width:50px}.header-content p{color:#6b7280;font-size:1.1rem;margin-bottom:.75rem}.data-source{align-items:center;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin-top:.5rem}.data-source-label{color:#9ca3af;font-weight:500}.data-source-link{align-items:center;color:#667eea;display:inline-flex;font-weight:600;gap:.25rem;text-decoration:none;transition:all .3s ease}.data-source-link:hover{color:#5568d3;text-decoration:underline}.app-container{margin:2rem auto;max-width:1400px;padding:0 1rem}.app-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.nav-btn{align-items:center;background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.nav-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.nav-btn.active{background:#fff;box-shadow:0 4px 6px #0000001a;color:#667eea}.app-main{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#f5f5f4,#e7e5e4);border-radius:16px;box-shadow:0 10px 30px #0003;min-height:600px;padding:2rem}.loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;height:400px;justify-content:center}.loading-spinner-container{height:60px;position:relative;width:60px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top-color:#667eea;height:60px;width:60px}.loading-icon{align-items:center;color:#667eea;display:flex;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.loading-icon,.loading-text{animation:pulse 2s ease-in-out infinite}.loading-text{color:#6b7280;font-size:1.2rem;font-weight:500}.loading-countdown{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin:.5rem 0}.countdown-number{animation:countdownPulse 1s ease-in-out infinite;color:#667eea;font-size:3rem;font-weight:700;text-shadow:0 2px 10px #667eea4d}.countdown-label{color:#9ca3af;font-size:.9rem;font-weight:500}@keyframes countdownPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.loading-dots{display:flex;gap:.5rem}.loading-dot{animation:bounce 1.4s ease-in-out infinite;background:#667eea;border-radius:50%;height:12px;width:12px}.loading-dot:first-child{animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard,.fade-in{animation:fadeIn .5s ease-out}.dashboard{display:flex;flex-direction:column;gap:2rem}.dataset-info-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:1rem 1.5rem}.dataset-info-content{align-items:center;color:#fff;display:flex;flex-wrap:wrap;font-weight:700;gap:1rem;justify-content:space-between}.dataset-info-text{color:#fff;display:flex;flex-direction:column;font-size:1rem;font-weight:700;gap:.25rem}.dataset-info-subtext{font-size:.85rem;font-weight:600;opacity:.9}.load-more-btn{background:#fff;border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#667eea;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.load-more-btn:hover:not(:disabled){box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.load-more-btn:disabled{cursor:not-allowed;opacity:.6}.loading-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:2rem;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.loading-modal-header{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.modal-icon{animation:pulse 2s ease-in-out infinite;color:#667eea}.loading-modal-header h2{color:#1f2937;font-size:1.5rem;margin:0;text-align:center}.loading-modal-body{display:flex;flex-direction:column;gap:1.5rem}.progress-info{display:flex;flex-direction:column;gap:.5rem;text-align:center}.progress-text{color:#374151;font-size:1.1rem}.progress-text strong{color:#667eea;font-size:1.3rem}.progress-batch{color:#6b7280;font-size:.9rem;font-weight:500}.progress-bar-container{background:#e5e7eb;height:24px;width:100%}.progress-bar-container,.progress-bar-fill{border-radius:12px;overflow:hidden;position:relative}.progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .5s ease}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-percentage{color:#667eea;font-size:2rem;font-weight:700;text-align:center}.progress-message{animation:pulse 2s ease-in-out infinite;color:#6b7280;font-size:1rem;font-weight:500;text-align:center}.estimated-time{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;color:#92400e;font-weight:600;padding:.75rem;text-align:center}.cancel-loading-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.cancel-loading-btn:hover{background:#dc2626;box-shadow:0 4px 8px #ef44444d;transform:translateY(-2px)}.cancel-message{animation:pulse 2s ease-in-out infinite;background:#fee2e2;border:1px solid #ef4444;border-radius:8px;color:#991b1b;font-weight:600;padding:.75rem;text-align:center}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;animation:fadeIn .5s ease-out;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.stat-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:60px;justify-content:center;width:60px}.stat-content{flex:1 1}.stat-label{color:#6b7280;font-size:.875rem;margin-bottom:.25rem}.stat-value{color:#1f2937;font-size:1.75rem;font-weight:700}.stat-percentage{color:#10b981;font-size:.875rem;font-weight:600}.charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.chart-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.chart-card h3{color:#1f2937;font-size:1.25rem;margin-bottom:1rem}.highlight-reviews{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.review-highlight{border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.review-highlight.positive{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-left:4px solid #10b981}.review-highlight.negative{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444}.review-highlight h3{align-items:center;color:#1f2937;display:flex;gap:.5rem;margin-bottom:1rem}.review-text{color:#374151;line-height:1.6;margin-bottom:1rem}.review-meta{color:#6b7280;display:flex;font-size:.875rem;justify-content:space-between}.review-meta .polarity{font-weight:600}.methodology-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:3rem;padding:2rem}.methodology-title{border-bottom:3px solid #667eea;color:#1f2937;font-size:1.75rem;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.methodology-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}.methodology-card{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-left:4px solid #667eea;border-radius:12px;padding:1.5rem}@media (max-width:968px){.methodology-grid{grid-template-columns:1fr}}.methodology-card h3{align-items:center;color:#1f2937;display:flex;font-size:1.1rem;gap:.5rem;justify-content:center;margin-bottom:1rem}.methodology-card p{color:#374151;line-height:1.6;margin-bottom:1rem}.methodology-card ul{list-style:none;margin:0;padding:0}.methodology-card li{color:#374151;line-height:1.8;margin-bottom:.5rem;padding-left:1rem;position:relative}.methodology-card li:before{color:#667eea;content:"▸";font-weight:700;left:-.2rem;position:absolute}.data-breakdown{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.breakdown-item{border-radius:8px;color:#1f2937;font-size:.95rem;padding:.75rem 1rem}.positive-bg{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-left:4px solid #10b981}.neutral-bg{background:linear-gradient(135deg,#e5e7eb,#d1d5db);border-left:4px solid #6b7280}.negative-bg{background:linear-gradient(135deg,#fee2e2,#fecaca);border-left:4px solid #ef4444}.data-note{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;color:#92400e;font-size:.9rem;line-height:1.6;margin-top:1rem;padding:1rem}.methodology-footer{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:1.5rem 2rem;text-align:left}.methodology-footer p{color:#fff;font-size:.95rem;font-weight:600;line-height:1.6;margin:0}.methodology-footer ul{list-style:none;margin:0;padding:0}.methodology-footer li{color:#fff;font-weight:600;line-height:1.8;margin-bottom:.5rem;padding-left:1rem;position:relative}.methodology-footer li:before{color:#fff;content:"▸";font-size:1rem;font-weight:700;left:-.2rem;position:absolute}.reviews-section{animation:fadeIn .5s ease-out;display:flex;flex-direction:column;gap:1.5rem}.reviews-controls{display:flex;flex-direction:column;gap:1rem}.search-bar{display:flex;gap:.5rem}.search-bar input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:1rem;padding:.75rem 1rem;transition:border-color .3s ease}.search-bar input:focus{border-color:#667eea;outline:none}.search-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:background .3s ease}.search-btn:hover{background:#5568d3}.filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.filter-btn:hover{background:#f3f4f6;border-color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.filter-btn.positive.active{background:#10b981;border-color:#10b981}.filter-btn.neutral.active{background:#6b7280;border-color:#6b7280}.filter-btn.negative.active{background:#ef4444;border-color:#ef4444}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-card{animation:fadeIn .4s ease-out;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease}.review-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.reviewer-info{display:flex;flex-direction:column;gap:.25rem}.reviewer-name{color:#1f2937;font-weight:600}.review-date{color:#6b7280;font-size:.875rem}.sentiment-badge{align-items:center;border-radius:20px;color:#fff;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;text-transform:capitalize}.sentiment-icon{height:20px;width:20px}.review-metrics{border-top:1px solid #e5e7eb;color:#6b7280;display:flex;font-size:.875rem;gap:1.5rem;margin-top:1rem;padding-top:1rem}.pagination{gap:1rem;justify-content:center;margin-top:2rem}.pagination,.pagination-btn{align-items:center;display:flex}.pagination-btn{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:.5rem;transition:all .3s ease}.pagination-btn:hover:not(:disabled){background:#f3f4f6;border-color:#667eea}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.page-info{color:#1f2937;font-weight:600}.analyzer-section{animation:fadeIn .5s ease-out;display:flex;justify-content:center}.analyzer-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;max-width:800px;padding:2rem;width:100%}.analyzer-card h2{color:#1f2937;margin-bottom:.5rem}.analyzer-description{color:#6b7280;margin-bottom:1.5rem;text-align:center}.analyzer-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.warning-header{align-items:center;color:#92400e;display:flex;font-size:1rem;gap:.5rem;margin-bottom:.75rem}.warning-text{color:#78350f;font-size:.9rem;line-height:1.5;margin-bottom:.75rem}.warning-examples{background:#fff;border-radius:6px;margin-bottom:.75rem;padding:1rem}.example-item{border-bottom:1px solid #fde68a;display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0}.example-item:last-child{border-bottom:none}.example-text{color:#1f2937;font-size:.9rem;font-style:italic}.example-result{color:#ef4444;font-size:.85rem;font-weight:500}.warning-footer{color:#78350f;font-size:.85rem;line-height:1.5;margin:0}.analyzer-input{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:1rem;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.analyzer-input:focus{border-color:#667eea;outline:none}.analyze-btn{align-items:center;background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-top:1rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.analyze-btn:hover{background:#5568d3;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.analyze-btn:active{transform:translateY(0)}.analyze-result{animation:fadeIn .5s ease-out;border-top:2px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.analyze-result h3{color:#1f2937;margin-bottom:1rem}.result-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.result-item{text-align:center}.result-label{color:#6b7280;font-size:.875rem;margin-bottom:.5rem}.result-value{color:#1f2937;font-size:1.5rem;font-weight:700}.result-hint{color:#9ca3af;font-size:.75rem;margin-top:.25rem}@media (max-width:768px){.app-header{padding:1.5rem}.header-content h1{font-size:1.5rem}.app-nav{flex-direction:column}.charts-grid,.highlight-reviews,.stats-grid{grid-template-columns:1fr}.reviews-controls{flex-direction:column}.review-header{align-items:flex-start}.review-header,.review-metrics{flex-direction:column;gap:.5rem}}
/*# sourceMappingURL=main.d8b13d93.css.map*/