@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #1a1a1c;--bg-secondary: #222224;--bg-tertiary: #2a2a2d;--bg-hover: #2e2e30;--bg-active: #353538;--bg-input: #38383b;--border-color: #38383b;--border-subtle: #2a2a2d;--text-primary: #cccccc;--text-secondary: #969696;--text-muted: #6e6e6e;--text-bright: #ffffff;--accent: #cccccc;--accent-hover: #ffffff;--accent-active: #aaaaaa;--accent-fg: #1a1a1c;--brand-accent: #36B5A0;--brand-accent-hover: #2EA08D;--brand-accent-dim: rgba(54, 181, 160, .15);--success: #4ADE80;--warning: #F5C842;--error: #f14c4c;--info: #cccccc;--editor-bg: #1a1a1c;--chat-width: 380px;--font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 8px;--network-bg: #181818;--node-label-color: #e5e5e5;--edge-label-color: #a1a1aa;--accent-bg-subtle: rgba(54, 181, 160, .06);--accent-bg-light: rgba(54, 181, 160, .04);--accent-bg-medium: rgba(54, 181, 160, .08);--accent-bg-hover: rgba(54, 181, 160, .12);--accent-border: rgba(54, 181, 160, .25);--accent-gradient-featured: linear-gradient(135deg, rgba(54, 181, 160, .12), rgba(54, 181, 160, .06));--accent-gradient-featured-hover: linear-gradient(135deg, rgba(54, 181, 160, .2), rgba(54, 181, 160, .12));--badge-bg: rgba(54, 181, 160, .12);--badge-color: #cccccc;--chart-ok: #4ADE80;--chart-warn: #F5C842;--chart-fail: #f14c4c;--chart-grid: rgba(255, 255, 255, .1);--chart-limit: rgba(245, 200, 66, .5)}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f3f3f3;--bg-tertiary: #e8e8e8;--bg-hover: #e5e5e5;--bg-active: #d4d4d4;--bg-input: #ffffff;--border-color: #e0e0e0;--border-subtle: #ebebeb;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--text-bright: #000000;--accent: #1a1a2e;--accent-hover: #000000;--accent-active: #333333;--accent-fg: #ffffff;--brand-accent: #1D8E7C;--brand-accent-hover: #177A6B;--brand-accent-dim: rgba(29, 142, 124, .1);--success: #059669;--warning: #D4960A;--error: #d13438;--info: #1a1a2e;--editor-bg: #ffffff;--network-bg: #fafafa;--node-label-color: #333333;--edge-label-color: #666666;--accent-bg-subtle: rgba(0, 0, 0, .04);--accent-bg-light: rgba(0, 0, 0, .03);--accent-bg-medium: rgba(29, 142, 124, .06);--accent-bg-hover: rgba(29, 142, 124, .1);--accent-border: rgba(29, 142, 124, .2);--accent-gradient-featured: linear-gradient(135deg, rgba(29, 142, 124, .08), rgba(29, 142, 124, .04));--accent-gradient-featured-hover: linear-gradient(135deg, rgba(29, 142, 124, .14), rgba(29, 142, 124, .08));--badge-bg: rgba(29, 142, 124, .08);--badge-color: #1a1a2e;--chart-ok: #059669;--chart-warn: #D4960A;--chart-fail: #d13438;--chart-grid: rgba(0, 0, 0, .08);--chart-limit: rgba(212, 150, 10, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.4;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px}:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg-primary);color:var(--text-primary)}.app-topbar{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:inset 0 -1px #36b5a026;flex-shrink:0}.app-topbar-left{display:flex;align-items:center;gap:10px}.app-logo{font-family:JetBrains Mono,monospace;font-weight:500;font-size:14px;color:var(--text-bright);letter-spacing:-.3px}.app-beta-badge{padding:1px 6px;background:var(--brand-accent-dim);color:var(--brand-accent);border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.app-network-name{color:var(--text-secondary);font-size:13px;padding-left:10px;border-left:1px solid var(--border-color)}.app-topbar-right{display:flex;align-items:center;gap:12px}.app-topbar-stats{display:flex;gap:12px;font-size:12px;color:var(--text-secondary)}.app-topbar-btn{padding:4px 12px;border-radius:4px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.app-topbar-btn:hover{background:var(--bg-hover)}.app-topbar-btn.accent{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--accent-fg);font-weight:500}.app-topbar-btn.accent:hover{filter:brightness(1.1)}.app-main{flex:1;display:flex;overflow:hidden}.app-center{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;position:relative}.app-center>:not(.app-center-tabs){animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.app-center-tabs{display:flex;align-items:center;gap:0;padding:0 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;height:32px}.app-center-tab{display:flex;align-items:center;gap:6px;padding:0 12px;height:100%;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;font-family:var(--font-family);cursor:pointer;transition:color .15s ease,border-color .15s ease}.app-center-tab:hover:not(:disabled){color:var(--text-primary)}.app-center-tab.active{color:var(--text-primary);border-bottom-color:var(--brand-accent)}.app-center-tab:disabled{opacity:.4;cursor:not-allowed}.app-center-tab svg{width:14px;height:14px}.tab-notification-dot{width:7px;height:7px;background:var(--error);border-radius:50%;display:inline-block;margin-left:4px;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.editor-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:200px}.editor-pane+.editor-pane{border-left:1px solid var(--border-color)}.editor-pane-header{height:24px;background:var(--bg-tertiary);display:flex;align-items:center;padding:0 10px;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);gap:6px}.editor-pane-header svg{width:14px;height:14px}.editor-pane-content{flex:1;overflow:auto}.network-preview{width:100%;height:100%;position:relative}.network-canvas{width:100%;height:100%;background:var(--network-bg)}.compact-mode-badge{position:absolute;bottom:8px;left:8px;background:#000000bf;border-radius:6px;padding:6px 10px;font-size:11px;color:#e5e5e5;pointer-events:none;z-index:10}.compact-mode-title{font-weight:600;margin-bottom:4px}.compact-mode-legend{display:flex;gap:8px;flex-wrap:wrap}.compact-mode-legend span{display:flex;align-items:center;gap:3px;font-size:10px;color:#a1a1aa}.compact-mode-legend i{display:inline-block;width:8px;height:8px;border-radius:50%}.diagram-legend{position:absolute;bottom:8px;left:8px;display:flex;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--text-secondary);z-index:5}.diagram-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.network-controls{position:absolute;top:8px;right:8px;display:flex;gap:4px;z-index:10}.network-controls button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.network-controls button:hover{background:var(--bg-hover);color:var(--text-primary);transform:scale(1.05)}.network-controls button.active{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--accent-fg)}.network-controls button svg{width:16px;height:16px}.chat-collapse-toggle{width:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-muted);font-size:16px;cursor:pointer;padding:0;transition:background .15s ease,color .15s ease}.chat-collapse-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.chat-panel{width:var(--chat-width);background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0}.chat-header-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color)}.chat-title-main{font-size:14px;font-weight:600;color:var(--text-bright)}.chat-header-info{display:flex;align-items:center;gap:8px}.chat-tokens{font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.chat-tokens.active-key{background:#4ec9b026;color:var(--success)}[data-theme=light] .chat-tokens.active-key{background:#0596691a;color:#065f46}.demo-counter-badge{font-size:11px;padding:2px 8px;border-radius:10px;cursor:default;white-space:nowrap}.chat-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-color)}.chat-history{display:flex;flex-direction:column;gap:1px;padding:4px 8px;border-bottom:1px solid var(--border-color);max-height:140px;overflow-y:auto}.chat-history-item{display:flex;align-items:center;gap:6px;padding:5px 8px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease;font-family:var(--font-family);text-align:left;color:var(--text-secondary);width:100%}.chat-history-item:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-history-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.chat-history-item>svg{flex-shrink:0;opacity:.5}.chat-history-title{flex:1;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.chat-history-delete{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:transparent;border:none;border-radius:2px;cursor:pointer;opacity:0;transition:opacity .1s ease,background .1s ease;color:var(--text-muted);flex-shrink:0;padding:0}.chat-history-item:hover .chat-history-delete{opacity:1}.chat-history-delete:hover{background:var(--bg-active);color:var(--error)}.chat-new-btn{background:var(--brand-accent);border:none;border-radius:var(--radius-sm);padding:6px 12px;font-size:12px;font-weight:500;color:var(--accent-fg);cursor:pointer;transition:background-color .15s ease;white-space:nowrap}.chat-new-btn:hover{background:var(--brand-accent-hover)}.chat-agents-section{border-bottom:1px solid var(--border-color)}.chat-agents-header{display:flex;align-items:center;gap:4px;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;transition:background-color .1s ease}.chat-agents-header:hover{background:var(--bg-hover)}.chat-agents-header svg{width:16px;height:16px;transition:transform .15s ease}.chat-agents-list{padding:4px 8px 8px}.chat-agent-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .1s ease}.chat-agent-item:hover{background:var(--bg-hover)}.chat-agent-item.active{background:var(--bg-active);color:var(--text-primary)}.chat-agent-item.disconnected{opacity:.7}.chat-agent-item.disconnected svg{color:var(--text-muted)}.chat-agent-item svg{width:16px;height:16px;color:var(--success)}.chat-agent-item span:first-of-type{flex:1}.chat-agent-badge{font-size:10px;padding:2px 6px;border-radius:8px;background:var(--bg-tertiary);color:var(--text-muted)}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.chat-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;margin-bottom:16px}.chat-empty-icon svg{width:24px;height:24px;color:var(--brand-accent)}.chat-empty h3{font-size:14px;font-weight:600;color:var(--text-bright);margin-bottom:8px}.chat-empty p{font-size:12px;color:var(--text-muted);margin-bottom:20px;max-width:280px}.chat-empty-actions{display:flex;gap:8px;margin-bottom:16px}.chat-demo-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--brand-accent);border:1px solid var(--brand-accent);border-radius:2px;color:var(--accent-fg);font-size:12px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all .15s ease}.chat-demo-btn svg{width:12px;height:12px;fill:var(--accent-fg);stroke:none}.chat-demo-btn:hover:not(:disabled){filter:brightness(1.1)}.chat-demo-btn:disabled{opacity:.5;cursor:not-allowed}.chat-import-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:transparent;border:1px solid var(--border-color);border-radius:2px;color:var(--text-secondary);font-size:12px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:all .15s ease}.chat-import-btn svg{width:12px;height:12px}.chat-import-btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.chat-samples-section{width:100%;max-width:320px;margin-bottom:16px}.chat-samples-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.chat-samples-list{display:flex;flex-direction:column;gap:2px;max-height:240px;overflow-y:auto}.chat-sample-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;text-align:left;font-family:var(--font-family)}.chat-sample-item:hover{background:var(--bg-hover);border-color:var(--brand-accent)}.chat-sample-item:disabled{opacity:.5;cursor:not-allowed}.chat-sample-name{font-size:12px;font-weight:500;color:var(--text-primary);flex:1;min-width:0}.chat-sample-desc{font-size:10px;color:var(--text-muted)}.chat-sample-badge{font-size:10px;padding:1px 5px;background:var(--bg-tertiary);color:var(--text-muted);border-radius:3px;flex-shrink:0}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.chat-suggestions button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 12px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.chat-suggestions button:hover{background:var(--bg-hover);border-color:var(--brand-accent);color:var(--text-primary)}.quickstart-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:320px}.quickstart-card{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left;font-family:var(--font-family)}.quickstart-card svg{width:16px;height:16px;color:var(--brand-accent);flex-shrink:0}.quickstart-card span{font-size:11px;color:var(--text-secondary);line-height:1.3}.quickstart-card:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-accent)}.quickstart-card:hover:not(:disabled) span{color:var(--text-primary)}.quickstart-card:disabled{opacity:.5;cursor:not-allowed}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message{display:flex;flex-direction:column;animation:fadeInUp .2s ease-out}.chat-message.user{align-items:flex-end}.chat-message.assistant,.chat-message.system{align-items:flex-start}.user-message{background:var(--brand-accent);color:var(--accent-fg);padding:10px 14px;border-radius:2px 6px 6px 2px;border-left:3px solid rgba(0,0,0,.2);max-width:85%;font-size:13px}.user-message p{margin:0}.assistant-message{display:flex;gap:10px;max-width:100%}.assistant-avatar{width:24px;height:24px;border-radius:3px;background:var(--bg-tertiary);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.assistant-avatar svg{width:16px;height:16px;color:var(--text-secondary)}.assistant-content{flex:1;min-width:0;position:relative}.copy-message-btn{position:absolute;top:0;right:0;display:flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;font-family:var(--font-family);cursor:pointer;opacity:0;transition:opacity .2s ease,color .15s ease,background .15s ease;z-index:1}.copy-message-btn svg{width:12px;height:12px}.assistant-content:hover .copy-message-btn{opacity:1}.copy-message-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--brand-accent)}.retry-action{margin-top:8px}.retry-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;font-family:var(--font-family);cursor:pointer;transition:all .15s ease}.retry-btn svg{width:13px;height:13px}.retry-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-accent);color:var(--text-primary)}.retry-btn:disabled{opacity:.4;cursor:not-allowed}.assistant-content .message-content{font-size:13px;color:var(--text-primary);line-height:1.6}.assistant-content .message-content h1,.assistant-content .message-content h2,.assistant-content .message-content h3{margin-top:12px;margin-bottom:8px;color:var(--text-bright)}.assistant-content .message-content h1{font-size:16px}.assistant-content .message-content h2{font-size:14px}.assistant-content .message-content h3{font-size:13px}.assistant-content .message-content p{margin-bottom:10px}.assistant-content .message-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;color:var(--warning)}.assistant-content .message-content pre{background:var(--bg-secondary);border:1px solid var(--border-color);padding:12px;border-radius:var(--radius-md);overflow-x:auto;margin:10px 0}.assistant-content .message-content pre code{background:none;padding:0;color:var(--text-primary)}.assistant-content .message-content .table-wrapper{overflow-x:auto;margin:10px 0;max-width:100%}.assistant-content .message-content table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--font-mono)}.assistant-content .message-content table th{background:var(--bg-tertiary);font-weight:600;color:var(--text-bright);text-align:left;padding:6px 12px;border:1px solid var(--border-color);border-top:2px solid var(--brand-accent);font-size:11px;white-space:nowrap}.assistant-content .message-content table td{padding:5px 12px;border:1px solid var(--border-subtle);color:var(--text-primary)}.assistant-content .message-content table tbody tr:nth-child(2n){background:#ffffff05}[data-theme=light] .assistant-content .message-content table tbody tr:nth-child(2n){background:#00000005}.assistant-content .message-content table tbody tr:hover{background:var(--bg-hover)}.assistant-content .message-content strong{color:var(--text-bright);font-weight:600}.assistant-content .message-content ul,.assistant-content .message-content ol{margin:8px 0;padding-left:20px}.assistant-content .message-content li{margin-bottom:4px}.system-message{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:10px 14px;border-radius:var(--radius-md);width:100%;font-size:11px}.system-message pre{margin:0;white-space:pre-wrap;font-family:var(--font-mono);font-size:11px}.typing-indicator{display:flex;align-items:center;padding:12px 16px}.typing-indicator-bar{height:3px;border-radius:2px;background:linear-gradient(90deg,var(--brand-accent),rgba(54,181,160,.3));animation:typing-pulse 1.5s ease-in-out infinite}@keyframes typing-pulse{0%{width:24px;opacity:.3}50%{width:48px;opacity:1}to{width:24px;opacity:.3}}.processing-status{font-size:11px;color:var(--text-muted);margin-left:4px;padding:12px 0}.message-timestamp{font-size:9px;color:var(--text-muted);opacity:0;transition:opacity .15s ease;margin-top:4px}.chat-message.user .message-timestamp{text-align:right}.chat-message:hover .message-timestamp{opacity:1}.chat-message pre{background:var(--bg-tertiary, #1a1a2e);border-radius:6px;padding:12px;overflow-x:auto;margin:8px 0;font-size:12px}.chat-message pre code{background:none;padding:0;color:var(--text-primary)}.chat-message a{color:var(--brand-accent);text-decoration:underline;text-underline-offset:2px}.chat-message a:hover{opacity:.8}.chat-message ul,.chat-message ol{padding-left:20px;margin:4px 0}.chat-date-separator{display:flex;align-items:center;gap:12px;padding:4px 0}.chat-date-separator:before,.chat-date-separator:after{content:"";flex:1;height:1px;background:var(--border-color)}.chat-date-separator span{font-size:10px;color:var(--text-muted);white-space:nowrap;font-weight:500}.scroll-to-bottom-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:all .15s ease;z-index:10}.scroll-to-bottom-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--brand-accent)}.scroll-to-bottom-btn svg{width:16px;height:16px}.chat-search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary)}.chat-search-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text-primary);outline:none}.chat-search-input:focus{border-color:var(--brand-accent)}.chat-search-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.chat-search-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:2px}.chat-search-close:hover{color:var(--text-primary)}.chat-message.search-dimmed{opacity:.3}.chat-message mark{background:#facc154d;color:inherit;border-radius:2px;padding:0 2px}.chat-disclaimer{font-size:11px;color:var(--text-muted);text-align:center;padding:6px 12px 0}.chat-disclaimer-link{background:none;border:none;color:var(--brand-accent);cursor:pointer;font-size:11px;padding:0;text-decoration:underline;font-family:inherit}.chat-disclaimer-link:hover{color:var(--brand-accent-hover)}.chat-input-area{padding:12px;border-top:1px solid var(--border-color);position:relative}.slash-commands-menu{position:absolute;bottom:100%;left:12px;right:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 -4px 16px #0003;max-height:280px;overflow-y:auto;z-index:100;margin-bottom:8px}.slash-command-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background-color .1s ease}.slash-command-item:hover,.slash-command-item.selected{background:var(--bg-hover)}.slash-command-item.selected{background:var(--bg-active)}.slash-command-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-shrink:0}.slash-command-icon svg{width:16px;height:16px;color:var(--brand-accent)}.slash-command-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.slash-command-name{font-size:13px;font-weight:500;color:var(--text-primary)}.slash-command-desc{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-badge{font-size:10px;padding:2px 6px;background:var(--bg-tertiary);color:var(--text-muted);border-radius:8px;flex-shrink:0}.chat-input-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.chat-input-wrapper:focus-within{border-color:var(--brand-accent)}.chat-input{width:100%;background:transparent;border:none;padding:12px 14px;color:var(--text-primary);font-family:var(--font-family);font-size:13px;resize:none;min-height:44px;max-height:120px}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-input-actions{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-top:1px solid var(--border-subtle);background:var(--bg-tertiary)}.chat-input-info{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}.connection-dot{width:6px;height:6px;border-radius:50%;background:var(--error)}.connection-dot.connected{background:var(--success)}.chat-send-btn{width:28px;height:28px;background:var(--brand-accent);border:none;border-radius:var(--radius-sm);color:var(--accent-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.chat-send-btn:hover:not(:disabled){background:var(--brand-accent);filter:brightness(1.1)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn svg{width:14px;height:14px}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);gap:24px}.welcome-logo{display:flex;flex-direction:column;align-items:center;gap:8px}.welcome-logo h1{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:500;color:var(--text-bright);letter-spacing:-.5px}.welcome-logo p{font-size:15px;color:var(--text-secondary)}.welcome-screen .import-dropzone{width:100%;max-width:400px;margin-bottom:0}.welcome-actions{display:flex;flex-direction:column;gap:12px;max-width:320px;width:100%}.welcome-action{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-left:3px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.welcome-action:hover{background:var(--bg-hover);border-color:var(--border-color);border-left-color:var(--brand-accent);transform:translate(2px)}.welcome-action svg{width:20px;height:20px;color:var(--brand-accent)}.welcome-action-text{flex:1}.welcome-action-text span{display:block;font-size:14px;font-weight:500;color:var(--text-primary)}.welcome-action-text small{font-size:12px;color:var(--text-muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:transparent}div.vis-network div.vis-navigation div.vis-button{background-color:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-sm)!important}div.vis-network div.vis-navigation div.vis-button:hover{background-color:var(--bg-hover)!important;box-shadow:none!important}div.vis-tooltip{background:var(--bg-secondary)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important;padding:8px 12px!important;font-family:var(--font-family)!important;font-size:12px!important;box-shadow:0 4px 12px #00000026!important}[data-theme=light] div.vis-tooltip{box-shadow:0 4px 12px #0000001a!important}.loading-spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--brand-accent);border-radius:50%;animation:spin .8s linear infinite}.file-upload-zone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:32px;text-align:center;background:var(--bg-secondary);transition:all .15s ease;cursor:pointer}.file-upload-zone:hover,.file-upload-zone.dragging{border-color:var(--brand-accent);background:var(--bg-hover)}.upload-icon{color:var(--text-muted);margin-bottom:12px}.upload-icon svg{width:32px;height:32px}.upload-text{font-size:13px;color:var(--text-primary);margin-bottom:4px;font-weight:500}.upload-subtext{color:var(--text-muted);font-size:11px;margin-bottom:12px}.upload-button{display:inline-block;padding:8px 16px;background:var(--brand-accent);color:var(--accent-fg);border-radius:var(--radius-md);font-weight:500;font-size:12px;cursor:pointer;transition:background-color .15s ease}.upload-button:hover{background:var(--brand-accent-hover)}.resize-handle{position:absolute;background:transparent;z-index:10}.resize-handle-vertical{width:4px;height:100%;cursor:col-resize;right:-2px;top:0}.resize-handle-horizontal{height:4px;width:100%;cursor:row-resize;bottom:-2px;left:0}.resize-handle:hover{background:var(--brand-accent)}.landing-page{--landing-accent: var(--brand-accent);--landing-accent-dim: var(--brand-accent-dim);min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}@keyframes landing-fade-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.landing-nav{display:flex;align-items:center;justify-content:space-between;padding:32px 48px;width:100%}.landing-nav-logo{font-family:JetBrains Mono,monospace;font-size:17px;font-weight:500;color:var(--text-bright);letter-spacing:-.5px}.landing-nav-cta{color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:400;transition:color .2s ease}.landing-nav-cta:hover{color:var(--text-bright)}.landing-hero{position:relative;overflow:hidden;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 48px;width:100%}.landing-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 0%,transparent 58%,rgba(54,181,160,.03) 59%,rgba(54,181,160,.06) 60%,rgba(54,181,160,.03) 61%,transparent 62%,transparent 100%);z-index:0;pointer-events:none}.landing-hero-content{position:relative;z-index:1;max-width:800px;text-align:left;width:100%;margin:0 auto}.landing-title{font-family:IBM Plex Sans,sans-serif;font-size:56px;font-weight:700;color:var(--text-bright);margin-bottom:24px;letter-spacing:-2px;line-height:1.15;text-shadow:0 0 40px rgba(54,181,160,.08);animation:landing-fade-in .6s ease-out both}.landing-title-swap{position:relative;display:inline-block}.landing-title-before{position:relative;display:inline-block;transition:opacity .3s ease .4s}.landing-title-before:after{content:"";position:absolute;left:0;top:50%;height:3px;width:0;background:var(--brand-accent);transition:width .4s ease}.landing-title-before.struck:after{width:100%}.landing-title-before.struck{opacity:0}.landing-title-after{position:absolute;left:0;top:0;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;color:var(--brand-accent);pointer-events:none;white-space:nowrap}.landing-title-after.visible{opacity:1;transform:translateY(0);pointer-events:auto;color:var(--text-bright);transition:opacity .4s ease .6s,transform .4s ease .6s,color .6s ease 1.4s}@media (prefers-reduced-motion: reduce){.landing-title-before{display:none}.landing-title-after{opacity:1;position:static;color:inherit;transform:none;pointer-events:auto}}.landing-subtitle{font-size:20px;color:var(--text-secondary);line-height:1.6;margin-bottom:48px;font-weight:400;max-width:620px;animation:landing-fade-in .6s ease-out .1s both}.landing-cta-primary{display:inline-block;padding:16px 32px;background:#36b5a0;border:1px solid #36B5A0;border-radius:2px;color:#1a1a1c;font-size:15px;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;transition:all .2s ease}.landing-cta-primary:hover{background:#2fa08d;color:#1a1a1c;border-color:#2fa08d;transform:translateY(-1px)}.landing-community{padding:20px 48px;text-align:center;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;gap:12px}.landing-community-label{font-size:11px;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.landing-community-logos{display:flex;align-items:center;gap:24px}.landing-community-logo{height:44px;opacity:.55;transition:opacity .2s}.landing-community-logo:hover{opacity:.85}.landing-community-logo.light-only,[data-theme=light] .landing-community-logo.dark-only{display:none}[data-theme=light] .landing-community-logo.light-only{display:block}.landing-footer{padding:32px 48px;text-align:center;width:100%;border-top:1px solid var(--border-subtle)}.landing-footer p{font-size:12px;color:var(--text-muted);font-weight:400}@media (max-width: 768px){.landing-nav{padding:20px 24px}.landing-hero{padding:0 24px}.landing-title{font-size:36px}.landing-subtitle{font-size:17px}.landing-footer{padding:20px 24px}}.map-visualization{position:relative;width:100%;height:100%;min-height:400px}.map-visualization .leaflet-container{width:100%;height:100%;background:var(--bg-primary);font-family:var(--font-family)}.map-no-geodata{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;background:var(--bg-secondary);border-radius:var(--radius-md)}.map-no-geodata-content{text-align:center;color:var(--text-secondary);padding:40px}.map-no-geodata-content svg{margin-bottom:16px;opacity:.5}.map-no-geodata-content h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.map-no-geodata-content p{font-size:14px;margin-bottom:8px}.map-no-geodata-content .map-hint{font-size:12px;color:var(--text-muted)}.map-no-geodata-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:12px;color:var(--brand-accent)}.map-legend{position:absolute;bottom:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px;z-index:1000;font-size:12px;min-width:140px;box-shadow:0 2px 8px #0000004d}.map-legend-title{font-weight:600;color:var(--text-primary);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.map-legend-item{display:flex;align-items:center;gap:8px;padding:3px 0;color:var(--text-secondary)}.map-legend-icon{width:12px;height:12px;border-radius:50%;flex-shrink:0}.map-legend-line{width:20px;height:3px;border-radius:2px;flex-shrink:0}.map-legend-separator{height:1px;background:var(--border-subtle);margin:8px 0}.map-layer-control{position:absolute;top:8px;right:8px;z-index:1000;display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:2px}.map-layer-control button{padding:4px 10px;font-size:11px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px}.map-layer-control button.active{background:var(--brand-accent);color:var(--accent-fg)}.custom-marker{background:transparent!important;border:none!important}.leaflet-popup-content-wrapper{background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-md);box-shadow:0 2px 8px #0000004d}.leaflet-popup-content{margin:12px;font-size:13px;line-height:1.5}.leaflet-popup-tip{background:var(--bg-secondary)}.leaflet-popup-close-button{color:var(--text-secondary)!important}.leaflet-popup-close-button:hover{color:var(--text-primary)!important}.leaflet-control-zoom a{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.leaflet-control-zoom a:hover{background:var(--bg-hover)!important}.leaflet-control-attribution{background:#1e1e1ecc!important;color:var(--text-muted)!important}.leaflet-control-attribution a{color:var(--brand-accent)!important}.protection-curve-container{display:flex;flex-direction:column;gap:20px;padding:20px;background:var(--bg-primary);border-radius:var(--radius-lg);height:100%;min-height:600px}.protection-curve-header{display:flex;justify-content:flex-end;gap:10px}.protection-curve-export-btn{padding:8px 16px;background:var(--brand-accent);color:var(--accent-fg);border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.protection-curve-export-btn:hover{background:var(--brand-accent-hover)}.protection-curve-export-btn:active{background:var(--accent-active)}.protection-curve-plot{flex:1;background:var(--network-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);min-height:500px;position:relative}.protection-curve-plot canvas{width:100%;height:100%;display:block;cursor:crosshair}.protection-curve-tooltip{position:fixed;background:#000000e6;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px;font-size:12px;color:var(--text-primary);pointer-events:none;z-index:1000;min-width:160px;box-shadow:0 4px 12px #0000004d}.protection-curve-tooltip-title{font-weight:600;color:var(--text-bright);margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.protection-curve-tooltip-row{display:flex;justify-content:space-between;gap:12px;margin-top:4px;font-family:var(--font-mono)}.protection-curve-tooltip-row span:first-child{color:var(--text-secondary)}.protection-curve-tooltip-row span:last-child{color:var(--text-bright);font-weight:500}.protection-curve-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-lg);min-height:400px}.protection-curve-empty-icon{font-size:72px;margin-bottom:20px;opacity:.5}.protection-curve-empty h3{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 10px}.protection-curve-empty p{font-size:14px;color:var(--text-secondary);margin:0;max-width:400px;text-align:center;line-height:1.6}.protection-curve-legend{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:15px;max-height:200px;overflow-y:auto}.protection-curve-legend h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.protection-curve-legend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);transition:background .15s}.protection-curve-legend-item:hover{background:var(--bg-hover)}.protection-curve-legend-color{width:4px;height:32px;border-radius:2px;flex-shrink:0}.protection-curve-legend-text{flex:1;min-width:0}.protection-curve-legend-name{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protection-curve-legend-details{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protection-issues{background:#f14c4c1a;border:1px solid var(--error);border-radius:var(--radius-md);padding:15px;margin-top:15px}.protection-issues-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.protection-issues-icon{font-size:20px;color:var(--error)}.protection-issues-title{font-size:14px;font-weight:600;color:var(--error);margin:0}.protection-issue-item{background:var(--bg-secondary);border-left:3px solid var(--error);padding:12px;border-radius:var(--radius-sm);margin-bottom:8px;font-size:13px;color:var(--text-primary)}.protection-issue-item:last-child{margin-bottom:0}.protection-issue-severity-high{border-left-color:#f14c4c}.protection-issue-severity-medium{border-left-color:#dcdcaa}.protection-issue-severity-low{border-left-color:var(--info)}.protection-coordinated{background:#4ec9b01a;border:1px solid var(--success);border-radius:var(--radius-md);padding:15px;margin-top:15px;display:flex;align-items:center;gap:10px}.protection-coordinated-icon{font-size:20px;color:var(--success)}.protection-coordinated-text{font-size:13px;color:var(--success);font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:480px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:14px;font-weight:600;color:var(--text-bright);margin:0}.modal-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .15s ease}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-content{padding:20px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-color)}.modal-btn{padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:6px}.modal-btn.primary{background:var(--brand-accent);color:var(--accent-fg);border:none}.modal-btn.primary:hover:not(:disabled){background:var(--brand-accent-hover)}.modal-btn.primary:disabled{opacity:.5;cursor:not-allowed}.modal-btn.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.modal-btn.secondary:hover{background:var(--bg-hover)}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.feedback-form-group{margin-bottom:14px}.feedback-form-group label{display:block;font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.feedback-severity-option{flex:1;padding:7px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:500;text-align:center;cursor:pointer;transition:all .15s ease}.feedback-severity-option:hover{border-color:var(--brand-accent);color:var(--text-primary)}.feedback-severity-option.active{border-color:var(--brand-accent);background:var(--accent-bg-medium);color:var(--brand-accent)}.feedback-price-option{flex:1;padding:8px 4px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:500;text-align:center;cursor:pointer;transition:all .15s ease;min-width:0}.feedback-price-option:hover{border-color:var(--brand-accent);color:var(--text-primary)}.feedback-price-option.active{border-color:var(--brand-accent);background:var(--accent-bg-medium);color:var(--brand-accent)}.import-dialog{width:520px}.import-dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:32px 20px;text-align:center;cursor:pointer;transition:all .2s ease;margin-bottom:16px;background:var(--bg-primary)}.import-dropzone:hover{border-color:var(--brand-accent);background:var(--accent-bg-light)}.import-dropzone.dragging{border-color:var(--brand-accent);background:var(--accent-bg-medium);border-style:solid}.import-dropzone.has-file{border-style:solid;border-color:var(--success);background:#4ec9b00d}.import-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.import-dropzone-content svg{color:var(--text-muted)}.import-dropzone-content p{font-size:14px;margin:8px 0 0}.import-formats-hint{font-size:11px;color:var(--text-muted)}.import-file-info{display:flex;flex-direction:column;align-items:center;gap:8px}.import-file-info svg{color:var(--success)}.import-file-name{font-size:14px;font-weight:500;color:var(--text-bright)}.import-file-size{font-size:12px;color:var(--text-secondary)}.import-field{margin-bottom:16px}.import-field label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.import-input,.import-select{width:100%;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s ease}.import-input:focus,.import-select:focus{outline:none;border-color:var(--brand-accent)}.import-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='%23969696'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.import-format-desc{display:block;font-size:11px;color:var(--text-muted);margin-top:4px}.import-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f14c4c1a;border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:13px}.import-result{display:flex;flex-direction:column;gap:16px}.import-success-header{display:flex;align-items:center;gap:10px;color:var(--success);font-size:14px;font-weight:500}.import-stats h4,.import-warnings h4,.import-unsupported h4{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.import-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.import-stat-item{background:var(--bg-primary);border-radius:var(--radius-md);padding:10px;text-align:center}.import-stat-value{display:block;font-size:18px;font-weight:600;color:var(--text-bright)}.import-stat-label{display:block;font-size:10px;color:var(--text-muted);text-transform:uppercase;margin-top:2px}.import-warnings{background:#dcdcaa1a;border:1px solid var(--warning);border-radius:var(--radius-md);padding:12px}.import-warnings h4{color:var(--warning)}.import-warnings ul,.import-unsupported ul{margin:0;padding-left:20px}.import-warnings li,.import-unsupported li{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.import-unsupported{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:12px}.import-samples-section{margin-top:16px;border-top:1px solid var(--border-color);padding-top:16px}.import-samples-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.import-samples-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.import-samples-list{display:flex;flex-direction:column;gap:6px;margin-top:10px;max-height:200px;overflow-y:auto}.import-sample-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.import-sample-item:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-accent)}.import-sample-item:disabled{opacity:.6;cursor:not-allowed}.import-sample-info{flex:1;display:flex;flex-direction:column;gap:2px}.import-sample-name{font-size:13px;font-weight:500;color:var(--text-primary)}.import-sample-desc{font-size:11px;color:var(--text-muted)}.import-sample-ext{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:10px;font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase}.btn-spinner.small{width:12px;height:12px;border-width:1.5px}.landing-cta-group{display:flex;gap:16px;flex-wrap:wrap;animation:landing-fade-in .6s ease-out .2s both}.landing-cta-secondary{display:inline-block;padding:16px 32px;background:transparent;border:1px solid var(--text-secondary);border-radius:2px;color:var(--text-primary);font-size:15px;font-weight:500;text-decoration:none;transition:all .2s ease}.landing-cta-secondary:hover{background:transparent;color:var(--text-bright);border-color:var(--text-bright)}.landing-features{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:64px;padding-top:48px;border-top:1px solid rgba(54,181,160,.2);animation:landing-fade-in .6s ease-out .4s both}.landing-feature{text-align:left}.landing-feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px}.landing-feature-icon svg{width:20px;height:20px;color:var(--landing-accent)}.landing-feature h3{font-family:IBM Plex Sans,sans-serif;font-size:14px;font-weight:500;color:var(--text-bright);margin-bottom:8px}.landing-feature p{font-size:13px;color:var(--text-secondary);line-height:1.5}.landing-demo-section{margin-top:64px;padding-top:48px;border-top:1px solid rgba(54,181,160,.2);width:100%;max-width:800px;animation:landing-fade-in .6s ease-out .4s both}.landing-demo{margin-top:24px;width:100%;border-radius:8px;overflow:hidden;border:1px solid rgba(54,181,160,.25);box-shadow:0 0 48px #36b5a014,0 8px 32px #0006}.landing-demo-video{width:100%;display:block}.landing-how-it-works{margin-top:64px;padding-top:48px;border-top:1px solid rgba(54,181,160,.2);position:relative;z-index:1;animation:landing-fade-in .6s ease-out .3s both}.landing-section-title{font-family:IBM Plex Sans,sans-serif;font-size:15px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:36px;font-weight:500}.landing-steps{display:flex;flex-direction:column;gap:28px}.landing-step{display:flex;align-items:flex-start;gap:16px;text-align:left}.landing-step-number{width:40px;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;background:var(--landing-accent-dim);border-radius:50%;font-size:16px;font-weight:600;color:var(--landing-accent)}.landing-step h3{font-family:IBM Plex Sans,sans-serif;font-size:22px;font-weight:500;color:var(--text-bright);margin-bottom:6px}.landing-step p{font-size:15px;color:var(--text-secondary);line-height:1.5}@media (max-width: 900px){.landing-features{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.landing-features{grid-template-columns:1fr}.landing-cta-group,.landing-waitlist-form{flex-direction:column}.landing-waitlist-input{width:100%}}.landing-waitlist-form{display:flex;gap:8px;align-items:center}.landing-waitlist-input{width:240px;padding:12px 16px;border:1px solid var(--border-color);border-radius:0;font-size:14px;font-family:var(--font-family);color:var(--text-bright);background:var(--bg-primary);transition:border-color .2s ease}.landing-waitlist-input:focus{outline:none;border-color:var(--text-primary)}.landing-waitlist-input::placeholder{color:var(--text-muted)}.landing-waitlist-submit{padding:12px 24px;border:1px solid #36B5A0;border-radius:2px;background:#36b5a0;color:#1a1a1c;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.landing-waitlist-submit:hover:not(:disabled){background:#2fa08d;color:#1a1a1c;border-color:#2fa08d;transform:translateY(-1px)}.landing-waitlist-submit:disabled{opacity:.6;cursor:not-allowed}.landing-waitlist-success{display:inline-flex;align-items:center;padding:12px 24px;border:1px solid var(--success);color:var(--success);font-size:14px;font-weight:400}[data-theme=light] .landing-nav{background:transparent}[data-theme=light] .landing-nav-logo{color:#1a1a2e}[data-theme=light] .landing-hero{background:#fff}[data-theme=light] .landing-title{color:#1a1a2e;text-shadow:0 0 40px rgba(29,142,124,.06)}[data-theme=light] .landing-subtitle{color:#555}[data-theme=light] .landing-cta-primary{background:#1d8e7c;border:1px solid #1D8E7C;color:#fff}[data-theme=light] .landing-cta-primary:hover{background:#187a6a;color:#fff;border-color:#187a6a;transform:translateY(-1px)}[data-theme=light] .landing-cta-secondary{background:transparent;border:1px solid var(--text-secondary);color:var(--text-primary)}[data-theme=light] .landing-cta-secondary:hover{background:transparent;color:var(--text-bright);border-color:var(--text-bright)}[data-theme=light] .landing-features{border-top:1px solid #e5e7eb}[data-theme=light] .landing-feature-icon{background:transparent;border-color:#e5e7eb}[data-theme=light] .landing-feature h3{color:#1a1a2e}[data-theme=light] .landing-feature p{color:#555}[data-theme=light] .landing-section-title{color:#666}[data-theme=light] .landing-step-number{background:var(--landing-accent-dim);color:var(--landing-accent)}[data-theme=light] .landing-step h3{color:#1a1a2e}[data-theme=light] .landing-step p{color:#555}[data-theme=light] .landing-footer{background:transparent;border-top-color:#e5e7eb}[data-theme=light] .landing-footer p{color:#666}[data-theme=light] .landing-hero-grid{background:linear-gradient(180deg,transparent 0%,transparent 58%,rgba(29,142,124,.03) 59%,rgba(29,142,124,.05) 60%,rgba(29,142,124,.03) 61%,transparent 62%,transparent 100%)}[data-theme=light] .landing-waitlist-input{background:#fff;border:1px solid #e5e7eb;color:#1a1a2e}[data-theme=light] .landing-waitlist-input:focus{border-color:#1a1a2e}[data-theme=light] .landing-waitlist-input::placeholder{color:#999}[data-theme=light] .landing-waitlist-submit{background:#1d8e7c;border:1px solid #1D8E7C;color:#fff}[data-theme=light] .landing-waitlist-submit:hover:not(:disabled){background:#187a6a;color:#fff;border-color:#187a6a;transform:translateY(-1px)}.landing-survey-section{position:relative;max-width:520px;width:90vw;padding:32px;border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.landing-survey-section h2{font-family:IBM Plex Sans,sans-serif;font-size:20px;font-weight:600;color:var(--text-bright);margin:0 0 6px}.landing-survey-section .landing-survey-subtitle{font-family:var(--font-family);font-size:13.5px;color:var(--text-secondary);margin:0 0 24px}.landing-survey-form{display:flex;flex-direction:column;gap:20px}.landing-survey-field label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.landing-survey-input,.landing-survey-textarea{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s ease;box-sizing:border-box}.landing-survey-input:focus,.landing-survey-textarea:focus{border-color:var(--brand-accent)}.landing-survey-input::placeholder,.landing-survey-textarea::placeholder{color:var(--text-muted)}.landing-survey-textarea{resize:vertical;min-height:60px}.landing-survey-options{display:flex;flex-wrap:wrap;gap:6px}.landing-survey-pill{padding:8px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.landing-survey-pill:hover{border-color:var(--brand-accent);color:var(--text-primary)}.landing-survey-pill.active{border-color:var(--brand-accent);background:var(--accent-bg-medium, rgba(204, 204, 204, .1));color:var(--brand-accent)}.landing-survey-submit{width:100%;padding:12px 20px;border:1px solid #36B5A0;border-radius:2px;background:#36b5a0;color:#1a1a1c;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.landing-survey-submit:hover:not(:disabled){background:#2fa08d;color:#1a1a1c;border-color:#2fa08d;transform:translateY(-1px)}.landing-survey-submit:disabled{opacity:.6;cursor:not-allowed}.landing-survey-success{text-align:center;padding:24px 0}.landing-survey-success .landing-survey-check{width:48px;height:48px;background:#4ec9b026;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.landing-survey-success h3{color:var(--text-primary);font-size:14px;font-weight:500;margin:0 0 8px}.landing-survey-success p{color:var(--text-secondary);font-size:13px;margin:0}.landing-survey-error{color:var(--error);font-size:13px;margin:0}[data-theme=light] .landing-survey-section{background:#fff;border-color:#e5e7eb}[data-theme=light] .landing-survey-section h2{font-family:IBM Plex Sans,sans-serif;color:#1a1a2e}[data-theme=light] .landing-survey-input,[data-theme=light] .landing-survey-textarea{background:#fff;border-color:#e5e7eb;color:#1a1a2e}[data-theme=light] .landing-survey-input:focus,[data-theme=light] .landing-survey-textarea:focus{border-color:#1a1a2e}[data-theme=light] .landing-survey-input::placeholder,[data-theme=light] .landing-survey-textarea::placeholder{color:#999}[data-theme=light] .landing-survey-pill{background:#fff;border-color:#e5e7eb;color:#555}[data-theme=light] .landing-survey-pill:hover{border-color:#1a1a2e;color:#1a1a2e}[data-theme=light] .landing-survey-pill.active{border-color:#1a1a2e;background:#1a1a2e14;color:#1a1a2e}[data-theme=light] .landing-survey-submit{background:#1d8e7c;border:1px solid #1D8E7C;color:#fff}[data-theme=light] .landing-survey-submit:hover:not(:disabled){background:#187a6a;color:#fff;border-color:#187a6a;transform:translateY(-1px)}@media (max-width: 600px){.landing-survey-section{padding:24px 16px;width:95vw}.landing-survey-options{flex-direction:column}.landing-survey-pill{text-align:center}}.chat-empty-icon.study-icon{background:var(--brand-accent-dim);border:1px solid var(--brand-accent)}.chat-empty-icon.study-icon svg{color:var(--brand-accent)}.chat-study-steps{display:flex;flex-direction:column;gap:16px;width:100%;max-width:300px;margin-bottom:20px}.chat-step{display:flex;gap:12px;align-items:flex-start}.chat-step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--brand-accent-dim);border-radius:50%;font-size:12px;font-weight:600;color:var(--brand-accent);flex-shrink:0}.chat-step-content{flex:1}.chat-step-title{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.chat-step-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-step-btn{padding:6px 12px;font-size:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.chat-step-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--brand-accent);color:var(--text-primary)}.chat-step-btn:disabled{opacity:.5;cursor:not-allowed}.chat-step-btn.primary{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--accent-fg);font-weight:500}.chat-step-btn.primary:hover:not(:disabled){filter:brightness(1.1)}.chat-step-btn.featured{background:var(--brand-accent);border:1px solid var(--brand-accent);color:var(--accent-fg);font-weight:500}.chat-step-btn.featured:hover:not(:disabled){filter:brightness(1.1)}.chat-divider{display:flex;align-items:center;gap:12px;width:100%;max-width:280px;margin-bottom:16px}.chat-divider:before,.chat-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.chat-divider span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.slash-commands-section{border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:4px}.slash-commands-section-header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 12px 4px}.slash-command-item.featured{background:var(--accent-bg-subtle)}.slash-command-item.featured:hover,.slash-command-item.featured.selected{background:var(--accent-bg-hover)}.slash-command-icon.featured{background:var(--brand-accent)}.slash-command-icon.featured svg{color:var(--accent-fg)}.slash-command-badge.featured{background:var(--brand-accent);color:var(--accent-fg);font-weight:600}.study-wizard{width:520px}.wizard-progress{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0 24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:6px}.wizard-step-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:50%;font-size:12px;font-weight:600;color:var(--text-muted);transition:all .2s ease}.wizard-step.active .wizard-step-number{background:var(--brand-accent);border-color:var(--brand-accent);color:var(--accent-fg)}.wizard-step.completed .wizard-step-number{background:var(--success);border-color:var(--success);color:#fff}.wizard-step-label{font-size:11px;color:var(--text-muted);font-weight:500}.wizard-step.active .wizard-step-label{color:var(--text-primary)}.wizard-step-line{width:40px;height:2px;background:var(--border-color);margin:0 4px 20px}.wizard-content{min-height:280px}.wizard-step-header{margin-bottom:24px}.wizard-step-header h4{font-size:16px;font-weight:600;color:var(--text-bright);margin:0 0 8px}.wizard-step-header p{font-size:13px;color:var(--text-secondary);margin:0}.wizard-options{display:flex;flex-direction:column;gap:12px}.wizard-option-btn{display:flex;align-items:center;gap:16px;width:100%;padding:16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.wizard-option-btn:hover{background:var(--bg-hover);border-color:var(--brand-accent)}.wizard-option-btn.primary{border-color:var(--brand-accent);background:var(--accent-bg-light)}.wizard-option-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md);flex-shrink:0}.wizard-option-icon svg{width:20px;height:20px;color:var(--brand-accent)}.wizard-option-text{flex:1}.wizard-option-title{display:block;font-size:14px;font-weight:500;color:var(--text-bright);margin-bottom:4px}.wizard-option-desc{display:block;font-size:12px;color:var(--text-secondary)}.wizard-form{display:flex;flex-direction:column;gap:20px}.wizard-field{display:flex;flex-direction:column;gap:8px}.wizard-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.wizard-field select,.wizard-field input{padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:inherit}.wizard-field select:focus,.wizard-field input:focus{outline:none;border-color:var(--brand-accent)}.wizard-field-hint{font-size:11px;color:var(--text-muted)}.wizard-resource-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wizard-resource-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.wizard-resource-btn:hover{border-color:var(--brand-accent)}.wizard-resource-btn.active{background:var(--accent-bg-medium);border-color:var(--brand-accent)}.wizard-resource-btn svg{width:24px;height:24px;color:var(--text-muted)}.wizard-resource-btn.active svg{color:var(--brand-accent)}.wizard-resource-btn span{font-size:12px;color:var(--text-secondary)}.wizard-resource-btn.active span{color:var(--text-primary);font-weight:500}.wizard-capacity-input{display:flex;align-items:center;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.wizard-capacity-input:focus-within{border-color:var(--brand-accent)}.wizard-capacity-input input{flex:1;border:none;background:transparent;padding:10px 12px}.wizard-capacity-input input:focus{outline:none;border:none}.wizard-capacity-unit{padding:10px 12px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:500}.wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color)}.wizard-summary{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.wizard-summary-item{display:flex;justify-content:space-between;padding:8px 0}.wizard-summary-item:not(:last-child){border-bottom:1px solid var(--border-subtle)}.wizard-summary-label{font-size:13px;color:var(--text-secondary)}.wizard-summary-value{font-size:13px;font-weight:500;color:var(--text-bright)}.wizard-info-box{display:flex;gap:12px;padding:12px;background:var(--accent-bg-medium);border:1px solid var(--accent-border);border-radius:var(--radius-md)}.wizard-info-box svg{width:20px;height:20px;color:var(--brand-accent);flex-shrink:0;margin-top:2px}.wizard-info-box p{font-size:12px;color:var(--text-secondary);margin:0;line-height:1.5}.modal-btn.featured{background:var(--brand-accent);border:none;color:var(--accent-fg);display:flex;align-items:center;gap:8px}.modal-btn.featured:hover:not(:disabled){opacity:.9}.modal-btn.featured svg{width:16px;height:16px}.study-actions{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.study-export-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--brand-accent);border:none;border-radius:var(--radius-md);color:var(--accent-fg);font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:all .15s ease}.study-export-btn:hover:not(:disabled){opacity:.9}.study-export-btn:disabled{opacity:.5;cursor:not-allowed}.study-export-btn svg{width:16px;height:16px}.study-export-btn.download{background:var(--brand-accent);color:var(--accent-fg)}.study-export-btn.download:hover{filter:brightness(1.1)}.results-dashboard{flex:1;display:flex;flex-direction:column;overflow:hidden}.results-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.results-badges{display:flex;gap:6px;flex-wrap:wrap}.results-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500}.results-badge.available{background:#4ec9b026;color:var(--success)}.results-badge.unavailable{background:var(--bg-tertiary);color:var(--text-muted)}.results-refresh-btn{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px 6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.results-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.results-copy-summary-btn{background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px 8px;display:flex;align-items:center;gap:4px;font-size:11px;font-family:var(--font-family);transition:all .15s ease}.results-copy-summary-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.results-export-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);opacity:0;transition:opacity .15s ease,color .15s ease;margin-left:4px}.results-section-header:hover .results-export-btn{opacity:1}.results-export-btn:hover{color:var(--text-primary);background:var(--bg-active)}.results-content{flex:1;overflow-y:auto;padding:16px}.results-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:var(--text-secondary)}.results-empty svg{margin-bottom:16px;opacity:.4}.results-empty h3{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.results-empty p{font-size:13px;color:var(--text-muted);max-width:320px}.results-section{margin-bottom:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);overflow:hidden}.results-section-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:background .1s ease}.results-section-header:hover{background:var(--bg-hover)}.results-section-badge{margin-left:auto;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary)}.results-section-content{padding:12px 14px 14px;border-top:1px solid var(--border-color)}.results-section-content.collapsed{display:none}.results-section-content.expanded{animation:fadeIn .15s ease-in}.results-verdict{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;margin-bottom:12px}.results-verdict-pass{background:#4ec9b01f;color:var(--success);border:1px solid rgba(78,201,176,.3)}.results-verdict-fail{background:#f14c4c1f;color:var(--error);border:1px solid rgba(241,76,76,.3)}.results-verdict-warning{background:#dcdcaa1f;color:var(--warning);border:1px solid rgba(220,220,170,.3)}.results-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.results-stat{background:var(--bg-primary);border-radius:var(--radius-md);padding:10px;text-align:center}.results-stat-value{display:block;font-size:14px;font-weight:600;color:var(--text-bright)}.results-stat-label{display:block;font-size:10px;color:var(--text-muted);margin-top:2px;text-transform:uppercase}.results-table-wrap{width:100%;overflow-x:auto}.results-table{width:100%;min-width:640px;border-collapse:collapse;font-size:12px;margin-top:8px}.results-table th{text-align:left;padding:6px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border-bottom:1px solid var(--border-color);background:var(--bg-primary);position:sticky;top:0}.results-table td{padding:5px 8px;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:11px}.results-table tbody tr:hover{background:var(--bg-hover)}.results-table tbody tr:nth-child(2n){background:#ffffff05}.results-cell-pass{color:var(--success)!important;font-weight:600}.results-cell-fail{color:var(--error)!important;font-weight:600}.results-cell-warning{color:var(--warning)!important;font-weight:600}.results-subsection-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin:16px 0 4px;padding-top:12px;border-top:1px solid var(--border-subtle)}.results-recommendations{margin-top:12px;padding:10px 14px;background:var(--bg-primary);border-radius:var(--radius-md)}.results-recommendations strong{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.results-recommendations ul{margin:0;padding-left:18px}.results-recommendations li{font-size:12px;color:var(--text-primary);margin-bottom:4px;line-height:1.5}.welcome-action.featured{background:var(--brand-accent-dim);border-color:var(--brand-accent)}.welcome-action.featured:hover{background:#36b5a033;border-left-color:var(--brand-accent)}.welcome-action.featured svg{color:var(--brand-accent)}.results-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 0;font-size:11px;color:var(--text-muted)}.results-pagination button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:4px 10px;font-size:11px;color:var(--text-primary);cursor:pointer}.results-pagination button:disabled{opacity:.4;cursor:default}.results-pagination button:hover:not(:disabled){background:var(--bg-hover)}.results-filter-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;margin-bottom:6px}.results-filter-toggle input{accent-color:var(--brand-accent)}.chart-container{margin-bottom:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px;background:var(--bg-primary)}.chart-title{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}[data-theme=light] .results-table tbody tr:nth-child(2n){background:#00000006}[data-theme=light] .results-verdict-pass{background:#107c101a;border-color:#107c104d;color:#065f46}[data-theme=light] .results-verdict-fail{background:#d134381a;border-color:#d134384d;color:#991b1b}[data-theme=light] .results-verdict-warning{background:#c19c001a;border-color:#c19c004d;color:#92400e}[data-theme=light] .results-badge.available{background:#0596691a;color:#065f46}[data-theme=light] .protection-coordinated{background:#05966914;border-color:#0596694d}[data-theme=light] .protection-coordinated-icon,[data-theme=light] .protection-coordinated-text{color:#065f46}[data-theme=light] .compact-mode-badge{background:#0009}[data-theme=light] .import-error{background:#d1343814;color:#991b1b}[data-theme=light] .import-success-header{color:#065f46}[data-theme=light] .import-warnings{background:#c19c0014}[data-theme=light] .results-cell-pass{color:#065f46!important}[data-theme=light] .results-cell-fail{color:#991b1b!important}[data-theme=light] .results-cell-warning{color:#92400e!important}.welcome-samples{width:100%;max-width:640px;margin-top:8px}.welcome-samples h3{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.welcome-samples-subtitle{font-size:12px;font-weight:500;color:var(--text-muted);margin:16px 0 10px}.welcome-samples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.sample-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.sample-card:hover{background:var(--bg-hover);border-color:var(--brand-accent)}.sample-card-name{font-size:12px;font-weight:500;color:var(--text-primary)}.sample-card-desc{font-size:10px;color:var(--text-muted);line-height:1.4}.sample-card-epe{border-left:3px solid #c9a84c}.sample-card-epe:hover{border-color:#c9a84c;border-left-color:#c9a84c}.network-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080;z-index:10;gap:12px;color:var(--text-primary);font-size:14px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--brand-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.app-main{flex-direction:column}.chat-panel{width:100%!important;max-width:none!important;height:50vh;border-left:none;border-top:1px solid var(--border-color)}.app-center{height:50vh}.element-panel{position:absolute;right:0;top:0;bottom:0;z-index:20;width:260px}.results-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.results-table th,.results-table td{white-space:nowrap}}@media (max-width: 480px){.app-topbar{flex-wrap:wrap;gap:4px}.app-topbar-stats{display:none}.chat-panel{height:60vh}.app-center{height:40vh}.results-pagination{flex-wrap:wrap;gap:4px}.results-header{flex-wrap:wrap}}body.route-app-workspace .landing-survey-section{display:none!important}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{pointer-events:all;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;font-size:13px;color:#fff;box-shadow:0 4px 12px #0000004d;animation:slideInRight .2s ease-out;max-width:360px}.toast-success{background:#059669}.toast-error{background:#dc2626}.toast-info{background:#555}.toast-warning{background:#d97706}.toast-message{flex:1}.toast-close{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:18px;padding:0 2px;line-height:1}.toast-close:hover{color:#fff}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9998;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s}.help-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;max-width:400px;width:90%}.help-dialog h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.help-shortcuts-list{display:flex;flex-direction:column;gap:8px}.help-shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.help-shortcut-row kbd{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:12px;font-family:monospace;color:var(--text-primary);min-width:80px;text-align:center}.help-shortcut-row span{font-size:13px;color:var(--text-secondary)}.help-footer{margin:16px 0 0;font-size:11px;color:var(--text-muted);text-align:center}.element-panel{position:absolute;top:40px;right:12px;width:260px;max-height:calc(100% - 80px);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:100;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000004d}.element-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color)}.element-panel-title{font-size:12px;font-weight:500;color:var(--text-primary);margin:0}.element-panel-close{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm)}.element-panel-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.element-panel-body{padding:12px;overflow-y:auto}.element-panel-name{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.element-panel-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:2px}.element-panel-value{font-size:13px;font-weight:500;color:var(--text-bright)}.element-panel-props{display:flex;flex-direction:column;gap:4px}.element-panel-prop{display:flex;justify-content:space-between;align-items:center;padding:5px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.element-panel-prop-key{font-size:11px;color:var(--text-muted)}.element-panel-prop-val{font-size:12px;font-weight:500;color:var(--text-primary)}.element-panel-prop-val.bool-true{color:var(--success)}.element-panel-prop-val.bool-false{color:var(--error)}.not-found-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.not-found-page h1{font-size:72px;font-weight:700;margin:0;color:var(--brand-accent)}.not-found-page p{font-size:18px;color:var(--text-secondary);margin:8px 0 24px}.not-found-links{display:flex;gap:16px}.not-found-link{padding:8px 20px;border-radius:8px;background:var(--brand-accent);color:var(--accent-fg);text-decoration:none;font-size:14px}.not-found-link:hover{opacity:.9}.hint-pulse{position:relative}.hint-pulse:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--brand-accent);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.lazy-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px}
