.display-xl{font-size:var(--fs-display-xl);font-weight:600;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.display-lg{font-size:var(--fs-display-lg);font-weight:600;line-height:1.08;letter-spacing:-.03em;text-wrap:balance}.display-md{font-size:var(--fs-display-md);font-weight:600;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.headline{font-size:var(--fs-headline);font-weight:600;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}.card-title{font-size:var(--fs-card-title);font-weight:500;line-height:1.25;letter-spacing:-.01em}.subhead{font-size:var(--fs-body-lg);font-weight:400;line-height:1.45;letter-spacing:-.01em}.body-lg{font-size:var(--fs-body-lg);font-weight:400;line-height:1.55;letter-spacing:-.01em}.body{font-size:var(--fs-body);font-weight:400;line-height:1.55;letter-spacing:-.005em}.body-sm{font-size:var(--fs-body-sm);font-weight:400;line-height:1.5}.caption{font-size:var(--fs-caption);font-weight:400;line-height:1.4}.eyebrow{font-size:var(--fs-eyebrow);font-weight:500;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-subtle)}.button{font-size:var(--fs-body-sm);font-weight:500;line-height:1.2}.mono{font-family:var(--font-mono);font-size:var(--fs-eyebrow);line-height:1.5;font-variant-ligatures:none}.landing{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.55;font-kerning:normal;font-feature-settings:"liga" 1,"calt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}.landing *{box-sizing:border-box}.container{max-width:1280px;margin:0 auto;padding:0 var(--s-lg);width:100%}.section{padding:var(--s-section) 0}.section--tight{padding:var(--s-xxl) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-xs);font-family:var(--font-sans);font-size:var(--fs-body-sm);font-weight:500;line-height:1.2;padding:8px 14px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;text-decoration:none;min-height:40px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s var(--ease-out-quint)}.btn--primary{background:var(--gradient-accent);color:var(--ink)}.btn--primary:hover{background:var(--gradient-accent)}.btn--primary:active{transform:scale(.97)}.btn--primary:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.btn--secondary{background:var(--surface-1);color:var(--ink);border-color:var(--hairline)}.btn--secondary:hover{border-color:var(--hairline-strong);color:var(--primary);background:var(--surface-2)}.btn--secondary:active{transform:scale(.97)}.btn--lg{padding:12px 20px;font-size:.9375rem;min-height:44px}.top-nav{position:sticky;top:0;z-index:50;height:56px;background:var(--canvas);border-bottom:1px solid var(--hairline)}.top-nav__inner{height:100%;display:flex;align-items:center;gap:var(--s-lg)}.top-nav__brand{display:flex;align-items:center;gap:var(--s-xs);font-weight:600;font-size:var(--fs-body);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.top-nav__mark{width:18px;height:18px;flex:none;display:block}.top-nav__links{display:flex;align-items:center;gap:var(--s-lg);margin-left:var(--s-xl)}.nav-link{color:var(--ink-subtle);text-decoration:none;font-size:var(--fs-body-sm)}.nav-link:hover{color:var(--primary)}.top-nav__actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-sm)}.top-nav__toggle{display:none;background:none;border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--ink);padding:8px 10px;cursor:pointer}.hero{padding:var(--s-section) 0 var(--s-xxl)}.hero__eyebrow{margin-bottom:var(--s-md)}.hero__title{max-width:14ch;margin:0 0 var(--s-lg);color:var(--ink)}.hero__sub{max-width:56ch;margin:0 0 var(--s-xl);color:var(--ink-muted)}.hero__cta{display:flex;gap:var(--s-sm);flex-wrap:wrap}.hero__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-xl);align-items:center}.hero__text{min-width:0}.hero__visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:540px}.frontier-graph{position:relative;width:100%;max-width:540px;height:540px;border-radius:var(--r-xl);filter:drop-shadow(0 0 60px rgba(94,106,210,.12))}.frontier-graph canvas{border-radius:var(--r-xl)!important;outline:none}.product-shot{margin-top:var(--s-xxl);background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:var(--s-lg);box-shadow:inset 0 1px #ffffff0a}.product-shot__bar{display:flex;align-items:center;gap:var(--s-xs);margin-bottom:var(--s-md);color:var(--ink-tertiary);font-size:var(--fs-caption)}.product-shot__meta{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-shot__live{display:inline-flex;align-items:center;gap:6px;margin-left:var(--s-sm);color:var(--success)}.product-shot__live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;animation:live-pulse 1.6s var(--ease-out-quint) infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.graph-frame{width:100%;height:440px;border-radius:var(--r-lg);overflow:hidden;background:var(--canvas)}.trust{padding:var(--s-xl) 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.trust__label{color:var(--ink-muted);font-size:var(--fs-body-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:var(--s-lg)}.trust__logos{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-xl)}.logo-tile{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-subtle);padding:var(--s-sm) var(--s-lg);transition:color .25s var(--ease-out-quart),transform .25s var(--ease-out-quart);opacity:0;animation:logo-in .6s var(--ease-out-quint) both}.logo-tile:hover{color:var(--primary);transform:translateY(-3px)}.logo-tile svg{height:26px;width:auto;display:block}@keyframes logo-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.logo-tile{opacity:1;animation:none;transition:color .25s var(--ease-out-quart)}.logo-tile:hover{transform:none}}.section__head{max-width:64ch;margin-bottom:var(--s-xl)}.section__title{color:var(--ink);margin:var(--s-xs) 0 var(--s-md)}.section__lead{color:var(--ink-muted);margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-lg)}.feature-card{background:var(--surface-1);background-image:var(--gradient-surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--s-lg);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out-quint),box-shadow .2s var(--ease-out-quint),border-color .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--hairline-strong)}.feature-card__icon{width:32px;height:32px;border-radius:var(--r-md);background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:var(--s-md);font-size:1rem;transition:color .2s ease,background .2s ease}.feature-card:hover .feature-card__icon{color:var(--primary-hover);background:#5e6ad22e}.feature-card__title{color:var(--ink);margin:0 0 var(--s-xs)}.feature-card__body{color:var(--ink-subtle);margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-xl);position:relative}.step{position:relative;padding:0}.step:before{content:"";position:absolute;top:14px;left:-50%;right:50%;height:1px;background:var(--hairline-strong);z-index:0}.step:first-child:before{display:none}.step__num{position:relative;z-index:1;width:28px;height:28px;border-radius:var(--r-pill);background:#5e6ad226;color:var(--primary-hover);display:flex;align-items:center;justify-content:center;font-size:var(--fs-eyebrow);font-weight:600;margin-bottom:var(--s-md)}.step__title{color:var(--ink);margin:0 0 var(--s-xs);font-size:var(--fs-card-title);font-weight:500}.step__agent{color:var(--primary);margin:0 0 var(--s-xs)}.step__body{color:var(--ink-subtle);margin:0}.legend{display:flex;flex-wrap:wrap;gap:var(--s-sm)}.legend__chip{display:inline-flex;align-items:center;gap:var(--s-xs);background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:6px 14px;font-size:var(--fs-body-sm);color:var(--ink-muted)}.legend__dot{width:10px;height:10px;border-radius:50%;flex:none}.legend__desc{color:var(--ink-tertiary);font-size:var(--fs-eyebrow);margin-top:var(--s-md);max-width:70ch}.demos{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-lg)}.demo-card{background:var(--surface-1);background-image:var(--gradient-surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:var(--s-lg);display:flex;flex-direction:column;gap:var(--s-md);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease-out-quint),box-shadow .2s var(--ease-out-quint),border-color .2s ease}.demo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--hairline-strong)}.demo-card__title{color:var(--ink);margin:0;font-size:var(--fs-card-title);font-weight:500}.demo-card__meta{color:var(--ink-subtle);margin:0;font-size:var(--fs-body-sm)}.demo-card__cta{margin-top:auto}.cta-banner{background:var(--surface-1);background-image:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--primary) 12%,transparent) 0%,transparent 70%);border:1px solid color-mix(in srgb,var(--primary) 45%,var(--hairline));border-radius:var(--r-lg);padding:var(--s-xxl);text-align:center;box-shadow:var(--shadow-md)}.cta-banner__title{color:var(--ink);margin:0 0 var(--s-md)}.cta-banner__sub{color:var(--ink-muted);margin:0 auto var(--s-xl);max-width:52ch}.footer{background:var(--canvas);border-top:1px solid var(--hairline);padding:var(--s-xxl) var(--s-lg)}.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--s-xl);max-width:1280px;margin:0 auto}.footer__brand{display:flex;align-items:center;gap:var(--s-xs);font-weight:600;color:var(--ink)}.footer__tagline{color:var(--ink-tertiary);font-size:var(--fs-eyebrow);margin-top:var(--s-sm);max-width:32ch}.footer__col h4{color:var(--ink-subtle);font-size:var(--fs-eyebrow);font-weight:500;margin:0 0 var(--s-md)}.footer__col a{display:block;color:var(--ink-tertiary);text-decoration:none;font-size:var(--fs-eyebrow);padding:4px 0;transition:color .15s ease}.footer__col a:hover{color:var(--primary)}.footer__col .footer-link--disabled{display:block;color:var(--ink-tertiary);font-size:var(--fs-eyebrow);padding:4px 0;opacity:.35;pointer-events:none;cursor:default}.footer__bottom{max-width:1280px;margin:var(--s-xl) auto 0;padding-top:var(--s-lg);border-top:1px solid var(--hairline);color:var(--ink-tertiary);font-size:var(--fs-caption)}@keyframes cf-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes cf-scale-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}.hero-anim{opacity:0;animation:cf-fade-up .64s var(--ease-out-expo) both}.feature-card,.step,.demo-card{transition:transform .22s var(--ease-out-quint),border-color .22s ease,background-color .22s ease}.feature-card:hover,.step:hover,.demo-card:hover{transform:translateY(-3px);border-color:var(--hairline-strong)}.feature-card:hover{background-color:var(--surface-2);border-top-color:var(--primary)}.feature-card:hover .feature-card__icon{background:#5e6ad22e;color:var(--primary-hover)}.btn{transition:background .12s ease,border-color .12s ease,transform .12s ease}.btn:active{transform:scale(.97)}.legend__chip{transition:transform .18s var(--ease-out-quint),border-color .18s ease}.legend__chip:hover{transform:translateY(-2px);border-color:var(--hairline-strong)}@media (prefers-reduced-motion: reduce){.reveal,.hero-anim{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.feature-card:hover,.step:hover,.demo-card:hover,.legend__chip:hover,.btn:active,.product-shot__live-dot{transform:none!important;animation:none!important}}@media (max-width: 1024px){.hero__split{grid-template-columns:1fr}.hero__visual{order:-1;margin-bottom:var(--s-lg);min-height:420px}.frontier-graph{max-width:420px;height:420px}.feature-grid,.demos,.steps{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.top-nav__links{display:none}.top-nav__toggle{display:inline-flex}.top-nav__links--open{display:flex;position:absolute;top:56px;left:0;right:0;flex-direction:column;gap:var(--s-md);background:var(--canvas);border-bottom:1px solid var(--hairline);padding:var(--s-lg);margin:0}.feature-grid,.demos,.steps{grid-template-columns:1fr}.step:before{display:none}.footer__grid{grid-template-columns:1fr 1fr}.section{padding:var(--s-xxl) 0}.graph-frame{height:340px}.cta-banner{padding:var(--s-xl)}}.app-shell{display:flex;flex-direction:column;height:100%;font-size:var(--fs-md);font-kerning:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}.app-header{padding:12px 20px;font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;border-bottom:1px solid var(--hairline);box-shadow:var(--shadow-sm);z-index:10}.app-header__brand{display:inline-flex;align-items:center;gap:var(--s-xs);color:var(--ink);text-decoration:none;letter-spacing:-.02em}.app-header__mark{width:18px;height:18px;flex:none}.app-header__brand:hover{color:var(--primary-hover)}.view-toggle{display:inline-flex;margin-left:auto;border:1px solid var(--hairline);border-radius:var(--r-sm);overflow:hidden}.view-toggle__btn{padding:4px 14px;font-size:.75rem;font-weight:500;border:none;background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}.view-toggle__btn:not(:last-child){border-right:1px solid var(--hairline)}.view-toggle__btn:hover{background:var(--surface-2);color:var(--ink)}.view-toggle__btn--active{background:var(--primary);color:#fff}.view-toggle__btn--active:hover{background:var(--primary-hover);color:#fff}.panel-hint{margin:0;padding:var(--s-xs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-0);color:var(--ink-subtle);font-size:var(--fs-xs);line-height:1.4}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.panel-head h2{margin:0}.panel-toggle{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-muted);font-size:16px;line-height:1;cursor:pointer}.panel-toggle:hover{border-color:var(--hairline-strong);color:var(--ink)}.panel-toggle:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.filter-hint{margin:0 0 8px;color:var(--ink-tertiary);font-size:var(--fs-xs)}.app-layout{display:flex;flex:1;min-height:0}.app-canvas{position:relative;flex:1;min-width:0;border-right:1px solid var(--hairline)}.graph-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.graph-empty,.error-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.edge-inspector{position:absolute;top:16px;right:16px;z-index:5;max-width:320px;width:calc(100% - 32px);pointer-events:none}.edge-inspector__card{pointer-events:auto;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-lg)}.edge-inspector__card h2{margin:0 0 8px;font-size:var(--fs-md);font-weight:600;letter-spacing:-.01em;color:var(--ink)}.node-tooltip{pointer-events:none;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);padding:var(--s-xs) 10px;font-size:var(--fs-xs);color:var(--ink);box-shadow:0 8px 24px #00000080;max-width:240px;z-index:6}.node-tooltip strong{display:block;font-weight:600;margin-bottom:2px;line-height:1.3}.node-tooltip div{color:var(--ink-subtle);font-size:var(--fs-xs)}.node-tooltip__type{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:2px}.app-panels{width:360px;flex-shrink:0;padding:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.filter-panel,.pipeline-status,.query-interface,.gap-panel{border:1px solid var(--hairline);border-radius:var(--r-md);padding:12px;background:var(--surface-1);background-image:var(--gradient-surface);box-shadow:var(--shadow-sm)}.filter-panel h2,.pipeline-status h2,.query-interface h2,.gap-panel h2{margin:0 0 8px;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.filter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.filter-row label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-xs)}.filter-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.filter-label{flex:1;font-family:var(--font-mono);font-size:var(--fs-xs)}.filter-count{color:var(--ink-subtle);font-variant-numeric:tabular-nums}.edge-empty{margin:0;color:var(--ink-subtle);font-size:var(--fs-xs)}.edge-detail{display:flex;flex-direction:column;gap:8px}.edge-type-chip{align-self:flex-start;padding:2px 8px;border-radius:var(--r-pill);font-size:.6875rem;font-weight:600;color:var(--ink);letter-spacing:.02em}.edge-endpoints{font-size:var(--fs-xs);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.edge-arrow{color:var(--ink-subtle)}.edge-evidence{margin:0;padding:8px 10px;border:1px solid var(--hairline);border-top:2px solid var(--primary);background:var(--surface-0);font-size:var(--fs-xs);line-height:1.4}.edge-confidence{align-self:flex-start;padding:2px 8px;border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums}.edge-dimension{font-size:var(--fs-xs);color:var(--ink-subtle)}.edge-close{align-self:flex-start;background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);border-radius:var(--r-sm);padding:4px 12px;font-size:var(--fs-xs);font-weight:500;cursor:pointer}.query-interface textarea{width:100%;min-height:48px;resize:vertical;background:var(--surface-0);border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-md);padding:6px 8px;box-sizing:border-box;box-shadow:inset 0 1px 2px #0003;transition:border-color .2s ease,box-shadow .2s ease}.query-interface textarea:focus{outline:none;border-color:var(--primary);box-shadow:inset 0 1px 2px #0003,0 0 0 2px #5e6ad259}.query-actions{display:flex;gap:8px;margin-top:8px}.query-actions button{background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);border-radius:var(--r-sm);padding:4px 12px;font-size:var(--fs-xs);font-weight:500;cursor:pointer}.query-actions button:disabled{opacity:.5;cursor:not-allowed}.query-loading{margin-top:8px;font-size:var(--fs-xs);color:var(--primary-hover);display:flex;align-items:center;gap:6px}.query-loading__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;animation:query-pulse 1s var(--ease-out-quint) infinite}@keyframes query-pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.query-error{margin-top:8px;padding:6px 8px;border-radius:var(--r-sm);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:var(--fs-xs)}.query-answer{margin:8px 0;font-size:var(--fs-md);line-height:1.45}.query-edges{margin:0 0 8px;padding-left:16px;font-size:var(--fs-xs);color:var(--ink-muted)}.query-edges .edge-type{font-family:var(--font-mono);color:var(--ink-subtle)}.query-time{font-size:.6875rem;color:var(--ink-subtle);font-variant-numeric:tabular-nums}.gap-empty{margin:0;color:var(--ink-subtle);font-size:var(--fs-xs)}.gap-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.gap-badge{display:inline-block;padding:2px 8px;border-radius:var(--r-pill);font-size:.6875rem;font-weight:600;color:var(--ink)}.gap-severity{height:4px;border-radius:2px;background:var(--surface-2);margin:6px 0;overflow:hidden}.gap-severity-bar{height:100%;background:var(--primary);transition:width .3s var(--ease-out-quint),background-color .2s ease}.gap-description{margin:0 0 6px;font-size:var(--fs-xs);line-height:1.4}.gap-affected{display:flex;flex-direction:column;gap:2px;font-size:.6875rem;color:var(--ink-subtle)}.error-banner{padding:12px 16px;border-radius:var(--r-md);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);font-size:var(--fs-sm)}.graph-empty{color:var(--ink-subtle);font-size:var(--fs-sm)}.global-toast{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;align-items:center;gap:12px;max-width:360px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--danger-border);color:var(--danger-text);font-size:var(--fs-sm);box-shadow:0 6px 20px #0006}.global-toast button{background:transparent;border:1px solid var(--danger-border);color:var(--danger-text);border-radius:var(--r-sm);padding:2px 8px;font-size:var(--fs-xs);cursor:pointer}@keyframes cf-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes cf-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.edge-inspector,.query-answer{animation:cf-panel-in .2s var(--ease-out-quint) both}.global-toast{animation:cf-toast-in .22s var(--ease-out-expo) both}.query-actions button,.edge-close,.global-toast button{transition:background .12s ease,border-color .12s ease,transform .12s ease}.query-actions button:active,.edge-close:active{transform:scale(.97)}.query-actions button:focus-visible,.edge-close:focus-visible,.global-toast button:focus-visible,.query-interface textarea:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.query-interface textarea,[data-testid=pipeline-status] input,[data-testid=pipeline-status] select{transition:border-color .12s ease,box-shadow .12s ease}.query-interface textarea:focus,[data-testid=pipeline-status] input:focus,[data-testid=pipeline-status] select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #5e6ad259}[data-testid=pipeline-status] progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;margin:8px 0}[data-testid=pipeline-status] progress::-webkit-progress-bar{background:var(--surface-2);border-radius:3px}[data-testid=pipeline-status] progress::-webkit-progress-value{background:var(--gradient-accent);border-radius:3px;transition:width .3s var(--ease-out-quint)}[data-testid=pipeline-status] progress::-moz-progress-bar{background:var(--gradient-accent);border-radius:3px}.pipeline-status{display:flex;flex-direction:column;gap:12px}.pipeline__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pipeline__head h2{margin:0}.pipeline-status input,.pipeline-status select{width:100%;background:var(--surface-0);border:1px solid var(--hairline);border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm);padding:9px 12px;box-sizing:border-box;min-height:40px;box-shadow:inset 0 1px 2px #0003;transition:border-color .2s ease,box-shadow .2s ease}.pipeline-status input::placeholder{color:var(--ink-tertiary)}.pipeline-status input:focus,.pipeline-status select:focus{outline:none;border-color:var(--primary);box-shadow:inset 0 1px 2px #0003,0 0 0 2px #5e6ad259}.pipeline-status .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-md);font-weight:500;line-height:1.2;padding:9px 14px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;min-height:40px;transition:background .12s ease,border-color .12s ease,transform .12s ease}.pipeline-status .btn--primary{background:var(--gradient-accent);color:var(--ink);width:100%}.pipeline-status .btn--primary:hover:not(:disabled){background:var(--gradient-accent)}.pipeline-status .btn--primary:active:not(:disabled){background:var(--primary-focus);transform:scale(.98)}.pipeline-status .btn--secondary{background:var(--surface-1);color:var(--ink);border-color:var(--hairline)}.pipeline-status .btn--secondary:hover:not(:disabled){border-color:var(--hairline-strong)}.pipeline-status .btn:disabled{opacity:.5;cursor:not-allowed}.pipeline-status .btn:focus-visible{outline:2px solid var(--primary-focus);outline-offset:2px}.pipeline__demo{display:flex;gap:8px;align-items:stretch}.pipeline__demo select{flex:1}.status-badge{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--ink-muted);font-size:var(--fs-xs);font-weight:500;line-height:1.4;padding:2px 8px;border-radius:var(--r-pill);white-space:nowrap}.status-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.status-badge--success{color:var(--success);background:color-mix(in srgb,var(--success) 16%,var(--surface-2))}.status-badge--danger{color:var(--danger-text);background:color-mix(in srgb,var(--danger-text) 16%,var(--surface-2))}.status-badge--running{color:var(--primary-hover);background:color-mix(in srgb,var(--primary-hover) 16%,var(--surface-2))}.status-badge--idle{color:var(--ink-subtle)}.node-list-panel{overflow:hidden}.node-list__filter{display:block;width:100%;padding:6px 10px;margin-bottom:6px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-body-sm);font-family:var(--font-sans);outline:none}.node-list__filter:focus{border-color:var(--primary)}.node-list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.node-list__item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;background:none;border:none;color:var(--ink);font-size:var(--fs-body-sm);font-family:var(--font-sans);text-align:left;cursor:pointer;border-radius:var(--r-sm);transition:background .12s ease}.node-list__item:hover{background:var(--surface-2)}.node-list__item--active{background:color-mix(in srgb,var(--primary) 16%,var(--surface-2));color:var(--primary)}.node-list__dot{width:8px;height:8px;border-radius:50%;flex:none}.node-list__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-list__type{color:var(--ink-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em}.node-list__empty{color:var(--ink-subtle);font-size:var(--fs-body-sm);padding:8px;text-align:center}@media (max-width: 1024px){.app-layout{flex-direction:column}.app-panels{width:100%;max-height:50vh;overflow-y:auto}.app-canvas{min-height:40vh;border-right:none;border-bottom:1px solid var(--hairline)}}@media (max-width: 768px){.app-header{padding:10px 14px;font-size:var(--fs-body-sm)}.app-layout{flex-direction:column;gap:0}.app-canvas{min-height:35vh;border-right:none;border-bottom:1px solid var(--hairline)}.app-panels{width:100%;max-height:none;overflow-y:visible;padding:var(--s-sm)}.pipeline-status{padding:var(--s-sm)}.pipeline__input{font-size:var(--fs-body-sm)}.filter-panel,.gap-panel{max-height:none}.edge-inspector{position:fixed;bottom:0;left:0;right:0;top:auto;width:100%;max-height:45vh;border-right:none;border-top:1px solid var(--hairline);border-radius:var(--r-lg) var(--r-lg) 0 0;z-index:20}.node-list-panel{max-height:250px}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}.page-transition{animation:page-fade-in .2s ease-out}@media (prefers-reduced-motion: reduce){.edge-inspector,.query-answer,.global-toast{animation:none!important}.query-actions button:active,.edge-close:active{transform:none!important}[data-testid=pipeline-status] progress::-webkit-progress-value{transition:none!important}.skeleton__row{animation:none!important}}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{display:flex;flex-direction:column;gap:8px;padding:8px 0}.skeleton__row{height:14px;border-radius:var(--radius-sm, 4px);background:linear-gradient(90deg,var(--surface-1) 0px,var(--surface-2) 40px,var(--surface-1) 80px);background-size:200px 100%;animation:skeleton-shimmer 1.5s infinite linear}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-md);height:100vh;text-align:center;padding:var(--s-xl)}.error-boundary svg{opacity:.6}.error-boundary h1{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.02em}.error-boundary p{color:var(--ink-muted);font-size:var(--fs-body-sm)}.graph-controls{position:absolute;top:var(--s-sm);left:var(--s-sm);display:flex;gap:var(--s-xxs);z-index:5}.graph-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}.graph-controls button:hover{background:var(--surface-2);color:var(--ink)}.query-suggestions{display:flex;flex-wrap:wrap;gap:var(--s-xxs);margin-bottom:var(--s-xs)}.query-suggestion{padding:4px 10px;font-size:.7rem;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.query-suggestion:hover{background:var(--primary-subtle, rgba(108, 99, 255, .1));border-color:var(--primary);color:var(--ink)}.query-suggestion:disabled{opacity:.5;cursor:not-allowed}.node-tooltip{max-width:280px;padding:var(--s-xs) var(--s-sm);background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--shadow-md);font-size:.75rem;line-height:1.4;pointer-events:none;z-index:100}.node-tooltip strong{display:block;font-size:.8rem;margin-bottom:2px}.node-tooltip__type{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.node-tooltip__authors{color:var(--ink-muted);font-size:.7rem;margin-bottom:2px}.node-tooltip__date,.node-tooltip__citations{color:var(--ink-subtle);font-size:.7rem}.node-tooltip__source{display:inline-block;margin-top:4px;padding:1px 6px;font-size:.6rem;font-weight:600;text-transform:uppercase;border-radius:var(--r-xs);background:var(--surface-2);color:var(--ink-muted)}.node-tooltip__abstract{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--hairline);color:var(--ink-subtle);font-size:.7rem;line-height:1.45}.stats-panel .stats-grid{display:grid;grid-template-columns:auto 1fr;gap:4px var(--s-sm);font-size:var(--fs-body-sm)}.stats-panel .stats-grid dt{color:var(--ink-muted)}.stats-panel .stats-grid dd{font-weight:600;text-align:right}.stats-panel h3{margin:var(--s-xs) 0 var(--s-xxs);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.stats-panel .stat-row{display:flex;justify-content:space-between;font-size:var(--fs-body-sm);padding:2px 0}.stats-panel .stat-row span:first-child{color:var(--ink-muted)}.search-bar{width:100%;padding:var(--s-xs) var(--s-sm);border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink);font-size:var(--fs-body-sm);outline:none;transition:border-color .15s}.search-bar:focus{border-color:var(--primary)}.search-bar::placeholder{color:var(--ink-tertiary)}.export-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:background .15s,color .15s}.export-btn:hover{background:var(--surface-2);color:var(--ink)}.node-tooltip__link{display:inline-block;margin-top:6px;padding:3px 10px;font-size:.65rem;font-weight:600;color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:var(--r-sm);transition:background .15s,color .15s}.node-tooltip__link:hover{background:var(--primary);color:#fff}.edge-endpoint-link{margin-left:4px;padding:0 4px;font-size:.7rem;color:var(--primary);text-decoration:none;transition:color .15s}.edge-endpoint-link:hover{color:var(--primary-hover, #5a4fcf)}.timeline-tooltip__link{display:inline-block;margin-top:6px;padding:3px 10px;font-size:.65rem;font-weight:600;color:var(--primary);text-decoration:none;border:1px solid var(--primary);border-radius:var(--r-sm);transition:background .15s,color .15s}.timeline-tooltip__link:hover{background:var(--primary);color:#fff}.node-detail-panel{position:absolute;top:var(--s-sm);right:var(--s-sm);width:340px;max-height:calc(100% - var(--s-md));overflow-y:auto;z-index:10;animation:panel-in .2s ease-out}.node-detail-panel__card{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-md);box-shadow:var(--shadow-lg)}.node-detail-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-xs)}.node-detail-panel__type{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.node-detail-panel__close{background:none;border:none;font-size:1.2rem;color:var(--ink-muted);cursor:pointer;padding:0 4px;line-height:1}.node-detail-panel__close:hover{color:var(--ink)}.node-detail-panel__title{font-size:var(--fs-md);font-weight:600;line-height:1.3;margin:0 0 var(--s-xs);color:var(--ink)}.node-detail-panel__authors{font-size:var(--fs-body-sm);color:var(--ink-muted);margin-bottom:var(--s-sm)}.node-detail-panel__meta{display:flex;flex-wrap:wrap;gap:var(--s-sm);margin-bottom:var(--s-sm);padding:var(--s-xs) 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.node-detail-panel__meta-item{display:flex;flex-direction:column;font-size:var(--fs-body-sm);font-weight:500}.node-detail-panel__meta-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-subtle);margin-bottom:2px}.node-detail-panel__section{margin-top:var(--s-sm)}.node-detail-panel__section h3{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin:0 0 var(--s-xxs)}.node-detail-panel__abstract{font-size:var(--fs-body-sm);color:var(--ink);line-height:1.55;margin:0}.node-detail-panel__ids{display:flex;flex-wrap:wrap;gap:var(--s-xxs)}.node-detail-panel__id{font-size:.7rem;padding:2px 8px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-xs);color:var(--ink-muted);font-family:monospace}.node-detail-panel__actions{display:flex;gap:var(--s-xs);margin-top:var(--s-sm)}.node-detail-panel__btn{flex:1;padding:6px 12px;font-size:.75rem;font-weight:600;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-1);color:var(--ink-muted);cursor:pointer;text-align:center;text-decoration:none;transition:background .15s,color .15s}.node-detail-panel__btn:hover{background:var(--surface-2);color:var(--ink)}.node-detail-panel__btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.node-detail-panel__btn--primary:hover{background:var(--primary-hover, #5a4fcf)}.node-detail-panel__edges{list-style:none;margin:0;padding:0}.node-detail-panel__edge{display:flex;align-items:center;gap:var(--s-xs);padding:6px 8px;margin-bottom:4px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-sm);cursor:pointer;transition:background .15s;font-size:var(--fs-body-sm)}.node-detail-panel__edge:hover{background:var(--surface-2)}.node-detail-panel__edge-type{font-size:.65rem;font-weight:700;flex-shrink:0}.node-detail-panel__edge-endpoint{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.node-detail-panel__edge-conf{font-size:.65rem;color:var(--ink-subtle);flex-shrink:0}.toast-copied{position:fixed;bottom:var(--s-lg);left:50%;transform:translate(-50%);padding:var(--s-xs) var(--s-md);background:var(--surface-3);border:1px solid var(--primary);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-body-sm);box-shadow:var(--shadow-md);z-index:200;animation:toast-in .3s ease-out}.timeline-container{position:relative;background:linear-gradient(180deg,var(--surface-0) 0%,var(--surface-1) 100%)}.timeline-tooltip{position:absolute;top:var(--s-sm);left:50%;transform:translate(-50%);padding:var(--s-xs) var(--s-md);background:var(--surface-3);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--shadow-md);font-size:.75rem;z-index:10;text-align:center;max-width:320px;animation:fade-in .15s ease-out}.timeline-tooltip strong{display:block;font-size:.8rem;margin-bottom:2px}.timeline-tooltip__meta{color:var(--ink-muted);font-size:.7rem}.timeline-legend{position:absolute;bottom:var(--s-sm);right:var(--s-sm);display:flex;gap:var(--s-sm);font-size:.65rem;color:var(--ink-subtle)}.timeline-legend__item{display:flex;align-items:center;gap:4px}.timeline-legend__dot{width:8px;height:8px;border-radius:50%}.timeline-legend__line{width:20px;height:2px;background:var(--ink-subtle);border-radius:1px}@keyframes fade-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}:root{--canvas: #010102;--surface-0: #0c0c0e;--surface-1: #0e0f11;--surface-2: #16181d;--surface-3: #1d2026;--surface-4: #25282f;--hairline: #23252a;--hairline-strong: #2e3138;--hairline-tertiary: #3a3e47;--primary: #5e6ad2;--primary-hover: #828fff;--primary-focus: #5e69d1;--success: #27a644;--ink: #f7f8f8;--ink-muted: #d0d6e0;--ink-subtle: #8a8f98;--ink-tertiary: #7a7f87;--danger-bg: #2a1416;--danger-border: #5e2a2e;--danger-text: #ff9d9d;--s-xxs: 4px;--s-xs: 8px;--s-sm: 12px;--s-md: 16px;--s-lg: 24px;--s-xl: 32px;--s-xxl: 48px;--s-section: 96px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-xxl: 24px;--r-pill: 9999px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--fs-display-xl: clamp(2.75rem, 5.5vw + 1.5rem, 5rem);--fs-display-lg: clamp(2.25rem, 3.8vw + 1.25rem, 3.5rem);--fs-display-md: clamp(1.75rem, 2.4vw + 1rem, 2.5rem);--fs-headline: clamp(1.375rem, 1.4vw + .75rem, 1.75rem);--fs-card-title: clamp(1.125rem, .6vw + .875rem, 1.375rem);--fs-body-lg: clamp(1rem, .3vw + .875rem, 1.125rem);--fs-body: 1rem;--fs-body-sm: .875rem;--fs-eyebrow: .8125rem;--fs-caption: .75rem;--fs-lg: var(--fs-body-lg);--fs-md: var(--fs-body);--fs-sm: var(--fs-body-sm);--fs-xs: var(--fs-caption);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45);--gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, .03) 0%, transparent 100%);--gradient-accent: linear-gradient(135deg, #5e6ad2 0%, #828fff 100%)}:root{color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow-x:clip}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink)}
