.dual-focus-graph-section{width:100%;margin:0 auto;padding:1rem 0 3.5rem;position:relative}.dual-focus-container{opacity:0;will-change:transform, opacity;transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:translateY(-24px)}.dual-focus-container.is-revealed{opacity:1;transform:translateY(0)}.dual-focus-toolbar{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg,12px);background:#ffffffe0;border:1px solid #e5e7ebf2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.65rem 1rem;display:flex;box-shadow:0 4px 20px -2px #0000000a}.dual-focus-controls{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.graph-ctrl-btn{border:1px solid var(--border-subtle,#e5e7eb);font-family:var(--font-sans,sans-serif);color:var(--text-secondary,#4b5563);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .85rem;font-size:.78rem;font-weight:500;transition:all .2s;display:inline-flex}.graph-ctrl-btn:hover{color:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.graph-ctrl-btn.is-active{color:#dc2626;background:#fef2f2;border-color:#dc2626;font-weight:600}.graph-ctrl-btn svg{stroke-width:2px;width:14px;height:14px}.graph-canvas-frame{aspect-ratio:1200/520;border-radius:var(--radius-xl,16px);background:radial-gradient(90% 60%,#fef2f280 0%,#fffffff2 70%,#fff 100%);border:1px solid #e5e7ebf2;width:100%;min-height:480px;position:relative;overflow:hidden;box-shadow:0 20px 45px -12px #0f172a0f,0 0 0 1px #00000005}.graph-canvas-frame:before{content:"";pointer-events:none;opacity:.75;background-image:linear-gradient(90deg,#e5e7eb59 1px,#0000 1px),linear-gradient(#e5e7eb59 1px,#0000 1px);background-position:50%;background-size:75px 52px;position:absolute;inset:0}.dual-focus-svg{pointer-events:auto;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-sonar-ping{transform-origin:50%;animation:3.2s cubic-bezier(0,0,.2,1) infinite radarSonarPulse}@keyframes radarSonarPulse{0%{r:6px;opacity:.9;stroke-width:2px}70%{r:22px;opacity:0;stroke-width:.5px}to{r:24px;opacity:0}}.graph-html-overlay{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;inset:0}.focus-node-pill{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:auto;z-index:15;background:#fff;border:1.5px solid #dc262659;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .95rem;transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s,background-color .25s,opacity .25s;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 16px -2px #dc26261f,0 2px 6px #0000000a}.is-revealed .focus-node-pill{animation:.9s cubic-bezier(.16,1,.3,1) backwards pillCascadeFromAbove}.is-revealed .pill-cascade-0{animation-delay:80ms}.is-revealed .pill-cascade-1{animation-delay:.18s}.is-revealed .pill-cascade-2{animation-delay:.28s}.is-revealed .pill-cascade-3{animation-delay:.38s}.is-revealed .pill-cascade-4{animation-delay:.48s}.is-revealed .pill-cascade-5{animation-delay:.58s}@keyframes pillCascadeFromAbove{0%{opacity:0;transform:translate(-50%,calc(-50% - 28px))}to{opacity:1;transform:translate(-50%,-50%)}}.focus-node-pill:hover{border-color:#dc2626;transform:translate(-50%,-50%)scale(1.05);box-shadow:0 8px 24px -4px #dc262647,0 2px 8px #0000000f}.focus-node-pill.is-selected{background:#111827;border-color:#dc2626;transform:translate(-50%,-50%)scale(1.06);box-shadow:0 0 0 3px #dc262640,0 12px 28px -4px #00000059}.pill-index{font-family:var(--font-mono,monospace);color:#dc2626;letter-spacing:.05em;font-size:.74rem;font-weight:700;transition:color .2s}.focus-node-pill.is-selected .pill-index{color:#f87171}.pill-divider{color:#d1d5db;font-size:.72rem;font-weight:400}.focus-node-pill.is-selected .pill-divider{color:#4b5563}.pill-title{font-family:var(--font-sans,sans-serif);color:#1f2937;letter-spacing:-.01em;font-size:.82rem;font-weight:600;transition:color .2s}.focus-node-pill.is-selected .pill-title{color:#fff}.pill-chevron{stroke:#dc2626;stroke-width:2.4px;fill:none;stroke-linecap:round;stroke-linejoin:round;margin-left:.15rem;transition:transform .2s,stroke .2s}.focus-node-pill:hover .pill-chevron{transform:translate(2px)}.focus-node-pill.is-selected .pill-chevron{stroke:#f87171;transform:rotate(90deg)}.graph-html-overlay.has-active-node .focus-node-pill:not(.is-selected){opacity:.42}.expanded-card-backdrop{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;animation:.28s cubic-bezier(.16,1,.3,1) forwards fadeInBackdrop;display:flex;position:fixed;inset:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.expanded-card-modal{border-radius:var(--radius-xl,18px);opacity:0;background:#fff;border:1px solid #dc262640;width:100%;max-width:640px;max-height:90vh;padding:2.25rem 2.25rem 2rem;animation:.34s cubic-bezier(.16,1,.3,1) forwards modalCascadeDown;position:relative;overflow-y:auto;transform:translateY(-24px)scale(.96);box-shadow:0 25px 60px -15px #dc262633,0 10px 30px -10px #00000040,0 0 0 1px #dc26261a}@keyframes modalCascadeDown{to{opacity:1;transform:translateY(0)scale(1)}}.expanded-card-modal:before{content:"";background:linear-gradient(90deg,#ef4444,#dc2626,#991b1b,#4c0519);height:4px;position:absolute;top:0;left:0;right:0}.expanded-header-row{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.expanded-tag-meta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.expanded-tag-pill{font-family:var(--font-mono,monospace);color:#dc2626;letter-spacing:.06em;text-transform:uppercase;background:#fef2f2;border:1px solid #dc262640;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.74rem;font-weight:700;display:inline-flex}.expanded-line-type{font-family:var(--font-mono,monospace);color:var(--text-tertiary,#9ca3af);align-items:center;gap:.4rem;font-size:.72rem;font-weight:500;display:inline-flex}.expanded-line-type-indicator{border-radius:999px;width:14px;height:3px;display:inline-block}.expanded-close-btn{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.expanded-close-btn:hover{color:#dc2626;background:#fee2e2;transform:rotate(90deg)}.expanded-title{font-family:var(--font-display,"Space Grotesk", sans-serif);color:#111827;letter-spacing:-.02em;margin-bottom:.85rem;font-size:1.65rem;font-weight:700;line-height:1.25}.expanded-desc{color:#4b5563;margin-bottom:1.5rem;font-size:.96rem;line-height:1.65}.expanded-criteria-block{border-radius:var(--radius-md,10px);background:#f9fafb;border:1px solid #e5e7eb;margin-bottom:1.5rem;padding:1.25rem 1.35rem}.expanded-criteria-label{font-family:var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#dc2626;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:flex}.expanded-criteria-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.expanded-criteria-item{color:#374151;align-items:flex-start;gap:.65rem;font-size:.88rem;line-height:1.45;display:flex}.expanded-criteria-item svg{color:#dc2626;flex-shrink:0;margin-top:.15rem}.expanded-synergy-badge{border-radius:var(--radius-md,8px);color:#991b1b;background:#fef2f299;border:1px dashed #dc262659;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.expanded-synergy-badge strong{color:#7f1d1d;font-weight:600}.expanded-modal-footer{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.expanded-nav-btn-group{align-items:center;gap:.5rem;display:flex}.expanded-nav-arrow-btn{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:500;transition:all .2s;display:inline-flex}.expanded-nav-arrow-btn:hover{color:#dc2626;border-color:#dc2626}.expanded-cta-btn{color:#fff;background:#dc2626;border-radius:999px;align-items:center;gap:.5rem;padding:.65rem 1.35rem;font-size:.86rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #dc26264d}.expanded-cta-btn:hover{color:#fff;background:#b91c1c;transform:translateY(-1px);box-shadow:0 6px 16px #dc262666}@media (width<=900px){.graph-canvas-frame{aspect-ratio:auto;min-height:480px}.focus-node-pill{padding:.35rem .75rem}.pill-title{font-size:.75rem}}@media (width<=640px){.dual-focus-toolbar{flex-direction:column;align-items:flex-start}.expanded-card-modal{padding:1.5rem}.expanded-title{font-size:1.35rem}.graph-canvas-frame{min-height:460px}.pill-title{font-size:.7rem}}@media (prefers-reduced-motion:reduce){.dual-focus-container,.focus-node-pill,.expanded-card-modal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}.node-sonar-ping{animation:none!important}}
