.graph-explorer{border-bottom:1px solid var(--color-line);background:var(--color-black)}.graph-explorer-header{align-items:end;gap:var(--space-5);border-bottom:1px solid var(--color-line);min-height:10rem;padding:var(--space-5) var(--page-gutter);grid-template-columns:minmax(18rem,.55fr) minmax(20rem,1fr);display:grid}.graph-explorer-header h2{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:3rem;font-weight:var(--weight-body);line-height:1}.graph-explorer-header>p{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-xs);justify-self:end;margin:0}.graph-controls{border-bottom:1px solid var(--color-line);padding-inline:var(--page-gutter);grid-template-columns:minmax(12rem,.7fr) minmax(13rem,.8fr) minmax(22rem,1.4fr) auto;display:grid}.mode-local .graph-controls{grid-template-columns:minmax(13rem,.7fr) minmax(22rem,1.4fr) auto}.graph-select-control{align-items:center;gap:var(--space-2);border-right:1px solid var(--color-line-soft);min-width:0;padding:var(--space-2) var(--space-3);grid-template-columns:auto minmax(0,1fr);display:grid}.graph-select-control:first-child{padding-left:0}.graph-select-control>span,.graph-relation-filters legend{color:var(--color-quiet);font-family:var(--font-mono);font-size:var(--text-xs)}.graph-select-control select{background:var(--color-black);min-width:0;min-height:2.75rem;color:var(--color-ink);border:0}.graph-relation-filters{align-items:center;gap:var(--space-3);border:0;border-right:1px solid var(--color-line-soft);min-width:0;padding:var(--space-2) var(--space-3);margin:0;display:flex}.graph-relation-filters legend{float:left;margin-right:var(--space-2)}.graph-relation-filters label{min-height:var(--control-height);color:var(--color-muted);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.graph-relation-filters input{accent-color:currentColor;width:.95rem;height:.95rem}.relation-prerequisite{color:var(--color-prerequisite)!important}.relation-component{color:var(--color-component)!important}.relation-comparison{color:var(--color-comparison)!important}.relation-application{color:var(--color-application)!important}.graph-view-controls{display:flex}.graph-view-controls button{border:0;border-right:1px solid var(--color-line-soft);min-width:4.6rem;color:var(--color-muted);cursor:pointer;background:0 0}.graph-view-controls button:hover:not(:disabled){color:var(--color-prerequisite)}.graph-view-controls button:disabled{cursor:not-allowed;opacity:.45}.graph-explorer[data-graph-state=loading] .graph-view-controls button:disabled{cursor:wait}.graph-mobile-launch{display:none}.graph-control-hint{border-bottom:1px solid var(--color-line-soft);padding:var(--space-2) var(--space-3);color:var(--color-quiet);font-size:var(--text-sm);margin:0}.graph-workspace{grid-template-columns:minmax(0,1fr) minmax(18rem,.28fr);min-height:42rem;display:grid}.graph-stage{border-right:1px solid var(--color-line);background-image:linear-gradient(var(--color-line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--color-line-soft) 1px, transparent 1px);background-size:4rem 4rem;min-width:0;min-height:42rem;position:relative;overflow:hidden}.graph-canvas{position:absolute;inset:0}.graph-canvas:focus-visible{outline:2px solid var(--color-prerequisite);outline-offset:-3px}.graph-state{pointer-events:none;color:var(--color-quiet);font-family:var(--font-mono);font-size:var(--text-xs);place-items:center;display:grid;position:absolute;inset:0}.graph-explorer[data-graph-state=ready] .graph-state{display:none}.graph-explorer[data-graph-state=error] .graph-state{color:var(--color-comparison)}.graph-explorer[data-graph-state=empty] .graph-state{color:var(--color-prerequisite)}.graph-detail{min-width:0;padding:var(--space-5) var(--page-gutter)}.graph-detail h3{margin:var(--space-3) 0 0;font-family:var(--font-display);font-size:2rem;font-weight:var(--weight-body);line-height:1.1}.graph-detail-en{font-family:var(--font-mono);margin:var(--space-1) 0 var(--space-4)!important;color:var(--color-quiet)!important;font-size:var(--text-xs)!important}.graph-detail>p:not(.meta-label){color:var(--color-muted)}.graph-detail ul{gap:var(--space-2);margin:var(--space-4) 0;padding:0;list-style:none;display:grid}.graph-detail li{border-top:1px solid var(--color-line-soft);padding-top:var(--space-2);color:var(--color-muted);font-size:var(--text-sm)}.graph-detail li span{color:var(--color-component);font-family:var(--font-mono);font-size:var(--text-xs);margin-bottom:.2rem;display:block}.graph-detail a{color:var(--color-prerequisite)}.graph-equivalent,.graph-noscript{border-top:1px solid var(--color-line);padding:var(--space-3) var(--page-gutter);color:var(--color-quiet);font-size:var(--text-sm);margin:0}@media (width<=1100px){.graph-controls,.mode-local .graph-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.graph-select-control,.graph-relation-filters{border-bottom:1px solid var(--color-line-soft);padding-inline:var(--space-3)}.graph-relation-filters{flex-wrap:wrap}.graph-view-controls{min-height:3.5rem}.graph-view-controls button{flex:1}}@media (width<=760px){.graph-explorer-header{align-items:start;gap:var(--space-3);grid-template-columns:1fr;min-height:9rem}.graph-explorer-header h2{font-size:2.35rem}.graph-explorer-header>p{justify-self:start}.graph-controls,.mode-local .graph-controls{grid-template-columns:1fr}.graph-relation-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.graph-relation-filters label{min-height:var(--control-height-mobile)}.graph-relation-filters legend{grid-column:1/-1}.graph-mobile-launch{border:0;border-bottom:1px solid var(--color-line);width:100%;min-height:3.5rem;color:var(--color-prerequisite);cursor:pointer;background:0 0;display:block}.graph-workspace{grid-template-columns:1fr;min-height:0;display:none}.graph-explorer.is-active .graph-workspace{display:grid}.graph-explorer.is-active .graph-mobile-launch{display:none}.graph-stage{border-right:0;border-bottom:1px solid var(--color-line);min-height:31rem}.graph-detail{min-height:22rem}}@media (prefers-reduced-motion:reduce){.graph-explorer *{scroll-behavior:auto!important}}
