:root{--color-primary: #1a2332;--color-primary-light: #2d3e50;--color-accent: #3b82f6;--color-accent-hover: #2563eb;--color-critical: #E24B4A;--color-critical-bg: rgba(226, 75, 74, .1);--color-elevated: #EF9F27;--color-elevated-bg: rgba(239, 159, 39, .1);--color-moderate: #1D9E75;--color-moderate-bg: rgba(29, 158, 117, .1);--color-resilient: #1D9E75;--color-resilient-bg: rgba(29, 158, 117, .1);--color-bg: #f8f9fa;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #1a2332;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.6}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:600}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;font-family:var(--font-family)}.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);text-align:center}.error-screen h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-text)}.error-screen p{color:var(--color-text-secondary);max-width:400px}.placeholder{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-size-xl);color:var(--color-text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-md)}@keyframes spin{to{transform:rotate(360deg)}}.interview-container{display:flex;flex-direction:column;height:100vh;max-width:800px;margin:0 auto;background:var(--color-surface)}.interview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.interview-title{font-size:var(--font-size-lg);font-weight:600}.interview-target{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.time-estimate{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.progress-section{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.progress-bar-container{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .5s ease}.axis-indicators{display:flex;gap:6px}.axis-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:background .3s}.axis-dot.completed{background:var(--color-moderate)}.axis-dot.active{background:var(--color-accent);box-shadow:0 0 0 3px #3b82f633}.progress-label{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.messages-container{flex:1;overflow-y:auto;padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.message{display:flex}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-bubble{max-width:85%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);line-height:1.5;font-size:var(--font-size-base);position:relative}.message.user .message-bubble{background:var(--color-accent);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message.assistant .message-bubble{background:var(--color-bg);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.message.error .message-bubble{background:var(--color-critical-bg);color:var(--color-critical)}.message-content code{background:#0000000f;padding:1px 4px;border-radius:3px;font-size:.9em}.cursor-blink{display:inline-block;width:2px;height:1em;background:var(--color-text);margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.input-section{padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-surface)}.input-container{display:flex;gap:var(--spacing-sm);align-items:flex-end}.message-input{flex:1;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;max-height:120px;overflow-y:auto;outline:none;transition:border-color .2s}.message-input:focus{border-color:var(--color-accent)}.message-input:disabled{background:var(--color-bg);color:var(--color-text-muted)}.send-button{width:40px;height:40px;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.send-button:hover:not(:disabled){background:var(--color-accent-hover)}.send-button:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.asset-upload-section{padding:0 var(--spacing-lg) var(--spacing-sm)}.asset-toggle{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text-muted);font-size:var(--font-size-sm);width:100%;transition:color .2s,border-color .2s}.asset-toggle:hover{color:var(--color-accent);border-color:var(--color-accent)}.asset-upload-content{margin-top:var(--spacing-sm)}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.drop-zone:hover,.drop-zone.dragging{border-color:var(--color-accent);background:#3b82f60a}.drop-zone p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.drop-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.url-input-row{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.url-input-row input{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-family:var(--font-family);outline:none}.url-input-row input:focus{border-color:var(--color-accent)}.url-input-row button{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.url-input-row button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.upload-list{list-style:none;margin-top:var(--spacing-sm)}.upload-item{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.upload-item.done .upload-status{color:var(--color-moderate)}.upload-item.error .upload-status{color:var(--color-critical)}.results-container{max-width:900px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.results-header{text-align:center;margin-bottom:var(--spacing-2xl)}.results-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.results-header .company-name{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.risk-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-lg);border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-lg);color:#fff;margin-top:var(--spacing-md)}.risk-badge.critical{background:var(--color-critical)}.risk-badge.elevated{background:var(--color-elevated)}.risk-badge.moderate,.risk-badge.resilient{background:var(--color-moderate)}.overall-score{font-size:var(--font-size-3xl);font-weight:700;margin-top:var(--spacing-sm)}.radar-section{display:flex;justify-content:center;margin-bottom:var(--spacing-2xl)}.axes-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.axis-card{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);overflow:hidden;background:var(--color-surface)}.axis-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:background .2s}.axis-card-header:hover{background:var(--color-bg)}.axis-card-title{font-size:var(--font-size-base);font-weight:600}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-weight:700;font-size:var(--font-size-sm);color:#fff;flex-shrink:0}.score-badge.score-1,.score-badge.score-2{background:var(--color-critical)}.score-badge.score-3{background:var(--color-elevated)}.score-badge.score-4,.score-badge.score-5{background:var(--color-moderate)}.axis-card-body{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border)}.axis-card-body p{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.axis-card-body .label{font-weight:600;color:var(--color-text);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.urgent-action{background:var(--color-critical-bg);border-left:3px solid var(--color-critical);padding:var(--spacing-sm) var(--spacing-md);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-critical)}.restart-axis-btn{margin-top:var(--spacing-md);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color .2s,border-color .2s}.restart-axis-btn:hover{color:var(--color-accent);border-color:var(--color-accent)}.challenger-section{margin-top:var(--spacing-2xl)}.challenger-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.challenger-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.challenger-table th,.challenger-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.challenger-table th{font-weight:600;color:var(--color-text);background:var(--color-bg)}.export-section{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border)}.deliverable-view{margin-bottom:var(--spacing-2xl)}.press-release-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-2xl);margin-bottom:var(--spacing-xl)}.pr-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.pr-headline{font-size:var(--font-size-2xl);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-sm);color:var(--color-text)}.pr-subheading{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.pr-dateline{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.pr-body{font-size:var(--font-size-base);line-height:1.7;margin-bottom:var(--spacing-md);color:var(--color-text)}.pr-quote{border-left:3px solid var(--color-accent);margin:var(--spacing-lg) 0;padding:var(--spacing-md) var(--spacing-lg);background:#3b82f608;border-radius:0 var(--radius-md) var(--radius-md) 0}.pr-quote em{font-size:var(--font-size-base);line-height:1.6;color:var(--color-text)}.pr-quote cite{display:block;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:normal}.deliverable-section{margin-bottom:var(--spacing-xl)}.deliverable-section h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.faq-item{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{font-weight:600;font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--spacing-xs)}.faq-answer{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.btn-primary,.btn-secondary{padding:var(--spacing-sm) var(--spacing-xl);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;border:none;transition:background .2s}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg)}.admin-container{max-width:1400px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-xl)}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.admin-header h1{font-size:var(--font-size-2xl)}.admin-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-xl)}.admin-tab{padding:var(--spacing-sm) var(--spacing-lg);background:none;border:none;font-size:var(--font-size-base);color:var(--color-text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.admin-tab:hover{color:var(--color-text)}.admin-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:500}.portfolio-table{width:100%;border-collapse:collapse}.portfolio-table th,.portfolio-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.portfolio-table th{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.status-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500}.status-badge.pending_payment{background:#fef3c7;color:#d97706}.status-badge.not_started{background:var(--color-bg);color:var(--color-text-muted)}.status-badge.crawling,.status-badge.crawl_done{background:#dbeafe;color:#2563eb}.status-badge.in_progress{background:#fef3c7;color:#d97706}.status-badge.completed,.status-badge.scored{background:#1d9e751a;color:var(--color-moderate)}.target-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md);align-items:end;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg);border-radius:var(--radius-md)}.target-form>button{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form-group input,.form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:var(--font-family);outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--color-accent)}.magic-link-box{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:monospace;font-size:var(--font-size-sm);word-break:break-all}.copy-btn{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);white-space:nowrap}.framework-editor{display:grid;grid-template-columns:240px 1fr;gap:var(--spacing-lg);min-height:500px}.file-list{list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.file-list li{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .2s}.file-list li:last-child{border-bottom:none}.file-list li:hover{background:var(--color-bg)}.file-list li.active{background:#3b82f614;color:var(--color-accent);font-weight:500}.editor-area textarea{width:100%;min-height:400px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:Fira Code,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.6;resize:vertical;outline:none}.editor-area textarea:focus{border-color:var(--color-accent)}.editor-actions{display:flex;gap:var(--spacing-md);align-items:end;margin-top:var(--spacing-md)}.editor-actions input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-family);outline:none}.editor-actions input:focus{border-color:var(--color-accent)}
