@layer kg-tokens{:root{--kg-graph-bg:var(--color-surface-subtle);--kg-panel-bg:rgba(10,9,18,0.85);--kg-panel-solid-bg:var(--color-surface-base);--kg-panel-border:var(--color-border-default);--kg-filter-chip-bg:var(--color-surface-base);--kg-filter-chip-active-bg:var(--color-accent-gold-faint);--kg-filter-chip-active-border:var(--color-accent-gold);--kg-node-default-bg:var(--color-surface-raised);--kg-node-peptide-border:var(--color-accent-gold);--kg-node-selected-bg:var(--color-accent-gold-faint);--kg-edge-default-color:var(--color-border-default);--kg-edge-highlighted-color:var(--color-accent-gold);--kg-filter-panel-width:280px;--kg-filter-panel-collapsed:48px;--kg-details-panel-width:400px;--kg-graph-padding:var(--space-12);--kg-panel-padding:var(--space-6);--kg-chip-gap:var(--space-2);--kg-section-spacing:var(--space-6);--kg-connection-gap:var(--space-3);--kg-header-height:var(--space-12);--kg-hero-font:var(--font-display-italic,"GT Pantheon Display",serif);--kg-hero-size:36px;--kg-hero-weight:300;--kg-hero-style:italic;--kg-hero-line-height:1.1;--kg-section-header-font:var(--font-body,"Supreme LL",sans-serif);--kg-section-header-size:12px;--kg-section-header-weight:400;--kg-section-header-tracking:0.2em;--kg-section-header-transform:uppercase;--kg-section-header-line-height:1.0;--kg-chip-font:var(--font-body,"Supreme LL",sans-serif);--kg-chip-size:12px;--kg-chip-weight:400;--kg-chip-tracking:0.02em;--kg-node-label-font:var(--font-body,"Supreme LL",sans-serif);--kg-node-label-size:12px;--kg-node-label-weight:400;--kg-details-node-font:var(--font-display-italic,"GT Pantheon Display",serif);--kg-details-node-size:32px;--kg-details-node-weight:300;--kg-details-node-style:italic;--kg-details-node-line-height:1.2;--kg-body-font:var(--font-body,"Supreme LL",sans-serif);--kg-body-size:16px;--kg-body-weight:400;--kg-body-tracking:0.02em;--kg-body-line-height:1.6;--kg-metadata-label-font:var(--font-body,"Supreme LL",sans-serif);--kg-metadata-label-size:12px;--kg-metadata-label-weight:400;--kg-metadata-label-tracking:0.2em;--kg-metadata-label-transform:uppercase;--kg-metadata-value-font:var(--font-body,"Supreme LL",sans-serif);--kg-metadata-value-size:14px;--kg-metadata-value-weight:400;--kg-metadata-value-tracking:0.02em;--kg-label-small-size:11px;--kg-panel-blur:blur(8px);--kg-panel-shadow:none;--kg-transition-fast:150ms ease-out;--kg-transition-normal:200ms cubic-bezier(0.25,1,0.3,1);--kg-transition-slow:300ms cubic-bezier(0.25,1,0.3,1);--kg-radius:4px;--kg-z-header:10;--kg-z-graph:0;--kg-z-filter-panel:20;--kg-z-legend:25;--kg-z-details-panel:30;--kg-z-modal:40;--kg-connection-card-bg:var(--color-surface-raised);--kg-connection-card-hover-bg:var(--color-surface-hover);--kg-connection-card-border:var(--color-border-subtle);--kg-connection-card-hover-border:var(--color-accent-gold-soft);--kg-search-bg:var(--color-surface-raised);--kg-search-focus-border:var(--color-accent-gold);--kg-node-hit-area:32px;--kg-node-size:22px;--kg-edge-width:1px;--kg-edge-width-highlighted:1.5px;--kg-focus-color:var(--color-accent-gold);--kg-focus-width:2px;--kg-focus-offset:2px;--kg-min-touch-target:44px}}.kg-page{padding-top:var(--space-8);padding-bottom:var(--space-12);position:relative}.kg-header{margin-bottom:var(--space-6)}.kg-container{position:relative;min-height:calc(100vh - 160px)}.kg-panel{border-radius:var(--kg-radius)}.kg-controls{position:fixed;left:var(--space-12);top:calc(var(--space-8) + 120px);width:var(--kg-filter-panel-width);max-height:calc(100vh - 200px);overflow-y:auto;background:var(--kg-panel-bg);-webkit-backdrop-filter:var(--kg-panel-blur);backdrop-filter:var(--kg-panel-blur);border:1px solid var(--kg-panel-border);padding:var(--kg-panel-padding);z-index:var(--kg-z-filter-panel);transition:width var(--kg-transition-slow),transform var(--kg-transition-slow)}.kg-controls.collapsed{width:var(--kg-filter-panel-collapsed);overflow:hidden}.kg-graph{margin-left:calc(var(--kg-filter-panel-width) + var(--space-12) + var(--space-6));margin-right:0;min-height:600px;background:var(--kg-graph-bg);border:1px solid var(--color-border-faint);padding:var(--kg-graph-padding);z-index:var(--kg-z-graph);transition:margin-left var(--kg-transition-slow)}.kg-graph.focus-mode{margin-left:calc(var(--kg-filter-panel-collapsed) + var(--space-12) + var(--space-6))}.kg-inspector{position:fixed;right:0;top:0;width:var(--kg-details-panel-width);height:100vh;background:var(--kg-panel-solid-bg);border-left:1px solid var(--kg-panel-border);padding:var(--kg-panel-padding);z-index:var(--kg-z-details-panel);overflow-y:auto;transform:translateX(100%);transition:transform var(--kg-transition-slow)}.kg-inspector.open{transform:translateX(0)}.kg-graph.dimmed:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(10,9,18,.15);pointer-events:none;z-index:1}.kg-panel.loading{text-align:center}.kg-panel.error{color:var(--color-danger,#ff6b6b)}.kg-controls h2,.kg-graph h2,.kg-inspector h2{font-family:var(--font-body);font-weight:400;font-size:var(--kg-section-header-size);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-high);margin:0 0 var(--space-4) 0}.kg-controls .section-label,.kg-inspector .section-label{font-family:"Supreme LL",var(--font-body);font-weight:400;font-size:var(--kg-section-header-size);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-subdued);display:block;margin-bottom:var(--space-3)}.kg-search{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-1);background:var(--color-surface-base);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--kg-metadata-value-size)}.kg-spacer{height:var(--kg-section-spacing)}.kg-filter-group{display:flex;flex-wrap:wrap;gap:var(--kg-chip-gap)}.kg-chip{border:1px solid var(--color-border-default);background:var(--kg-filter-chip-bg);color:var(--color-text-high);padding:11px 15px;min-height:var(--kg-min-touch-target);border-radius:var(--kg-radius);font-family:var(--kg-chip-font);font-size:var(--kg-chip-size);font-weight:var(--kg-chip-weight);letter-spacing:var(--kg-chip-tracking);cursor:pointer;transition:background var(--kg-transition-fast),border-color var(--kg-transition-fast)}.kg-chip:hover{background:var(--color-surface-hover);border-color:var(--color-accent-gold-soft)}.kg-chip:focus-visible{outline:var(--kg-focus-width) solid var(--kg-focus-color);outline-offset:var(--kg-focus-offset)}.kg-chip.active{border-color:var(--kg-filter-chip-active-border);color:var(--color-accent-gold);background:var(--kg-filter-chip-active-bg)}.kg-collapse-btn{width:var(--kg-min-touch-target);height:var(--kg-min-touch-target);background:var(--color-surface-base);border:1px solid var(--color-border-default);border-radius:var(--kg-radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--kg-transition-fast),border-color var(--kg-transition-fast);margin-top:var(--space-4)}.kg-collapse-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent-gold-soft)}.kg-collapse-btn:focus-visible{outline:var(--kg-focus-width) solid var(--kg-focus-color);outline-offset:var(--kg-focus-offset)}.kg-collapse-icon{width:16px;height:16px;color:var(--color-text-subdued);transition:color var(--kg-transition-fast)}.kg-collapse-btn:hover .kg-collapse-icon{color:var(--color-accent-gold)}.kg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.kg-card{border:1px solid var(--color-border-default);border-radius:var(--radius-1);padding:var(--space-4);background:var(--color-surface-base);cursor:pointer;transition:border-color .2s ease,transform .2s ease;text-align:left}.kg-card:hover{border-color:var(--color-accent-gold-soft);transform:translateY(-1px)}.kg-type{font-family:"Supreme LL",var(--font-body);font-size:var(--kg-label-small-size);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-subdued)}.kg-label{font-weight:400;font-size:var(--kg-body-size);letter-spacing:.02em;margin-top:var(--space-1);color:var(--color-text-high)}.kg-label,.kg-stats{font-family:var(--font-body)}.kg-stats{display:flex;gap:var(--space-4);color:var(--color-text-subdued);font-size:var(--kg-section-header-size)}.kg-graph{position:relative}.kg-graph-placeholder{height:100%;min-height:520px;border:1px dashed var(--color-border-subtle);border-radius:var(--radius-1);display:grid;place-items:center;color:var(--color-text-subdued)}.kg-graph-canvas{height:100%;min-height:520px;border:1px solid var(--color-border-faint);border-radius:var(--radius-1);overflow:hidden}.kg-inspector-header{position:-webkit-sticky;position:sticky;top:0;background:var(--kg-panel-solid-bg);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-faint);margin-bottom:var(--space-6);z-index:10}.kg-node-label-detail{font-family:var(--kg-details-node-font);font-size:var(--kg-details-node-size);font-weight:var(--kg-details-node-weight);font-style:var(--kg-details-node-style);line-height:var(--kg-details-node-line-height);color:var(--color-accent-gold);margin:0 0 var(--space-2) 0}.kg-node-type-badge{font-family:var(--kg-metadata-label-font);font-size:var(--kg-metadata-label-size);font-weight:var(--kg-metadata-label-weight);letter-spacing:var(--kg-metadata-label-tracking);text-transform:var(--kg-metadata-label-transform);color:var(--color-text-subdued);margin-bottom:var(--space-2)}.kg-close-btn{position:absolute;top:var(--space-6);right:var(--space-6);width:var(--kg-min-touch-target);height:var(--kg-min-touch-target);background:transparent;border:none;border-radius:var(--kg-radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--kg-transition-fast)}.kg-close-btn:hover{background:var(--color-surface-raised)}.kg-close-btn:focus-visible{outline:var(--kg-focus-width) solid var(--kg-focus-color);outline-offset:var(--kg-focus-offset)}.kg-close-icon{width:16px;height:16px;color:var(--color-text-subdued);transition:color var(--kg-transition-fast)}.kg-close-btn:hover .kg-close-icon{color:var(--color-accent-gold)}.kg-inspector .row{display:flex;align-items:baseline;gap:var(--space-3);margin:var(--space-4) 0}.kg-inspector .row .key{font-family:var(--kg-metadata-label-font);font-size:var(--kg-metadata-label-size);font-weight:var(--kg-metadata-label-weight);letter-spacing:var(--kg-metadata-label-tracking);text-transform:var(--kg-metadata-label-transform);color:var(--color-text-subdued);min-width:96px}.kg-inspector .row .value{font-family:var(--kg-metadata-value-font);font-size:var(--kg-metadata-value-size);font-weight:var(--kg-metadata-value-weight);letter-spacing:var(--kg-metadata-value-tracking);color:var(--color-text-high)}.kg-primary-link{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-1);border:1px solid var(--color-accent-gold-soft);background:var(--color-surface-base);font-family:var(--font-body);font-size:var(--kg-metadata-value-size);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-gold);text-decoration:none;cursor:pointer;transition:background var(--kg-transition-fast),border-color var(--kg-transition-fast),transform var(--kg-transition-fast)}.kg-primary-link:hover{background:var(--color-surface-hover);border-color:var(--color-accent-gold);transform:translateY(-1px)}.kg-edge-list{margin-top:var(--space-4);display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.kg-edge-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-1);padding:var(--space-3);background:var(--color-surface-raised)}.kg-edge-item .rel{font-family:"Supreme LL",var(--font-body);font-size:var(--kg-label-small-size);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent-gold)}.kg-edge-item .target{font-family:var(--font-body);font-weight:500;color:var(--color-text-high)}.kg-edge-item .evidence,.kg-edge-item .meta{margin-top:var(--space-1);font-size:var(--kg-section-header-size)}.kg-edge-item .evidence,.kg-edge-item .meta,.kg-no-edges{color:var(--color-text-subdued);font-family:var(--font-body)}.kg-no-edges{font-size:var(--kg-metadata-value-size)}.kg-hero-title{font-family:GT Pantheon Display,serif;font-style:italic;font-weight:300;font-size:var(--kg-hero-size);letter-spacing:.06em;color:var(--color-accent-gold);margin:0}.kg-hero-desc{font-family:var(--font-body);font-weight:400;font-size:var(--kg-body-size);letter-spacing:.02em;color:var(--color-text-subdued);margin-top:var(--space-2)}.kg-legend{position:absolute;top:var(--space-6);right:var(--space-6);background:var(--kg-panel-bg);-webkit-backdrop-filter:var(--kg-panel-blur);backdrop-filter:var(--kg-panel-blur);border:1px solid var(--color-border-subtle);border-radius:var(--kg-radius);padding:var(--space-4);z-index:var(--kg-z-legend);max-width:200px}.kg-legend-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.kg-legend .label{font-family:var(--kg-section-header-font);font-size:var(--kg-section-header-size);font-weight:var(--kg-section-header-weight);letter-spacing:var(--kg-section-header-tracking);text-transform:var(--kg-section-header-transform);color:var(--color-text-subdued)}.kg-legend-toggle{min-width:var(--kg-min-touch-target);min-height:var(--kg-min-touch-target);padding:12px;background:none;border:none;cursor:pointer;color:var(--color-text-subdued);transition:color var(--kg-transition-fast);display:flex;align-items:center;justify-content:center}.kg-legend-toggle:hover{color:var(--color-accent-gold)}.kg-legend .items{display:flex;flex-direction:column;gap:var(--space-2)}.kg-legend.collapsed .items{display:none}.kg-legend-item{display:inline-flex;align-items:center;gap:var(--space-2)}.kg-legend-item .text{font-family:var(--font-body);font-size:var(--kg-section-header-size);color:var(--color-text-subdued)}.legend-node{width:12px;height:12px;border-radius:50%;background:var(--color-surface-raised);border:1px solid var(--color-border-default);flex-shrink:0}.legend-node.peptide{border:2px solid var(--color-accent-gold)}.legend-edge{position:relative;width:36px;height:0;border-top:1px solid var(--color-border-faint);flex-shrink:0}.legend-edge:after{content:"";position:absolute;right:-2px;top:-3px;width:0;height:0;border-left:6px solid var(--color-border-faint);border-top:4px solid transparent;border-bottom:4px solid transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:1200px){.kg-container{grid-template-columns:1fr}.kg-graph,.kg-inspector{order:2}}