.framework-diagram-container{--pulse-duration:600ms;--glow-color:#ffd54f;position:relative;width:100%;height:600px;border-radius:12px;overflow:hidden;cursor:grab;background-color:#f9fafb;box-shadow:0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -4px rgba(0,0,0,.05);perspective:1000px;transition:transform .3s ease,box-shadow .3s ease}.framework-header{position:absolute;top:1rem;left:1rem;z-index:10;background:hsla(0,0%,100%,.8);backdrop-filter:blur(4px);padding:.75rem 1.25rem;border-radius:.5rem;border:1px solid rgba(0,0,0,.1);max-width:350px;pointer-events:none;transition:opacity .3s ease;opacity:1}.framework-category-title{font-size:1.25rem;font-weight:600;margin:0;color:#111}.framework-category-subtitle{font-size:.9rem;margin:.25rem 0 0;color:#555}.framework-diagram-container:hover{transform:translateY(-2px) rotateX(1deg);box-shadow:0 20px 25px -5px rgba(0,0,0,.08),0 8px 10px -6px rgba(0,0,0,.08)}.framework-diagram-container:active{cursor:grabbing}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes glow{0%,to{filter:drop-shadow(0 0 0 var(--glow-color))}50%{filter:drop-shadow(0 0 8px var(--glow-color))}}.node--active{animation:pulse var(--pulse-duration) ease-out,glow var(--pulse-duration) ease-in-out;will-change:filter,transform}.node--hovered{fill-opacity:.8;stroke:var(--glow-color);stroke-width:4px;transition:fill-opacity .2s ease,stroke .2s ease}.interaction-hint{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:.5rem 1rem;border-radius:9999px;pointer-events:none;font-size:.875rem;white-space:nowrap;animation:fadeIn .5s ease-out,fadeOut .5s ease-in 4.5s forwards;z-index:10}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,1rem)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.interactive-keyword{transition:color .3s ease;cursor:default;border-bottom:2px dotted transparent}.interactive-keyword.execution:hover{color:#8b5cf6;border-bottom-color:#8b5cf6}.interactive-keyword.influencing:hover{color:#3b82f6;border-bottom-color:#3b82f6}@media (prefers-reduced-motion:reduce){.framework-diagram-container,.interaction-hint,.node--active{animation:none!important;transition:none!important}.framework-diagram-container:hover{transform:none}}.SidePanel_sidePanel__6XSuz{--sp-bg:#fff;--sp-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--sp-radius:12px;--sp-tr-ms:300ms;--sp-border:#e5e7eb;position:fixed;top:1rem;right:1rem;width:384px;max-width:90vw;max-height:calc(100vh - 2rem);background:var(--sp-bg);box-shadow:var(--sp-shadow);border:1px solid var(--sp-border);border-radius:var(--sp-radius);display:grid;grid-template-rows:auto 1fr auto;transform:translateX(calc(100% + 2rem));opacity:0;transition:transform var(--sp-tr-ms) cubic-bezier(.22,1,.36,1),opacity var(--sp-tr-ms) ease;z-index:50}.SidePanel_open__IvfkW{transform:translateX(0);opacity:1}@media (max-width:768px){.SidePanel_sidePanel__6XSuz{top:auto;right:0;bottom:0;width:100%;max-height:75vh;border-radius:var(--sp-radius) var(--sp-radius) 0 0;border:1px solid var(--sp-border);border-bottom:0;transform:translateY(100%)}.SidePanel_open__IvfkW{transform:translateY(0)}}.SidePanel_header____LQ8{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--sp-border)}.SidePanel_closeBtn__oWMi3{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem .5rem;color:#6b7280}.SidePanel_closeBtn__oWMi3:hover{color:#111827}.SidePanel_content__LO5h0{padding:1rem;overflow-y:auto}.SidePanel_footer__DRJGy{padding:1rem;border-top:1px solid var(--sp-border);background-color:#f9fafb}.SidePanel_contentSections__NTNf0{display:flex;flex-direction:column;gap:1rem}.SidePanel_meta__TxeMI,.SidePanel_subtitle__PIhV4{margin:0}.SidePanel_excerpt__sIXjN{margin-top:.5rem;color:#4b5563}.SidePanel_furtherReading__XGKPA h4{font-weight:600;margin-bottom:.5rem}.SidePanel_furtherReading__XGKPA ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.SidePanel_furtherReading__XGKPA a{color:#2563eb;text-decoration:none}.SidePanel_furtherReading__XGKPA a:hover{text-decoration:underline}.SidePanel_furtherReadingPlaceholder__WBNdr{font-style:italic;color:#6b7280}