:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#263746;background:#f5fbff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%}body{overflow:hidden}button{font:inherit;border:0}.app{width:100vw;height:100vh;display:grid;grid-template-rows:48px 1fr 30px;background:#f5fbff}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #dbeaf4;background:#fff}.brand{font-size:17px;font-weight:650;letter-spacing:-.03em;color:#253746}.star{color:#69b8e8}.product{font-size:12px;color:#8aa1b2}.workspace{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#dbeaf4}.panel{min-width:0;min-height:0;background:#fff}.source-panel{display:grid;grid-template-rows:42px auto minmax(0,1fr)}.output-panel{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr)}.observation-header{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:42px;padding:0 12px 0 16px;border-bottom:1px solid #e7f0f6;background:#fff}.observation-title{color:#758d9e;font-size:12px;font-weight:600}.observation-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.observation-actions select{font:inherit;padding:5px 8px;border:1px solid #dbeaf4;border-radius:6px;background:#fff;color:#526f82;font-size:11px}.origins-option{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#718a9b;font-size:11px;font-weight:500}.heap-option{display:flex;align-items:center}.heap-option input{width:76px;padding:5px 7px;border:1px solid #dbeaf4;border-radius:6px;background:#fff;color:#526f82;font:inherit;font-size:11px}.heap-option input::placeholder{color:#a9bcc9}.panel-header,.tabs{display:flex;align-items:center;min-height:42px;border-bottom:1px solid #e7f0f6}.panel-header{justify-content:space-between;padding:0 12px 0 16px;font-size:12px;font-weight:600;color:#758d9e}.tab-groups{display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid #e7f0f6;background:#fbfdff}.group-tab{padding:5px 10px;border-radius:6px;background:transparent;color:#91a5b4;font-size:11px;font-weight:600;cursor:pointer}.group-tab:hover{background:#f1f8fc;color:#527c95}.group-tab.active{background:#e6f5fd;color:#3983ad}.backend-groups{display:flex;align-items:center;gap:3px;padding:4px 8px;border-bottom:1px solid #e7f0f6;background:#fff}.backend-groups[hidden],#run-button[hidden],#emit-button[hidden]{display:none!important}.backend-tab{padding:4px 9px;border-radius:5px;background:transparent;color:#91a5b4;font-size:11px;font-weight:600;cursor:pointer}.backend-tab:hover{background:#f1f8fc;color:#527c95}.backend-tab.active{background:#edf8fe;color:#3983ad}#run-button{padding:6px 14px;border-radius:7px;background:#e8f7ef;color:#438567;font-size:12px;font-weight:600;cursor:pointer}#run-button:hover{background:#d9f1e4}#run-button:disabled{cursor:default;opacity:.55}#emit-button{padding:6px 14px;border-radius:7px;background:#dff3ff;color:#347ca6;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s ease,opacity .12s ease}#emit-button:active{background:#bce6fb}#emit-button:disabled{cursor:default;opacity:.55}#source-editor{min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;background:#fff}#source-editor .cm-editor{width:100%;height:100%}#source-editor .cm-scroller{overflow:auto}#source-editor .cm-content{min-height:100%}.tabs{padding:0 8px;gap:2px;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap}.tab{align-self:stretch;flex:0 0 auto;padding:0 12px;background:transparent;color:#91a5b4;font-size:11px;font-weight:600;cursor:pointer;border-bottom:2px solid transparent}.tab:hover{color:#527c95}.tab.active{color:#3983ad;border-bottom-color:#78c5ef}.tab.unavailable,.group-tab.unavailable,.backend-tab.unavailable{opacity:.4;cursor:not-allowed}.tab.unavailable:hover{color:#91a5b4;border-bottom-color:transparent}.group-tab.unavailable:hover{background:transparent;color:#91a5b4}#output{margin:0;min-width:0;min-height:0;overflow:auto;padding:18px;background:#fbfdff;color:#38505f;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65;white-space:pre;-moz-tab-size:2;tab-size:2}.output-line.origin{border-radius:3px;cursor:pointer;box-shadow:inset 2px 0 #bcdbed}.output-line.origin:hover{background:#e8f4fc}.output-line.origin.highlight{background:#d7ecfa;box-shadow:inset 2px 0 #78c5ef}.file-tabs{display:flex;align-items:center;gap:2px;overflow-x:auto;overflow-y:hidden;min-height:30px;padding:0 8px;border-bottom:1px solid #e7f0f6;background:#f6fbfe}.file-tab{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:4px 8px;border-radius:6px 6px 0 0;background:transparent;color:#91a5b4;font-size:11px;font-weight:600;cursor:pointer}.file-tab:hover{color:#527c95}.file-tab.active{background:#fff;color:#3983ad;box-shadow:inset 0 -2px #78c5ef}.file-tab-close{color:#b6c6d2;font-weight:700}.file-tab-close:hover{color:#d06f6f}.module-graph{display:flex;flex-direction:column;gap:10px}.module-entry{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid #e2eef7;border-radius:8px;background:#fff}.module-entry.entry{border-color:#bcdbed;background:#f4fbff}.module-header{align-self:flex-start;background:transparent;color:#317fa8;font-size:12px;font-weight:700;cursor:pointer}.module-header:hover{text-decoration:underline}.module-import{align-self:flex-start;padding:2px 6px;border-radius:5px;background:transparent;color:#7b8f9d;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:11px;cursor:default}.module-import.resolved{color:#3983ad;cursor:pointer}.module-import.resolved:hover{background:#e8f4fc}.module-import.empty{color:#b6c6d2;font-style:italic}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-top:1px solid #dbeaf4;background:#edf8fe;color:#718a9b;font-size:10px}.status{display:flex;align-items:center;gap:7px}.status-dot{width:6px;height:6px;border-radius:50%;background:#75c2a0}.status-dot[data-state=working]{background:#73bde7}.status-dot[data-state=error]{background:#e58a8a}.diagnostic-count{color:#9ab0bf}.diagnostic-count[data-state=ok]{color:#75a98c}.diagnostic-count[data-state=error]{color:#d06f6f;font-weight:600}.status-right{display:flex;align-items:center;gap:10px}.cursor-position{color:#9ab0bf;font-variant-numeric:tabular-nums}.shortcut{color:#9ab0bf}@media(max-width:760px){.workspace{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.file-actions{display:flex;align-items:center;gap:4px}.file-actions button{padding:6px 10px;border-radius:7px;background:transparent;color:#6e899a;font-size:12px;font-weight:600;cursor:pointer}.file-actions button:hover{background:#edf8fe}#emit-button{background:#dff3ff;color:#347ca6}#emit-button:hover{background:#cdeeff}.source-title{display:flex;align-items:center;gap:10px}#file-name{color:#9aafbd;font-weight:500}.file-name{padding:2px 5px;border:0;border-radius:5px;background:transparent;color:#9aafbd;font-size:11px;font-weight:500;cursor:text}.file-name:hover{background:#edf8fe;color:#66899f}
