.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#1e1e2e,#2a2a3e)}.header{background:#0000004d;padding:2rem;text-align:center;border-bottom:1px solid rgba(100,200,255,.2)}.header h1{font-size:2.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#64c8ff,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header p{color:#ffffffb3;font-size:1rem}.container{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(100,200,255,.1)}.tab{padding:.75rem 1.5rem;background:transparent;color:#fff9;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;transition:all .3s}.tab:hover{color:#ffffffe6}.tab.active{color:#64c8ff;border-bottom-color:#64c8ff}.tab:disabled{opacity:.5;cursor:not-allowed}.content{background:#0003;border:1px solid rgba(100,200,255,.2);border-radius:12px;padding:2rem;min-height:400px}.results-section{display:flex;flex-direction:column;gap:2rem}.footer{background:#0000004d;padding:1.5rem;text-align:center;border-top:1px solid rgba(100,200,255,.2);color:#ffffff80;font-size:.9rem}@media (max-width: 768px){.container{padding:1rem}.header h1{font-size:1.8rem}.content{padding:1rem}}.scraper-form{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-section{background:#64c8ff0d;border:1px solid rgba(100,200,255,.2);border-radius:8px;padding:1.5rem}.form-section h2{margin-bottom:1.5rem;color:#64c8ff}.form-section h3{margin-bottom:1rem;color:#64c8ff;font-size:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#fffc;font-weight:500;font-size:.9rem}.field-hint{margin-top:.5rem;font-size:.8rem;color:#fff9}.form-group input{width:100%;padding:.75rem;border:1px solid rgba(100,200,255,.3);border-radius:6px;background:#ffffff0d;color:#ffffffe6;font-size:.95rem;transition:all .3s}.form-group input:focus{outline:none;border-color:#64c8ff;background:#64c8ff1a}.form-group input:disabled{opacity:.5;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.source-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.source-btn{padding:.75rem;border:2px solid rgba(100,200,255,.2);border-radius:6px;background:#64c8ff0d;color:#ffffffb3;cursor:pointer;transition:all .3s;font-weight:500}.source-btn:hover{border-color:#64c8ff;color:#64c8ff}.source-btn.active{background:#64c8ff33;border-color:#64c8ff;color:#64c8ff}.submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#64c8ff,#0f8);color:#1e1e2e;border:none;border-radius:6px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s;margin-top:1rem}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #64c8ff4d}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#ff64641a;border:1px solid rgba(255,100,100,.3);color:#ff6464;padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.form-section.info ul{list-style:none;color:#ffffffb3;font-size:.9rem}.form-section.info li{margin-bottom:.75rem;padding-left:1.5rem;position:relative}.form-section.info li:before{content:"→";position:absolute;left:0;color:#64c8ff}.form-section.info strong{color:#ffffffe6}.feature-note{margin:0 0 1rem;font-size:.9rem;color:#ffffffd9}@media (max-width: 768px){.scraper-form,.source-buttons,.form-row{grid-template-columns:1fr}}.amazon-login-status{margin-bottom:1.5rem}.login-status{padding:1rem;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem}.login-status.checking{background:#ffffff0d;border:1px solid rgba(255,255,255,.2);color:#ffffffb3}.login-status.logged-in{background:#00ff881a;border:1px solid rgba(0,255,136,.3);color:#0f8}.login-status.not-logged-in{background:#ffc8641a;border:1px solid rgba(255,200,100,.3);color:#ffc864;flex-direction:column;align-items:flex-start}.login-btn,.login-refresh-btn{padding:.5rem 1rem;border:1px solid currentColor;border-radius:4px;background:#ffffff0d;color:currentColor;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .3s;margin-top:.5rem}.login-btn:hover:not(:disabled),.login-refresh-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-refresh-btn{padding:.4rem .8rem;font-size:.8rem;margin-top:0}.results-display{background:#64c8ff0d;border:1px solid rgba(100,200,255,.2);border-radius:8px;overflow:hidden}.results-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:#64c8ff1a;border-bottom:1px solid rgba(100,200,255,.2)}.results-header h2{color:#64c8ff;margin:0}.controls{display:flex;gap:1rem;align-items:center}.view-mode,.export-buttons{display:flex;gap:.5rem}.mode-btn,.export-btn{padding:.5rem 1rem;border:1px solid rgba(100,200,255,.3);background:#64c8ff0d;color:#ffffffb3;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s}.mode-btn:hover,.export-btn:hover{border-color:#64c8ff;background:#64c8ff26;color:#64c8ff}.mode-btn.active{background:#64c8ff33;border-color:#64c8ff;color:#64c8ff}.export-btn:disabled{opacity:.5;cursor:not-allowed}.table-container{overflow-x:auto;padding:1.5rem}.results-table{width:100%;border-collapse:collapse;font-size:.9rem}.results-table thead{background:#64c8ff1a}.results-table th{padding:1rem;text-align:left;color:#64c8ff;font-weight:700;border-bottom:2px solid rgba(100,200,255,.2)}.results-table td{padding:.75rem 1rem;color:#fffc;border-bottom:1px solid rgba(100,200,255,.1)}.results-table tbody tr:hover{background:#64c8ff0d}.json-view{padding:1.5rem;background:#0000004d;color:#0f8;font-family:Courier New,monospace;font-size:.85rem;overflow-x:auto;max-height:600px;border-radius:6px;margin:1.5rem}.empty-state{padding:3rem;text-align:center;color:#ffffff80}@media (max-width: 768px){.results-header{flex-direction:column;gap:1rem;align-items:flex-start}.controls{width:100%;flex-wrap:wrap}.table-container{overflow-x:scroll}.results-table{font-size:.8rem}.results-table th,.results-table td{padding:.5rem}}.job-status{background:#64c8ff0d;border:1px solid rgba(100,200,255,.2);border-radius:8px;padding:2rem}.job-status h2{color:#64c8ff;margin-bottom:1.5rem}.status-info{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.badge{padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase}.badge.queued{background:#ffc80033;color:#ffc800}.badge.processing{background:#00c8ff33;color:#00c8ff}.badge.completed{background:#0f83;color:#0f8}.badge.failed{background:#ff646433;color:#ff6464}.job-id{color:#ffffff80;font-size:.9rem;font-family:monospace}.progress-container{margin-bottom:1.5rem}.progress-bar{width:100%;height:8px;background:#64c8ff1a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#64c8ff,#0f8);border-radius:4px;transition:width .3s ease}.progress-text{display:inline-block;color:#ffffffb3;font-size:.9rem}.error-message{background:#ff64641a;border:1px solid rgba(255,100,100,.3);color:#ff6464;padding:1rem;border-radius:6px;margin-bottom:1rem}.status-messages{text-align:center;color:#ffffffb3}.status-messages p{margin:0;font-size:1rem}.topic-configurator{background:#1e293b;border:1px solid #374151;border-radius:8px;padding:20px;margin-bottom:20px}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.config-header h3{margin:0;color:#f1f5f9;font-size:16px}.config-actions{display:flex;gap:10px}.btn-default,.btn-add-topic{padding:8px 12px;border:1px solid #60a5fa;background:transparent;color:#60a5fa;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-default:hover,.btn-add-topic:hover{background:#60a5fa;color:#1e293b}.new-topic-form{background:#334155;border-left:3px solid #a78bfa;border-radius:4px;padding:15px;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{display:block;color:#cbd5e1;font-size:12px;font-weight:500;margin-bottom:5px}.form-group input,.form-group textarea{width:100%;padding:8px 10px;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#f1f5f9;font-family:inherit;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#60a5fa;background:#0f172a}.form-actions{display:flex;gap:10px;margin-top:15px}.btn-primary,.btn-cancel{flex:1;padding:10px 15px;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s}.btn-primary{background:#60a5fa;color:#1e293b}.btn-primary:hover{background:#3b82f6}.btn-cancel{background:#475569;color:#cbd5e1}.btn-cancel:hover{background:#64748b}.topics-list{display:flex;flex-direction:column;gap:15px}.topic-item{background:#334155;border:1px solid #475569;border-radius:6px;padding:15px}.topic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.topic-title{flex:1}.topic-title h4{margin:0 0 5px;color:#f1f5f9;font-size:14px}.topic-key{color:#94a3b8;font-size:11px;font-family:Courier New,monospace;background:#1e293b;padding:2px 6px;border-radius:3px;display:inline-block}.topic-actions{display:flex;gap:8px}.btn-edit,.btn-delete{padding:6px 10px;border:1px solid #475569;background:transparent;color:#cbd5e1;border-radius:4px;cursor:pointer;font-size:11px;transition:all .2s}.btn-edit:hover{border-color:#60a5fa;color:#60a5fa}.btn-edit.active{background:#60a5fa;color:#1e293b;border-color:#60a5fa}.btn-delete:hover{border-color:#ef4444;color:#ef4444}.topic-context{color:#cbd5e1;font-size:12px;font-style:italic;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #475569}.topic-keywords{display:flex;flex-direction:column;gap:10px}.keywords-header{display:flex;justify-content:space-between;align-items:center}.topic-keywords>label,.keywords-header>label{color:#94a3b8;font-size:11px;font-weight:500}.btn-suggest-keywords{padding:5px 10px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:none;color:#fff;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s;white-space:nowrap}.btn-suggest-keywords:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #8b5cf64d}.btn-suggest-keywords:disabled{opacity:.6;cursor:not-allowed}.keywords-list{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.no-keywords{color:#64748b;font-size:11px;font-style:italic;padding:4px 0}.keyword-badge{background:#1e293b;border:1px solid #60a5fa;color:#60a5fa;padding:4px 8px;border-radius:12px;font-size:11px;display:flex;align-items:center;gap:6px}.remove-keyword{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s}.remove-keyword:hover{opacity:1}.new-keyword-input{display:flex;gap:8px}.new-keyword-input input{flex:1;padding:6px 10px;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#f1f5f9;font-size:12px}.new-keyword-input input:focus{outline:none;border-color:#60a5fa}.new-keyword-input button{padding:6px 12px;background:#60a5fa;border:none;border-radius:4px;color:#1e293b;cursor:pointer;font-size:11px;font-weight:500;transition:all .2s}.new-keyword-input button:hover{background:#3b82f6}.empty-state{text-align:center;padding:20px;color:#94a3b8;font-size:12px}@media (max-width: 768px){.config-header{flex-direction:column;gap:15px;align-items:flex-start}.config-actions{width:100%;flex-direction:column}.btn-default,.btn-add-topic{width:100%}}.owner-profiles{background:#1e293b;border:1px solid #374151;border-radius:8px;padding:20px;margin-top:20px}.profiles-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #374151;padding-bottom:15px}.profiles-header h3{margin:0;color:#f1f5f9;font-size:16px}.extraction-stat{display:flex;align-items:center;gap:10px;color:#cbd5e1;font-size:13px}.stat-label{color:#94a3b8}.stat-value{color:#60a5fa;font-weight:600}.profiles-description{background:#0f172a;border-left:3px solid #8b5cf6;padding:12px 15px;margin-bottom:20px;border-radius:4px}.profiles-description p{margin:0;color:#cbd5e1;font-size:13px;line-height:1.6}.profiles-description strong{color:#c4b5fd}.profile-section{background:#0f172a;border:1px solid #374151;border-radius:6px;padding:15px;margin-bottom:20px}.profile-section h4{margin:0 0 15px;color:#f1f5f9;font-size:14px;display:flex;align-items:center;gap:8px}.distribution-chart{display:flex;flex-direction:column;gap:12px}.chart-row{display:flex;align-items:center;gap:10px}.insight-label{flex:0 0 150px;color:#cbd5e1;font-size:12px;text-align:right}.bar-container{flex:1;display:flex;align-items:center;gap:8px;height:24px;background:#1e293b;border-radius:4px;padding:0 8px}.bar{height:100%;border-radius:3px;transition:all .3s ease}.insight-bar{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.bar-value{color:#94a3b8;font-size:11px;font-weight:500;min-width:60px;text-align:right}.bar-container:hover .bar{filter:brightness(1.2)}.insightful-reviews-section{margin-top:25px;border-top:1px solid #374151;padding-top:25px}.insightful-reviews-section h4{color:#f1f5f9;font-size:14px;margin:0 0 8px}.section-description{color:#94a3b8;font-size:12px;margin:0 0 15px;font-style:italic}.insightful-reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px}.insightful-review-card{background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid #475569;border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease}.insightful-review-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf633;transform:translateY(-2px)}.review-insights{display:flex;flex-wrap:wrap;gap:6px}.insight-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff;border-radius:12px;font-size:10px;font-weight:600;text-transform:capitalize;box-shadow:0 2px 4px #8b5cf666;white-space:nowrap}.review-motivation{display:flex;align-items:flex-start;gap:8px;padding:10px;background:linear-gradient(135deg,#451a03,#78350f);border-left:3px solid #f59e0b;border-radius:4px}.motivation-icon{font-size:16px;flex-shrink:0}.motivation-text{font-size:11px;color:#fde68a;font-style:italic;line-height:1.5}.review-text{font-size:12px;color:#cbd5e1;line-height:1.5;margin:0;max-height:95px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical}.no-insights{background:#422006;border:1px dashed #f59e0b;border-radius:6px;padding:20px;text-align:center;margin-top:15px}.no-insights p{margin:0;color:#fde68a;font-size:12px;line-height:1.6}.no-insights em{color:#fbbf24;font-weight:600;font-style:italic}@media (max-width: 1024px){.insight-label{flex:0 0 120px}.insightful-reviews-grid{grid-template-columns:1fr}}@media (max-width: 768px){.insight-label{flex:0 0 100px}}.analysis-tab-v2{padding:20px;min-height:calc(100vh - 60px);background:linear-gradient(135deg,#111827f2,#1f2937f2)}.analysis-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(96,165,250,.3)}.analysis-header h2{margin:0;color:#60a5fa;font-size:28px}.subtitle{margin:5px 0 0;color:#ffffffb3;font-size:14px}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s;display:inline-block}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea66}.file-info{background:#60a5fa1a;border:1px solid rgba(96,165,250,.3);padding:12px 20px;border-radius:8px;margin-bottom:20px;color:#60a5fa;font-size:14px}.topic-apply-banner{margin:16px 0 20px;padding:12px 16px;border-radius:8px;border:1px solid rgba(96,165,250,.35);background:#1e40af24;color:#bfdbfe;display:flex;justify-content:space-between;align-items:center;gap:12px}.apply-topics-btn{background:#3b82f6;border:1px solid #60a5fa;color:#fff;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.apply-topics-btn:hover{background:#2563eb}.loading-state,.error-state,.empty-state{text-align:center;padding:60px 20px}.spinner{border:4px solid rgba(255,255,255,.1);border-top:4px solid #60a5fa;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state{color:#f87171}.empty-state{color:#ffffffe6}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h3{color:#60a5fa;margin-bottom:10px}.empty-state ul{list-style:none;padding:0;max-width:400px;margin:20px auto;text-align:left}.empty-state li{padding:8px 0;color:#fffc}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.kpi-card{background:#ffffff0d;border:1px solid rgba(96,165,250,.3);border-radius:12px;padding:20px;text-align:center;transition:transform .2s}.kpi-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d}.kpi-card.positive{border-color:#4ade8066}.kpi-card.negative{border-color:#f8717166}.kpi-value{font-size:32px;font-weight:700;color:#60a5fa;margin-bottom:8px}.kpi-card.positive .kpi-value{color:#4ade80}.kpi-card.negative .kpi-value{color:#f87171}.kpi-label{font-size:14px;color:#fffc;text-transform:uppercase;letter-spacing:1px}.kpi-subtext{font-size:12px;color:#ffffff80;margin-top:4px}.view-mode-selector{display:flex;gap:10px;margin-bottom:30px;justify-content:center}.view-mode-selector button{background:#ffffff0d;border:1px solid rgba(96,165,250,.3);color:#fffc;padding:10px 24px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s}.view-mode-selector button:hover{background:#60a5fa1a}.view-mode-selector button.active{background:#60a5fa;color:#fff;border-color:#60a5fa}.charts-grid{display:grid;grid-template-columns:1fr;gap:30px}.chart-container{background:#ffffff0d;border:1px solid rgba(96,165,250,.2);border-radius:12px;padding:24px}.chart-container h3{margin:0 0 8px;color:#60a5fa;font-size:20px}.chart-subtitle{margin:0 0 20px;color:#fff9;font-size:13px}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}.topic-card{background:#a78bfa1a;border:1px solid rgba(167,139,250,.3);border-radius:8px;padding:16px;transition:transform .2s}.topic-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #a78bfa4d}.topic-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.topic-header h4{margin:0;color:#a78bfa;font-size:16px}.topic-coverage{background:#a78bfa33;color:#a78bfa;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.topic-terms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.term-tag{background:#ffffff1a;color:#ffffffe6;padding:4px 8px;border-radius:4px;font-size:11px}.topic-count{color:#fff9;font-size:12px}.aspect-selector{margin:30px 0}.aspect-selector h3{color:#60a5fa;margin-bottom:15px}.aspect-buttons{display:flex;flex-wrap:wrap;gap:10px}.aspect-btn{background:#ffffff0d;border:1px solid rgba(96,165,250,.3);color:#ffffffe6;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.aspect-btn:hover{background:#60a5fa1a;transform:translateY(-2px)}.aspect-btn.active{background:#60a5fa;border-color:#60a5fa;color:#fff}.aspect-count{background:#fff3;padding:2px 8px;border-radius:12px;font-size:12px}.quotes-container{margin-top:30px}.quotes-container h3{color:#60a5fa;margin-bottom:20px}.quotes-section{margin:30px 0}.quotes-section h4{color:#ffffffe6;margin-bottom:15px}.positive-quotes h4{color:#4ade80}.negative-quotes h4{color:#f87171}.quote-card{background:#ffffff0d;border-left:4px solid rgba(96,165,250,.5);padding:16px;margin-bottom:12px;border-radius:4px}.positive-quotes .quote-card{border-left-color:#4ade80}.negative-quotes .quote-card{border-left-color:#f87171}.quote-text{color:#ffffffe6;font-style:italic;margin-bottom:8px;line-height:1.6}.quote-score{color:#ffffff80;font-size:12px}.quadrant-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:20px;padding:16px;background:#0003;border-radius:8px}.quadrant-item{color:#fffc;font-size:13px}.quad-label{font-weight:700;margin-right:4px;color:#93c5fd}.signal-list{display:flex;flex-direction:column;gap:10px}.signal-row{border:1px solid rgba(96,165,250,.2);background:#0f172a73;border-radius:8px;padding:10px 12px}.signal-row-clickable{cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.signal-row-clickable:hover{border-color:#60a5fa73;background:#0f172a9e}.signal-row.expanded{border-color:#60a5fa8c}.signal-main{display:flex;justify-content:space-between;align-items:center;gap:10px}.signal-name{color:#e2e8f0;font-weight:600;font-size:13px}.signal-score{color:#93c5fd;font-size:12px;font-weight:700}.signal-meta{margin-top:6px;display:flex;flex-wrap:wrap;gap:10px;color:#ffffffb3;font-size:12px}.signal-hint{color:#93c5fd;font-weight:600}.signal-details{margin-top:10px;border-top:1px solid rgba(148,163,184,.25);padding-top:10px}.signal-details-meta{color:#e2e8f0e6;font-size:12px;margin-bottom:8px}.signal-quotes{display:flex;flex-direction:column;gap:8px}.signal-quote{border-left:3px solid rgba(96,165,250,.7);background:#1e293b8c;color:#f8fafcf2;font-size:12px;line-height:1.5;padding:8px 10px;border-radius:4px}.signal-quote-sentence{color:#f8fafcfa;font-weight:600;margin-bottom:4px}.signal-quote-review{color:#cbd5e1d1;font-size:11px}.signal-empty{color:#cbd5e1bf;font-size:12px}.priority-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.priority-pill{background:#1e40af33;border:1px solid rgba(96,165,250,.35);color:#dbeafe;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600}.priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px}.priority-card{border:1px solid rgba(96,165,250,.25);border-radius:8px;background:#0f172a73;padding:10px}.priority-card-label{color:#e2e8f0d9;font-size:12px;margin-bottom:6px}.priority-card-value{color:#93c5fd;font-size:22px;font-weight:700}.priority-audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px}.priority-audience{border:1px solid rgba(96,165,250,.2);border-radius:8px;background:#0f172a66;padding:10px}.priority-audience h4{margin:0 0 8px;color:#bfdbfe;font-size:13px}.priority-audience-row{display:flex;justify-content:space-between;gap:10px;color:#e2e8f0e6;font-size:12px;padding:4px 0}.priority-top-reviews h4{margin:8px 0;color:#bfdbfe;font-size:13px}.priority-review-card{border:1px solid rgba(96,165,250,.2);border-radius:8px;background:#0f172a80;padding:10px;margin-bottom:8px}.priority-review-meta{display:flex;justify-content:space-between;gap:10px;color:#cbd5e1d9;font-size:11px;margin-bottom:6px}.priority-review-signals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.priority-signal-tag{border:1px solid rgba(96,165,250,.35);background:#1e40af2e;color:#dbeafe;padding:2px 8px;border-radius:999px;font-size:11px}.priority-review-text{color:#f8fafcf2;font-size:12px;line-height:1.5}.swot-full-width{width:100%}@media (min-width: 1024px){.charts-grid{grid-template-columns:1fr}}.comparison-tab{width:100%;height:100%;overflow-y:auto}.comparison-container{max-width:1400px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:25px}.setup-section,.results-section{background:#1e293b;border:1px solid #374151;border-radius:8px;padding:25px}.setup-section h2,.results-section h3{color:#f1f5f9;margin-top:0;margin-bottom:10px}.setup-section>p{color:#94a3b8;margin-bottom:20px;font-size:14px}.topic-mode-note{display:inline-block;margin-bottom:16px;padding:6px 10px;font-size:12px;color:#bfdbfe;background:#3b82f61f;border:1px solid rgba(96,165,250,.35);border-radius:999px}.products-upload{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px;margin-bottom:20px}.product-upload-card{background:#334155;border:1px solid #475569;border-radius:6px;padding:15px;display:flex;flex-direction:column;gap:12px}.product-name-input{display:flex;flex-direction:column;gap:5px}.product-name-input label{color:#cbd5e1;font-size:12px;font-weight:500}.product-name-input input{padding:8px 10px;background:#1e293b;border:1px solid #475569;border-radius:4px;color:#f1f5f9;font-size:13px}.product-name-input input:focus{outline:none;border-color:#60a5fa;background:#0f172a}.file-upload{display:flex;flex-direction:column;gap:5px}.file-upload label{color:#cbd5e1;font-size:12px;font-weight:500}.file-upload input{padding:8px 10px;background:#1e293b;border:1px dashed #475569;border-radius:4px;color:#f1f5f9;font-size:12px;cursor:pointer}.file-upload input:hover{border-color:#60a5fa}.upload-success{color:#10b981;font-size:11px;display:flex;align-items:center;gap:5px}.btn-remove{padding:8px 12px;background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.btn-remove:hover{background:#ef4444;color:#1e293b}.btn-add-product{grid-column:1 / -1;padding:12px;background:transparent;border:2px dashed #60a5fa;color:#60a5fa;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-add-product:hover{background:#60a5fa1a}.error-message{background:#7f1d1d;border:1px solid #ef4444;color:#fecaca;padding:12px;border-radius:4px;margin-bottom:15px;font-size:12px}.comparison-actions{display:flex;gap:10px;margin-top:15px}.btn-compare{flex:1;padding:12px 20px;background:#60a5fa;border:none;color:#1e293b;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s}.btn-compare:hover:not(:disabled){background:#3b82f6}.btn-compare:disabled{background:#475569;color:#94a3b8;cursor:not-allowed}.results-section{display:flex;flex-direction:column;gap:25px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}.product-overview{background:#0f172a;border:1px solid #374151;border-left:3px solid #60a5fa;border-radius:6px;padding:15px}.product-overview h4{margin:0 0 12px;color:#f1f5f9;font-size:14px}.stats{display:flex;flex-direction:column;gap:8px}.stat{display:flex;justify-content:space-between;align-items:center;font-size:12px}.stat .label{color:#94a3b8}.stat .value{color:#60a5fa;font-weight:600}.strengths-weaknesses{display:flex;flex-direction:column;gap:20px}.strengths-section,.weaknesses-section{border-top:1px solid #374151;padding-top:20px}.strengths-section h4,.weaknesses-section h4{color:#f1f5f9;font-size:14px;margin:0 0 15px}.sw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.sw-card{background:#0f172a;border:1px solid #374151;border-radius:6px;padding:12px}.sw-card h5{margin:0 0 10px;color:#f1f5f9;font-size:12px}.sw-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.sw-card li{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:6px;background:#1e293b;border-radius:3px}.sw-aspect{color:#cbd5e1;flex:1}.sw-coverage{color:#60a5fa;font-weight:600;white-space:nowrap;margin-left:8px}.no-data{color:#64748b;font-style:italic;justify-content:center;background:transparent}.matrix-section{border-top:1px solid #374151;padding-top:20px}.matrix-section h4{color:#f1f5f9;font-size:14px;margin:0 0 15px}.matrix-container{overflow-x:auto}.comparison-matrix{width:100%;border-collapse:collapse}.comparison-matrix th{background:#0f172a;color:#f1f5f9;padding:10px;text-align:left;font-size:12px;font-weight:600;border-bottom:2px solid #374151;position:sticky;top:0}.comparison-matrix td{padding:12px 10px;border-bottom:1px solid #374151;font-size:12px}.aspect-name{color:#cbd5e1;font-weight:500;min-width:150px;background:#334155;position:sticky;left:0}.coverage-cell{color:#cbd5e1;padding:8px}.coverage-bar{position:relative;height:28px;background:#1e293b;border-radius:4px;display:flex;align-items:center;padding:0 6px;overflow:hidden}.coverage-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:4px;opacity:.6}.coverage-text{position:relative;z-index:1;color:#f1f5f9;font-weight:600;font-size:11px}.topic-swot-cell{min-width:190px;vertical-align:top}.swot-badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;margin-bottom:8px}.swot-badge.strength{background:#10b9812e;color:#6ee7b7;border:1px solid rgba(16,185,129,.35)}.swot-badge.weakness{background:#ef44442e;color:#fca5a5;border:1px solid rgba(239,68,68,.35)}.swot-badge.opportunity{background:#3b82f62e;color:#93c5fd;border:1px solid rgba(59,130,246,.35)}.swot-badge.threat{background:#f59e0b2e;color:#fcd34d;border:1px solid rgba(245,158,11,.35)}.swot-badge.no-signal{background:#64748b38;color:#cbd5e1;border:1px solid rgba(148,163,184,.35)}.swot-metrics{display:flex;flex-direction:column;gap:2px;color:#cbd5e1;font-size:11px}.topic-selector-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.topic-selector-btn{border:1px solid #475569;background:#0f172a;color:#cbd5e1;padding:6px 10px;border-radius:999px;font-size:12px;cursor:pointer}.topic-selector-btn:hover{border-color:#60a5fa;color:#dbeafe}.topic-selector-btn.active{border-color:#60a5fa;background:#3b82f626;color:#bfdbfe}.topic-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:14px}.topic-summary-card{background:#0f172a;border:1px solid #334155;border-radius:6px;padding:10px}.topic-summary-title{font-weight:700;margin-bottom:6px}.topic-summary-line{color:#cbd5e1;font-size:12px;margin-bottom:4px}.topic-swot-chart{background:#0f172a;border:1px solid #334155;border-radius:8px;padding:10px}@media (max-width: 1024px){.products-upload{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.sw-grid{grid-template-columns:1fr}}@media (max-width: 768px){.comparison-container,.setup-section,.results-section{padding:15px}.products-upload,.overview-grid{grid-template-columns:1fr}.matrix-container{font-size:11px}}.ai-analysis-tab{padding:20px;height:100%;display:flex;flex-direction:column}.ai-chat-container{background:#0000004d;border-radius:12px;padding:20px;display:flex;flex-direction:column;height:800px;max-height:calc(100vh - 100px);border:1px solid rgba(100,200,255,.3)}.ai-chat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(100,200,255,.2)}.ai-chat-header h2{margin:0 0 5px;color:#64c8ff}.ai-subtitle{margin:0;color:#ffffffb3;font-size:14px}.ai-header-actions{display:flex;gap:10px;align-items:center}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid rgba(100,200,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s;display:inline-block}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.uploaded-data-info{display:flex;justify-content:space-between;align-items:center;background:#64c8641a;border:1px solid rgba(100,200,100,.3);border-radius:8px;padding:12px 16px;margin-bottom:15px}.data-info-content{color:#64ffa0;font-size:14px}.clear-data-btn{background:#ff646433;border:1px solid rgba(255,100,100,.4);color:#ff6464;padding:5px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.clear-data-btn:hover{background:#ff64644d}.clear-chat-btn{background:#ff646433;border:1px solid rgba(255,100,100,.4);color:#ff6464;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.clear-chat-btn:hover{background:#ff64644d}.ai-messages-container{flex:1;overflow-y:auto;margin-bottom:20px;padding-right:10px}.ai-messages-container::-webkit-scrollbar{width:8px}.ai-messages-container::-webkit-scrollbar-track{background:#0003;border-radius:4px}.ai-messages-container::-webkit-scrollbar-thumb{background:#64c8ff4d;border-radius:4px}.ai-messages-container::-webkit-scrollbar-thumb:hover{background:#64c8ff80}.ai-welcome{text-align:center;padding:60px 20px;color:#fffc}.ai-welcome-icon{font-size:64px;margin-bottom:20px}.ai-welcome h3{margin:0 0 10px;color:#64c8ff}.ai-suggestions{margin-top:30px;display:flex;flex-direction:column;gap:10px;max-width:600px;margin-left:auto;margin-right:auto}.ai-suggestion{background:#64c8ff1a;border:1px solid rgba(100,200,255,.2);padding:12px 16px;border-radius:8px;text-align:left;font-size:14px;color:#ffffffe6;cursor:pointer;transition:all .2s}.ai-suggestion:hover{background:#64c8ff33;transform:translate(5px)}.ai-message{display:flex;gap:12px;margin-bottom:20px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-message.user{flex-direction:row-reverse}.ai-message-avatar{font-size:32px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-message-content{flex:1;max-width:70%}.ai-message.user .ai-message-content{display:flex;flex-direction:column;align-items:flex-end}.ai-message-text{background:#64c8ff26;padding:12px 16px;border-radius:12px;color:#fffffff2;line-height:1.5;word-wrap:break-word}.ai-message-text h1,.ai-message-text h2,.ai-message-text h3{margin:0 0 8px;color:#93c5fd;line-height:1.3}.ai-message-text h1{font-size:1.1rem}.ai-message-text h2{font-size:1rem}.ai-message-text h3{font-size:.95rem}.ai-message-text p{margin:0 0 8px}.ai-message-text p:last-child{margin-bottom:0}.ai-message-text ul{margin:0 0 8px;padding-left:20px}.ai-message-text li{margin-bottom:4px}.ai-message.user .ai-message-text{background:#64ff9626;border:1px solid rgba(100,255,150,.3)}.ai-message.assistant .ai-message-text{border:1px solid rgba(100,200,255,.3)}.ai-message-time{font-size:11px;color:#ffffff80;margin-top:4px;padding:0 4px}.ai-typing-indicator{display:flex;gap:4px;padding:12px 16px;background:#64c8ff26;border:1px solid rgba(100,200,255,.3);border-radius:12px;width:60px}.ai-typing-indicator span{width:8px;height:8px;background:#64c8ffcc;border-radius:50%;animation:typing 1.4s infinite}.ai-typing-indicator span:nth-child(2){animation-delay:.2s}.ai-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.ai-input-container{display:flex;gap:12px;padding-top:15px;border-top:1px solid rgba(100,200,255,.2)}.ai-input-container textarea{flex:1;background:#0006;border:1px solid rgba(100,200,255,.3);border-radius:8px;padding:12px;color:#ffffffe6;font-size:14px;font-family:inherit;resize:none;transition:border-color .2s}.ai-input-container textarea:focus{outline:none;border-color:#64c8ff99}.ai-input-container textarea:disabled{opacity:.5;cursor:not-allowed}.ai-send-btn{background:linear-gradient(135deg,#64c8ff,#4a9eff);border:none;color:#fff;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s;white-space:nowrap}.ai-send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #64c8ff66}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}:root{color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5}
