.research-pane{position:absolute;inset:0;z-index:30;background:#f3f7fa;color:#23394b;display:flex;flex-direction:column;gap:12px;padding:20px;font-size:13px;box-sizing:border-box;overflow:hidden}
.research-pane[hidden]{display:none}
[data-schedule-view="buffer"]{position:relative}
.research-pane *{box-sizing:border-box}
.research-pane button{font-family:inherit;cursor:pointer}
.research-header{display:flex;justify-content:space-between;align-items:center;gap:16px}
.research-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#138778}
.research-header h2{font-size:23px;margin:5px 0 0;font-weight:700}
.research-header h2 small{font-size:11px;background:#e5edf4;color:#667f93;padding:4px 7px;border-radius:5px;vertical-align:middle}
.research-header-actions{display:flex;align-items:center;gap:10px}
.research-header-actions>span{font-size:11px;color:#70889a}
.research-pane button{border:1px solid #ccdbe4;border-radius:7px;background:#fff;color:#365365;padding:8px 12px}
.research-header-actions button:first-of-type{background:#147e74;color:white;border-color:#147e74}
.research-summary{display:flex;gap:0;align-items:stretch;background:#fff;border:1px solid #dae5ec;border-radius:10px;overflow:hidden;flex-shrink:0}
.research-summary>div,.research-summary>button{flex:1;display:flex;align-items:center;gap:10px;padding:13px 18px;border:0;border-right:1px solid #e6edf1;border-radius:0;white-space:nowrap}
.research-summary span{font-size:12px}
.research-summary b{font-size:26px;font-weight:700}
.research-summary small{font-size:11px;color:#7e909d}
.research-summary .research-hole-summary{background:#fff1ef;color:#b83e35}
.research-summary>p{padding:8px 18px;margin:0;color:#718796;font-size:11px;line-height:1.7;min-width:200px}
.research-canvas{min-height:300px;flex:1.3;background:#fbfdfe;border:1px solid #d7e3eb;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 3px 12px #23394b04}
.research-canvas-caption{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;border-bottom:1px solid #e6edf2;font-weight:600;font-size:12px}
.research-canvas-caption>span{display:flex;align-items:center;gap:8px}
.research-canvas-caption>span>i{width:7px;height:7px;background:#149c88;border-radius:50%}
.research-canvas-caption button{padding:4px 10px;margin-left:4px;font-size:11px}
.research-viewport{position:relative;flex:1;min-height:0;overflow:auto;background-image:radial-gradient(#cfdae2 .8px,transparent .8px);background-size:16px 16px}
.research-world{position:absolute;width:1280px;height:490px;transform-origin:top left;transition:transform .25s}
.research-edges{position:absolute;inset:0;width:1280px;height:490px;overflow:visible}
.research-edge{fill:none;stroke:#b4c3cc;stroke-width:1.7}
.research-pulse{fill:none;stroke:transparent;stroke-width:3;stroke-dasharray:8 24}
.research-edges text{font-size:9px;fill:#768c9b;paint-order:stroke;stroke:#fbfdfe;stroke-width:4;stroke-linejoin:round}
.research-edges .is-empty{opacity:.45}
.research-edges .is-visited .research-edge{stroke:#279d8d;stroke-width:2.2}
.research-edges .is-travelling .research-pulse{stroke:#35bda7;animation:research-flow 1.4s linear infinite}
.research-node{position:absolute;width:170px;height:112px;padding:12px 12px 10px!important;display:flex;flex-direction:column;text-align:left;background:#fff!important;border:1px solid #cbdbe5!important;border-radius:9px!important;box-shadow:0 3px 8px #193b5410;overflow:visible;transition:border-color .3s,box-shadow .3s}
.research-node-icon{position:absolute;right:12px;top:13px;width:29px;height:29px;border-radius:7px;background:#eaf3f7;color:#377798;text-align:center;padding-top:4px;font-size:19px}
.research-node>small{font-size:9px;color:#778c99;letter-spacing:1px;font-weight:700;margin:1px 0 9px}
.research-node>strong{font-size:13px;line-height:1.4;margin-bottom:5px}
.research-node>span:not(.research-node-icon){font-size:10px;white-space:nowrap;color:#617c8e}
.research-node>em{font-size:9px;color:#8da0ad;font-style:normal;margin-top:5px}
.research-port{position:absolute;width:9px;height:9px;border:1.5px solid #9bb0bd;border-radius:50%;background:#fff;z-index:2}
.port-in{left:-5px;top:49px}
.port-out{right:-5px}
.research-node.is-selected{border:2px solid #197bba!important;box-shadow:0 0 0 4px #197bba12,0 5px 15px #153a5414}
.research-node.is-running{box-shadow:0 0 0 5px #1aa78c20,0 5px 18px #153a5415}
.research-node.is-visited .research-port{border-color:#259b8a}
.research-node-check{display:none;position:absolute;bottom:7px;right:8px;color:#159780;font-size:13px}
.research-node.is-visited .research-node-check{display:block}
.node-status .research-node-icon{background:#e7f4ef;color:#27866e}
.node-holes .research-node-icon,.node-missing .research-node-icon{background:#fff0ed;color:#c1604c}
.node-black .research-node-icon{background:#e9edf1;color:#344958}
.node-history .research-node-icon,.node-calendar .research-node-icon,.node-eta .research-node-icon{background:#eeeefa;color:#736ab1}
.research-legend{padding:7px 16px;display:flex;gap:20px;border-top:1px solid #e5edf2;font-size:10px;color:#7b91a1}
.research-fixture-label{margin-left:auto;color:#7c7397}
.research-lower{flex:1;min-height:245px;display:grid;grid-template-columns:1.28fr 1fr;gap:12px;overflow:hidden}
.research-holes,.research-inspector{border:1px solid #d6e3eb;border-radius:10px;background:#fff;overflow:hidden;min-height:0}
.research-holes{display:flex;flex-direction:column}
.research-holes header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #e5edf2}
.research-holes header strong{font-size:14px}
.research-holes header span{display:block;font-size:10px;color:#8093a1;margin-top:5px}
.research-holes header button{font-size:10px;padding:6px 9px}
.research-table-scroll{overflow:auto;flex:1}
.research-holes table{width:100%;border-collapse:collapse;font-size:11px}
.research-holes th{font-size:10px;color:#7d91a1;text-align:left;padding:8px 12px;background:#f5f8fa;position:sticky;top:0}
.research-holes td{border-top:1px solid #edf1f4;padding:9px 12px;white-space:nowrap}
.research-holes td strong{font-size:11px;font-weight:600}
.research-holes td small{display:block;font-size:9px;color:#889ba8;margin-top:4px}
.research-holes td button{padding:0;border:0;text-align:left;background:transparent}
.research-holes td button strong{color:#197bad}
.research-holes td button span{display:block;font-size:9px;color:#8297a6;margin-top:3px}
.research-holes tr.is-selected{background:#edf6fb}
.research-zone{font-size:9px;padding:3px 5px;border-radius:4px;display:inline-block;font-weight:700;letter-spacing:.2px}
.research-zone.is-red{color:#b34943;background:#fdebea}
.research-zone.is-yellow{color:#967826;background:#fff4d7}
.research-zone.is-green{color:#33866a;background:#e7f4ec}
.research-zone.is-black{color:white;background:#344451}
.research-inspector{overflow:auto;padding:15px 19px}
.research-detail-head>span{font-size:10px;color:#7691a1}
.research-detail-head h3{font-size:19px;margin:6px 0 12px;display:flex;align-items:center;gap:8px}
.research-detail-head h3 em{font-size:10px;font-style:normal;color:#bd6955;margin-left:auto}
.research-inspector p{font-size:11px;line-height:1.75;color:#6c8495;margin:9px 0}
.research-formula{padding:10px 12px;border:1px solid #dbe8ef;background:#f4f8fb;border-radius:6px;color:#2c6b8e;font-size:12px}
.research-provenance{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:9px;color:#8b9eaa;border-bottom:1px solid #e4edf2;padding-bottom:10px}
.research-group-title{font-size:11px;font-weight:700;margin:12px 0 8px}
.research-group-list{display:flex;flex-direction:column;gap:5px}
.research-group-list button{display:flex;align-items:center;gap:10px;font-size:10px;padding:6px 9px;border-color:#e1eaf0}
.research-group-list button span:nth-child(2){color:#788fa1;flex:1;text-align:left}
.research-group-list button small{color:#718794}
.research-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:0 0 12px}
.research-facts dt{font-size:9px;color:#8b9ca9;margin-bottom:3px}
.research-facts dd{font-size:11px;margin:0;color:#48677d}
.research-estimate-title{display:flex;justify-content:space-between;border-top:1px solid #e4edf2;padding-top:11px;font-size:11px}
.research-estimate-title span{font-size:9px;color:#9485b0}
.research-duration{display:flex;align-items:center;gap:12px;padding:9px 0}
.research-duration strong{font-size:24px;color:#197c8e;white-space:nowrap}
.research-duration span{font-size:10px;line-height:1.6;color:#748c9b}
.research-arrivals{display:flex;gap:8px}
.research-arrivals>div{flex:1;background:#eef7f7;padding:9px 11px;border-radius:6px}
.research-arrivals>div+div{background:#f2f4f9}
.research-arrivals span{display:block;font-size:9px;color:#778e9a}
.research-arrivals b{display:block;font-size:16px;color:#356f7d;margin-top:4px}
.research-calendar-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#8599a7;margin-top:10px}
.research-calendar-title button{font-size:9px;padding:5px 7px}
.research-calendar-segments{margin:6px 0;padding:0;list-style:none;font-size:10px}
.research-calendar-segments li{display:flex;justify-content:space-between;margin:4px 0;padding-left:8px;border-left:2px solid #93c7bb;color:#668195}
.research-footnote{font-size:9px!important;border-top:1px solid #e4edf2;padding-top:8px}
.research-history{font-size:10px;margin-top:8px;color:#718596}
.research-history summary{cursor:pointer}
.research-history table{width:100%;font-size:9px}
.research-history td,.research-history th{text-align:left;padding:3px}
.research-footer{font-size:10px;color:#8097a8;display:flex;justify-content:space-between;flex-shrink:0}
.research-footer b{color:#3d8e7f}
.research-pointer{position:fixed;z-index:10000;width:27px;height:32px;pointer-events:none;filter:drop-shadow(0 2px 3px #1b34433a);transition:left .5s cubic-bezier(.2,.8,.2,1),top .5s cubic-bezier(.2,.8,.2,1)}
.research-pointer[hidden]{display:none}
.research-pointer.is-clicking:after{content:'';position:absolute;left:-15px;top:-15px;width:35px;height:35px;border:2px solid #18a48e;border-radius:50%;animation:research-click .45s ease-out}
.research-entry{margin-left:10px!important;background:#147e74!important;color:white!important;border-color:#147e74!important}
@keyframes research-flow{to{stroke-dashoffset:-64}
}
@keyframes research-click{from{transform:scale(.4);opacity:1}
to{transform:scale(1.2);opacity:0}
}
@media(prefers-reduced-motion:reduce){.research-pointer,.research-world{transition:none}
.research-pulse{animation:none!important}
}
.research-pane .research-node>strong{font-size:17px}
.research-pane .research-node>small{font-size:11px}
.research-pane .research-node>span:not(.research-node-icon){font-size:12px}
.research-pane .research-node>em{font-size:11px}
.research-pane .research-edges text{font-size:11px}
.research-pane .research-node-icon{width:25px;height:25px;font-size:17px;right:8px}
.research-pane .research-node>strong{letter-spacing:-.7px}
.research-pane .research-holes td,.research-pane .research-holes td strong{font-size:13px}
.research-pane .research-holes td small,.research-pane .research-holes td button span{font-size:11px}
.research-pane .research-holes th{font-size:12px}
.research-pane .research-inspector p{font-size:13px}
.research-pane .research-group-list button{font-size:12px}
.research-pane .research-facts dd{font-size:13px}
.research-pane .research-facts dt{font-size:11px}
.research-pane .research-provenance{font-size:11px}
.research-pane .research-duration span{font-size:12px}
.research-pane .research-arrivals span,.research-pane .research-calendar-title{font-size:11px}
.research-pane .research-calendar-segments{font-size:12px}
.research-pane .research-footnote{font-size:11px!important}
.research-pane .research-lower{grid-template-columns:1.25fr 1fr}
.research-pane .research-holes td{padding:9px 10px}
.research-time-branches{display:flex;gap:6px;margin:10px 0}
.research-time-branches button{flex:1;padding:8px!important;text-align:left}
.research-time-branches b,.research-time-branches small{display:block;margin-top:5px;font-size:11px}
.research-time-branches button[aria-pressed="true"]{border-color:#2487b3!important;background:#eff7fc!important}
.research-pane .research-world,.research-pane .research-edges{height:385px}
.research-pane .research-node{height:96px;padding-top:9px!important}
.research-pane .research-node>small{margin-bottom:5px}
.research-pane .research-node>em{margin-top:3px}
.research-pane .research-lower{min-height:330px}
.research-pane .research-holes td{padding:6px 10px}
.research-pane .research-holes td small{margin-top:3px}
.research-pane .research-holes th{padding:6px 10px}
.research-pane .research-holes header{padding:9px 14px}
