/* Graph workspace only. Shared SectorWire navigation and tokens remain in style.css. */
.gx-intro.page{margin:24px var(--m) 16px;padding:0;display:block}.gx-intro.page h1{font-size:clamp(1.8rem,2.8vw,2.8125rem);line-height:1.15}.gx-intro.page .stand{font-size:var(--step-body);max-width:80ch;margin:8px 0 0}
.gxwrap{margin:0 var(--m)}.gx{border:1px solid var(--line);background:var(--bg);font-family:var(--mono);font-size:.875rem;line-height:1.5;min-width:0}.gx button,.gx input{font:inherit}.gx [hidden]{display:none!important}.gx button,.gx a{touch-action:manipulation}.gx .key{min-height:44px;min-width:44px;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:8px 12px;cursor:pointer}.gx .key:hover{background:var(--s2)}.gx button:disabled{opacity:.45;cursor:default}.gx .key[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.gx-top{display:flex;position:sticky;top:var(--gx-header-offset,0px);z-index:6;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:var(--bg);border-bottom:1px solid var(--line)}.gx-search{position:relative;flex:1 1 280px;min-width:160px}.gx-search label{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:3px}.gx .gx-q{width:100%;min-width:0;min-height:44px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px 12px;border-radius:0}.gx-q::placeholder{color:var(--muted)}
.gx .gx-results{position:absolute;left:0;top:100%;width:100%;max-height:320px;overflow:auto;z-index:8;border:1px solid var(--accent);background:var(--surface);box-shadow:none}.gx-results button{border:0;border-bottom:1px solid var(--line);min-height:48px;width:100%;background:var(--surface);text-align:left;color:var(--ink);padding:10px 12px;cursor:pointer}.gx-results button:hover,.gx-results button:focus-visible{background:var(--s2)}.gx-results span{display:block;font-size:.8125rem;color:var(--muted)}.gx-results p{padding:12px;margin:0}.gx-navigation,.gx-views,.gx-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.gx-navigation,.gx-views{align-self:end}.gx-controls{margin-left:auto}.gx-zoom-level{font-size:.8125rem;min-width:40px;text-align:center;color:var(--muted)}
.gx-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.gx-subject{margin:0;font:600 1.15rem/1.3 var(--mono);overflow-wrap:anywhere}.gx .gx-crumb{padding:0;min-height:0;max-width:55%;border:0;color:var(--muted);font:inherit;gap:4px}.gx-crumb button{color:var(--muted);padding:6px;font:inherit;min-height:36px;overflow-wrap:anywhere}.gx-crumb [aria-current]{color:var(--accent)}
.gx .gx-filt{border:0;border-bottom:1px solid var(--line);padding:0;font:inherit}.gx-filt summary{padding:10px 14px;color:var(--ink);cursor:pointer;min-height:44px}.gx-filter-body{padding:0 14px 14px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.gx-filt fieldset{margin:0;border:0;padding:0;min-width:0}.gx-filt legend{font-weight:600;color:var(--muted);padding:0}.gx .gx-rels,.gx .gx-cats{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px}.gx-filt label{display:inline-flex;align-items:center;min-height:36px;gap:6px;cursor:pointer}.gx-filt input[type=checkbox]{appearance:auto;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;margin:0;accent-color:var(--accent)}.gx-filt i{display:none}.gx-filter-actions{display:flex;gap:8px;align-items:center;grid-column:1/-1}.gx-text{padding:8px 0;background:none;border:0;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit;min-height:44px}
.gx .gx-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,310px);min-height:0}.gx-stage{min-width:0;position:relative;overflow:auto;background:var(--bg)}.gx .gx-svg{display:block;min-width:760px;width:100%;height:540px;min-height:0;touch-action:pan-y;cursor:grab;background:none}.gx-svg:active{cursor:grabbing}.gx .gx-node{cursor:pointer}.gx-node rect{fill:var(--surface);stroke:var(--line);stroke-width:1.5}.gx-node:hover rect{fill:var(--s2);stroke:var(--muted)}.gx-node[aria-pressed=true] rect{stroke:var(--accent);stroke-width:2.5}.gx-focus-node rect{fill:var(--s2);stroke:var(--accent)}.gx-node:focus-visible{outline:none}.gx-node:focus-visible rect{stroke:var(--ink);stroke-width:3}.gx-card-name{fill:var(--ink);font:600 15px var(--mono)}.gx-card-rel{fill:var(--accent);font:13px var(--mono)}.gx-card-kind{fill:var(--muted);font:13px var(--mono)}.gx-link{fill:none;stroke:var(--muted);stroke-width:1.3;opacity:.65}.gx-link.on{stroke:var(--accent);stroke-width:2.5;opacity:1}
.gx .gx-panel{border-left:1px solid var(--line);padding:20px;overflow:auto;max-height:540px;min-width:0;font-size:.875rem;scrollbar-gutter:stable}.gx-panel p{margin:12px 0}.gx-panel h3{font:600 1.65rem/1.15 var(--serif);margin:8px 0 16px;overflow-wrap:anywhere}.gx-panel h4{font:600 .875rem var(--mono);margin:24px 0 8px;color:var(--ink)}.gx-kicker{color:var(--muted);font-size:.8125rem;margin:0!important}.gx-statement{font-size:1rem}.gx-statement strong{font-weight:500;color:var(--accent)}.gx-qualification,.gx-event-note{font-size:.8125rem;color:var(--muted)}.gx-panel .btn{white-space:normal;min-height:44px;height:auto;padding:10px 14px;font-size:.8125rem}.gx .gx-reports{list-style:none;margin:0;padding:0}.gx-reports li{padding:12px 0;border-top:1px solid var(--line)}.gx-reports time{display:block;font-size:.8125rem;color:var(--muted);margin-bottom:4px}.gx-reports a{display:block;overflow-wrap:anywhere;color:var(--ink)}
.gx-list{list-style:none;margin:0;padding:0;max-height:540px;overflow:auto}.gx-row{display:grid;grid-template-columns:1fr auto;gap:3px 12px;width:100%;padding:16px 20px;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--muted);text-align:left;cursor:pointer}.gx-row strong{font-size:1.05rem;color:var(--ink);font-weight:600;grid-column:1/-1;overflow-wrap:anywhere}.gx-row-rel{grid-column:1/-1;color:var(--accent)}.gx-row-date{font-size:.8125rem;text-align:right}.gx-row-action{font-size:.8125rem;grid-column:1/-1;color:var(--ink);margin-top:4px}.gx-row:hover,.gx-row[aria-pressed=true]{background:var(--surface)}.gx-row[aria-pressed=true]{box-shadow:inset 3px 0 var(--accent)}
.gx-pagination{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.gx-page-note{color:var(--muted);margin-right:auto;font-size:.8125rem}.gx-help{padding:8px 14px;border-top:1px solid var(--line);color:var(--muted);font-size:.8125rem}.gx-status{padding:8px 14px;margin:0;min-height:34px;color:var(--muted);font-size:.8125rem}.gx-notice:not(:empty){padding:12px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.gx-notice p{margin:0 0 8px}.gx-empty{padding:32px 24px}.gx-is-empty .gx-svg,.gx-is-empty .gx-list{display:none!important}.gx-noscript{padding:16px}.gx-noscript li{margin-bottom:12px}.gx-note{margin:12px 0 0;font:var(--step-small)/1.5 var(--mono);color:var(--muted)}
.gx-embed .gx-top{position:relative;top:auto}.gx-embed .gx-main{min-height:0}.gx-embed .gx-svg{height:480px;min-height:0}.gx-embed .gx-panel,.gx-embed .gx-list{max-height:480px}.gx-embed .gx-help{display:none}
@media(max-width:1000px){.gx .gx-main{grid-template-columns:1fr}.gx .gx-panel{max-height:none;border-left:0;border-top:1px solid var(--line);padding:20px}.gx .gx-list{max-height:none}.gx-top{position:relative;top:auto}.gx-views{margin-left:auto}.gx-context{align-items:start;flex-direction:column;gap:4px}.gx .gx-crumb{max-width:100%}.gx-filter-body{grid-template-columns:1fr}.gx-embed .gx-list{max-height:none}.gx-help{display:none}}
@media(max-width:540px){.gx-intro.page{margin-top:16px}.gx-intro.page .stand{font-size:1rem}.gx .gx-top{gap:8px;padding:10px}.gx-search{flex-basis:100%}.gx-navigation{flex:1}.gx .key{padding:8px 10px}.gx-pagination{flex-wrap:wrap}.gx-page-note{flex-basis:100%}.gx-row{padding:14px;grid-template-columns:1fr}.gx-row-date{text-align:left}.gx-filter-actions{flex-wrap:wrap}.gx .gx-panel h3{font-size:1.5rem}.gx-crumb{font-size:.8125rem!important}}
@media(prefers-reduced-motion:reduce){.gx *{scroll-behavior:auto;transition:none}}
/* Keep the actual workspace on the first desktop screen. */
.gx-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.gx-navigation,.gx-views,.gx-controls{align-self:center}.gx-context{display:grid;grid-template-columns:minmax(0,1fr) auto}.gx-context .gx-subject{grid-column:1;grid-row:1}.gx-context .gx-crumb{grid-column:1/-1;grid-row:3;max-width:100%}.gx-context .gx-filt{grid-column:2;grid-row:1;border:0;min-width:0}.gx-context .gx-filt[open]{grid-column:1/-1;grid-row:2}.gx-context .gx-filt[open] summary{padding-left:0}.gx-context .gx-filt summary{padding:4px 0 4px 12px;display:list-item;white-space:nowrap;min-height:36px}.gx-context .gx-filter-body{padding:10px 0}.gx-context .gx-filt:not([open]) summary{color:var(--accent)}.gx-panel{scroll-margin-top:100px}
@media(max-width:540px){.gx-context{gap:6px}.gx-context .gx-subject{font-size:1rem}.gx-context .gx-filt summary{font-size:.8125rem;padding-left:0}.gx-controls{margin-left:0}.gx-zoom-level{min-width:32px}}
.gx[data-view=list] .gx-controls{display:none}

.gx .gx-panel{font-size:1rem}.gx-qualification,.gx-event-note{font-size:.875rem}
.gx[aria-busy=true] .gx-subject::after{content:" · Loading…";font-size:.875rem;font-weight:400;color:var(--muted)}
