body:has(.playground-container){overflow:hidden}body:has(.playground-container) footer{display:none}.step-indicator-sidebar{background:color-mix(in srgb, var(--card) 80%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:1px solid var(--card-border);flex-direction:column;min-width:0;height:100%;padding:1.5rem 1rem;display:flex;overflow:hidden auto}.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:2rem;padding-left:.5rem;display:flex}.doc-panel-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.sidebar-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:.25rem;flex-shrink:0;padding:.25rem .5rem;font-size:1rem;line-height:1;display:block}.sidebar-close-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--card-border) 40%, transparent)}.sidebar-header .title{color:var(--title);font-family:var(--font-space-grotesk), sans-serif;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.step-list{flex-direction:column;gap:0;display:flex}.step-row{flex-direction:column;display:flex;position:relative}.step-sidebar-item{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:.75rem;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:all .25s;display:flex}.step-sidebar-item:hover{color:var(--foreground);background:color-mix(in srgb, var(--card-border) 30%, transparent)}.step-sidebar-item.active{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.step-sidebar-item.completed{color:#10b981}.step-sidebar-icon{background:color-mix(in srgb, var(--card) 90%, transparent);border:1px solid var(--card-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1rem;display:flex}.step-sidebar-item.completed .step-sidebar-icon{color:#fff;background:#10b981;border-color:#10b981}.step-sidebar-item.active .step-sidebar-icon{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 20%, transparent)}.step-sidebar-label{flex:1}.step-sidebar-connector{background:var(--card-border);width:2px;height:1.5rem;margin-left:2rem;transition:background .3s}.step-sidebar-connector.active{background:var(--accent)}.playground-container{background:var(--background);grid-template-columns:260px 1fr 340px;height:calc(100vh - 4rem);margin:0;transition:grid-template-columns .25s;display:grid;overflow:hidden}.playground-container[data-left=closed]{grid-template-columns:0 1fr 340px}.playground-container[data-right=closed]{grid-template-columns:260px 1fr 0}.playground-container[data-left=closed][data-right=closed]{grid-template-columns:0 1fr 0}[data-left=closed] .step-indicator-sidebar{opacity:0;visibility:hidden;pointer-events:none;border-right:none;padding-left:0;padding-right:0}[data-right=closed] .step-documentation-panel{opacity:0;visibility:hidden;pointer-events:none;border-left:none;padding-left:0;padding-right:0}.playground-content{min-height:0;padding:2rem;position:relative;overflow-y:auto}.playground-top-nav{background:color-mix(in srgb, var(--card) 60%, transparent);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:99px;justify-content:center;align-items:center;gap:.5rem;width:fit-content;margin:0 auto 1.5rem;padding:.35rem .5rem;display:flex}.pg-nav-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:99px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.pg-nav-tab:hover{color:var(--foreground);background:color-mix(in srgb, var(--card-border) 40%, transparent)}.pg-nav-tab.active{background:var(--accent);color:var(--on-accent)}.step-documentation-panel{background:color-mix(in srgb, var(--card) 40%, transparent);border-left:1px solid var(--card-border);min-width:0;height:100%;padding:1.5rem;overflow:hidden auto}.step-documentation-panel .markdown-body{font-size:.9rem}.step-concept-links{border:1px solid var(--card-border);border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);border-radius:.6rem;margin-bottom:1.25rem;padding:.75rem .9rem}.step-concept-links__label{font-family:var(--font-jetbrains-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;font-size:.66rem}.step-concept-links__list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.step-concept-links__link{color:var(--title);border-bottom:1px solid #0000;font-size:.85rem;text-decoration:none;transition:color .15s,border-color .15s}.step-concept-links__link:hover{color:var(--accent);border-bottom-color:var(--accent)}.step-concept-links__soon{color:var(--muted);font-size:.85rem}.step-concept-links__soon span{font-family:var(--font-jetbrains-mono), monospace;letter-spacing:.04em;opacity:.75;font-size:.66rem}.glass-panel{background:color-mix(in srgb, var(--card) 85%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:1rem;padding:1.5rem;box-shadow:0 8px 32px -16px #0006}.upload-zone{border:2px dashed var(--card-border);text-align:center;cursor:pointer;background:color-mix(in srgb, var(--card) 50%, transparent);border-radius:1rem;padding:3rem 2rem;transition:all .3s}.upload-zone:hover,.upload-zone.drag-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent)}.upload-zone.drag-over{transform:scale(1.01)}.table-preview{border:1px solid var(--card-border);border-radius:.75rem;overflow-x:auto}.table-preview table{border-collapse:collapse;width:100%;font-size:.8rem}.table-preview th{background:color-mix(in srgb, var(--card) 90%, var(--accent) 10%);text-align:left;color:var(--title);border-bottom:2px solid var(--card-border);white-space:nowrap;padding:.6rem .75rem;font-weight:700}.table-preview td{border-bottom:1px solid color-mix(in srgb, var(--card-border) 50%, transparent);color:var(--foreground);padding:.5rem .75rem}.table-preview tr:hover td{background:color-mix(in srgb, var(--accent) 4%, transparent)}.entity-chip{border:1px solid;border-radius:9999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.entity-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px -4px}.col-badge{border-radius:.25rem;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.col-badge.pk{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.col-badge.fk{color:#3b82f6;background:#3b82f633}.react-flow__node{font-family:var(--font-inter), sans-serif}.ontology-node{background:var(--card);border:2px solid;border-radius:.75rem;min-width:140px;padding:.75rem 1rem;transition:box-shadow .2s,transform .2s;box-shadow:0 4px 16px -4px #0000004d}.ontology-node:hover{transform:translateY(-1px);box-shadow:0 8px 24px -8px #0006}.ontology-node .node-title{margin-bottom:.25rem;font-size:.85rem;font-weight:700}.markdown-body{font-size:.85rem;line-height:1.5}.markdown-body p{margin-bottom:.75rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-family:var(--font-space-grotesk), sans-serif;color:var(--title);margin-top:1rem;margin-bottom:.5rem;font-weight:700}.markdown-body h1{font-size:1.2rem}.markdown-body h2{font-size:1.1rem}.markdown-body h3{font-size:1rem}.markdown-body ul,.markdown-body ol{margin-bottom:.75rem;padding-left:1.5rem}.markdown-body li{margin-bottom:.25rem}.md-table-wrap{border:1px solid var(--card-border);scrollbar-width:thin;scrollbar-color:var(--card-border) transparent;border-radius:.75rem;margin:1rem 0;overflow-x:auto}.md-table-wrap::-webkit-scrollbar{height:8px}.md-table-wrap::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:9999px}.markdown-body .md-table-wrap table{border:none;border-radius:.75rem;width:100%;margin:0}.markdown-body table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.8rem}.markdown-body th{background:color-mix(in srgb, var(--card) 90%, var(--accent) 10%);text-align:left;border:1px solid var(--card-border);color:var(--title);padding:.5rem .75rem}.markdown-body td{border:1px solid var(--card-border);color:var(--foreground);padding:.5rem .75rem}.markdown-body strong{color:var(--title)}.markdown-body a{color:var(--accent);text-decoration:underline}.ontology-node .node-props{color:var(--muted);font-size:.7rem;line-height:1.4}.instance-node{text-align:center;background:var(--card);border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:.5rem .75rem;font-size:.65rem;font-weight:700;transition:all .2s;display:flex;box-shadow:0 4px 16px -4px #0000004d}.instance-node:hover{transform:scale(1.1);box-shadow:0 8px 24px -8px #0006}.react-flow__edge-text{fill:var(--muted);font-size:.7rem;font-weight:600}.chat-container{gap:1rem;height:calc(100vh - 8rem);display:flex}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1rem;display:flex;overflow-y:auto}@keyframes bubble-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-input-bar{background:color-mix(in srgb, var(--card) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--card-border);border-radius:0 0 1rem 1rem;gap:.5rem;padding:.75rem;display:flex}.chat-input{background:var(--background);border:1px solid var(--card-border);color:var(--foreground);border-radius:.75rem;outline:none;flex:1;padding:.65rem 1rem;font-size:.9rem;transition:border-color .2s}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--muted)}.explain-panel{background:var(--card);border:1px solid var(--card-border);border-radius:1rem;flex-direction:column;flex-shrink:0;width:320px;max-height:calc(100vh - 8rem);display:flex;position:sticky;top:1rem;overflow:hidden}.explain-panel:not(.open){display:none}.explain-header{background:color-mix(in srgb, var(--accent) 8%, transparent);border-bottom:1px solid var(--card-border);color:var(--accent);padding:.75rem 1rem;font-size:.85rem;font-weight:700}.reasoning-step{border-bottom:1px solid color-mix(in srgb, var(--card-border) 50%, transparent);align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.78rem;transition:background .2s;display:flex}.reasoning-step:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.reasoning-arrow{color:var(--accent);font-weight:700}.suggested-questions{flex-wrap:wrap;gap:.5rem;padding:.75rem;display:flex}.question-chip{background:color-mix(in srgb, var(--card-border) 40%, transparent);color:var(--foreground);cursor:pointer;border:1px solid #0000;border-radius:9999px;padding:.4rem .85rem;font-size:.78rem;transition:all .2s}.question-chip:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.config-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.config-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;font-size:.78rem;font-weight:600;display:block}.config-field select,.config-field input{background:var(--background);border:1px solid var(--card-border);width:100%;color:var(--foreground);border-radius:.5rem;outline:none;padding:.6rem .75rem;font-size:.85rem;transition:border-color .2s}.config-field select:focus,.config-field input:focus{border-color:var(--accent)}.graph-stats{flex-wrap:wrap;gap:1rem;display:flex}.stat-card{background:color-mix(in srgb, var(--card-border) 20%, transparent);text-align:center;border-radius:.75rem;min-width:100px;padding:.75rem 1rem}.stat-value{color:var(--title);font-size:1.5rem;font-weight:800;font-family:var(--font-space-grotesk), sans-serif}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-size:.7rem}.playground-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.5rem;flex-shrink:0;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.playground-btn.primary{background:var(--accent);color:var(--on-accent)}.playground-btn.primary:hover{opacity:.9;transform:translateY(-1px)}.playground-btn.secondary{border-color:var(--card-border);color:var(--foreground);background:0 0}.playground-btn.secondary:hover{border-color:var(--accent);color:var(--accent)}.playground-btn.ghost{color:var(--muted);background:0 0}.playground-btn.ghost:hover{color:var(--accent)}.playground-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pg-step-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.pg-step-actions{flex-shrink:0;gap:.5rem;display:flex}.pg-choice-grid{gap:2rem;margin-top:2rem;display:flex}.pg-choice-grid>*{flex:1;min-width:0}.section-title{font-family:var(--font-space-grotesk), sans-serif;color:var(--title);margin-bottom:.5rem;font-size:1.3rem;font-weight:700}.section-subtitle{color:var(--muted);margin-bottom:1.25rem;font-size:.85rem}.fade-in{animation:.4s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.role-selector{gap:.35rem;display:flex}.role-option{cursor:pointer;border:1px solid var(--card-border);color:var(--muted);background:0 0;border-radius:.35rem;padding:.3rem .65rem;font-size:.72rem;font-weight:600;transition:all .2s}.role-option:hover{border-color:var(--foreground);color:var(--foreground)}.role-option.selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.inspector-panel{background:color-mix(in srgb, var(--card) 95%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border);z-index:10;border-radius:.75rem;width:280px;padding:1rem;animation:.2s fade-in;position:absolute;top:1rem;right:1rem;box-shadow:0 8px 32px -8px #0006}.inspector-row{border-bottom:1px solid color-mix(in srgb, var(--card-border) 50%, transparent);justify-content:space-between;padding:.3rem 0;font-size:.78rem;display:flex}.inspector-key{color:var(--muted);font-weight:600}.inspector-value{color:var(--foreground)}.loading-dots{gap:4px;display:inline-flex}.loading-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dot-bounce}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.react-flow__controls-button{background:var(--card)!important;border-bottom:1px solid var(--card-border)!important;color:var(--foreground)!important;fill:var(--foreground)!important}.react-flow__controls-button:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)!important;color:var(--accent)!important;fill:var(--accent)!important}.react-flow__controls-button svg{fill:currentColor}.chat-container{flex-wrap:wrap;gap:1rem;height:auto;min-height:55vh;display:flex;container-type:inline-size}@container (max-width:820px){.chat-container>div:first-child{flex-basis:100%}.explain-panel.open{flex-basis:100%;width:100%;max-width:800px;max-height:65vh;margin:0 auto;position:static}}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex}.chat-bubble{border-radius:1rem;max-width:80%;padding:.85rem 1rem;font-size:.9rem;line-height:1.6;animation:.3s bubble-in}.chat-bubble.user{background:color-mix(in srgb, var(--accent) 15%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--title);align-self:flex-end}.chat-bubble.assistant{background:var(--card);border:1px solid var(--card-border);color:var(--foreground);align-self:flex-start}.chat-bubble.assistant:has(table){width:100%;max-width:100%}.chat-input-wrapper{z-index:10;pointer-events:none;justify-content:center;width:100%;display:flex;position:sticky;bottom:1.5rem}.chat-input-pill{background:color-mix(in srgb, var(--card) 95%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--card-border);pointer-events:auto;border-radius:1.5rem;align-items:center;gap:.5rem;width:100%;max-width:800px;padding:.6rem .75rem;display:flex;box-shadow:0 8px 32px -8px #00000080}.chat-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;padding:0 .5rem;font-size:.95rem}select.chat-input option,.playground-content select option,.config-field select option{color:#0f172a;background-color:#fff}.mobile-backdrop{display:none}@media (max-width:768px){.playground-container{flex-direction:column;height:calc(100dvh - 4rem);padding:0;display:flex;overflow:hidden}.playground-content{flex:1;min-height:0;padding:1.25rem 1rem;overflow:hidden auto}.playground-top-nav{gap:.3rem;width:100%;padding:.3rem}.pg-nav-tab{white-space:nowrap;flex:1;justify-content:center;gap:.3rem;padding:.5rem .4rem;font-size:.72rem}.step-indicator-sidebar{z-index:50;border-right:1px solid var(--card-border);background:var(--background);width:82vw;max-width:300px;transition:transform .28s;position:fixed;top:4rem;bottom:0;left:0;transform:translate(-105%)}[data-left=open] .step-indicator-sidebar{transform:translate(0)}.step-documentation-panel{z-index:50;border-left:1px solid var(--card-border);background:var(--background);width:88vw;max-width:340px;transition:transform .28s;position:fixed;top:4rem;bottom:0;right:0;overflow-y:auto;transform:translate(105%)}[data-right=open] .step-documentation-panel{transform:translate(0)}.mobile-backdrop{z-index:40;opacity:0;pointer-events:none;background:#00000073;transition:opacity .28s;display:block;position:fixed;inset:4rem 0 0}[data-left=open] .mobile-backdrop,[data-right=open] .mobile-backdrop{opacity:1;pointer-events:auto}.pg-edge-toggle{display:none!important}.pg-step-header{flex-direction:column;align-items:stretch}.pg-step-actions{width:100%}.pg-step-header .playground-btn{justify-content:center}.pg-step-actions .playground-btn{flex:1}.pg-choice-grid{flex-direction:column;gap:1rem;margin-top:1.5rem}.glass-panel{padding:1rem}.upload-zone{padding:2rem 1rem}.chat-container{flex-direction:column}.chat-messages{padding:1rem .5rem 6rem}.chat-input-pill{max-width:100%;margin:0 .5rem}.explain-panel{display:none}.demo-scenario-grid{grid-template-columns:1fr}}.demo-scenario-grid{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;display:grid}.demo-scenario-card{text-align:left;border:1px solid var(--card-border);background:var(--card);cursor:pointer;border-radius:.7rem;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem;transition:border-color .15s,background .15s,transform .1s;display:flex}.demo-scenario-card:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card));transform:translateY(-1px)}.demo-scenario-card:disabled{opacity:.6;cursor:default}.demo-scenario-icon{font-size:1.5rem}.demo-scenario-title{color:var(--title);font-size:.95rem;font-weight:700}.demo-scenario-desc{color:var(--muted);font-size:.78rem;line-height:1.45}.guided-tour-launch{z-index:60;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;padding:.55rem 1rem;font-size:.82rem;font-weight:700;position:fixed;bottom:1.25rem;right:1.25rem}.guided-tour-launch:hover{background:var(--accent-strong)}.guided-tour-card{z-index:61;background:var(--card);border:1px solid var(--card-border);border-radius:.85rem;width:min(360px,100vw - 2.5rem);padding:1.1rem 1.2rem;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 12px 40px #00000059}.guided-tour-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1rem;position:absolute;top:.6rem;right:.7rem}.guided-tour-kicker{font-family:var(--font-space-grotesk), monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.35rem;font-size:.68rem;font-weight:700}.guided-tour-title{color:var(--title);font-size:1.05rem;font-family:var(--font-space-grotesk), sans-serif;margin:0 0 .5rem}.guided-tour-body{color:var(--foreground);margin:0 0 1rem;font-size:.85rem;line-height:1.55}.guided-tour-actions{justify-content:space-between;gap:.5rem;display:flex}.tmg-pulse{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite tmg-pulse}@keyframes tmg-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.tmg-pulse{animation:none}}.showdown-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.showdown-card{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 60%, transparent);border-radius:.6rem;padding:.9rem 1rem}.showdown-bad{border-color:color-mix(in srgb, #ef4444 35%, var(--card-border))}.showdown-good{border-color:color-mix(in srgb, #10b981 35%, var(--card-border))}.showdown-label{text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-size:.68rem;font-weight:700}.showdown-answer{color:var(--foreground);min-height:3.2em;margin:0 0 .6rem;font-size:.88rem;line-height:1.55}.showdown-caret{color:var(--accent);animation:1s infinite dot-bounce}.showdown-verdict{font-size:.75rem;font-weight:600}.tour-spotlight{z-index:60;pointer-events:none;border:2px solid var(--accent);box-shadow:0 0 0 9999px #0a08068c, 0 0 26px color-mix(in srgb, var(--accent) 45%, transparent);border-radius:12px;transition:top .3s,left .3s,width .3s,height .3s;position:fixed}@media (prefers-reduced-motion:reduce){.tour-spotlight{transition:none}}.ops-live-dot{background:#ef4444;border-radius:999px;width:8px;height:8px;animation:1.1s ease-in-out infinite ops-live-pulse}@keyframes ops-live-pulse{0%,to{opacity:1;box-shadow:0 0 #ef44448c}50%{opacity:.55;box-shadow:0 0 0 5px #0000}}.ops-replay-track{background:color-mix(in srgb, var(--card-border) 45%, transparent);border-radius:999px;height:4px;margin-bottom:.85rem;overflow:hidden}.ops-replay-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s linear}@media (prefers-reduced-motion:reduce){.ops-live-dot{animation:none}}.compare-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;display:grid}.compare-side{border:1px solid var(--card-border);background:color-mix(in srgb, var(--card) 45%, transparent);border-radius:.5rem;min-width:0;padding:.7rem .85rem}.compare-side-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.45rem;font-size:.7rem;font-weight:700}.kg-enter{animation:.45s cubic-bezier(.2,.9,.3,1.35) both kg-pop}@keyframes kg-pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.kg-banner{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 9%, transparent);color:var(--foreground);border-radius:.6rem;margin-bottom:1rem;padding:.7rem 1rem;font-size:.85rem;line-height:1.5;animation:2.2s ease-out kg-glow}@keyframes kg-glow{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}to{box-shadow:0 0 26px #0000}}@media (prefers-reduced-motion:reduce){.kg-enter,.kg-banner{animation:none}}
.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.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__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{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.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.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:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.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.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));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;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.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:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.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-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.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:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;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-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.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%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
