:root{color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#090d10;color:#c9d0d1;font:12px Arial,Helvetica,sans-serif}button,select,input{font:12px Arial,Helvetica,sans-serif}button,select{border:1px solid #596167;border-radius:0;background:#22282d;color:#e3e5e5;padding:3px 8px;cursor:pointer}button:hover,button.active{background:#415058}button:active{background:#617480}input[type=range]{width:100px;vertical-align:middle;accent-color:#a9b8c0}input[type=checkbox]{accent-color:#8d9eaa;vertical-align:middle}.bar{min-height:31px;background:#252b30;border-bottom:1px solid #51595d;display:flex;align-items:center;gap:5px;padding:3px 7px;flex-wrap:wrap}.bar:first-child{background:#343a40}.bar b{font-size:13px;letter-spacing:.03em}.bar span{color:#c1c7c8}.bar label{margin-left:7px;white-space:nowrap}.bar .right{margin-left:auto;font:11px monospace}.tabs{background:#1c2227}.tabs button.active{background:#77828a;color:#090e11}.tabs #play{margin-left:auto}.status{padding:5px 8px;background:#151c20;border-bottom:1px solid #465056;font:11px monospace;color:#b0c1c5}.layout{display:grid;grid-template-columns:235px minmax(360px,1fr) 320px;height:calc(100vh - 145px);min-height:570px}.left,.rightpanel{background:#141a1e;overflow:auto;border-right:1px solid #5c666b}.rightpanel{border-left:1px solid #5c666b;border-right:0}.section{background:#293137;border-top:1px solid #5a6266;border-bottom:1px solid #596167;font-weight:bold;padding:6px 8px;margin-top:8px;color:#dce1e2}.section:first-child{margin-top:0}.entry{display:block;padding:5px 8px;border-bottom:1px solid #252e32}.left table,.rightpanel table{border-collapse:collapse;width:100%;font:11px monospace;margin:5px 0}.left td,.rightpanel td{border-bottom:1px solid #293237;padding:6px 8px}.left td:last-child,.rightpanel td:last-child{text-align:right;color:#c4d7d6}.left p,.rightpanel p{font-size:11px;line-height:1.55;padding:0 8px;color:#aebdc0}.wide{display:block;margin:5px 8px;width:calc(100% - 16px);text-align:left}.center{display:grid;grid-template-rows:25px minmax(230px,1fr) 205px 180px;min-height:0;background:#0a0e11}.pane-title{height:25px;background:#222a2e;border-bottom:1px solid #536066;padding:5px 8px;font:11px monospace;color:#d1dfe0;display:flex;justify-content:space-between;align-items:center}.pane-title span{color:#92a6a8}.viewport{position:relative;min-height:0}.viewport canvas{width:100%;height:100%;display:block;cursor:grab}.viewport canvas:active{cursor:grabbing}.overlay{position:absolute;left:12px;top:10px;pointer-events:none;color:#98a8ac;font:10px/1.6 monospace}.plotbar{min-height:0;display:flex;flex-direction:column;border-top:1px solid #56636b}.plotbar canvas{display:block;width:100%;flex:1;min-height:0}.legend{height:19px;display:flex;gap:18px;align-items:center;padding:0 10px;font:10px monospace;color:#c1ced1}.legend span:nth-child(1){color:#dbba78}.legend span:nth-child(2){color:#81c6d2}.legend span:nth-child(3){color:#df857d}.legend span:nth-child(4){color:#a6bc86}.eq{padding:9px 9px 10px;border-bottom:1px solid #394348;font:13px/1.7 'Courier New',monospace;overflow-wrap:anywhere}.eq small{display:block;color:#97a8ab;font:10px Arial;margin-bottom:6px}.rightpanel a{display:block;padding:8px;color:#b5d2e0;border-bottom:1px solid #364044}.workspace{position:fixed;inset:93px 0 22px;background:#10171b;z-index:3;overflow:auto}.workspace-head{position:sticky;top:0;background:#303940;padding:6px 10px;display:flex;justify-content:space-between;border-bottom:1px solid #657077}.workspace #workspace-content{padding:14px;max-width:1450px;margin:auto}.workspace h2{font-size:15px}.workspace pre{white-space:pre-wrap;background:#080e11;border:1px solid #435157;padding:12px;font:12px/1.5 monospace;overflow:auto}.workspace table{border-collapse:collapse;font:11px monospace;width:100%}.workspace td,.workspace th{padding:6px;border:1px solid #465257;text-align:left}.workspace a{color:#a9d0e0}.workspace iframe{width:100%;height:70vh;border:1px solid #59676e;background:#fff}footer{background:#20272b;color:#aab7ba;font:10px monospace;padding:4px 8px}@media(max-width:1050px){.layout{grid-template-columns:185px minmax(330px,1fr) 250px}.eq{font-size:11px}}@media(max-width:750px){.layout{display:block;height:auto}.left,.rightpanel{height:auto}.center{height:780px}.workspace{inset:120px 0 0}.bar .right{display:none}}

.research-layout{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid #56636a;min-height:70vh}.research-index{border-right:1px solid #536068;background:#131b1f}.case-select{display:block;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #39464b;padding:10px 8px;line-height:1.35;font:12px Arial;color:#d4dcdd}.case-select small{display:block;color:#8da0a6;font:10px monospace;margin-top:4px}.case-select.active{background:#43525a}.research-detail{min-width:0;background:#10171a}.research-head{padding:11px;background:#293238;border-bottom:1px solid #56636a;font:13px monospace}.research-head span{float:right;font:10px monospace;color:#a5b7b9}.research-row{padding:10px 13px;border-bottom:1px solid #3c4a4f;font:12px/1.6 Arial}.research-row b{display:block;font:11px monospace;color:#aebec2;margin-bottom:5px}.research-row pre,.method-line pre{background:#0b1114;border:0;border-left:2px solid #52636b;padding:8px 10px;margin:6px 0;white-space:pre-wrap;font:12px/1.6 monospace}.mono{font:11px/1.65 monospace;color:#a9b8bc}.case-plot{display:block;width:100%;max-width:950px;height:auto;margin:10px 0;border:1px solid #46565c}.data-scroll{max-height:280px;overflow:auto;margin-top:10px}.data-scroll table{width:max-content;min-width:100%}.method-note{font:11px/1.6 monospace;border:1px solid #4d5d64;padding:10px;margin-bottom:10px}.method-list{border:1px solid #4d5d64}.method-line{display:grid;grid-template-columns:62px 1fr;gap:10px;border-bottom:1px solid #455259;padding:12px 10px}.method-id{font:12px monospace;color:#a8bfc7}.method-line b{font:13px Arial}.method-desc{margin:5px 0;font:12px/1.5 Arial;color:#c4ccce}@media(max-width:780px){.research-layout{display:block}.research-index{border-right:0}.research-head span{float:none;display:block;margin-top:5px}}
