.research-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start}.research-workspace textarea{min-height:340px}.diagram-preview{min-height:340px;max-height:650px;overflow:auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px}.diagram-preview>svg{max-width:100%;height:auto;min-width:260px}.research-workspace .studio-result{min-height:120px;max-height:400px;overflow:auto}.research-workspace details{margin-top:16px}.research-workspace summary{cursor:pointer;font-size:14px;font-weight:550;padding:8px 0}.pipeline-add{display:flex;align-items:end;gap:12px;margin:20px 0}.pipeline-add .field{flex:1;margin:0}.recipe-list{list-style:none;counter-reset:recipe;padding:0;display:grid;gap:8px}.recipe-list li{counter-increment:recipe;display:flex;align-items:center;flex-wrap:wrap;gap:8px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg)}.recipe-list li:before{content:counter(recipe);font:12px Consolas,monospace;color:var(--muted)}.recipe-list input[type=checkbox]{width:auto;min-height:22px}.recipe-list strong{font-size:13px;flex:1}.recipe-list button{min-width:32px;min-height:34px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;cursor:pointer}.recipe-list input:not([type=checkbox]){width:calc(50% - 4px);font-size:12px}.recipe-list button:disabled{opacity:.35;cursor:default}#stages details{border:1px solid var(--line);padding:8px 12px;border-radius:10px}#stages pre{max-height:250px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 Consolas,monospace}#cron-explanation p{font-size:14px;margin:10px 0}#cron-dates table{width:100%;border-collapse:collapse;font-size:13px}#cron-dates td,#cron-dates th{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}#schema-list{margin-top:20px}#schema-list details{padding:8px 12px;background:var(--bg);border:1px solid var(--line);border-radius:10px}#schema-list p{font:12px/1.5 Consolas,monospace;margin:8px 0;overflow-wrap:anywhere}.editor-toolbar{align-items:end;margin:0 0 20px}.editor-toolbar .field{margin:0;min-width:180px}.model-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.model-stage{padding:14px!important}.canvas-scroll{overflow:auto;max-width:100%;border-radius:12px;overscroll-behavior-x:contain}.canvas-scroll>svg{width:100%;height:auto;min-width:700px;display:block;touch-action:none}.canvas-scroll [data-node]{cursor:grab}.canvas-scroll [data-node]:focus{outline:none}.canvas-scroll [data-node]:focus rect{stroke:#9232b2;stroke-width:4}.canvas-scroll [data-node]:active{cursor:grabbing}.model-stage .hint{margin:15px 6px 0}.link-row{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.link-row span{flex:1;overflow-wrap:anywhere}.link-row button{min-height:36px;padding:6px 8px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;cursor:pointer}.experiment-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end}.experiment-controls>.field{flex:1;min-width:130px;margin-bottom:8px}.experiment-controls>.field:has(#input){flex-basis:100%}.experiment-controls>.check{min-height:42px}.experiment-panel .actions{margin:14px 0}.speed-control{max-width:340px;margin:20px 0}.speed-control input{padding:6px;accent-color:#5282ad}#experiment-stage{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f2f6fa}#lab-canvas{display:block;width:100%;height:auto;touch-action:none}.experiment-summary{font:14px/1.6 Inter,sans-serif;color:var(--text);margin:16px 0}.experiment-panel details{margin-top:24px}.experiment-panel .studio-result{min-height:100px;max-height:300px;overflow:auto}.experiment-panel summary{font-size:14px;cursor:pointer}.experiment-panel input,.experiment-panel select{min-width:0}.model-workspace h3{font-size:15px;margin:24px 0 12px}body[data-current-tool] .editor-toolbar select{min-height:42px}
@media(max-width:900px){.research-workspace,.model-workspace{grid-template-columns:1fr}.model-workspace>.panel:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.model-workspace>.panel:last-child h2,.model-workspace>.panel:last-child h3,.model-workspace>.panel:last-child .actions,#link-list{grid-column:1/-1}.diagram-preview{max-height:500px;min-height:250px}.experiment-controls>.field{min-width:140px}}
@media(max-width:650px){.pipeline-add{align-items:stretch;flex-direction:column}.recipe-list li{padding:10px}.recipe-list strong{font-size:12px}.recipe-list button{min-width:36px;min-height:38px}.diagram-preview{padding:10px}.model-workspace>.panel:last-child{display:block}.editor-toolbar{display:grid;grid-template-columns:1fr 1fr}.editor-toolbar .field{grid-column:1/-1}.experiment-controls{gap:8px}.experiment-controls>.field{min-width:120px;font-size:12px}.experiment-panel .action{flex:1}.experiment-summary{font-size:12px}.experiment-panel{padding:16px 12px!important}#cron-dates table{font-size:12px}#cron-dates td{padding:10px 8px}.canvas-scroll>svg{min-width:740px}}
.diagram-preview{grid-template-columns:minmax(0,1fr)}body[data-current-tool] input.research-file{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;overflow:hidden;clip-path:inset(50%)}.research-filename{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
body[data-current-tool] .research-workspace textarea{font-family:'SFMono-Regular',Consolas,monospace;font-weight:400;font-size:13px}
