.research-bureau { display:grid; gap:12px; min-width:0; max-width:100%; }
.research-family-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.research-family-tab { position:relative; display:flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:10px 8px; background:#101b1e; border:1px solid var(--line,#35474c); color:var(--muted,#93a7aa); box-shadow:none; }
.research-family-tab .icon { flex:0 0 23px; width:23px; height:23px; }
.research-family-tab strong { font:10px var(--mono,monospace); white-space:nowrap; }
.research-family-tab.active { color:#d9e5d0; border-color:#8fa87e; background:#21332b; }
.research-target-indicator { position:absolute; top:6px; right:6px; width:5px; height:5px; border-radius:50%; background:#d6b677; }
.research-program-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; min-width:0; padding:5px 0; }
.research-program-heading > div { min-width:0; }
.research-program-heading h2 { margin:0 0 5px; font:600 22px/1.25 var(--display,sans-serif); }
.research-program-status { display:flex; flex-wrap:wrap; gap:4px 12px; color:var(--muted,#93a7aa); font:11px/1.5 var(--mono,monospace); }
.research-program-status strong { color:#d2b77d; font-weight:400; }
.research-current-target { display:grid; justify-items:end; gap:4px; max-width:340px; text-align:right; }
.research-current-target strong { font:12px/1.4 var(--mono,monospace); color:#d2b77d; overflow-wrap:anywhere; }
.research-current-target button { min-height:44px; padding:5px 8px; font-size:10px; }
.research-toolbar { display:grid; grid-template-columns:minmax(165px,1fr) minmax(145px,.8fr) auto; align-items:end; gap:10px; min-width:0; }
.research-search-control,.research-branch-control { display:grid; gap:5px; min-width:0; }
.research-toolbar label { display:flex; align-items:center; gap:5px; color:var(--muted,#93a7aa); font:10px/1.35 var(--mono,monospace); text-transform:uppercase; letter-spacing:.5px; }
.research-toolbar label .icon { width:16px; height:16px; }
.research-toolbar input,.research-toolbar select { min-width:0; width:100%; min-height:44px; font-size:12px; }
.research-viewport-controls,.research-zoom-controls { display:flex; align-items:center; gap:5px; }
.research-viewport-controls { flex-wrap:wrap; }
.research-viewport-controls button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:44px; min-height:44px; padding:8px 10px; font-size:11px; }
.research-viewport-controls button .icon { width:17px; height:17px; }
.research-zoom-controls { flex-wrap:nowrap; }
.research-zoom-controls [data-direction="in"],.research-zoom-controls [data-direction="out"] { font-size:19px; font-weight:400; }
.research-zoom-value { min-width:43px; color:#c1d3c0; text-align:center; font:11px var(--mono,monospace); }
.research-search-results { padding:9px 12px; border:1px solid #4e6666; background:#122226; min-width:0; }
.research-search-count { display:block; color:#c5d8d6; font:11px var(--mono,monospace); margin-bottom:6px; }
.research-search-results > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; max-height:190px; overflow:auto; overscroll-behavior:contain; }
.research-search-result { display:grid; gap:4px; min-width:0; min-height:48px; padding:8px 10px; text-align:left; background:#16262b; border:1px solid #405d5e; box-shadow:none; }
.research-search-result strong { font:12px/1.4 var(--mono,monospace); overflow-wrap:anywhere; }
.research-search-result span { color:var(--muted,#93a7aa); font:10px/1.4 var(--mono,monospace); }
.research-status-legend { display:flex; flex-wrap:wrap; align-items:center; gap:5px 14px; padding:3px 0; font:10px/1.5 var(--mono,monospace); color:#9aadab; }
.research-legend-item { display:inline-flex; align-items:center; gap:5px; min-height:23px; }
.research-legend-item .icon { width:16px; height:16px; }
.research-legend-item.learned { color:#b4cb9f; }
.research-legend-item.target { color:#d1b273; }
.research-legend-item.inspected { color:#a1d4d6; }
.research-legend-item.cross-branch i { display:block; width:19px; border-top:1px dashed #869b92; }
.research-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:14px; align-items:start; min-width:0; max-width:100%; }
.research-layout.no-selection { grid-template-columns:minmax(0,1fr); }
.research-graph-scroll { position:relative; min-width:0; max-width:100%; width:100%; height:clamp(410px,67vh,860px); overflow:auto; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; border:1px solid #445b57; background:linear-gradient(transparent 23px,#50635813 24px),linear-gradient(90deg,transparent 23px,#50635813 24px),#0c171a; background-size:24px 24px; scrollbar-color:#617967 #101b1e; scroll-padding:18px; isolation:isolate; }
.research-graph-stage { position:relative; min-width:0; }
.research-graph { position:relative; transform-origin:0 0; }
.research-connections { position:absolute; inset:0; pointer-events:none; overflow:visible; }
.research-connection { fill:none; stroke:#586d68; stroke-width:1.45; opacity:.7; stroke-linejoin:round; }
.research-connection.cross-branch { stroke-dasharray:5 4; }
.research-connection.learned { stroke:#a1bc91; opacity:.85; }
.research-connection.target { stroke:#c9ac70; stroke-width:2; opacity:.9; }
.research-connection.inspected { stroke:#93cccf; stroke-width:2.4; opacity:1; }
.research-tree-node { position:absolute; display:flex; flex-direction:column; align-items:stretch; gap:7px; padding:10px; width:210px; height:132px; min-height:0; border:1px solid #50675f; border-radius:2px; background:#17262b; color:#c2cec4; text-align:left; box-shadow:0 3px 9px #0004; isolation:isolate; }
.research-tree-node:hover:enabled { transform:none; background:#213738; border-color:#97b0a0; }
.research-tree-node.branch-start { padding-top:38px; }
.research-branch-label { position:absolute; inset:0 0 auto; display:flex; align-items:center; min-height:28px; max-height:28px; padding:0 10px; border-bottom:1px solid #4e6455; background:#25382e; color:#b4c8b0; font:10px/1.3 var(--mono,monospace); text-transform:uppercase; letter-spacing:.65px; }
.research-node-heading { display:flex; align-items:center; gap:7px; min-height:18px; }
.research-node-heading .icon { width:18px; height:18px; flex-shrink:0; }
.research-node-number { color:#b1c2a6; font:11px var(--mono,monospace); }
.research-skill-type { margin-left:auto; color:#9cb0aa; font:9px var(--mono,monospace); letter-spacing:.65px; }
.research-tree-node > strong { font:13px/1.28 var(--mono,monospace); font-weight:500; white-space:normal; overflow-wrap:normal; word-break:normal; }
.research-node-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:3px 5px; margin-top:auto; }
.research-node-status { color:#9bada8; font:9px/1.45 var(--mono,monospace); letter-spacing:.35px; }
.research-node-cost { color:#c7b98e; font:10px/1.4 var(--mono,monospace); white-space:nowrap; }
.research-tree-node.root,.research-tree-node.learned { border-color:#739168; background:#20342c; color:#d0e0c4; }
.research-tree-node.learned .research-node-status { color:#b2c99f; }
.research-tree-node.on-path { border-color:#ac9568; }
.research-tree-node.target { border-color:#d1b475; box-shadow:inset 0 0 0 1px #d1b47566,0 3px 10px #0004; }
.research-tree-node.researching { background:#294137; }
.research-tree-node.paused .research-node-status { color:#d5b47c; }
.research-tree-node.selected-ancestor { box-shadow:inset 0 0 0 1px #89b9be7a,0 3px 9px #0004; border-color:#8bbec0; }
.research-tree-node.selected-ancestor.on-path,.research-tree-node.selected-ancestor.target { border-color:#d1b475; }
.research-tree-node.target .research-node-status { color:#dec087; }
.research-tree-node.selected { outline:2px solid #a6dcdf; outline-offset:4px; box-shadow:0 0 0 6px #72aaaf17,0 3px 10px #0005; }
.research-tree-node.search-muted { opacity:.5; }
.research-tree-node.search-match { box-shadow:inset 0 0 0 1px #b0c6ae66,0 3px 9px #0004; }
.research-tree-node.selected.search-muted,.research-tree-node.selected-ancestor.search-muted { opacity:1; }
.research-node-progress { position:absolute; bottom:0; left:0; width:100%; height:4px; background:#365345; overflow:hidden; }
.research-node-progress i { display:block; height:100%; background:#b4d397; }
.research-node-detail { min-width:0; max-width:100%; padding:14px; border:1px solid #5f7773; background:#142226; position:sticky; top:14px; }
.research-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.research-detail-heading button { min-height:44px; min-width:44px; padding:7px 8px; }
.research-detail-identity { display:flex; align-items:center; gap:8px; margin:2px 0 8px; }
.research-detail-identity .icon { width:24px; height:24px; }
.research-detail-identity .badge { font-size:9px; }
.research-detail-branch { color:#9db6ac; font:10px var(--mono,monospace); text-transform:uppercase; letter-spacing:.6px; }
.research-node-detail h3 { margin:7px 0 9px; font:600 20px/1.3 var(--display,sans-serif); overflow-wrap:anywhere; }
.research-detail-status { color:#c2d1ba; font:10px/1.5 var(--mono,monospace); }
.research-node-detail .research-paused-reason { margin:8px 0; color:#d1b273; font:11px/1.6 var(--mono,monospace); }
.research-cost { display:grid; gap:8px; margin:14px 0; font:11px/1.55 var(--mono,monospace); }
.research-cost > div { display:grid; gap:3px; }
.research-cost dt { color:#9cadaa; }
.research-cost dd { margin:0; color:#d3bf8d; }
.research-detail-action { margin:12px 0; }
.research-inspector-action { min-height:44px; width:100%; padding:10px; font-size:11px; }
.research-service-state { display:block; color:#b3ca9d; font:11px/1.5 var(--mono,monospace); }
.research-inspector-details { margin-top:12px; border-top:1px solid var(--line,#35474c); }
.research-inspector-details > summary { display:flex; align-items:center; min-height:44px; color:#bac9c5; font:11px var(--mono,monospace); }
.research-inspector-details > summary::before { content:'▸'; margin-right:8px; color:#9eb7af; }
.research-inspector-details[open] > summary::before { content:'▾'; }
.research-node-detail h4 { margin:12px 0 8px; color:#a4b6b1; font:10px var(--mono,monospace); text-transform:uppercase; letter-spacing:.6px; }
.research-effects { display:grid; gap:8px; margin:0 0 14px; font:12px/1.5 var(--body,sans-serif); }
.research-effects > div { display:flex; align-items:start; justify-content:space-between; gap:8px; padding-bottom:6px; border-bottom:1px solid #3b514b; }
.research-effects dt { min-width:0; color:#b4c5bb; }
.research-effects dd { margin:0; color:#bfd4a5; font:12px/1.5 var(--mono,monospace); white-space:nowrap; }
.research-prerequisites { display:grid; gap:6px; list-style:none; padding:0; margin:0 0 12px; }
.research-prerequisite-link { width:100%; min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:9px; padding:8px; font:11px/1.5 var(--mono,monospace); text-align:left; border:1px solid #49605c; background:#182b2d; box-shadow:none; }
.research-prerequisite-link strong { flex-shrink:0; color:#c4b38b; font:9px var(--mono,monospace); }
.research-prerequisites .learned .research-prerequisite-link strong { color:#b3cc9b; }
.research-grants { padding-left:16px; margin:0; color:#a6b8b2; font:11px/1.6 var(--mono,monospace); }
.research-current-projects,.research-capacity,.research-effect-ledger { min-width:0; border:1px solid var(--line,#35474c); background:#121e22; }
.research-current-projects > summary,.research-capacity > summary,.research-effect-ledger > summary { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; min-height:44px; padding:10px 13px; color:#c2d0c5; font:12px/1.4 var(--mono,monospace); }
.research-current-projects > summary::before,.research-capacity > summary::before,.research-effect-ledger > summary::before { content:'▸'; color:#91aa99; }
.research-current-projects[open] > summary::before,.research-capacity[open] > summary::before,.research-effect-ledger[open] > summary::before { content:'▾'; }
.research-current-projects > summary > span:first-child,.research-capacity > summary > span:first-child { margin-right:auto; }
.research-capacity > summary strong { color:#a9bfaa; font:11px var(--mono,monospace); }
.research-queue-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(90px,28%); align-items:center; gap:16px; margin:0 13px; padding:9px 0; border-top:1px solid #334c46; }
.research-project-link { padding:6px 0; min-height:44px; color:#c8d5c8; font:12px/1.45 var(--mono,monospace); text-align:left; border:0; background:transparent; box-shadow:none; }
.research-queue-row > div > span { display:block; color:#a4b5af; font:11px/1.5 var(--mono,monospace); }
.research-funding-readouts { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 13px; padding:8px 0; border-top:1px solid #334c46; color:#a4b7ae; font:11px var(--mono,monospace); }
.research-funding-readouts button { min-height:44px; margin-left:auto; }
.research-effect-ledger > div { display:flex; flex-wrap:wrap; gap:9px 20px; padding:12px 13px; border-top:1px solid #334c46; color:#9eb2a8; font:11px/1.5 var(--mono,monospace); }
.research-effect-ledger strong { color:#bdd1a6; }
.research-empty-state,.research-layout-warning { margin:0; padding:10px 13px; color:#a5b7af; font:11px/1.6 var(--mono,monospace); }
.research-layout-warning { color:#d1b37c; }
.research-outline { display:grid; gap:8px; padding:12px; margin:0; list-style:none; }
.research-outline > li { min-width:0; }
.research-tree-node.outline-node { position:relative; width:100%; height:auto; min-height:116px; }
.research-outline-dependencies { color:#a6b9ae; font:11px/1.5 var(--mono,monospace); }
.research-bureau button:focus-visible,.research-graph-scroll:focus-visible,.research-toolbar input:focus-visible,.research-toolbar select:focus-visible { outline:2px solid #b4d9d8; outline-offset:3px; }

@media(max-width:1250px) {
  .research-toolbar { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .research-viewport-controls { grid-column:1/-1; justify-content:flex-end; }
}
@media(max-width:1260px) {
  .research-layout { grid-template-columns:minmax(0,1fr); }
  .research-node-detail { position:static; }
}
@media(max-width:1000px) {
  .research-layout { grid-template-columns:minmax(0,1fr); }
  .research-node-detail { position:static; }
  .research-detail-heading { float:right; margin-left:8px; }
  .research-detail-heading .eyebrow { display:none; }
  .research-node-detail h3 { font-size:20px; margin-top:5px; }
  .research-cost { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .research-detail-action { margin:10px 0; }
  .research-inspector-action { width:auto; min-width:210px; }
}
@media(max-width:620px) {
  .research-bureau { gap:10px; }
  .research-family-tabs { gap:4px; }
  .research-family-tab { flex-wrap:wrap; gap:4px; padding:8px 4px; font-size:10px; }
  .research-family-tab .icon { width:18px; height:18px; flex-basis:18px; }
  .research-family-tab strong { display:none; }
  .research-program-heading { gap:8px; }
  .research-program-heading h2 { font-size:20px; }
  .research-program-status { font-size:10px; }
  .research-current-target { max-width:46%; }
  .research-current-target .eyebrow { font-size:9px; }
  .research-current-target strong { font-size:10px; }
  .research-current-target button { padding:5px; font-size:9px; }
  .research-toolbar { grid-template-columns:minmax(0,1fr); gap:8px; }
  .research-search-control { grid-template-columns:1fr; }
  .research-search-control label { display:none; }
  .research-branch-control { grid-template-columns:95px minmax(0,1fr); align-items:center; }
  .research-branch-control label { line-height:1.5; }
  .research-viewport-controls { justify-content:space-between; }
  .research-viewport-controls > button { padding:8px; font-size:10px; }
  .research-zoom-controls { gap:3px; }
  .research-zoom-value { min-width:35px; font-size:10px; }
  .research-zoom-controls button { padding:7px; }
  .research-status-legend { gap:3px 10px; font-size:9px; }
  .research-legend-item { min-height:20px; }
  .research-legend-item .icon { width:14px; height:14px; }
  .research-graph-scroll { height:clamp(350px,57svh,540px); }
  .research-search-results > div { grid-template-columns:minmax(0,1fr); max-height:170px; }
  .research-cost { gap:8px; font-size:11px; }
  .research-queue-row { grid-template-columns:minmax(0,1fr); gap:6px; }
  .research-current-projects > summary,.research-capacity > summary { font-size:11px; }
}
@media(max-width:900px) and (orientation:landscape) {
  .research-graph-scroll { height:clamp(280px,72svh,520px); }
}
@media(min-width:760px) and (max-width:1000px) and (max-height:500px) and (orientation:landscape) {
  #content:has(> .research-workspace) > .page-heading { align-items:center; margin-bottom:8px; }
  #content:has(> .research-workspace) > .page-heading > div > .eyebrow { display:none; }
  #content:has(> .research-workspace) > .page-heading h1 { font-size:22px; }
  #content:has(> .research-workspace) > .page-heading .command-readout { flex-direction:row; align-items:center; gap:6px; min-width:0; padding:6px 8px; font-size:8px; }
  #content:has(> .research-workspace) > .page-heading .command-readout b { font-size:14px; }
  .research-bureau { gap:6px; }
  .research-family-tab { min-height:44px; padding:7px 6px; gap:6px; }
  .research-family-tab .icon { width:19px; height:19px; flex-basis:19px; }
  .research-program-heading { align-items:center; padding:0; gap:10px; }
  .research-program-heading h2 { font-size:18px; line-height:1.2; margin:0; }
  .research-program-status { font-size:10px; line-height:1.3; }
  .research-current-target { max-width:45%; gap:3px; }
  .research-current-target strong { font-size:11px; }
  .research-toolbar { grid-template-columns:minmax(120px,1fr) minmax(130px,.8fr) auto; gap:8px; }
  .research-toolbar label { font-size:9px; margin:0; }
  .research-viewport-controls { grid-column:auto; flex-wrap:nowrap; gap:4px; }
  .research-viewport-controls button { padding:8px; font-size:10px; }
  .research-zoom-controls { gap:3px; }
  .research-zoom-value { min-width:37px; }
  .research-status-legend { padding:0; gap:3px 9px; }
  .research-legend-item { min-height:20px; }
  .research-legend-item .icon { width:14px; height:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .research-bureau * { scroll-behavior:auto!important; transition:none!important; }
}
