*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.home{min-height:100vh;background:#0f0f0f;padding:4rem 2rem}.home-header{text-align:center;margin-bottom:4rem}.home-header h1{font-size:2.5rem;font-weight:600;color:#fff;margin-bottom:.5rem}.home-header .subtitle{color:#888;font-size:1.1rem}.tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto}.tool-card{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:12px;padding:2rem;text-decoration:none;transition:all .2s ease}.tool-card:hover{border-color:#3a3a3a;background:#222;transform:translateY(-2px)}.tool-card.coming-soon{opacity:.5;pointer-events:none}.tool-icon{width:48px;height:48px;margin-bottom:1rem;color:#666}.tool-card:hover .tool-icon{color:#888}.tool-card h2{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:.5rem}.tool-card p{color:#888;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.tool-status{display:inline-block;font-size:.75rem;color:#666;background:#252525;padding:.25rem .75rem;border-radius:100px}.journey-maps-v2{min-height:100vh;background:#0f0f0f;display:flex;flex-direction:column}.journey-maps-v2 .header{padding:1rem 2rem;border-bottom:1px solid #222;flex-shrink:0}.journey-maps-v2 .header h1{font-size:1.25rem;color:#fff;margin:.5rem 0 0}.journey-maps-v2 .subtitle{color:#4ade80;font-size:.9rem;margin:.5rem 0 0}.back-link{color:#666;text-decoration:none;font-size:.85rem}.back-link:hover{color:#888}.flow-container{flex:1;display:flex;align-items:flex-start;padding:2rem;gap:0;overflow-x:auto}.column-label{font-size:.7rem;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;padding:0 .25rem}.column-label .count{font-size:.65rem;color:#444;background:#1a1a1a;padding:.15rem .4rem;border-radius:8px;margin-left:.5rem}.needs-column{flex-shrink:0;display:flex;flex-direction:column;width:180px}.needs-list{display:flex;flex-direction:column;gap:.5rem}.need-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;cursor:default;opacity:.4;transition:all .2s}.need-item.has-data{cursor:pointer;opacity:.7;background:#1a2a1a;border-color:#2a4a2a}.need-item.has-data:hover{opacity:.9;background:#1f3a1f;border-color:#3a6a3a}.need-item.selected{opacity:1;background:#234a23;border-color:#4ade80}.need-dot{width:8px;height:8px;border-radius:50%;background:#333;flex-shrink:0}.need-item.has-data .need-dot{background:#4ade80}.need-item.selected .need-dot{background:#fff;box-shadow:0 0 6px #4ade80}.need-label{font-size:.75rem;color:#666;white-space:nowrap}.need-item.has-data .need-label{color:#9de89d}.need-item.selected .need-label{color:#fff;font-weight:500}.connector-line{width:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;margin-top:24px}.connector-line:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,#4ade80,#4ade80 80%,transparent)}.connector-line:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:0;height:0;border-left:6px solid #4ade80;border-top:4px solid transparent;border-bottom:4px solid transparent}.connector-muted:before{background:linear-gradient(90deg,#555,#555 80%,transparent)}.connector-muted:after{border-left-color:#555}.connector-svg{width:60px;height:400px;flex-shrink:0;margin-top:24px}.journeys-column{width:260px;padding:0 .5rem;opacity:0;transition:opacity .3s;pointer-events:none}.journeys-column.visible{opacity:1;pointer-events:auto}.journeys-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.journey-card{padding:.6rem .8rem;background:#1a2e1a;border:1px solid #2a4a2a;border-radius:6px;cursor:pointer;transition:all .15s}.journey-card:hover{background:#1f3a1f;border-color:#3a6a3a}.journey-card.selected{background:#234a23;border-color:#4ade80}.journey-name{display:block;font-size:.8rem;color:#c8e8c8;margin-bottom:.2rem;line-height:1.3}.journey-card.selected .journey-name{color:#fff}.journey-meta{font-size:.65rem;color:#5a8a5a}.jobs-column{width:300px;padding:0 .5rem;opacity:0;transition:opacity .3s;pointer-events:none}.jobs-column.visible{opacity:1;pointer-events:auto}.jobs-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.job-card{padding:.6rem .8rem;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;cursor:pointer;transition:all .15s}.job-card:hover{background:#222;border-color:#3a3a3a}.job-card.selected{background:#252525;border-color:#4ade80}.actor-chip{display:inline-block;font-size:.6rem;font-weight:600;padding:.15rem .4rem;border-radius:3px;border:1px solid;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.03em}.job-statement{display:block;font-size:.75rem;color:#999;line-height:1.4}.job-card.selected .job-statement{color:#fff}.outcomes-column{width:280px;padding:0 .5rem;opacity:0;transition:opacity .3s;pointer-events:none}.outcomes-column.visible{opacity:1;pointer-events:auto}.outcomes-list{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto}.outcome-card{padding:.6rem .8rem;background:#1a1a2a;border:1px solid #2a2a4a;border-radius:6px}.outcome-statement{display:block;font-size:.75rem;color:#aab;line-height:1.4}.outcome-confidence{font-size:.6rem;color:#555;text-transform:capitalize;margin-top:.25rem}.empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:#444;font-size:.85rem}.breadcrumb-bar{display:flex;align-items:center;gap:.4rem;padding:.75rem 2rem;background:#111;border-top:1px solid #222;flex-shrink:0}.crumb{font-size:.75rem;color:#555;padding:.2rem .4rem;border-radius:3px;transition:all .15s}.crumb.clickable{cursor:pointer}.crumb.clickable:hover{color:#888;background:#1a1a1a}.crumb.current{color:#4ade80;cursor:default}.sep{color:#333;font-size:.7rem}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#666}.dashboard{min-height:100vh;background:#0f172a;color:#e2e8f0}.header{padding:1.5rem 2rem;background:#1e293b;border-bottom:1px solid #334155}.header h1{margin:0;font-size:1.5rem;font-weight:600;color:#f8fafc}.subtitle{margin:.25rem 0 0;color:#94a3b8;font-size:.875rem}.main-layout{display:grid;grid-template-columns:280px 1fr;min-height:calc(100vh - 80px)}.sidebar{background:#1e293b;padding:1rem;border-right:1px solid #334155;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.insight-card{background:#0f172a;border-radius:8px;padding:.75rem;border:1px solid #334155;transition:all .2s ease}.insight-card.collapsed{padding:0}.card-header{display:flex;align-items:center;width:100%;background:none;border:none;cursor:pointer;padding:.75rem;text-align:left;gap:.5rem}.card-header:hover{background:#ffffff0d}.card-header h3{margin:0;font-size:.8rem;font-weight:600;color:#f8fafc;flex:1}.card-count{background:#334155;color:#94a3b8;font-size:.65rem;padding:.125rem .5rem;border-radius:10px;font-weight:600}.toggle-icon{color:#64748b;font-size:1rem;font-weight:300;width:1.25rem;text-align:center}.insight-card h3{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:#f8fafc}.insight-desc{margin:0 0 .75rem;font-size:.75rem;color:#64748b}.insight-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.insight-card li{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;padding:.375rem 0;border-bottom:1px solid #1e293b}.insight-card li:last-child{border-bottom:none}.insight-card .tactic-name{flex:1;color:#cbd5e1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.avg-badge{padding:.125rem .5rem;border-radius:4px;font-weight:600;color:#fff;font-size:.7rem}.opportunities{border-left:3px solid #3b82f6}.opportunities h3{color:#60a5fa}.battlegrounds{border-left:3px solid #ef4444}.battlegrounds h3{color:#f87171}.theme-performance li{flex-direction:column;align-items:stretch;gap:.25rem}.theme-name{color:#94a3b8;font-size:.7rem}.theme-bar-container{display:flex;align-items:center;gap:.5rem;background:#1e293b;border-radius:4px;overflow:hidden}.theme-bar{height:8px;border-radius:4px;transition:width .3s ease}.theme-avg{font-size:.7rem;font-weight:600;color:#94a3b8;min-width:2rem}.heatmap-container{padding:1rem;overflow:hidden;display:flex;flex-direction:column}.controls{display:flex;gap:1.5rem;align-items:center;padding:.75rem 1rem;background:#1e293b;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.75rem;color:#94a3b8}.filter-group select{background:#0f172a;border:1px solid #334155;color:#e2e8f0;padding:.375rem .75rem;border-radius:4px;font-size:.75rem}.filter-group select:focus{outline:none;border-color:#3b82f6}.legend{display:flex;gap:1rem;margin-left:auto}.legend-item{display:flex;align-items:center;gap:.25rem;font-size:.65rem;color:#94a3b8}.dot{width:10px;height:10px;border-radius:2px}.heatmap-scroll{flex:1;overflow:auto;border-radius:8px;border:1px solid #334155;max-height:calc(100vh - 180px)}.heatmap{border-collapse:separate;border-spacing:0;width:100%;font-size:.75rem}.heatmap th{background:#1e293b;padding:.75rem .5rem;text-align:center;font-weight:600;color:#94a3b8;border-bottom:2px solid #334155;position:sticky;z-index:10}.category-row th{top:0;z-index:20}.company-row th{top:29px;z-index:19}.tactic-header{text-align:left!important;min-width:280px;position:sticky;left:0;z-index:30!important;background:#1e293b!important}.avg-header{min-width:50px;position:sticky;left:280px;z-index:30!important;background:#1e293b!important}.company-header{min-width:70px}.company-header.category-start{border-left:2px solid #475569}.company-name{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);display:block;max-height:100px;overflow:hidden;text-overflow:ellipsis}.category-row th{background:#334155!important;color:#f8fafc;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;padding:.5rem;border-bottom:1px solid #475569}.category-header{border-left:2px solid #475569;border-right:2px solid #475569}.category-header:first-of-type{border-left:none}.company-row th{background:#1e293b!important;border-bottom:2px solid #334155}.theme-row td{background:#334155;padding:.5rem 1rem;font-weight:600;color:#f8fafc;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.subgroup-row td{background:#1e293b;padding:.35rem 1rem .35rem 2rem;font-weight:500;color:#94a3b8;font-size:.7rem;letter-spacing:.02em;border-bottom:1px solid #334155}.heatmap tbody tr{transition:background .15s ease}.heatmap tbody tr:hover{background:#3b82f61a}.tactic-cell{padding:.5rem .75rem;position:sticky;left:0;background:#0f172a;border-right:1px solid #334155;z-index:5}.heatmap tbody tr:hover .tactic-cell{background:#1e293b}.tactic-id{color:#64748b;margin-right:.25rem}.tactic-cell .tactic-name{color:#e2e8f0}.tag{display:inline-block;padding:.125rem .375rem;border-radius:3px;font-size:.6rem;font-weight:600;margin-left:.5rem;text-transform:uppercase}.tag.opportunity{background:#3b82f633;color:#60a5fa}.tag.battleground{background:#ef444433;color:#f87171}.uncontested-row{border-left:3px solid #3b82f6}.battleground-row{border-left:3px solid #ef4444}.avg-cell{text-align:center;padding:.5rem;font-weight:700;position:sticky;left:280px;background:#0f172a;border-right:2px solid #334155;z-index:5}.heatmap tbody tr:hover .avg-cell{background:#1e293b}.score-cell{text-align:center;padding:.5rem;border-right:1px solid #1e293b;cursor:pointer;transition:transform .1s ease}.score-cell:hover{transform:scale(1.1);z-index:20}.score{font-weight:700;font-size:.85rem}.tooltip{position:fixed;z-index:9999;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:.75rem;min-width:280px;max-width:400px;box-shadow:0 10px 25px #00000080;pointer-events:none}.tooltip strong{display:block;margin-bottom:.5rem;color:#f8fafc;font-size:.8rem}.tooltip p{margin:0;color:#94a3b8;font-size:.75rem;line-height:1.5}.loading{display:flex;align-items:center;justify-content:center;height:100vh;background:#0f172a;color:#94a3b8;font-size:1rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#475569;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b}.company-avg-row th{top:58px;z-index:18;background:#1e293b!important;border-bottom:3px solid #475569;padding:.5rem}.company-avg-row .tactic-header{font-size:.7rem;color:#64748b;font-weight:500}.company-avg-row .tactic-header.avg-label{text-align:right!important;padding-right:1rem}.company-avg-cell{position:relative}.company-avg-wrapper{position:relative;display:inline-block}.company-avg-score{font-weight:700;font-size:.9rem;cursor:pointer}.theme-breakdown-tooltip{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#1e293b;border:1px solid #475569;border-radius:8px;padding:.75rem;min-width:220px;z-index:100;box-shadow:0 10px 25px #00000080;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none;margin-top:.5rem}.company-avg-wrapper:hover .theme-breakdown-tooltip{opacity:1;visibility:visible}.theme-breakdown-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #475569}.theme-breakdown-tooltip:after{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #1e293b}.tooltip-header{font-weight:600;font-size:.85rem;color:#f8fafc;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #334155}.tooltip-overall{font-size:.75rem;color:#94a3b8;margin-bottom:.75rem}.tooltip-overall strong{color:#f8fafc;font-size:.85rem}.tooltip-themes{display:flex;flex-direction:column;gap:.5rem}.tooltip-themes .theme-row{display:flex;align-items:center;gap:.5rem}.tooltip-themes .theme-label{font-size:.65rem;color:#94a3b8;width:100px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-bar-bg{flex:1;height:6px;background:#334155;border-radius:3px;overflow:hidden}.theme-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.tooltip-themes .theme-score{font-size:.7rem;font-weight:600;min-width:24px;text-align:right}.peer-review-indicator{position:absolute;top:2px;right:4px;font-size:.65rem;color:#a78bfa;font-weight:700}.tooltip-section{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #334155}.tooltip-section:first-of-type{margin-top:.5rem;padding-top:0;border-top:none}.tooltip-label{display:block;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.25rem}.tooltip-section.peer-review:not(.gemini):not(.perplexity):not(.peer-review-header){background:#a78bfa1a;margin:.5rem -.75rem -.75rem;padding:.75rem;border-radius:0 0 6px 6px;border-top:1px solid rgba(167,139,250,.3)}.tooltip-section.peer-review:not(.gemini):not(.perplexity):not(.peer-review-header) .tooltip-label{color:#a78bfa}.score-change{font-size:.75rem;font-weight:600;color:#c4b5fd;margin-bottom:.25rem}.subgroup-performance{border-left:3px solid #8b5cf6}.subgroup-performance h3{color:#a78bfa}.subgroup-list li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.subgroup-list li.is-opportunity{background:#3b82f61a;margin:0 -.75rem;padding:.5rem .75rem;border-radius:4px}.subgroup-list li.is-tablestakes{opacity:.6}.subgroup-info{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.subgroup-name{font-size:.75rem;color:#e2e8f0;font-weight:500}.subgroup-theme{font-size:.6rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tooltip-section.peer-review-header{background:#64647833;margin:.5rem -.75rem 0;padding:.5rem .75rem;border-top:1px solid #475569}.tooltip-section.peer-review-header .tooltip-label{color:#94a3b8}.tooltip-section.peer-review.gemini{background:#3b82f61a;margin:0 -.75rem;padding:.5rem .75rem;border-top:1px solid rgba(59,130,246,.2);border-radius:0}.tooltip-section.peer-review.gemini .tooltip-label{color:#60a5fa}.tooltip-section.peer-review.perplexity{background:#a78bfa1a;margin:0 -.75rem;padding:.5rem .75rem;border-top:1px solid rgba(167,139,250,.2);border-radius:0}.tooltip-section.peer-review.perplexity .tooltip-label{color:#a78bfa}.tooltip-section.agreement{background:#22c55e1a;margin:0 -.75rem -.75rem;padding:.5rem .75rem;border-radius:0 0 6px 6px;border-top:1px solid rgba(34,197,94,.2);text-align:center}.agreement-badge{font-size:.65rem;font-weight:600;color:#22c55e;text-transform:uppercase;letter-spacing:.05em}
