@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&family=Poppins:wght@500;600;700&display=swap";body{margin:0}#root{width:100%;min-height:100vh}:root{--primary:#0891b2;--primary-light:#22d3ee;--primary-dark:#0e7490;--accent:#6366f1;--cta:#22c55e;--bg:#f7f8fc;--bg-card:#ffffffb8;--bg-sidebar:#ffffff8c;--bg-glass:#ffffff73;--text:#164e63;--text-muted:#64748b;--text-light:#94a3b8;--border:#0e74901f;--border-hover:#0e74904d;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--radius:16px;--radius-sm:10px;--radius-xs:6px;--positive:#16a34a;--neutral-color:#ca8a04;--negative:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Open Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.02em;font-family:Poppins,sans-serif;font-weight:600}.login-page{background:radial-gradient(ellipse at 30% 20%, #0891b214 0%, transparent 60%), radial-gradient(ellipse at 70% 80%, #6366f10f 0%, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);width:380px;max-width:90vw;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:16px;padding:40px 44px;animation:.35s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex}.login-logo{height:44px;margin-bottom:4px}.login-subtitle{color:var(--text-muted);text-align:center;margin-bottom:8px;font-size:14px}.login-field{width:100%}.login-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.login-field input{border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);background:#fff;padding:12px 14px;font-family:Open Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.login-field input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0891b21f}.login-btn{width:100%;margin-top:8px;padding:12px;font-size:14px;font-weight:600}.login-error{width:100%;color:var(--negative);border-radius:var(--radius-xs);text-align:center;background:#dc26260f;border:1px solid #dc262633;padding:10px 14px;font-size:13px}.logout-btn{border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text-light);cursor:pointer;background:0 0;margin-top:8px;padding:8px;font-size:12px;transition:color .15s,border-color .15s}.logout-btn:hover{color:var(--negative);border-color:#dc26264d}.dashboard{background:radial-gradient(ellipse at 20% 0%, #0891b20f 0%, transparent 60%), radial-gradient(ellipse at 80% 100%, #6366f10d 0%, transparent 60%), var(--bg);height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border);flex-direction:column;width:300px;min-width:300px;transition:width .25s,min-width .25s;display:flex;overflow:hidden}.sidebar.collapsed{width:56px;min-width:56px}.sidebar-header{justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.sidebar-logo{cursor:pointer;width:auto;height:28px;transition:opacity .2s}.sidebar-logo:hover{opacity:.75}.sidebar.collapsed .sidebar-logo{display:none}.sidebar-toggle{color:var(--text-light);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;padding:6px 8px;font-size:14px;transition:background .15s}.sidebar-toggle:hover{color:var(--text);background:#0000000a}.new-sim-btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin:0 16px 12px;padding:11px 16px;font-family:Open Sans,sans-serif;font-size:13px;font-weight:600;transition:background .2s,transform .15s}.new-sim-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.sidebar-divider{background:var(--border);height:1px;margin:0 16px 8px}.sidebar-list{flex:1;min-height:0;padding:4px 10px;overflow-y:auto}.sidebar-list::-webkit-scrollbar{width:3px}.sidebar-list::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}.sidebar-search{padding:0 2px 8px;position:relative}.sidebar-search-input{border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);background:#fff;padding:8px 12px;font-family:Open Sans,sans-serif;font-size:12px;transition:border-color .2s}.sidebar-search-input:focus{border-color:var(--primary);outline:none}.sidebar-search-input::placeholder{color:var(--text-light)}.sidebar-search-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite spin;position:absolute;top:10px;right:12px}.sidebar-item-actions{opacity:0;gap:4px;margin-top:6px;transition:opacity .15s;display:flex}.sidebar-item:hover .sidebar-item-actions{opacity:1}.sidebar-action-btn{border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;background:#fff;padding:2px 8px;font-size:11px;line-height:1;transition:all .15s}.sidebar-action-btn.stop{color:var(--neutral-color);font-size:8px}.sidebar-action-btn.stop:hover{border-color:var(--neutral-color);background:#ca8a041a}.sidebar-action-btn.delete{color:var(--text-light);font-size:14px;font-weight:300}.sidebar-action-btn.delete:hover{color:var(--negative);background:#dc26260d;border-color:#dc26264d}.sidebar-empty{text-align:center;color:var(--text-light);padding:32px 16px;font-size:13px}.sidebar-loading{text-align:center;color:var(--text-light);padding:32px;font-size:13px}.sidebar-item{border-radius:var(--radius-sm);cursor:pointer;border-left:3px solid #0000;margin-bottom:2px;padding:12px 14px;transition:background .15s,border-color .15s}.sidebar-item:hover{background:#0891b20d}.sidebar-item.active{background:#0891b214;border-left-color:var(--primary)!important}.sidebar-item-top{align-items:flex-start;gap:8px;display:flex}.sidebar-status{flex-shrink:0;margin-top:5px;font-size:8px}.sidebar-status-draft{color:var(--text-light)}.sidebar-status-running{color:var(--neutral-color);animation:1.5s infinite pulse-color}.sidebar-status-completed{color:var(--positive)}.sidebar-status-failed{color:var(--negative)}@keyframes pulse-color{0%,to{opacity:1}50%{opacity:.3}}.sidebar-item h4{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-family:Open Sans,sans-serif;font-size:13px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.sidebar-excerpt{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.sidebar-item-meta{color:var(--text-light);gap:12px;margin-top:4px;font-size:10px;display:flex}.sidebar-stances{gap:4px;margin-top:6px;display:flex}.sidebar-stance-dot{border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #fff}.stance-dot-positive{background:var(--positive)}.stance-dot-neutral{background:var(--neutral-color)}.stance-dot-negative{background:var(--negative)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:12px 16px}.lang-switcher{justify-content:center;gap:4px;display:flex}.lang-btn{border-radius:var(--radius-xs);letter-spacing:.5px;cursor:pointer;color:var(--text-light);background:0 0;border:1.5px solid #0000;padding:5px 10px;font-family:Poppins,sans-serif;font-size:11px;font-weight:600;transition:all .15s}.lang-btn:hover{color:var(--text);background:#00000008}.lang-btn.active{color:var(--primary);border-color:var(--primary);background:#0891b214}.main-content{flex:1;min-width:0;padding:36px 48px;overflow-y:auto}.main-content::-webkit-scrollbar{width:5px}.main-content::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.main-logo{text-align:center;margin-bottom:32px}.main-logo-img{cursor:pointer;opacity:.9;width:auto;height:56px;transition:opacity .2s}.main-logo-img:hover{opacity:1}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{color:var(--text);font-size:22px}.section-header h3{color:var(--text);font-size:17px}.input-section{flex-direction:column;justify-content:center;min-height:60vh;display:flex}.welcome{text-align:left;max-width:640px;margin-bottom:36px;margin-left:auto;margin-right:auto}.welcome h2{background:linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:10px;font-size:32px;font-weight:700}.welcome p{color:var(--text-muted);font-size:16px;line-height:1.6}.chat-input{gap:12px;width:100%;max-width:640px;margin:0 auto;display:flex}.chat-input textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text);resize:none;flex:1;padding:14px 18px;font-family:Open Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}.chat-input textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0891b21f}.chat-input textarea::placeholder{color:var(--text-light)}button{border-radius:var(--radius-xs);cursor:pointer;border:none;padding:10px 20px;font-family:Open Sans,sans-serif;font-size:13px;font-weight:500;transition:all .2s}button:disabled{opacity:.4;cursor:not-allowed}button:not(:disabled):hover{transform:translateY(-1px)}button.primary,.chat-input button{background:var(--primary);color:#fff;box-shadow:0 2px 8px #0891b240}button.primary:hover{background:var(--primary-dark)}button.primary.large{border-radius:var(--radius-sm);padding:14px 36px;font-size:15px;font-weight:600}button.secondary{color:var(--text);border:1px solid var(--border);background:#fff}button.secondary:hover{border-color:var(--border-hover)}.edit-btn{color:var(--primary);background:0 0;padding:4px 12px;font-size:12px;font-weight:600}.close-btn{color:var(--text-muted);background:0 0}.action-bar{justify-content:center;margin-top:28px;display:flex}.cost-badge{background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-muted);border:1px solid var(--border);border-radius:20px;padding:6px 16px;font-size:12px;font-weight:500}.agent-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:16px 0;display:grid}.agent-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:20px;transition:border-color .2s,box-shadow .25s,transform .2s}.agent-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.agent-avatar{background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;overflow:hidden}.agent-avatar img{object-fit:cover;width:100%;height:100%}.agent-avatar-initials{color:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:700}.agent-card-identity{align-items:center;gap:10px;display:flex}.agent-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.agent-card h3{color:var(--text);font-size:15px;font-weight:600}.agent-role{color:var(--primary);margin-top:2px;font-size:12px;font-weight:600;display:inline-block}.agent-card ul{margin:10px 0;list-style:none}.agent-card li{color:var(--text-muted);padding:2px 0;font-size:12px}.agent-card li:before{content:"→ ";color:var(--primary);font-weight:600}.agent-personality{color:var(--text-light);margin-top:6px;font-size:12px;font-style:italic}.agent-card.editing{border-color:var(--primary);box-shadow:var(--shadow-md)}.agent-card input,.agent-card textarea{border:1px solid var(--border);border-radius:var(--radius-xs);width:100%;color:var(--text);background:#fff;margin:3px 0;padding:8px 12px;font-family:Open Sans,sans-serif;font-size:13px}.agent-card input:focus,.agent-card textarea:focus{border-color:var(--primary);outline:none}.agent-card-actions{gap:8px;margin-top:10px;display:flex}.stance-reason{color:var(--text-muted);border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:11px;line-height:1.4}.outcome-banner{border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:20px;margin-bottom:24px;padding:22px 28px;display:flex}.outcome-positive{background:#16a34a14;border:1px solid #16a34a33}.outcome-neutral{background:#ca8a0414;border:1px solid #ca8a0433}.outcome-negative{background:#dc262614;border:1px solid #dc262633}.outcome-text h2{font-size:19px}.outcome-positive .outcome-text h2{color:var(--positive)}.outcome-neutral .outcome-text h2{color:var(--neutral-color)}.outcome-negative .outcome-text h2{color:var(--negative)}.outcome-text p{color:var(--text-muted);margin-top:2px;font-size:13px}.running-indicator{color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.pulse{background:var(--primary);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse-scale}@keyframes pulse-scale{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.6)}}.progress-feed{margin:16px 0}.progress-feed h3{color:var(--text-muted);margin-bottom:12px;font-size:14px}.feed-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-height:320px;padding:14px;overflow-y:auto}.feed-item{border-bottom:1px solid var(--border);color:var(--text);padding:8px 0;font-size:13px}.feed-item:last-child{border-bottom:none}.feed-item .warning{color:var(--neutral-color)}.feed-item .error{color:var(--negative)}.report-view{margin:20px 0}.report-view h2{margin-bottom:16px;font-size:20px}.report-content{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:left;max-width:100%;padding:36px 40px;font-size:15px;line-height:1.8}.report-content h1{color:var(--text);letter-spacing:-.02em;margin:32px 0 14px;font-family:Poppins,sans-serif;font-size:22px;font-weight:700}.report-content h1:first-child{margin-top:0}.report-content h2{color:var(--primary);letter-spacing:-.01em;border-bottom:1px solid var(--border);margin:32px 0 12px;padding-bottom:8px;font-family:Poppins,sans-serif;font-size:18px;font-weight:600}.report-content h2:first-child{margin-top:0}.report-content h3{color:var(--text);margin:24px 0 10px;font-family:Poppins,sans-serif;font-size:16px;font-weight:600}.report-content h4{color:var(--text);margin:20px 0 8px;font-family:Poppins,sans-serif;font-size:14px;font-weight:600}.report-content p{max-width:72ch;margin-bottom:16px}.report-content ul,.report-content ol{margin:12px 0 16px;padding-left:24px}.report-content li{margin-bottom:6px;line-height:1.7}.report-content ul li{list-style-type:disc}.report-content ol li{list-style-type:decimal}.report-content li::marker{color:var(--primary)}.report-content strong{color:var(--text);font-weight:600}.report-content em{font-style:italic}.report-content a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.report-content a:hover{color:var(--primary-dark)}.report-content blockquote{border-left:3px solid var(--primary);border-radius:0 var(--radius-xs) var(--radius-xs) 0;color:var(--text-muted);background:#0891b20a;margin:16px 0;padding:12px 20px;font-size:14px}.report-content blockquote p{margin-bottom:8px}.report-content blockquote p:last-child{margin-bottom:0}.report-content code{color:var(--primary-dark);background:#0e749014;border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,monospace;font-size:13px}.report-content pre{border:1px solid var(--border);border-radius:var(--radius-xs);background:#0e74900f;margin:16px 0;padding:16px 20px;overflow-x:auto}.report-content pre code{background:0 0;padding:0;font-size:13px}.report-content hr{border:none;border-top:1px solid var(--border);margin:28px 0}.report-content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:13px}.report-content th{text-align:left;border-bottom:2px solid var(--border);color:var(--text);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;font-family:Poppins,sans-serif;font-size:12px;font-weight:600}.report-content td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 14px}.report-content tr:last-child td{border-bottom:none}.report-content tr:hover td{background:#0891b208}.degradation-warning{color:#92400e;border-radius:var(--radius-sm);background:#ca8a0414;border:1px solid #ca8a0433;margin-bottom:16px;padding:14px 18px;font-size:13px}.stances-summary{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:22px}.stances-summary h3{margin-bottom:14px;font-size:15px}.stances-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.stance-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;align-items:center;gap:12px;padding:10px 14px;transition:box-shadow .2s;display:flex}.stance-item:hover{box-shadow:var(--shadow-sm)}.stance-info{flex-direction:column;gap:2px;min-width:0;display:flex}.stance-info strong{color:var(--text);font-size:12px}.stance-info span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.stance-gauge{flex-direction:column;flex-shrink:0;align-items:center;gap:1px;display:flex}.stance-label{text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.agent-chat{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.agent-chat-header{border-bottom:1px solid var(--border);background:#ffffff80;align-items:center;gap:12px;padding:16px 20px;display:flex}.agent-chat-header h3{flex:1;font-size:14px}.turns-remaining{color:var(--text-light);font-size:11px}.agent-chat-messages{max-height:400px;padding:20px;overflow-y:auto}.chat-message{margin-bottom:16px}.chat-message strong{color:var(--text-muted);font-size:12px}.chat-message.user strong{color:var(--primary)}.chat-message p{color:var(--text);margin-top:4px;font-size:13px;line-height:1.7}.chat-message.loading{color:var(--text-light);font-size:13px;font-style:italic}.chat-message.error p{color:var(--negative)}.agent-chat-input{border-top:1px solid var(--border);background:#ffffff80;gap:8px;padding:14px 20px;display:flex}.agent-chat-input input{border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text);background:#fff;flex:1;padding:10px 14px;font-family:Open Sans,sans-serif;font-size:13px}.agent-chat-input input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0891b21a}.agent-chat-input button{background:var(--primary);color:#fff;border-radius:var(--radius-xs)}.error-banner{color:var(--negative);border-radius:var(--radius-sm);background:#dc26260f;border:1px solid #dc262633;margin-bottom:16px;padding:12px 18px;font-size:13px}.clarification-box{color:#92400e;border-radius:var(--radius-sm);background:#ca8a040f;border:1px solid #ca8a0433;margin-bottom:16px;padding:14px 18px;font-size:13px;line-height:1.6}.clarification-box:before{content:"? ";color:var(--neutral-color);font-weight:700}.context-guide{background:var(--bg-sidebar);-webkit-backdrop-filter:blur(24px);border-left:1px solid var(--border);flex-direction:column;transition:width .3s,min-width .3s;display:flex;overflow:hidden}.context-guide.open{width:260px;min-width:260px}.context-guide.collapsed{width:44px;min-width:44px}.guide-toggle{z-index:2;background:var(--bg-card);border:1px solid var(--border);width:28px;height:28px;color:var(--primary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:12px auto 0;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s,color .15s;display:flex;position:sticky;top:0}.context-guide.open .guide-toggle{margin:12px 10px 0 auto}.guide-toggle:hover{box-shadow:var(--shadow-sm);background:var(--primary);color:#fff}.guide-content{opacity:1;flex:1;padding:8px 20px 24px;transition:opacity .2s;overflow-y:auto}.context-guide.collapsed .guide-content{opacity:0;pointer-events:none;overflow:hidden}.guide-phase-badge{text-transform:uppercase;letter-spacing:.8px;color:var(--primary);background:#0891b214;border-radius:12px;margin-bottom:12px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.guide-title{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:600}.guide-description{color:var(--text-muted);margin-bottom:16px;font-size:12px;line-height:1.6}.guide-section{margin-bottom:16px}.guide-section h4{text-transform:uppercase;letter-spacing:.6px;color:var(--text-light);margin-bottom:8px;font-size:10px;font-weight:700}.guide-section ul{padding:0;list-style:none}.guide-section li{color:var(--text-muted);padding:4px 0 4px 16px;font-size:12px;line-height:1.5;position:relative}.guide-section li:before{content:"";background:var(--primary);opacity:.4;border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:0}.guide-stats{flex-wrap:wrap;gap:8px;display:flex}.guide-stat{border:1px solid var(--border);border-radius:var(--radius-xs);text-align:center;background:#fff;flex:1;min-width:60px;padding:8px 10px}.guide-stat-value{color:var(--primary);font-family:Poppins,sans-serif;font-size:16px;font-weight:700;display:block}.guide-stat-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;font-size:9px;display:block}.guide-examples{flex-direction:column;gap:6px;display:flex}.guide-example{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;padding:8px 12px;font-size:11px;font-style:italic;line-height:1.4}.guide-legend{flex-direction:column;gap:6px;display:flex}.guide-legend-item{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.guide-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.guide-dot-green{background:var(--positive)}.guide-dot-yellow{background:var(--neutral-color)}.guide-dot-red{background:var(--negative)}.context-guide::-webkit-scrollbar{width:3px}.context-guide::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:2px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0006;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius);width:90%;max-width:480px;max-height:85vh;box-shadow:var(--shadow-lg);background:#fff;animation:.25s cubic-bezier(.34,1.56,.64,1) scaleIn;position:relative;overflow-y:auto}.modal-close{color:var(--text-light);cursor:pointer;z-index:1;background:0 0;border:none;padding:4px;font-size:22px;line-height:1;position:absolute;top:12px;right:16px}.modal-close:hover{color:var(--text)}.agent-modal{padding:28px}.agent-modal-header{align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.agent-modal-avatar{background:linear-gradient(135deg, var(--primary), var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden;box-shadow:0 4px 12px #0891b233}.agent-modal-avatar img{object-fit:cover;width:100%;height:100%}.agent-modal-avatar-placeholder{color:#fff;font-family:Poppins,sans-serif;font-size:28px;font-weight:700}.agent-modal-info{flex:1}.agent-modal-info h2{margin-bottom:2px;font-size:20px}.agent-modal-role{color:var(--primary);font-size:14px;font-weight:600}.agent-modal-stance{align-items:center;gap:10px;margin-top:10px;display:flex}.agent-modal-stance-reason{color:var(--text-muted);font-size:12px;line-height:1.4}.agent-modal-section{margin-bottom:18px}.agent-modal-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-light);margin-bottom:6px;font-size:11px;font-weight:700}.agent-modal-section ul{padding:0;list-style:none}.agent-modal-section li{color:var(--text);padding:3px 0 3px 14px;font-size:13px;line-height:1.5;position:relative}.agent-modal-section li:before{content:"→";color:var(--primary);font-weight:600;position:absolute;left:0}.agent-modal-section p{color:var(--text);font-size:13px;font-style:italic;line-height:1.6}.agent-modal-actions{border-top:1px solid var(--border);justify-content:center;margin-top:20px;padding-top:16px;display:flex}.phase-enter{animation:.35s ease-out both fadeSlideUp}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger-in .stagger-item{animation:.3s ease-out both fadeSlideUp}.scale-in{animation:.4s cubic-bezier(.34,1.56,.64,1) both scaleIn}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.fade-in{animation:.3s ease-out both fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in-msg{animation:.25s ease-out both fadeSlideUp}.typing-indicator{align-items:center;gap:5px;padding:8px 0 4px;display:inline-flex}.typing-indicator span{background:var(--primary);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.progress-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.progress-bar-container{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex:1;height:32px;position:relative;overflow:visible}.progress-bar-fill{background:linear-gradient(90deg, var(--primary) 0%, var(--primary-light) 100%);border-radius:16px;height:100%;transition:width .8s cubic-bezier(.25,1,.5,1);box-shadow:0 0 12px #0891b24d}.progress-bar-cursor{z-index:2;filter:drop-shadow(0 2px 6px #00000040);transition:left .8s cubic-bezier(.25,1,.5,1);position:absolute;top:50%;transform:translate(-50%,-50%)}.progress-favicon{width:36px;height:36px;box-shadow:0 0 0 3px var(--primary), 0 2px 8px #0891b24d;background:#fff;border-radius:50%;padding:4px;animation:2s ease-in-out infinite faviconBob}@keyframes faviconBob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.05)}}.progress-bar-indeterminate{background:linear-gradient(90deg, transparent 0%, var(--primary-light) 30%, var(--primary) 50%, var(--primary-light) 70%, transparent 100%);opacity:.3;background-size:200% 100%;animation:2s ease-in-out infinite indeterminate}@keyframes indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-favicon-waiting{animation:1.2s ease-in-out infinite faviconBob,2s ease-in-out infinite faviconPulse}@keyframes faviconPulse{0%,to{box-shadow:0 0 0 3px var(--primary), 0 2px 8px #0891b24d}50%{box-shadow:0 0 0 6px #0891b24d,0 2px 12px #0891b266}}.progress-bar-label{letter-spacing:.3px;color:var(--text);pointer-events:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex;position:absolute;inset:0}.progress-eta{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.feed-item{border-bottom:1px solid var(--border);color:var(--text);align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;animation:.2s ease-out both fadeSlideUp;display:flex}.feed-item:last-of-type{border-bottom:none}.feed-item-latest{border-radius:var(--radius-xs);background:#0891b20a;margin:0 -14px;padding:10px 14px}.feed-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:10px;display:flex}.feed-icon-progress{color:var(--positive);background:#16a34a1f}.feed-icon-agent_degraded{color:var(--neutral-color);background:#ca8a041f}.feed-icon-round_skipped{color:var(--negative);background:#dc26261f}.feed-text{flex:1;line-height:1.5}.feed-text strong{font-weight:600}.turns-bar{background:var(--border);border-radius:3px;width:120px;height:6px;position:relative;overflow:hidden}.turns-bar-fill{background:var(--primary);border-radius:3px;height:100%;transition:width .4s}.turns-warning .turns-bar-fill{background:var(--negative)}.turns-bar-label{color:var(--text-light);white-space:nowrap;font-size:10px;position:absolute;top:10px;left:0}.turns-warning .turns-bar-label{color:var(--negative);font-weight:600}.intake-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#f7f8fcd9;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.intake-overlay-card{border-radius:var(--radius);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;align-items:center;gap:24px;padding:48px 56px;animation:.35s cubic-bezier(.34,1.56,.64,1) scaleIn;display:flex}.intake-favicon-spinner{width:72px;height:72px;position:relative}.intake-favicon{z-index:1;border-radius:8px;width:40px;height:40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intake-ring{width:72px;height:72px;animation:2.5s linear infinite spin}.intake-ring circle{fill:none;stroke:var(--primary);stroke-width:3px;stroke-dasharray:160;stroke-dashoffset:40px;stroke-linecap:round}.intake-step-text{color:var(--text);text-align:center;min-height:24px;font-size:15px;font-weight:500;animation:.4s ease-out fadeSlideUp}.intake-dots{gap:8px;display:flex}.intake-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .3s,transform .3s}.intake-dot.active{background:var(--primary);transform:scale(1.3)}.skeleton-pulse{background:linear-gradient(110deg,#0891b20f 30%,#0891b226 50%,#0891b20f 70%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn-spinner{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{text-align:center;color:var(--text-light);padding:48px;font-size:13px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=1024px){.context-guide{display:none}}@media (width<=768px){.sidebar{z-index:50;border:none;width:0;min-width:0;height:100%;position:absolute}.sidebar.open{width:300px;min-width:300px;box-shadow:var(--shadow-lg)}.main-content{padding:24px 20px}.agent-grid,.stances-grid{grid-template-columns:1fr}.welcome h2{font-size:24px}}
