*{box-sizing:border-box;margin:0;padding:0}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono:"Consolas", "Monaco", "Courier New", monospace;--color-sidebar-dark:#1a1a2e;--color-sidebar-darker:#16213e;--color-bg-light:#fff;--color-bg-gray:#f5f5f5;--color-border:#e2e8f0;--color-text-primary:#1a1a2e;--color-text-secondary:#64748b;--color-text-light:#ffffffb3;--color-primary:#60a5fa;--color-success:#22c55e;--color-danger:#ef4444;--color-warning:#fbbf24}body{font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg-gray);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:16px;line-height:1.5}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{margin:0 0 1rem}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none}code{font-family:var(--font-mono);background-color:var(--color-bg-gray);border-radius:4px;padding:.125rem .375rem;font-size:.875em}.error-boundary{background-color:#f8fafc;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-boundary-content{text-align:center;background-color:#fff;border-radius:12px;max-width:600px;padding:3rem 2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.error-icon{color:#ef4444;margin-bottom:1.5rem}.error-boundary-content h1{color:#1a1a2e;margin:0 0 1rem;font-size:1.75rem;font-weight:700}.error-message{color:#64748b;margin:0 0 2rem;font-size:1rem;line-height:1.6}.error-details{text-align:left;margin:2rem 0}.error-details details{background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:1rem}.error-details summary{cursor:pointer;color:#991b1b;-webkit-user-select:none;user-select:none;font-weight:600}.error-details summary:hover{color:#7f1d1d}.error-stack{color:#991b1b;white-space:pre-wrap;word-wrap:break-word;background-color:#fef2f2;border-radius:4px;margin-top:1rem;padding:1rem;font-family:Monaco,Courier New,monospace;font-size:.75rem;overflow-x:auto}.error-actions{justify-content:center;gap:1rem;display:flex}.error-actions .btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.error-actions .btn-primary{color:#fff;background-color:#3b82f6}.error-actions .btn-primary:hover{background-color:#2563eb}.error-actions .btn-secondary{color:#475569;background-color:#fff;border:1px solid #cbd5e1}.error-actions .btn-secondary:hover{background-color:#f8fafc;border-color:#94a3b8}.backend-status-banner{z-index:9999;background-color:#fee2e2;border-bottom:2px solid #fecaca;animation:.3s ease-out slideDown;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 6px -1px #0000001a}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.banner-content{align-items:center;gap:1rem;max-width:1400px;margin:0 auto;padding:.75rem 2rem;display:flex}.banner-content svg{color:#991b1b;flex-shrink:0}.banner-message{flex-direction:column;flex:1;gap:.25rem;display:flex}.banner-message strong{color:#991b1b;font-size:.875rem;font-weight:700}.banner-message span{color:#7f1d1d;font-size:.75rem}.banner-retry-btn{color:#991b1b;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #fca5a5;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.banner-retry-btn:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171}.banner-retry-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layout{background-color:#f5f5f5;flex-direction:column;height:100vh;display:flex}.header{color:#fff;z-index:10;background-color:#1a1a2e;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex;box-shadow:0 2px 4px #0000001a}.header-left{align-items:center;gap:1rem;display:flex}.app-title{letter-spacing:.5px;margin:0;font-size:1.5rem;font-weight:600}.app-logo{width:auto;height:45px;display:block}.app-tagline{flex-direction:column;justify-content:center;display:flex}.tagline-text{color:#ffffffe6;letter-spacing:.3px;font-size:.95rem;font-weight:400}.tagline-bold{font-weight:700}.tagline-highlight-x{color:#ef4444;font-weight:700}.header-right{align-items:center;display:flex}.status-indicator{background-color:#ffffff1a;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.status-indicator.connected .status-dot{color:#22c55e}.status-indicator.disconnected .status-dot{color:#ef4444}.status-indicator.connecting .status-dot{color:#fbbf24;animation:1.5s ease-in-out infinite pulse}.status-text{font-weight:500}.main-container{flex:1;display:flex;overflow:hidden}.sidebar{color:#fff;background-color:#16213e;flex-direction:column;width:240px;display:flex;box-shadow:2px 0 4px #0000001a}.sidebar-logo-section{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-bottom:2px solid #60a5fa4d;flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1rem;display:flex}.sidebar-logo{filter:drop-shadow(0 6px 12px #0006)brightness(1.1);width:auto;height:120px;transition:transform .3s,filter .3s;display:block}.sidebar-logo:hover{filter:drop-shadow(0 8px 16px #00000080)brightness(1.2);transform:scale(1.08)}.nav{flex-direction:column;padding:1rem 0;display:flex}.nav-item{color:#ffffffb3;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.875rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background-color:#ffffff0d}.nav-item.active{color:#fff;background-color:#ffffff1a;border-left-color:#60a5fa}.content{background-color:#fff;flex:1;padding:2rem;overflow-y:auto}.content.content-dark{background-color:#1a1a2e;padding:0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.threat-card{color:#eee;background-color:#ffffff0d;border:1px solid #333;border-left:4px solid;border-radius:8px;margin-bottom:1rem;padding:1.25rem;transition:box-shadow .2s}.threat-card:hover{background-color:#ffffff14;box-shadow:0 2px 8px #0000004d}.threat-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.threat-card-badges{align-items:center;gap:.5rem;display:flex}.severity-badge,.category-badge{letter-spacing:.025em;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.threat-card-score{align-items:center;gap:.25rem;font-size:.875rem;display:flex}.score-label{color:#aaa;font-weight:500}.score-value{color:#60a5fa;font-size:1rem;font-weight:700}.threat-card-body{flex-direction:column;gap:.625rem;display:flex}.threat-card-title{color:#60a5fa;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;line-height:1.4;text-decoration:none;transition:color .2s;display:flex}.threat-card-title:hover{color:#7dd3fc;text-decoration:none}.threat-card-meta{color:#aaa;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.meta-source{color:#60a5fa;font-weight:600}.meta-separator{color:#555}.meta-time{font-style:italic}.threat-card-summary{color:#ccc;margin:0;font-size:.9375rem;line-height:1.6}.summary-toggle{color:#60a5fa;cursor:pointer;background:0 0;border:none;margin-left:.375rem;padding:0;font-size:.875rem;font-weight:600}.summary-toggle:hover{text-decoration:underline}.threat-card-tags{flex-wrap:wrap;gap:.375rem;margin-top:.25rem;display:flex}.tag{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.tag-cve{color:#92400e;background-color:#fef3c7;border:1px solid #fcd34d}.tag-ttp{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.tag-default{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0}.tag-more{color:#64748b;background-color:#f8fafc;border:1px solid #cbd5e1}.threat-card-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;display:flex}.btn-assess-risk{color:#fff;cursor:pointer;background:linear-gradient(90deg,#3b82f6,#2563eb);border:none;border-radius:6px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn-assess-risk:hover{background:linear-gradient(90deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 2px 8px #2563eb4d}.btn-assess-risk:active{transform:translateY(0)}.toast{z-index:1000;background-color:#fff;border-left:4px solid;border-radius:8px;align-items:center;gap:.75rem;min-width:300px;max-width:500px;padding:1rem;display:flex;position:fixed;top:80px;right:20px;box-shadow:0 4px 12px #00000026}.toast-success{border-left-color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-icon{color:inherit;align-items:center;display:flex}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-message{color:#1a1a2e;flex:1;font-size:.875rem}.toast-close{color:#64748b;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:color .2s;display:flex}.toast-close:hover{color:#1a1a2e}.source-manager{border-top:2px solid #e2e8f0;margin-top:2rem;padding-top:1rem}.source-manager-toggle{color:#fff;cursor:pointer;background-color:#16213e;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s;display:flex}.source-manager-toggle:hover{background-color:#1a2844}.source-manager-content{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1.5rem}.source-manager-loading{flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.source-manager-loading .spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.source-manager-loading p{color:#64748b;margin:0}.sources-table-container{margin-bottom:1.5rem;overflow-x:auto}.sources-table{border-collapse:collapse;width:100%;font-size:.875rem}.sources-table thead{background-color:#f8fafc;border-bottom:2px solid #e2e8f0}.sources-table th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.sources-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.sources-table tbody tr:hover{background-color:#f8fafc}.sources-table td{color:#1a1a2e;padding:1rem}.source-name{font-weight:600}.no-sources{text-align:center;color:#64748b;padding:2rem!important}.status-indicator{align-items:center;gap:.5rem;font-weight:500;display:flex}.status-indicator.healthy{color:#059669}.status-indicator.unhealthy{color:#dc2626}.status-dot{background-color:currentColor;border-radius:50%;width:8px;height:8px}.error-message{color:#dc2626;margin-top:.25rem;font-size:.75rem}.toggle-switch{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:#22c55e}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.btn-delete{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.375rem;transition:all .2s;display:flex}.btn-delete:hover{color:#dc2626;background-color:#fee2e2}.add-source-section{border-top:1px solid #e2e8f0;padding-top:1.5rem}.add-source-form{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.form-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.form-header h3{color:#1a1a2e;margin:0;font-size:1.125rem;font-weight:600}.btn-cancel{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-cancel:hover{color:#1a1a2e;background-color:#e2e8f0}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.form-field{flex-direction:column;gap:.5rem;display:flex}.form-field-full{grid-column:1/-1}.form-field-checkbox{align-items:flex-start;padding-top:1.875rem}.form-field-checkbox label{cursor:pointer;align-items:center;gap:.5rem;font-weight:400;display:flex}.form-field-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.form-field label{color:#475569;font-size:.875rem;font-weight:600}.required{color:#dc2626}.form-field input,.form-field select{color:#1a1a2e;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.625rem .875rem;font-size:.875rem;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-color:#3b82f6;outline:none}.form-actions{justify-content:flex-end;display:flex}.threat-intel-page-wrapper{background-color:#1a1a2e;width:100%;min-height:100vh;padding:2rem}.threat-intel-page{color:#eee;max-width:1400px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.page-header h2{color:#60a5fa;margin:0 0 .5rem;font-size:2rem;font-weight:600}.page-subtitle{color:#aaa;margin:0;font-size:1rem}.action-buttons{gap:.75rem;display:flex}.spinning{animation:1s linear infinite spin}.filter-bar{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.filter-group{align-items:center;gap:.5rem;display:flex}.filter-group label{color:#475569;white-space:nowrap;font-size:.875rem;font-weight:600}.filter-group select,.filter-group input{color:#1a1a2e;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.filter-group select:focus,.filter-group input:focus{border-color:#3b82f6;outline:none}.filter-group select:disabled,.filter-group input:disabled{opacity:.5;cursor:not-allowed}.filter-search{flex:1}.filter-search input{width:100%}.item-count{color:#64748b;white-space:nowrap;margin-left:auto;font-size:.875rem}.item-count strong{color:#1a1a2e;font-weight:600}.feed-container{min-height:400px}.feed-list{flex-direction:column;display:flex}.loading-state,.error-state,.empty-state{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-state p,.error-state p,.empty-state p{color:#64748b;margin:0;font-size:1rem}.loading-state .spinner{border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:.8s linear infinite spin}.error-state p{color:#ef4444;margin-bottom:1rem}.empty-state p{margin:0}.score-definition-section{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;margin-bottom:2rem;padding:1.5rem}.score-definition-section h3{color:#1a1a2e;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.score-formula{color:#475569;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-family:Monaco,Courier New,monospace;font-size:.9rem}.score-details{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.score-details li{color:#475569;padding-left:1rem;font-size:.875rem;position:relative}.score-details li:before{content:"•";color:#3b82f6;font-weight:700;position:absolute;left:0}.score-details strong{color:#1a1a2e;font-weight:600}.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.mitigation-summary-panel{background:#1e293b;border:1px solid #475569;border-radius:8px;margin-bottom:24px;padding:20px}.mitigation-summary-header{margin-bottom:24px}.summary-title-row{align-items:center;gap:12px;margin-bottom:8px;display:flex}.summary-title-row svg{color:#10b981}.summary-title-row h3{margin:0;font-size:1.5rem;font-weight:700;color:#fff!important}.summary-subtitle{color:#fff;margin:0;padding-left:36px;font-size:.875rem}.global-mitigation-stats{background:#0f172a;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px;padding:16px;display:grid}.global-mitigation-stats .stat-item{background:#1e293b;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:12px;transition:all .2s;display:flex}.global-mitigation-stats .stat-item.total{background:#1e293b;border-color:#10b981}.global-mitigation-stats .stat-item .stat-icon{font-size:1.5rem}.global-mitigation-stats .stat-item .stat-value{font-size:1.75rem;font-weight:700;color:#fff!important}.global-mitigation-stats .stat-item .stat-label{text-transform:uppercase;letter-spacing:.05em;text-align:center;font-size:.75rem;font-weight:600;color:#fff!important}.mitigation-paths-list{flex-direction:column;gap:16px;display:flex}.mitigation-path-card{background:#1e293b;border:1px solid #475569;border-radius:8px;overflow:hidden}.path-header{cursor:pointer;background:#0f172a;justify-content:space-between;align-items:center;padding:16px 20px;transition:background-color .2s;display:flex}.path-header:hover{background:#1e293b}.path-info{flex:1;min-width:0}.path-number{text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:.75rem;font-weight:700;color:#fff!important}.path-name{margin-bottom:6px;font-size:1.125rem;font-weight:600;color:#fff!important}.path-meta{color:#fff;align-items:center;gap:12px;font-size:.875rem;display:flex}.path-steps,.path-mitigations{color:#fff;align-items:center;gap:4px;display:flex}.expand-icon{color:#fff!important}.path-mitigations-content{background:#1e293b;flex-direction:column;gap:16px;padding:20px;display:flex}.defense-layer-section{border:1px solid #475569;border-radius:6px;overflow:hidden}.layer-header{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;transition:opacity .2s;display:flex}.layer-header:hover{opacity:.9}.layer-title{align-items:center;gap:10px;display:flex}.layer-icon{font-size:1.25rem}.layer-name{text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:700}.layer-count{font-size:.75rem;font-weight:500;color:#fff!important}.layer-expand-icon{color:#fff!important}.layer-mitigations{background:#0f172a;flex-direction:column;gap:12px;padding:16px;display:flex}.mitigation-card{background:#1e293b;border:1px solid #475569;border-left-width:4px;border-radius:6px;padding:16px;transition:box-shadow .2s}.mitigation-card:hover{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.mitigation-header{margin-bottom:12px}.mitigation-title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.mitigation-name{flex:1;margin:0;font-size:1rem;font-weight:600;color:#fff!important}.priority-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:3px;padding:3px 8px;font-size:.625rem;font-weight:700}.priority-badge.priority-critical{color:#991b1b;background:#fee2e2}.priority-badge.priority-high{color:#9a3412;background:#fed7aa}.priority-badge.priority-medium{color:#92400e;background:#fef3c7}.priority-badge.priority-low{color:#fff;background:#334155}.mitigation-context{align-items:center;gap:6px;font-size:.75rem;display:flex;color:#fff!important}.context-step{color:#fff;font-weight:600}.context-technique{color:#fff;background:#0f172a;border-radius:3px;padding:2px 6px;font-family:monospace;font-weight:600}.context-asset{color:#fff;font-family:monospace;font-size:.7rem}.context-separator{color:#475569}.mitigation-description{margin-bottom:12px;font-size:.875rem;line-height:1.6;color:#fff!important}.mitigation-aws-action{border:1px solid #475569;border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:.875rem;line-height:1.5;color:#fff!important;background:#1e293b!important}.mitigation-aws-action strong{text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.75rem;display:block;color:#fff!important}.mitigation-aws-action span{color:#fff;color:#fff!important}.mitigation-metadata{border-top:1px solid #475569;gap:20px;padding-top:8px;font-size:.75rem;display:flex}.metadata-item{gap:6px;display:flex}.metadata-label{font-weight:600;color:#fff!important}.metadata-value{color:#fff}@media (width<=768px){.global-mitigation-stats{grid-template-columns:repeat(3,1fr)}.path-header{padding:12px 16px}.path-name{font-size:1rem}.path-mitigations-content{padding:16px}.mitigation-metadata{flex-direction:column;gap:8px}}.stigmergic-results-view{flex-direction:column;gap:1.5rem;max-width:1400px;margin:0 auto;display:flex}.stigmergic-header{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);border-radius:8px;padding:1.5rem;box-shadow:0 4px 12px #8b5cf64d}.stigmergic-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.stigmergic-subtitle{opacity:.95;margin:0;font-size:.95rem}.results-stats-bar .stat-item{text-align:center;flex-direction:column;align-items:center;display:flex}.results-stats-bar .stat-label{color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.results-stats-bar .stat-value{color:#1a1a2e;font-size:1rem;font-weight:600}.stigmergic-section{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.timeline-container{padding:1.5rem}.timeline-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.persona-timeline{flex-direction:column;gap:.5rem;display:flex}.persona-badge-timeline{align-items:center;gap:1rem;display:flex;position:relative}.timeline-connector{z-index:0;background:linear-gradient(#8b5cf6,#6366f1);width:3px;height:100%;position:absolute;top:50%;left:15px}.persona-badge-timeline:last-child .timeline-connector{display:none}.persona-card{z-index:1;background-color:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;flex:1;align-items:center;gap:1rem;padding:.75rem 1rem;transition:all .2s;display:flex;position:relative}.persona-card:hover{border-color:#8b5cf6;transform:translate(4px);box-shadow:0 2px 8px #8b5cf633}.persona-order{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.persona-stats{align-items:center;gap:1rem;font-size:.8rem;display:flex}.stat-item{color:#64748b;align-items:center;gap:.25rem;display:flex}.insights-grid{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem;display:grid}.insight-card{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem}.insight-card h4{color:#1a1a2e;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1rem;font-weight:600;display:flex}.technique-reinforcement{color:#10b981;background-color:#d1fae5;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.convergent-paths-list{flex-direction:column;gap:.75rem;display:flex}.convergent-path-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:.75rem}.path-sequence{margin-bottom:.5rem;font-size:.8rem;line-height:1.6}.technique-code{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:3px;padding:.15rem .4rem;font-family:Courier New,monospace;font-size:.75rem;font-weight:600}.convergence-badge{color:#6b21a8;background-color:#e9d5ff;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.gap-item{color:#fca5a5;background-color:#1e293b;border:1px solid #ef4444;border-left-width:3px;border-radius:4px;padding:.4rem .75rem;font-size:.8rem}.gap-item code{color:#fca5a5;background-color:#0000;font-family:Courier New,monospace;font-size:.75rem;font-weight:600}.cluster-list{flex-direction:column;gap:.5rem;display:flex}.cluster-item{background-color:#1e293b;border:1px solid #475569;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem;display:flex}.cluster-techniques{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.cluster-techniques code{color:#fff;background-color:#3b82f6;border:1px solid #2563eb;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace;font-size:.7rem;font-weight:600}.cluster-arrow{color:#a78bfa;font-weight:700}.cluster-count{color:#e2e8f0;font-size:.7rem;font-weight:600}.graph-interpretation{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:1.5rem;padding:1rem 1.25rem}.graph-interpretation h4{color:#1e40af;margin:0 0 .5rem;font-size:1rem;font-weight:600}.graph-interpretation p{color:#475569;margin:0;font-size:.875rem;line-height:1.6}.graph-interpretation strong{color:#1e3a8a;font-weight:600}.graph-container{padding:1.5rem}.graph-legend{background-color:#f8fafc;border-radius:6px;gap:2rem;margin-bottom:1rem;padding:.75rem;display:flex}.legend-item{color:#64748b;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.legend-indicator{flex-shrink:0}.graph-svg{background-color:#fafafa;border:1px solid #e2e8f0;border-radius:8px;width:100%;max-width:800px;height:600px;margin:0 auto;display:block}.graph-stats{color:#64748b;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex}.paths-container{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.attack-path-card-stigmergic{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s;overflow:hidden}.attack-path-card-stigmergic:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.path-header-stigmergic{background:linear-gradient(#f8fafc,#fff);border-bottom:2px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.path-title-section{flex-direction:column;gap:.5rem;display:flex}.path-name{color:#1a1a2e;margin:0;font-size:1.125rem;font-weight:600}.path-objective{color:#64748b;font-size:.875rem}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:.25rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-actor{color:#475569;background-color:#f1f5f9}.badge-impact{font-weight:600}.badge-difficulty{color:#92400e;background-color:#fef3c7}.badge-reinforces{color:#065f46;background-color:#d1fae5;border:1px solid #10b981}.badge-diverges{color:#92400e;background-color:#fef3c7;border:1px solid #f59e0b}.badge-score{color:#6b21a8;background-color:#e9d5ff}.badge-confidence{border:1px solid;font-weight:600}.score-label{opacity:.9;margin-top:.125rem;font-size:.75rem}.executive-summary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.executive-summary h3{margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.executive-summary p{opacity:.95;margin:0;font-size:1rem;line-height:1.6}.expand-toggle{color:#64748b;cursor:pointer;background-color:#fff;border:none;border-top:1px solid #e2e8f0;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.expand-toggle:hover{color:#475569;background-color:#f8fafc}.kill-chain-container{padding:1.5rem}.kill-chain-step{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;width:100%;overflow:hidden}.phase-name{flex:1;font-weight:600}.step-content{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.step-technique-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.step-target-row{color:#64748b;font-size:.875rem}.step-target-row code{color:#475569;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:3px;padding:.2rem .5rem;font-family:Courier New,monospace;font-size:.85rem}.step-action{color:#475569;margin:0;font-size:.9rem;line-height:1.6}.step-outcome-box strong{color:#065f46;font-weight:600}.kill-chain-arrow{color:#cbd5e1;justify-content:center;align-items:center;margin:.5rem 0;display:flex}.provenance-toggle{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-weight:600;transition:background-color .2s;display:flex}.provenance-toggle:hover{background-color:#f1f5f9}.eval-label{color:#6b7280;margin-bottom:.5rem;font-size:.75rem}@media (width<=768px){.insights-grid{grid-template-columns:1fr}.timeline-header{flex-direction:column;align-items:flex-start;gap:.5rem}.persona-card{flex-direction:column;align-items:flex-start}.persona-stats{justify-content:space-between;width:100%}.graph-svg{height:400px}.path-header-stigmergic{flex-direction:column;align-items:stretch}.path-score-indicator{justify-content:flex-start}.score-circle{width:60px;height:60px}.score-value{font-size:1.5rem}.mitigation-action-bar{flex-direction:column;gap:1rem}.mitigation-action-buttons{flex-direction:column;width:100%}.mitigation-action-buttons .btn{width:100%}}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.emergent-insights-standard{background-color:#ffffff0d;border:1px solid #555;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.section-header{cursor:pointer;background-color:#ffffff14;border-bottom:1px solid #555;justify-content:space-between;align-items:center;padding:1rem 1.5rem;transition:background-color .2s;display:flex}.section-header:hover{background-color:#60a5fa26}.section-header h3{color:#f8fafc;align-items:center;gap:.75rem;margin:0;font-size:1.125rem;font-weight:700;display:flex}.insights-grid-standard{grid-template-columns:repeat(2,1fr);gap:1rem;padding:1.5rem;display:grid}.insight-card-standard{background-color:#ffffff08;border:1px solid #555;border-radius:8px;padding:1.25rem}.insight-card-standard h4{color:#f8fafc;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1rem;font-weight:700;display:flex}.insight-description{color:#cbd5e1;margin:0 0 1rem;font-size:.875rem}.technique-list{flex-direction:column;gap:.5rem;display:flex}.technique-item{background-color:#ffffff0d;border:1px solid #555;border-radius:4px;align-items:center;gap:.75rem;padding:.5rem;font-size:.875rem;display:flex}.technique-badge-link{color:#fff;background-color:#3b82f6;border-radius:4px;padding:.25rem .5rem;font-family:Courier New,monospace;font-size:.75rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.technique-badge-link:hover{background-color:#2563eb}.technique-name{color:#cbd5e1;flex:1;font-size:.875rem}.technique-reinforcement{color:#6ee7b7;background-color:#10b98126;border:1px solid #10b981;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600}.gap-list{flex-direction:column;gap:.4rem;max-height:300px;display:flex;overflow-y:auto}.gap-item{background-color:#ef44441a;border:1px solid #ef4444;border-left-width:3px;border-radius:4px;padding:.4rem .75rem;font-size:.875rem}.gap-item code{color:#fca5a5;font-family:Courier New,monospace;font-size:.875rem}.empty-state{color:#94a3b8;margin:.5rem 0 0;font-size:.85rem;font-style:italic}.more-items{color:#94a3b8;margin-top:.5rem;font-size:.75rem;font-style:italic}@media (width<=768px){.insights-grid-standard{grid-template-columns:1fr}}.execution-timeline-container{border:1px solid var(--color-border-secondary);background-color:var(--color-background-secondary);border-radius:8px;margin-bottom:20px;overflow:hidden}.execution-timeline-header{background-color:var(--color-background-secondary);border-bottom:1px solid var(--color-border-tertiary);justify-content:space-between;align-items:center;padding:16px;transition:background-color .2s;display:flex}.execution-timeline-header:hover{background-color:var(--color-background-tertiary)}.execution-timeline-header h3{color:var(--color-text-primary);font-size:16px;font-weight:600}.execution-timeline-content{padding:16px}.timeline-meta{background-color:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:6px;gap:24px;margin-bottom:16px;padding:8px 12px;display:flex}.timeline-label{color:var(--color-text-secondary);font-size:12px}.timeline-label strong{color:var(--color-text-primary);font-weight:600}.persona-timeline{flex-direction:column;gap:8px;margin-top:12px;display:flex}.persona-timeline-item{align-items:center;gap:12px;display:flex;position:relative}.timeline-connector{background-color:var(--color-border-tertiary);width:2px;height:calc(100% + 8px);position:absolute;top:40px;left:20px}.persona-timeline-item:last-child .timeline-connector{display:none}.persona-card{border:1px solid var(--color-border-secondary);background-color:var(--color-background-primary);border-radius:6px;flex:1;align-items:center;gap:12px;padding:10px 14px;transition:all .2s;display:flex}.persona-card:hover{border-color:var(--color-primary);transform:translate(4px)}.persona-card.reinforced{border-left:3px solid #10b981}.persona-card.diverged{border-left:3px solid #667eea}.persona-order{background-color:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:flex}.persona-name{color:var(--color-text-primary);flex:1;font-size:13px;font-weight:600}.persona-stats{align-items:center;gap:12px;display:flex}.stat-item{color:var(--color-text-secondary);align-items:center;gap:4px;font-size:11px;display:flex}.stat-item.reinforcement{color:#10b981;font-weight:600}.stat-item.divergence{color:#667eea;font-weight:600}.standard-timeline-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.timeline-stat-card{border:1px solid var(--color-border-tertiary);background-color:var(--color-background-primary);border-radius:6px;align-items:center;gap:12px;padding:12px;transition:all .2s;display:flex}.timeline-stat-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.stat-icon{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-content{flex:1}.stat-value{color:var(--color-text-primary);margin-bottom:4px;font-size:20px;font-weight:700;line-height:1}.stat-label{color:var(--color-text-secondary);font-size:11px;font-weight:500}.timeline-description{background-color:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:6px;padding:12px}:root{--color-background-primary:#1a1a2e;--color-background-secondary:#ffffff0d;--color-background-tertiary:#ffffff14;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-border:#555;--color-border-secondary:#444}.threat-model-page-wrapper{background-color:var(--color-background-primary);width:100%;min-height:100vh;padding:2rem}.threat-model-page{color:#eee;max-width:1400px;margin:0 auto;background-color:#0000!important}.threat-model-page div{background-color:#0000}.threat-model-page .attack-path-card,.threat-model-page .attack-path-card-v2,.threat-model-page .stat-card,.threat-model-page .asset-graph-panel,.threat-model-page .upload-panel,.threat-model-page .attack-paths-list,.threat-model-page .file-dropzone{background-color:#ffffff0d!important}.threat-model-page h3,.threat-model-page .upload-panel h3,.threat-model-page .status-label,.threat-model-page .dropzone-text{color:#eee!important}.threat-model-page .dropzone-hint{color:#cbd5e1!important}.threat-model-page .tab-button{color:#e2e8f0!important}.threat-model-page .file-dropzone{background-color:#ffffff0d!important;border-color:#444!important}.threat-model-page .file-dropzone:hover{background-color:#ffffff14!important;border-color:#60a5fa!important}.threat-model-page .file-dropzone.has-file{background-color:#2ed5731a!important;border-color:#2ed573!important}.tab-navigation{border-bottom:3px solid #444;gap:6px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:hidden}.tab-button{color:#e2e8f0;cursor:pointer;white-space:nowrap;text-align:center;background:linear-gradient(135deg,#ffffff26 0%,#ffffff1a 100%);border:2px solid #666;border-radius:8px 8px 0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-width:0;padding:8px 12px;font-size:11px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:0 2px 4px #0000004d}.tab-button:hover:not(:disabled){color:#f8fafc;background:linear-gradient(135deg,#60a5fa4d 0%,#60a5fa33 100%);border-color:#60a5fa;transform:translateY(-2px);box-shadow:0 4px 8px #60a5fa66}.tab-button.active{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-color:#667eea #667eea #0000;transform:translateY(-4px);box-shadow:0 4px 12px #667eea4d}.tab-button.active:after{content:"";background:#fff;height:3px;position:absolute;bottom:-3px;left:0;right:0}.tab-button:disabled{color:#64748b;cursor:not-allowed;opacity:.6;box-shadow:none;background:#ffffff08;border-color:#3a3a3a}.tab-button svg{opacity:.9;flex-shrink:0}.tab-button:hover:not(:disabled) svg,.tab-button.active svg{opacity:1}.tab-button span:not(.tab-text-multiline){white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.tab-button .tab-text-multiline{white-space:normal;text-align:center;letter-spacing:.02em;font-size:10px;font-weight:600;line-height:1.3;display:block}.tab-content{animation:.3s ease-in fadeIn;background-color:#0000!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.upload-panel{background-color:#ffffff0d;border:1px solid #444;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.upload-panel h3{color:#f8fafc;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.file-dropzone{text-align:center;cursor:pointer;background-color:#ffffff08;border:2px dashed #555;border-radius:8px;margin-bottom:1rem;padding:3rem 2rem;transition:all .2s;position:relative}.file-dropzone:hover{background-color:#60a5fa1a;border-color:#60a5fa}.file-dropzone.has-file{cursor:default;background-color:#d1fae5;border-color:#10b981}.file-dropzone.has-file:hover{background-color:#d1fae5;border-color:#10b981}.dropzone-icon{color:#60a5fa;margin-bottom:1rem}.dropzone-text{color:#f8fafc;margin:0 0 .5rem;font-size:1rem;font-weight:600}.dropzone-hint{color:#cbd5e1;margin:0;font-size:.875rem}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;left:0}.selected-file-info{align-items:center;gap:1rem;display:flex}.file-check-icon{color:#10b981;flex-shrink:0}.file-details{text-align:left;flex:1}.file-name{color:#1a1a2e;margin:0 0 .25rem;font-size:1rem;font-weight:600}.file-size{color:#64748b;margin:0;font-size:.875rem}.bedrock-config-section{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.bedrock-config-form{background-color:#ffffff0d;border:1px solid #555;border-radius:8px;margin-top:1rem;padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#f8fafc;margin-bottom:.5rem;font-size:1rem;font-weight:600;display:block}.form-input{color:#1a1a2e;background-color:#fff;border:1px solid #555;border-radius:6px;width:100%;padding:.625rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .2s}.form-input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #60a5fa33}.form-input:disabled{color:#64748b;cursor:not-allowed;opacity:.6;background-color:#ffffff0d}.form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{color:#475569;background-color:#fff;border:1px solid #cbd5e1}.btn-secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#94a3b8}.btn-danger{color:#fff;background-color:#ef4444;border:none}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-ghost{color:#e2e8f0;background-color:#0000;border:1px solid #555;font-weight:600}.btn-ghost:hover:not(:disabled){color:#f8fafc;background-color:#60a5fa1a;border-color:#60a5fa}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.agent-selection{background-color:#ffffff0d;border:1px solid #555;border-radius:6px;margin-bottom:1rem;padding:1rem}.agent-selection p,.upload-panel p{color:#cbd5e1;margin-top:.5rem;font-size:.875rem;line-height:1.5}.agent-label{color:#f8fafc;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1rem;font-weight:600;display:flex}.agent-select{color:#1a1a2e;cursor:pointer;background-color:#fff;border:1px solid #555;border-radius:6px;width:100%;padding:.625rem .875rem;font-size:.875rem;transition:all .2s}.agent-select:hover:not(:disabled){border-color:#60a5fa}.agent-select:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 3px #60a5fa33}.agent-select:disabled{color:#64748b;cursor:not-allowed;opacity:.6;background-color:#ffffff0d}.run-buttons{gap:.75rem;display:flex}.run-buttons .btn{flex:1;justify-content:center}.btn-stigmergic{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#6366f1 100%);border:none;position:relative}.btn-stigmergic:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.badge-new{color:#fff;text-transform:uppercase;letter-spacing:.025em;background-color:#ef4444;border-radius:9999px;padding:.15rem .4rem;font-size:.65rem;font-weight:700;line-height:1;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 4px #0003}.btn-sm{padding:.5rem .875rem;font-size:.875rem}.btn-ghost.btn-sm{padding:.375rem .75rem}.progress-indicator{text-align:center;margin-top:1rem}.progress-bar{background-color:#e2e8f0;border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;height:100%;animation:2s ease-in-out infinite progress}@keyframes progress{0%{width:0%}50%{width:100%}to{width:0%}}.progress-text{color:#475569;margin:0;font-size:.875rem;font-weight:600}.heartbeat-indicator{color:#10b981;font-weight:500;animation:1.5s ease-in-out infinite pulse;display:inline-block}.elapsed-time-display{text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;margin:1.5rem 0;padding:1rem;box-shadow:0 4px 6px #0000001a}.elapsed-time-value{color:#fff;letter-spacing:.1em;text-shadow:0 2px 4px #0003;font-family:Courier New,monospace;font-size:3rem;font-weight:700}.elapsed-time-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem;font-size:.875rem;font-weight:600}.heartbeat-indicators{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;margin:1.5rem 0;padding:1rem;display:flex}.heartbeat-item{align-items:center;gap:.5rem;display:flex}.heartbeat-pulse{border-radius:50%;width:12px;height:12px;position:relative}.heartbeat-pulse.alive{background-color:#10b981;animation:1.5s ease-in-out infinite pulse-beat;box-shadow:0 0 #10b981b3}.heartbeat-pulse.dead{background-color:#ef4444;animation:1s ease-in-out infinite pulse-warning}@keyframes pulse-beat{0%{box-shadow:0 0 #10b981b3}50%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.5}}.heartbeat-label{color:#475569;font-size:.875rem;font-weight:600}.heartbeat-timestamp{color:#64748b;font-size:.75rem;font-style:italic}.long-operation-notice{color:#92400e;background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;font-size:.875rem;line-height:1.5;display:flex}.long-operation-notice svg{color:#f59e0b;flex-shrink:0}.attack-path-card-v2{background-color:#ffffff0d;border:1px solid #555;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 2px 4px #0000004d}.path-header-v2{background:linear-gradient(#ffffff14,#ffffff0d);border-bottom:2px solid #555;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem;display:flex}.path-title-section{flex:1;min-width:300px}.path-name-v2{color:#f8fafc;letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.375rem;font-weight:700}.path-objective{color:#fbbf24;background-color:#f59e0b26;border-left:4px solid #f59e0b;border-radius:4px;margin-top:.75rem;padding:.75rem 1rem;font-size:1rem}.path-objective strong{color:#fcd34d;font-weight:700}.path-badges-section{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.path-badges-section .badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.badge-actor{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.badge-impact{border:1px solid}.badge-difficulty{color:#3730a3;background-color:#e0e7ff;border:1px solid #818cf8}.badge-challenged{color:#9a3412;background-color:#fed7aa;border:1px solid #f97316}.badge-confidence{border:1px solid}.path-score-indicator{justify-content:center;align-items:center;display:flex}.score-circle{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:70px;height:70px;display:flex;box-shadow:0 4px 6px #0000001a}.score-value{font-size:1.75rem;font-weight:700;line-height:1}.score-label{opacity:.9;font-size:.75rem}.kill-chain-container{background-color:#ffffff08;padding:2rem 1.5rem}.kill-chain-pipeline{flex-direction:column;gap:0;display:flex}.kill-chain-step-wrapper{flex-direction:column;align-items:center;display:flex}.kill-chain-step{background-color:#ffffff0d;border:2px solid #555;border-radius:8px;width:100%;max-width:800px;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 4px #0000004d}.kill-chain-step:hover{border-color:#60a5fa;transform:translateY(-2px);box-shadow:0 4px 8px #60a5fa33}.step-phase-header{align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.step-number-badge{background-color:#0000001a;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.875rem;font-weight:700;display:inline-flex}.phase-name{text-transform:uppercase;letter-spacing:.5px;flex:1}.step-content{padding:1.25rem}.step-technique-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.technique-badge{color:#fff;background-color:#3b82f6;border-radius:6px;padding:.375rem .75rem;font-family:Monaco,Courier New,monospace;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.technique-badge:hover{background-color:#2563eb}.technique-name-display{color:#e2e8f0;font-size:1rem;font-weight:600}.step-target-row{color:#94a3b8;margin-bottom:.75rem;font-size:.9375rem}.step-target-row code{color:#93c5fd;background-color:#ffffff14;border-radius:4px;padding:.25rem .5rem;font-size:.875rem}.step-action{color:#cbd5e1;margin-bottom:.75rem;font-size:1rem;line-height:1.6}.step-outcome-box{color:#065f46;background-color:#f0fdf4;border-left:4px solid #10b981;border-radius:4px;margin-top:.75rem;padding:.75rem;font-size:.875rem}.step-outcome-box strong{font-weight:600}.kill-chain-arrow{color:#9ca3af;justify-content:center;align-items:center;padding:.5rem 0;display:flex}.mitigations-section{background-color:#ffffff08;border-top:1px solid #555;padding:1rem 1.5rem}.mitigations-toggle{justify-content:center;gap:.5rem;width:100%}.mitigations-content{margin-top:1rem}.mitigations-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.mitigations-header h5{color:#f8fafc;margin:0;font-size:1.125rem;font-weight:700}.mitigations-table{flex-direction:column;gap:1rem;display:flex}.mitigation-row{background-color:#ffffff0d;border:1px solid #555;border-radius:8px;gap:1rem;padding:1rem;display:flex}.mitigation-step-info{flex-direction:column;gap:.5rem;min-width:140px;display:flex}.mitigation-step-badge{color:#fff;text-align:center;background-color:#3b82f6;border-radius:6px;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.mitigation-phase{color:#94a3b8;text-align:center;font-size:.75rem;line-height:1.3}.mitigation-details{flex:1}.mitigation-title{color:#cbd5e1;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.mitigation-title strong{color:#f8fafc;font-weight:700}.mitigation-description-text{color:#94a3b8;margin:.5rem 0;font-size:.9375rem;line-height:1.6}.aws-action-block{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-top:.75rem;padding:.75rem}.aws-action-block strong{color:#0c4a6e;margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.aws-action-block code{color:#0c4a6e;white-space:pre-wrap;word-break:break-word;background-color:#fff;border:1px solid #bae6fd;border-radius:4px;padding:.5rem .75rem;font-family:Monaco,Courier New,monospace;font-size:.875rem;display:block}.provenance-section{background-color:#ffffff08;border-top:1px solid #555}.provenance-toggle{cursor:pointer;color:#e2e8f0;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.9375rem;font-weight:700;transition:background-color .2s;display:flex}.provenance-toggle:hover{color:#f8fafc;background-color:#60a5fa1a}.provenance-toggle:before{content:"▶";font-size:.875rem;transition:transform .2s;display:inline-block}.provenance-section[open] .provenance-toggle:before{transform:rotate(90deg)}.provenance-content{padding:1rem 1.5rem 1.5rem}.provenance-item{margin-bottom:1.5rem}.provenance-item:last-child{margin-bottom:0}.provenance-item h6{color:#f8fafc;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:.9375rem;font-weight:700}.provenance-item p{color:#94a3b8;margin:0;font-size:.9375rem;line-height:1.6}.evaluation-scores-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:.75rem;display:grid}.eval-score-item{text-align:center;background-color:#ffffff0d;border:1px solid #555;border-radius:6px;flex-direction:column;align-items:center;padding:.75rem;display:flex}.eval-label{color:#94a3b8;margin-bottom:.5rem;font-size:.8125rem;font-weight:600}.eval-value{color:#f8fafc;font-size:1.375rem;font-weight:800}@media (width<=768px){.path-header-v2{flex-direction:column;align-items:stretch}.path-score-indicator{justify-content:flex-start}.score-circle{width:60px;height:60px}.score-value{font-size:1.5rem}.kill-chain-pipeline{padding:0}.step-technique-row{flex-direction:column;align-items:flex-start}.mitigation-row{flex-direction:column}.mitigation-step-info{min-width:auto}.evaluation-scores-grid{grid-template-columns:repeat(2,1fr)}}.asset-graph-panel{background-color:#ffffff0d;border:1px solid #444;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.asset-graph-panel h3{color:#f8fafc;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.asset-summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{text-align:center;background-color:#ffffff14;border:1px solid #555;border-radius:6px;padding:1rem}.stat-card .stat-value{color:#f8fafc;margin-bottom:.25rem;font-size:2rem;font-weight:700;display:block}.stat-card .stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;display:block}.asset-table-container{flex-direction:column;gap:1.5rem;display:flex}.boundary-group{border:1px solid #555;border-radius:6px;overflow:hidden}.boundary-header{color:#f8fafc;background-color:#ffffff0d;border-bottom:1px solid #555;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:1rem;font-weight:600;display:flex}.boundary-count{color:#cbd5e1;margin-left:auto;font-size:.9375rem;font-weight:600}.asset-table{border-collapse:collapse;width:100%}.asset-table thead{background-color:#ffffff0d}.asset-table th{text-align:left;color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #555;padding:.75rem 1rem;font-size:.875rem;font-weight:600}.asset-table tbody tr{border-bottom:1px solid #444}.asset-table tbody tr:last-child{border-bottom:none}.asset-table tbody tr:hover{background-color:#ffffff0d}.asset-table td{color:#cbd5e1;padding:.75rem 1rem;font-size:.875rem}.asset-table .asset-name{color:#f8fafc;font-weight:600}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#065f46;background-color:#d1fae5}.badge-warning{color:#92400e;background-color:#fef3c7}.badge-challenged{color:#991b1b;background-color:#fee2e2}.badge-gap-fill{color:#1e40af;background-color:#dbeafe}.results-panel{flex-direction:column;gap:1.5rem;display:flex;background-color:#0000!important}.executive-summary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;padding:1.5rem}.executive-summary h3{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.375rem;font-weight:700}.executive-summary p{opacity:.95;margin:0;font-size:1.0625rem;font-weight:500;line-height:1.6}.results-stats-bar{background-color:#ffffff0d;border:1px solid #444;border-radius:8px;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:1rem;display:grid}.stat-item{text-align:center;flex-direction:column;align-items:center;display:flex}.stat-item .stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.875rem;font-weight:600}.stat-item .stat-value{color:#f8fafc;font-size:1rem;font-weight:600}.attack-paths-list{border-radius:8px;padding:1.5rem;background-color:#ffffff0d!important;border:1px solid #444!important}.attack-paths-list>h3{color:#f8fafc!important;letter-spacing:-.02em!important;margin:0 0 1rem!important;font-size:1.5rem!important;font-weight:700!important}.attack-paths-list h4{color:#f8fafc!important;letter-spacing:-.01em!important;margin-bottom:1rem!important;font-size:1.125rem!important;font-weight:700!important}.attack-paths-list>div,.attack-paths-list div[style*=background]{background-color:#0000!important}.attack-path-card{background-color:#ffffff0d;border:1px solid #555;border-radius:8px;margin-bottom:1rem;transition:box-shadow .2s;overflow:hidden}.attack-path-card:hover{border-color:#60a5fa;box-shadow:0 4px 6px -1px #60a5fa33,0 2px 4px -1px #60a5fa1a}.path-header{cursor:pointer;padding:1rem 1.5rem;position:relative}.path-title-row{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.path-name{color:#f8fafc;flex:1;margin:0;padding-right:1rem;font-size:1.25rem;font-weight:700}.path-badges{flex-shrink:0;gap:.5rem;display:flex}.confidence-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-block}.path-meta{color:#94a3b8;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.9375rem;display:flex}.path-meta .threat-actor{color:#cbd5e1;font-weight:600}.path-separator{color:#cbd5e1}.score-breakdown{margin-top:.75rem}.score-bar-container{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.score-bar{background-color:#e2e8f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.score-bar .score-bar-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;height:100%;transition:width .3s;animation:none}.score-value{color:#1a1a2e;text-align:right;min-width:45px;font-size:.875rem;font-weight:700}.score-details{color:#94a3b8;gap:1rem;font-size:.8125rem;display:flex}.score-detail{color:#cbd5e1;font-weight:600}.expand-icon{color:#94a3b8;position:absolute;top:1rem;right:1rem}.path-details{background-color:#fff;border-top:1px solid #e2e8f0;padding:1.5rem}.validation-notes,.challenge-resolution{background-color:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.validation-notes h5,.challenge-resolution h5{color:#92400e;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.875rem;font-weight:700}.validation-notes p,.challenge-resolution p{color:#78350f;margin:0;font-size:.875rem;line-height:1.6}.attack-steps h5{color:#1a1a2e;margin:0 0 1rem;font-size:1rem;font-weight:600}.attack-step{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:1rem;padding:1rem}.attack-step:last-child{margin-bottom:0}.step-number{color:#fff;background-color:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:700;display:flex}.step-info{flex:1}.step-technique{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.technique-id{color:#1e40af;background-color:#dbeafe;border-radius:4px;padding:.125rem .5rem;font-family:Monaco,Courier New,monospace;font-size:.75rem;font-weight:700;display:inline-block}.technique-name{color:#1a1a2e;font-size:.875rem;font-weight:600}.step-target{color:#64748b;font-size:.875rem}.step-description{color:#475569;margin:0 0 .75rem;font-size:.875rem;line-height:1.6}.step-section{color:#475569;margin-bottom:.5rem;font-size:.875rem;line-height:1.6}.step-section strong{color:#1a1a2e}.step-mitigations{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.step-mitigations>strong{color:#1a1a2e;margin-bottom:.75rem;font-size:.875rem;display:block}.mitigation-item{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:6px;margin-bottom:.5rem;padding:.75rem}.mitigation-item:last-child{margin-bottom:0}.mitigation-header{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.mitigation-header svg{color:#059669}.mitigation-id{color:#065f46;background-color:#fff;border-radius:4px;padding:.125rem .5rem;font-family:Monaco,Courier New,monospace;font-size:.75rem;font-weight:700;display:inline-block}.mitigation-name{color:#065f46;font-size:.875rem;font-weight:600}.mitigation-description{color:#064e3b;margin:0;font-size:.875rem;line-height:1.6}.landing-state{margin-bottom:1.5rem}.landing-card{background-color:#ffffff0d;border:1px solid #444;border-radius:12px;padding:3rem;box-shadow:0 4px 6px -1px #0000004d}.landing-icon{color:#60a5fa;margin-bottom:1.5rem}.landing-card h3{color:#f8fafc;margin:0 0 1rem;font-size:1.75rem;font-weight:700}.landing-description{color:#cbd5e1;margin:0 0 2rem;font-size:1rem;line-height:1.6}.landing-steps{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.landing-step{align-items:flex-start;gap:1rem;display:flex}.step-number{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.125rem;font-weight:700;display:flex}.step-content{flex:1}.step-content h4{color:#f8fafc;margin:0 0 .25rem;font-size:1rem;font-weight:600}.step-content p{color:#cbd5e1;margin:0;font-size:.875rem;line-height:1.6}.landing-requirements{background-color:#ffffff08;border:1px solid #444;border-radius:8px;padding:1.5rem}.landing-requirements h4{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.875rem;font-weight:700}.landing-requirements ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.landing-requirements li{color:#cbd5e1;padding-left:1.5rem;font-size:.875rem;position:relative}.landing-requirements li:before{content:"✓";color:#10b981;font-weight:700;position:absolute;left:0}.mitigation-checkbox{border-right:1px solid #e5e7eb;align-items:center;gap:.5rem;padding:.5rem;display:flex}.mitigation-checkbox-input{cursor:pointer;accent-color:#3b82f6;width:18px;height:18px}.mitigation-checkbox-label{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem}.mitigation-row{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;gap:1rem;margin-bottom:.75rem;padding:1rem;transition:all .2s;display:flex}.mitigation-row.mitigation-selected{background-color:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.mitigations-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.mitigations-header-actions{gap:.5rem;display:flex}.mitigation-action-bar{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;justify-content:space-between;align-items:center;margin-top:2rem;padding:1.5rem;display:flex;box-shadow:0 4px 6px #0000001a}.mitigation-action-info{color:#fff}.mitigation-count{font-size:1.125rem;font-weight:600}.mitigation-action-buttons{gap:1rem;display:flex}.mitigation-action-buttons .btn{min-width:140px}.post-mitigation-container{background-color:#ffffff0d;border:1px solid #555;margin-top:2rem}.view-mode-toggle{background-color:#ffffff08;border:1px solid #555;border-radius:8px;gap:.5rem;padding:4px;display:flex}.view-mode-toggle .btn-sm{border-radius:6px;padding:.5rem 1rem;font-size:.875rem}.residual-risk-summary{background-color:#ffffff0d;border:1px solid #555;border-radius:12px;margin-bottom:2rem;padding:2rem}.residual-risk-summary h3{color:#f8fafc;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;display:flex}.risk-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.risk-stat-card{text-align:center;background-color:#ffffff0d;border:1px solid #555;border-radius:10px;padding:1.5rem;transition:all .2s}.risk-stat-card:hover{border-color:#60a5fa;box-shadow:0 4px 8px #60a5fa33}.risk-stat-card.neutralized{border-color:#10b981}.risk-stat-card.neutralized:hover{border-color:#10b981;box-shadow:0 4px 8px #10b9814d}.risk-stat-card.reduced{border-color:#f59e0b}.risk-stat-card.reduced:hover{border-color:#f59e0b;box-shadow:0 4px 8px #f59e0b4d}.risk-stat-card.partial{border-color:#f97316}.risk-stat-card.partial:hover{border-color:#f97316;box-shadow:0 4px 8px #f973164d}.risk-stat-card.viable{border-color:#ef4444}.risk-stat-card.viable:hover{border-color:#ef4444;box-shadow:0 4px 8px #ef44444d}.risk-stat-value{color:#f8fafc;font-size:2.5rem;font-weight:700}.risk-stat-label{color:#cbd5e1;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem;font-size:.875rem;font-weight:600}.risk-reduction-banner{text-align:center;color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 12px #10b9814d}.risk-reduction-value{margin-bottom:.5rem;font-size:3.5rem;font-weight:800;line-height:1}.risk-reduction-label{opacity:.95;font-size:1.125rem;font-weight:500}.risk-scores{background-color:#ffffff0d;border:1px solid #555;border-radius:10px;justify-content:space-around;margin-bottom:2rem;padding:1.5rem;display:flex}.risk-score-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.risk-score-item .label{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.risk-score-item .value{color:#f8fafc;font-size:1.5rem;font-weight:700}.top-residual-risks{margin-bottom:2rem}.top-residual-risks h4{color:#f8fafc;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.residual-risk-list{flex-direction:column;gap:1rem;display:flex}.residual-risk-item{background-color:#ffffff0d;border:1px solid #f59e0b;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.residual-risk-item:hover{border-color:#fbbf24;box-shadow:0 4px 8px #f59e0b4d}.residual-risk-rank{color:#fbbf24;text-align:center;min-width:40px;font-size:1.5rem;font-weight:800}.residual-risk-details{flex:1}.residual-risk-name{color:#f8fafc;margin-bottom:.5rem;font-size:1rem;font-weight:700}.residual-risk-meta{color:#94a3b8;align-items:center;gap:1rem;font-size:.875rem;display:flex}.risk-status-badge{text-transform:uppercase;border:1px solid;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.risk-status-badge.still_viable{color:#fca5a5;background-color:#ef444426;border-color:#ef4444}.risk-status-badge.partially_mitigated{color:#fdba74;background-color:#f9731626;border-color:#f97316}.risk-status-badge.significantly_reduced{color:#fcd34d;background-color:#f59e0b26;border-color:#f59e0b}.risk-status-badge.neutralized{color:#6ee7b7;background-color:#10b98126;border-color:#10b981}.residual-risk-score{color:#fbbf24;font-size:1rem;font-weight:700}.recommendations-section h4{color:#f8fafc;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:700;display:flex}.recommendations-list{flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.recommendations-list li{color:#cbd5e1;background-color:#3b82f61a;border:1px solid #3b82f6;border-left-width:4px;border-radius:6px;padding:1rem;font-size:.9375rem;line-height:1.6}.comparison-view{margin-top:2rem}.comparison-view h3{color:#f8fafc;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.comparison-card{background-color:#ffffff0d;border:1px solid #555;border-radius:12px;margin-bottom:2rem;overflow:hidden}.comparison-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.comparison-header h4{margin:0;font-size:1.25rem}.comparison-status .status-badge{text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff3;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:700}.comparison-body{grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;display:grid}.comparison-column{flex-direction:column;gap:1rem;display:flex}.comparison-column.pre-mitigation{border-right:1px solid #555;padding-right:2rem}.column-header{border-bottom:1px solid #555;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.column-header h5{color:#f8fafc;margin:0;font-size:1.125rem;font-weight:700}.difficulty-badge{text-transform:uppercase;color:#94a3b8;background-color:#ffffff1a;border:1px solid #555;border-radius:999px;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.difficulty-badge.neutralized{color:#6ee7b7;background-color:#10b98126;border-color:#10b981}.difficulty-badge.still_viable{color:#fca5a5;background-color:#ef444426;border-color:#ef4444}.impact-summary{background-color:#ffffff08;border:1px solid #555;border-radius:8px;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.impact-stat{color:#cbd5e1;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.impact-stat .icon.blocked{color:#10b981}.impact-stat .icon.reduced{color:#f59e0b}.impact-stat .icon.active{color:#ef4444}.steps-list{flex-direction:column;gap:.75rem;display:flex}.step-comparison-item{background-color:#ffffff08;border:1px solid #555;border-radius:8px;padding:1rem;position:relative}.step-comparison-item.status-blocked{background-color:#10b9811a;border-color:#10b981}.step-comparison-item.status-reduced{background-color:#f59e0b1a;border-color:#f59e0b}.step-comparison-item.status-active{background-color:#ef44441a;border-color:#ef4444}.step-header{gap:.5rem;margin-bottom:.5rem;display:flex}.step-badge{color:#fff;background-color:#3b82f6;border:1px solid #60a5fa;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.technique-badge-small{color:#cbd5e1;background-color:#6b72804d;border:1px solid #6b7280;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.step-name{color:#f8fafc;font-size:.875rem;font-weight:700}.step-phase{color:#94a3b8;margin-top:.25rem;font-size:.75rem;font-weight:600}.step-status-indicator{text-transform:uppercase;border:1px solid;border-radius:6px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;font-size:.75rem;font-weight:700;display:flex}.step-status-indicator.blocked{color:#6ee7b7;background-color:#10b98126;border-color:#10b981}.step-status-indicator.reduced{color:#fcd34d;background-color:#f59e0b26;border-color:#f59e0b}.step-status-indicator.active{color:#fca5a5;background-color:#ef444426;border-color:#ef4444}.step-impact-item{background-color:#ffffff08;border:1px solid #555;border-radius:8px;padding:1rem}.step-impact-item.blocked{background-color:#10b9811a;border-color:#10b981}.step-impact-item.reduced{background-color:#f59e0b1a;border-color:#f59e0b}.step-impact-item.active{background-color:#ef44441a;border-color:#ef4444}.step-impact-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.effectiveness-badge{text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.effectiveness-badge.high{color:#065f46;background-color:#d1fae5}.effectiveness-badge.medium{color:#92400e;background-color:#fef3c7}.effectiveness-badge.low,.effectiveness-badge.none{color:#991b1b;background-color:#fee2e2}.step-impact-reasoning{color:#4b5563;margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.applied-mitigations{color:#3b82f6;background-color:#eff6ff;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;font-weight:600;display:flex}.score-display{text-align:center;color:#6b7280;background-color:#f9fafb;border-radius:8px;margin-top:1rem;padding:1rem;font-size:1rem}.score-display.residual{color:#92400e;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);font-weight:600}.score-display strong{color:#1f2937;margin-left:.5rem;font-size:1.25rem}@media (width<=1024px){.comparison-body{grid-template-columns:1fr;gap:1.5rem}.comparison-column.pre-mitigation{border-bottom:2px solid #e5e7eb;border-right:none;padding-bottom:2rem;padding-right:0}.risk-stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.mitigation-action-bar{flex-direction:column;gap:1rem}.mitigation-action-buttons{flex-direction:column;width:100%}.mitigation-action-buttons .btn{width:100%}.risk-stats-grid{grid-template-columns:1fr}.risk-scores{flex-direction:column;gap:1rem}.view-mode-toggle{flex-direction:column;width:100%}.view-mode-toggle .btn-sm{width:100%}}.page-content-with-sidebar{align-items:flex-start;gap:1.5rem;display:flex;background-color:#0000!important}.archived-runs-sidebar{background-color:#ffffff0d;border:1px solid #444;border-radius:8px;flex:0 0 420px;width:420px;max-height:calc(100vh - 180px);padding:1.5rem;position:sticky;top:100px;overflow-y:auto}.sidebar-header{border-bottom:2px solid #e2e8f0;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.sidebar-header h3{color:#f8fafc;flex:1;margin:0;font-size:1.125rem;font-weight:600}.archived-runs-list{flex-direction:column;gap:.75rem;display:flex}.no-runs-message{text-align:center;color:#64748b;padding:2rem 1rem}.no-runs-message p{margin:.5rem 0}.no-runs-message .hint{color:#94a3b8;font-size:.875rem}.archived-run-item{background-color:#2d3748;border:1px solid #4a5568;border-radius:6px;padding:.875rem;transition:all .2s;position:relative}.archived-run-item:hover{background-color:#374151;border-color:#60a5fa;box-shadow:0 2px 4px #60a5fa4d}.archived-run-item.currently-viewing{background-color:#fef3c7;border:2px solid #f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.archived-run-item.currently-viewing:hover{background-color:#fde68a;border-color:#f59e0b}.archived-run-item.currently-viewing .file-badge-main{color:#fef3c7;background-color:#92400e}.archived-run-item.currently-viewing .run-mode-badge{color:#dbeafe;background-color:#1e40af}.archived-run-item.currently-viewing .run-timestamp,.archived-run-item.currently-viewing .timestamp-text,.archived-run-item.currently-viewing .file-name,.archived-run-item.currently-viewing .paths-text{color:#78350f}.archived-run-item.currently-viewing .paths-text strong{color:#451a03}.archived-run-item.currently-viewing .duration-text{color:#78350f}.archived-run-item.currently-viewing .duration-text strong{color:#451a03}.run-info{cursor:pointer}.run-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.file-badge-main{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;background-color:#4a5568;border-radius:6px;flex:1;min-width:0;padding:.25rem .75rem;font-size:.8125rem;font-weight:500;display:inline-block;overflow:hidden}.run-mode-badge{color:#e0f2fe;white-space:nowrap;background-color:#3b82f6;border-radius:6px;flex-shrink:0;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;display:inline-block}.run-timestamp{color:#cbd5e1;align-items:center;gap:.5rem;margin-bottom:.625rem;font-size:.8125rem;display:flex}.timestamp-icon{flex-shrink:0;font-size:.875rem}.timestamp-text{line-height:1.3}.run-file-info{align-items:center;gap:.5rem;margin-bottom:.625rem;font-size:.8125rem;display:flex}.file-icon{flex-shrink:0;font-size:.875rem}.file-name{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-weight:500;overflow:hidden}.run-paths-info{align-items:center;gap:.5rem;margin-bottom:.625rem;font-size:.8125rem;display:flex}.paths-icon{flex-shrink:0;font-size:.875rem}.paths-text{color:#cbd5e1}.paths-text strong{color:#f8fafc;font-weight:700}.run-duration-info{align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.duration-icon{flex-shrink:0;font-size:.875rem}.duration-text{color:#cbd5e1}.duration-text strong{color:#f8fafc;font-weight:700}.run-actions{border-top:1px solid #e2e8f0;gap:.375rem;margin-top:.5rem;padding-top:.5rem;display:flex}.btn-icon{cursor:pointer;color:#64748b;background-color:#0000;border:1px solid #e2e8f0;border-radius:4px;justify-content:center;align-items:center;padding:.375rem;transition:all .2s;display:flex}.btn-icon:hover{color:#1e293b;background-color:#f1f5f9;border-color:#cbd5e1}.btn-icon.btn-delete:hover{color:#dc2626;background-color:#fee2e2;border-color:#fca5a5}.btn-icon.btn-save:hover{color:#16a34a;background-color:#dcfce7;border-color:#86efac}.btn-icon.btn-cancel:hover{color:#ca8a04;background-color:#fef3c7;border-color:#fcd34d}.editing-run-name{flex-direction:column;gap:.5rem;display:flex}.edit-name-input{border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:.5rem;font-family:inherit;font-size:.875rem}.edit-name-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.edit-actions{gap:.5rem;display:flex}.sidebar-close-btn{cursor:pointer;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.sidebar-close-btn:hover{color:var(--color-text-primary);background-color:#f1f5f9}.sidebar-toggle-btn{cursor:pointer;color:#94a3b8;background-color:#ffffff0d;border:1px solid #444;border-radius:8px;flex:none;align-items:center;gap:.5rem;height:fit-content;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:sticky;top:100px}.sidebar-toggle-btn:hover{color:#f8fafc;background-color:#ffffff14;border-color:#60a5fa}.main-content{flex:1;min-width:0;background-color:#0000!important}.threat-model-page{max-width:1600px}@media (width<=1200px){.page-content-with-sidebar{flex-direction:column}.archived-runs-sidebar{flex:auto;max-width:100%;max-height:400px;position:static}.main-content{width:100%}}.evaluation-summary-panel{background:linear-gradient(135deg,#ffffff14 0%,#ffffff0d 100%);border:2px solid #555;border-radius:12px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px -1px #0000004d}.evaluation-header{border-bottom:2px solid #555;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.evaluation-header h3{color:#f8fafc;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.overall-score-badge{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-radius:12px;flex-direction:column;align-items:center;padding:1.25rem 2rem;display:flex;box-shadow:0 10px 15px -3px #3b82f64d}.score-badge-value{color:#fff;font-size:2.5rem;font-weight:800;line-height:1}.score-badge-label{color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem;font-size:.75rem;font-weight:600}.scoring-methodology{background:#ffffff0d;border:1px solid #555;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.methodology-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.methodology-item{flex-direction:column;gap:.25rem;display:flex}.weight-badge{color:#fff;background:#3b82f6;border-radius:4px;width:fit-content;padding:.25rem .75rem;font-size:.875rem;font-weight:700;display:inline-block}.methodology-label{color:#f8fafc;font-size:.9375rem;font-weight:600}.methodology-desc{color:#94a3b8;font-size:.8125rem}.evaluation-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.metric-card{background:#ffffff0d;border:1px solid #555;border-radius:8px;padding:1.25rem;transition:all .2s}.metric-card:hover{border-color:#60a5fa;transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa33}.metric-card.composite{background:linear-gradient(135deg,#3b82f626 0%,#3b82f614 100%);border:2px solid #60a5fa;grid-column:1/-1}.metric-header{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.metric-icon{font-size:1.5rem}.metric-title{color:#f8fafc;font-size:1rem;font-weight:700}.metric-score-display{margin-bottom:.75rem}.metric-main-score{color:#f8fafc;font-size:2rem;font-weight:800;line-height:1}.metric-range{color:#94a3b8;margin-top:.25rem;font-size:.8125rem}.metric-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden}.metric-bar-fill{border-radius:4px;height:100%;transition:width .5s ease-out}.metric-bar-fill.feasibility{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.metric-bar-fill.impact{background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%)}.metric-bar-fill.detection{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.metric-bar-fill.novelty{background:linear-gradient(90deg,#8b5cf6 0%,#7c3aed 100%)}.metric-bar-fill.coherence{background:linear-gradient(90deg,#06b6d4 0%,#0891b2 100%)}.metric-bar-fill.composite{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%)}.evaluation-findings{background:#ffffff0d;border:1px solid #555;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.findings-list{flex-direction:column;gap:.75rem;display:flex}.finding-item{border-left:4px solid;border-radius:6px;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.finding-item.critical{background:#fef2f2;border-left-color:#dc2626}.finding-item.high{background:#fef3c7;border-left-color:#f59e0b}.finding-item.medium{background:#dbeafe;border-left-color:#3b82f6}.finding-item.low{background:#d1fae5;border-left-color:#10b981}.finding-item.info{background:#f3f4f6;border-left-color:#6b7280}.finding-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:700}.finding-badge.critical{color:#fff;background:#dc2626}.finding-badge.high{color:#fff;background:#f59e0b}.finding-badge.medium{color:#fff;background:#3b82f6}.finding-badge.low{color:#fff;background:#10b981}.finding-badge.info{color:#fff;background:#6b7280}.finding-text{color:#cbd5e1;flex:1;font-size:.9375rem;font-weight:500;line-height:1.6}.adversarial-validation-summary{background:#ffffff0d;border:1px solid #555;border-radius:8px;padding:1.5rem}.adversarial-stats{flex-direction:column;gap:.75rem;display:flex}.adversarial-stat-item{background:#ffffff0d;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.adversarial-label{color:#cbd5e1;font-size:.9375rem;font-weight:600}.adversarial-value{color:#f8fafc;font-size:1rem;font-weight:700}@media (width<=768px){.evaluation-summary-panel{padding:1.25rem}.evaluation-header{flex-direction:column;gap:1rem}.overall-score-badge{width:100%}.methodology-grid,.evaluation-metrics-grid{grid-template-columns:1fr}.metric-card.composite{grid-column:1}}.attack-paths-list [class*=reactflow],.attack-paths-list [class*=react-flow]{width:100%!important;height:600px!important;min-height:600px!important}.attack-paths-list [class*=react-flow__node],.attack-paths-list .react-flow__node{min-width:180px!important;padding:12px!important;font-size:14px!important}.attack-paths-list [class*=react-flow__edge-text],.attack-paths-list .react-flow__edge-text{color:#f8fafc!important;background-color:#1a1a2ee6!important;border-radius:4px!important;padding:4px 8px!important;font-size:13px!important;font-weight:600!important}.attack-paths-list [class*=react-flow__controls],.attack-paths-list .react-flow__controls{transform-origin:0 100%!important;transform:scale(1.2)!important}.attack-paths-list [class*=react-flow__minimap],.attack-paths-list .react-flow__minimap{width:200px!important;height:150px!important}.attack-paths-list [class*=react-flow__pane],.attack-paths-list .react-flow__pane{background-color:#ffffff08!important}.attack-paths-list [class*=react-flow__node] text,.attack-paths-list .react-flow__node text{fill:#f8fafc!important;font-weight:500!important}.results-panel>div[style*="background-color: white"],.results-panel>div[style*="background-color: rgb(255, 255, 255)"],.results-panel>div[style*="background: white"]{background-color:#ffffff0d!important;border-color:#555!important}.results-panel h2,.results-panel h3,.results-panel h4{color:#f8fafc!important}.results-panel p,.results-panel span{color:#cbd5e1!important}.results-container{border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;background-color:#ffffff0d!important;border:1px solid #555!important}.results-header{border-bottom:2px solid #555;margin-bottom:1.5rem;padding-bottom:1rem}.results-header h2{margin:0 0 .5rem;font-size:1.5rem;color:#f8fafc!important}.results-header p{margin:0;color:#94a3b8!important}.results-panel h2,.attack-paths-list h3,.asset-graph-panel h3,.results-container h2,.results-container h3{letter-spacing:-.02em;color:#f8fafc!important;margin-bottom:1rem!important;font-size:1.5rem!important;font-weight:700!important}.results-panel h4,.attack-paths-list h4,.results-container h4{color:#e2e8f0!important;margin-bottom:.75rem!important;font-size:1.125rem!important;font-weight:600!important}.results-panel p,.attack-paths-list p,.asset-graph-panel p,.results-container p{color:#cbd5e1!important;font-size:.9375rem!important;line-height:1.6!important}.results-panel label,.results-panel span:not([class*=badge]),.results-container label,.results-container span:not([class*=badge]){color:#94a3b8!important}div[style*="background-color: white"],div[style*="background-color: rgb(255, 255, 255)"],div[style*="background: white"],div[style*="backgroundColor: 'white'"],div[style*="backgroundColor: \"white\""]{background-color:#ffffff0d!important}div[style*="border: 1px solid rgb(226, 232, 240)"],div[style*="border: 1px solid #e2e8f0"],div[style*="borderColor: '#e2e8f0'"],div[style*="borderColor: \"#e2e8f0\""]{border-color:#555!important}.threat-model-page{font-size:15px}.results-panel strong,.attack-paths-list strong,.results-container strong{color:#f8fafc!important;font-weight:700!important}.results-panel code,.attack-paths-list code,.results-container code{border-radius:4px;padding:.25rem .5rem;font-size:.875rem;color:#93c5fd!important;background-color:#ffffff14!important}.results-panel li,.attack-paths-list li,.results-container li{margin-bottom:.5rem;color:#cbd5e1!important;line-height:1.6!important}:root{--vkc-primary:#00d4ff;--vkc-secondary:#7c3aed;--vkc-gradient-primary:linear-gradient(90deg, #00d4ff, #7c3aed);--vkc-bg-dark:#1a1a2e;--vkc-bg-darker:#16213e;--vkc-bg-card:#ffffff0d;--vkc-bg-card-hover:#ffffff14;--vkc-bg-input:#0000004d;--vkc-bg-mermaid:#fffffff2;--vkc-text-primary:#eee;--vkc-text-secondary:#aaa;--vkc-text-muted:#666;--vkc-text-white:#fff;--vkc-danger:#ff4757;--vkc-danger-bg:#ff47571a;--vkc-warning:#ffa502;--vkc-warning-bg:#ffa5021a;--vkc-success:#2ed573;--vkc-success-bg:#2ed5731a;--vkc-info:#00d4ff;--vkc-info-bg:#00d4ff1a;--vkc-cvss-critical:#ff4757;--vkc-cvss-high:#ffa502;--vkc-cvss-medium:#fbbf24;--vkc-cvss-low:#2ed573;--vkc-tactic-ta0001-bg:#00d4ff;--vkc-tactic-ta0001-border:#00a8cc;--vkc-tactic-ta0002-bg:#0ea5e9;--vkc-tactic-ta0002-border:#0284c7;--vkc-tactic-ta0003-bg:#8b5cf6;--vkc-tactic-ta0003-border:#7c3aed;--vkc-tactic-ta0004-bg:#a855f7;--vkc-tactic-ta0004-border:#9333ea;--vkc-tactic-ta0005-bg:#d946ef;--vkc-tactic-ta0005-border:#c026d3;--vkc-tactic-ta0006-bg:#f97316;--vkc-tactic-ta0006-border:#ea580c;--vkc-tactic-ta0007-bg:#fbbf24;--vkc-tactic-ta0007-border:#f59e0b;--vkc-tactic-ta0008-bg:#facc15;--vkc-tactic-ta0008-border:#eab308;--vkc-tactic-ta0009-bg:#84cc16;--vkc-tactic-ta0009-border:#65a30d;--vkc-tactic-ta0010-bg:#22c55e;--vkc-tactic-ta0010-border:#16a34a;--vkc-tactic-ta0011-bg:#ef4444;--vkc-tactic-ta0011-border:#dc2626;--vkc-tactic-ta0040-bg:#dc2626;--vkc-tactic-ta0040-border:#b91c1c;--vkc-border-subtle:#ffffff1a;--vkc-border-input:#333;--vkc-border-focus:var(--vkc-primary)}.vuln-kill-chain-page ::-webkit-scrollbar{width:8px;height:8px}.vuln-kill-chain-page ::-webkit-scrollbar-track{background:#0003;border-radius:4px}.vuln-kill-chain-page ::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.vuln-kill-chain-page ::-webkit-scrollbar-thumb:hover{background:#555}@keyframes vkc-fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes vkc-slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes vkc-pulse{0%,to{opacity:1}50%{opacity:.5}}.vuln-kill-chain-page-wrapper{background-color:var(--vkc-bg-dark);width:100%;min-height:100vh;padding:2rem}.vuln-kill-chain-page{color:var(--vkc-text-primary);animation:.4s ease-out vkc-fadeIn}.vkc-header{text-align:center;border-bottom:1px solid var(--vkc-border-subtle);margin-bottom:30px;padding:30px 0}.vkc-header-title{background:var(--vkc-gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:2.5rem;font-weight:700}.vkc-header-subtitle{color:var(--vkc-text-muted);font-size:1rem}.vkc-tabs{gap:10px;margin-bottom:25px;display:flex}.vkc-tab-button{background:var(--vkc-bg-card);color:var(--vkc-text-white);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .2s}.vkc-tab-button:hover{background:var(--vkc-bg-card-hover)}.vkc-tab-button.active{background:var(--vkc-gradient-primary)}.vkc-tab-button:focus{outline:2px solid var(--vkc-border-focus);outline-offset:2px}.vkc-search-box{background:var(--vkc-bg-card);border-radius:16px;margin-bottom:25px;padding:25px;animation:.3s ease-out vkc-fadeIn}.vkc-search-type-buttons{gap:10px;margin-bottom:15px;display:flex}.vkc-search-type-button{border:1px solid var(--vkc-border-input);color:var(--vkc-text-white);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;transition:all .2s}.vkc-search-type-button:hover{border-color:var(--vkc-primary)}.vkc-search-type-button.active{background:var(--vkc-primary);border-color:var(--vkc-primary)}.vkc-search-input-group{gap:10px;display:flex}.vkc-search-input{background:var(--vkc-bg-input);border:1px solid var(--vkc-border-input);color:var(--vkc-text-white);border-radius:10px;outline:none;flex:1;padding:14px 18px;font-size:1rem;transition:border-color .2s}.vkc-search-input:focus{border-color:var(--vkc-primary)}.vkc-search-input::placeholder{color:#999}.vkc-search-button{background:var(--vkc-gradient-primary);color:var(--vkc-text-white);cursor:pointer;border:none;border-radius:10px;padding:14px 28px;font-size:1rem;font-weight:600;transition:all .2s}.vkc-search-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00d4ff4d}.vkc-search-button:active:not(:disabled){transform:translateY(0)}.vkc-search-button:disabled{opacity:.7;cursor:not-allowed}.vkc-error{background:var(--vkc-danger-bg);border:1px solid var(--vkc-danger);color:var(--vkc-danger);border-radius:12px;margin-bottom:25px;padding:18px;animation:.3s ease-out vkc-fadeIn}.vkc-card{background:var(--vkc-bg-card);border-radius:16px;padding:20px;animation:.3s ease-out vkc-fadeIn}.vkc-card-clickable{cursor:pointer;border:1px solid #0000;transition:all .2s}.vkc-card-clickable:hover{background:var(--vkc-bg-card-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.vkc-card-clickable.selected{border-color:var(--vkc-primary);box-shadow:0 0 0 1px var(--vkc-primary)}.vkc-results-header{color:var(--vkc-primary);margin-bottom:15px;font-size:1.3rem}.vkc-results-list{flex-direction:column;gap:12px;max-height:70vh;display:flex;overflow-y:auto}.vkc-cve-card{background:var(--vkc-bg-card);cursor:pointer;border:1px solid #0000;border-radius:10px;padding:16px;transition:all .2s;animation:.3s ease-out vkc-slideIn}.vkc-cve-card:hover{background:var(--vkc-bg-card-hover);border-color:var(--vkc-primary)}.vkc-cve-card.selected{border-color:var(--vkc-primary);box-shadow:0 0 0 2px var(--vkc-primary)}.vkc-cve-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.vkc-cve-id{color:var(--vkc-primary);font-size:1.1rem;font-weight:600}.vkc-cvss-badge{color:var(--vkc-text-white);border-radius:15px;padding:4px 12px;font-size:.85rem;font-weight:700}.vkc-cvss-badge.critical{background:var(--vkc-cvss-critical)}.vkc-cvss-badge.high{background:var(--vkc-cvss-high)}.vkc-cvss-badge.medium{background:var(--vkc-cvss-medium)}.vkc-cvss-badge.low{background:var(--vkc-cvss-low)}.vkc-cve-description{color:var(--vkc-text-secondary);font-size:.9rem;line-height:1.5}.vkc-attack-mapping{max-height:80vh;overflow-y:auto}.vkc-attack-header{align-items:center;gap:10px;margin-bottom:15px;display:flex}.vkc-attack-cve-id{color:var(--vkc-primary);margin:0;font-size:1.2rem}.vkc-section{border-top:1px solid var(--vkc-border-subtle);margin-bottom:20px;padding-top:15px}.vkc-section-title{margin-bottom:10px;font-size:.95rem;font-weight:600}.vkc-section-title.patches{color:var(--vkc-success)}.vkc-section-title.mitigations{color:var(--vkc-warning)}.vkc-section-title.detection{color:var(--vkc-info)}.vkc-section-title.recovery{color:var(--vkc-danger)}.vkc-section-title.kill-chain{color:var(--vkc-secondary)}.vkc-technique-list{flex-direction:column;gap:6px;display:flex}.vkc-technique-badge{border-radius:6px;padding:8px 12px;font-size:.8rem;transition:all .2s}.vkc-technique-badge:hover{transform:translate(4px)}.vkc-technique-phase{font-weight:700}.vkc-technique-separator{color:var(--vkc-text-muted);margin:0 6px}.vkc-technique-id{font-family:Monaco,Consolas,monospace}.vkc-links-list{flex-direction:column;gap:6px;display:flex}.vkc-link-item{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:6px 10px;font-size:.8rem;text-decoration:none;transition:all .2s;overflow:hidden}.vkc-link-item:hover{transform:translate(4px)}.vkc-link-item.patches{color:var(--vkc-success);background:var(--vkc-success-bg)}.vkc-link-item.mitigations{color:var(--vkc-warning);background:var(--vkc-warning-bg)}.vkc-link-item.detection{color:var(--vkc-info);background:var(--vkc-info-bg)}.vkc-link-item.recovery{color:var(--vkc-danger);background:var(--vkc-danger-bg)}.vkc-mermaid-container{background:var(--vkc-bg-mermaid);border-radius:8px;justify-content:center;align-items:center;min-height:180px;padding:12px;display:flex}.vkc-mermaid-code{margin-top:12px}.vkc-mermaid-code summary{cursor:pointer;color:var(--vkc-text-muted);-webkit-user-select:none;user-select:none;font-size:.8rem}.vkc-mermaid-code summary:hover{color:var(--vkc-primary)}.vkc-mermaid-code pre{background:#00000080;border-radius:6px;margin-top:6px;padding:10px;font-family:Monaco,Consolas,monospace;font-size:.7rem;overflow:auto}.mermaid marker path,.mermaid marker polygon,.mermaid defs marker path,.mermaid defs marker polygon{fill:#000!important;stroke:#000!important}.mermaid .edgePath path{stroke:#000!important;stroke-width:3px!important}svg.mermaid marker#flowchart-pointEnd path,svg.mermaid marker#flowchart-pointEnd polygon,svg.mermaid marker[id*=arrowhead] path,svg.mermaid marker[id*=arrowhead] polygon,svg.mermaid marker[id*=point] path,svg.mermaid marker[id*=point] polygon{fill:#000!important;stroke:#000!important;color:#000!important}.vkc-placeholder{background:var(--vkc-bg-card);text-align:center;color:#999;border-radius:16px;padding:40px;animation:.3s ease-out vkc-fadeIn}.vkc-placeholder-title{margin-bottom:10px;font-size:1.1rem}.vkc-placeholder-subtitle{font-size:.9rem}.vkc-loading{text-align:center;color:var(--vkc-text-muted);padding:20px;animation:1.5s ease-in-out infinite vkc-pulse}.vkc-loading-container{text-align:center;padding:60px 40px}.vkc-loading-spinner{border:4px solid #00d4ff33;border-top-color:var(--vkc-primary);border-radius:50%;width:60px;height:60px;margin:0 auto 20px;animation:1s linear infinite vkc-spin}@keyframes vkc-spin{to{transform:rotate(360deg)}}.vkc-loading-text{color:var(--vkc-text-primary);margin-bottom:20px;font-size:1.1rem;font-weight:500}.vkc-loading-bar{background:#ffffff1a;border-radius:3px;width:100%;max-width:400px;height:6px;margin:0 auto;overflow:hidden}.vkc-loading-bar-fill{background:var(--vkc-gradient-primary);border-radius:3px;height:100%;animation:2s ease-in-out infinite vkc-progress}@keyframes vkc-progress{0%{width:0%;margin-left:0%}50%{width:70%;margin-left:15%}to{width:0%;margin-left:100%}}.vkc-kev-header{color:var(--vkc-warning);margin-bottom:20px;font-size:1.5rem}.vkc-kev-list{flex-direction:column;gap:12px;display:flex}.vkc-kev-card{background:var(--vkc-bg-card);border-left:4px solid var(--vkc-warning);border-radius:12px;padding:18px;animation:.3s ease-out vkc-fadeIn}.vkc-kev-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.vkc-kev-cve-id{color:var(--vkc-warning);font-size:1.1rem;font-weight:600}.vkc-kev-date{color:var(--vkc-text-muted);font-size:.85rem}.vkc-kev-product{color:var(--vkc-text-secondary);margin-top:10px;font-size:.95rem}.vkc-kev-description{color:var(--vkc-text-muted);margin-top:8px;font-size:.85rem}.vkc-section-title.recommendation{color:#a78bfa}.vkc-recommendation-summary{color:var(--vkc-text-primary);background:#a78bfa1a;border-left:3px solid #a78bfa;border-radius:6px;margin-bottom:20px;padding:12px 15px;font-size:.95rem;line-height:1.6}.vkc-risk-scenarios{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-bottom:20px;display:grid}.vkc-risk-card{border:1px solid var(--vkc-border-subtle);background:#ffffff08;border-radius:10px;padding:15px;transition:all .2s}.vkc-risk-card:hover{background:#ffffff0d;transform:translateY(-2px)}.vkc-risk-card-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.vkc-risk-card-header h4{color:var(--vkc-text-primary);margin:0;font-size:.9rem;font-weight:600}.vkc-risk-icon{font-size:1.2rem}.vkc-risk-level{text-transform:uppercase;border-radius:20px;margin-bottom:10px;padding:6px 14px;font-size:.85rem;font-weight:700;display:inline-block}.vkc-risk-level.critical{background:var(--vkc-cvss-critical);color:#fff}.vkc-risk-level.high{background:var(--vkc-cvss-high);color:#fff}.vkc-risk-level.medium{background:var(--vkc-cvss-medium);color:#000}.vkc-risk-level.low{background:var(--vkc-cvss-low);color:#fff}.vkc-risk-reduction{margin-bottom:10px}.vkc-risk-reduction-badge{border:1px solid var(--vkc-success);color:var(--vkc-success);background:#2ed57326;border-radius:15px;padding:4px 10px;font-size:.8rem;font-weight:600;display:inline-block}.vkc-risk-explanation{color:var(--vkc-text-secondary);margin:0;font-size:.85rem;line-height:1.5}.vkc-action-priority-container{text-align:center;margin-bottom:15px}.vkc-action-priority-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:8px 20px;font-size:.9rem;font-weight:700;display:inline-block}.vkc-action-priority-badge.immediate{background:var(--vkc-danger);color:#fff;animation:2s ease-in-out infinite vkc-pulse;box-shadow:0 0 15px #ff475780}.vkc-action-priority-badge.high{background:var(--vkc-warning);color:#000}.vkc-action-priority-badge.medium{background:var(--vkc-cvss-medium);color:#000}.vkc-action-priority-badge.low{border:1px solid var(--vkc-success);color:var(--vkc-success);background:#2ed57333}.vkc-recommended-actions{background:#a78bfa0d;border:1px solid #a78bfa4d;border-radius:8px;padding:15px}.vkc-actions-title{color:#a78bfa;margin:0 0 10px;font-size:.9rem;font-weight:600}.vkc-actions-list{color:var(--vkc-text-secondary);margin:0;padding-left:20px}.vkc-action-item{margin-bottom:8px;font-size:.9rem;line-height:1.5}.vkc-action-item:last-child{margin-bottom:0}.vkc-footer{text-align:center;color:var(--vkc-text-muted);border-top:1px solid var(--vkc-border-subtle);margin-top:40px;padding:20px}@media (width<=1024px){.vuln-kill-chain-page [style*=gridTemplateColumns]{grid-template-columns:1fr!important}}@media (width<=768px){.vkc-risk-scenarios{grid-template-columns:1fr}.vkc-risk-card{padding:12px}.vkc-header-title{font-size:2rem}.vkc-header-subtitle{font-size:.9rem}.vkc-search-input-group{flex-direction:column}.vkc-search-button{width:100%}.vkc-tabs{flex-direction:column}.vkc-tab-button{width:100%}.vkc-search-box{padding:20px}.vkc-attack-header{flex-direction:column;align-items:flex-start;gap:8px}.vkc-technique-badge{padding:6px 10px;font-size:.75rem}.vkc-mermaid-container{padding:8px}}.vkc-card-clickable:focus-visible,.vkc-tab-button:focus-visible,.vkc-search-button:focus-visible,.vkc-search-type-button:focus-visible{outline:2px solid var(--vkc-border-focus);outline-offset:2px}.vuln-kill-chain-page ::selection{background:var(--vkc-primary);color:#000}#root{width:100%;height:100vh;margin:0;padding:0}*{box-sizing:border-box}
