.lab-shell{--background:#090b0f;--panel:#101319;--border:#2b303b;--border-strong:#424958;--text:#f0f2f6;--muted:#858c99;--quiet:#555d6b;--data:#5fa8ff;--data-soft:#1b3553;--control:#ffb454;--control-soft:#4a3420;--address:#c58cff;--green:#62d59a;--red:#ff6f7d;height:100svh;color:var(--text);background:var(--background);font-family:var(--vertex-display);overflow:hidden}.lab-shell *,.lab-shell :before,.lab-shell :after{box-sizing:border-box}.lab-shell button,.lab-shell select{font:inherit}.lab-shell button:focus-visible,.lab-shell select:focus-visible,.lab-shell a:focus-visible{outline:2px solid var(--data);outline-offset:3px}.topbar{border-bottom:1px solid var(--border);background:#0c0e13;grid-template-columns:1fr auto;align-items:center;gap:20px;height:64px;padding:0 22px;display:grid}.title-lockup{white-space:nowrap;align-items:baseline;gap:11px;display:flex}.title-lockup h1{letter-spacing:.12em;margin:0;font-size:20px;font-weight:740;line-height:1}.title-lockup p{color:var(--muted);margin:0;font:9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.vertex-navigation{align-items:center;gap:18px;min-width:0;display:flex}.mode-switch{background:#090b0f;border:1px solid #303642;border-radius:5px;grid-template-columns:1fr 1fr;height:34px;padding:3px;display:inline-grid}.mode-switch button{color:#686f7c;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:3px;min-width:78px;padding:0 12px;font:8px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.mode-switch button:hover{color:#bdc3cd}.mode-switch button.is-active{color:#dceaff;background:#182333;box-shadow:inset 0 0 0 1px #31577f}.program-note{color:#555d6b;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;font:7px/1 ui-monospace,monospace;overflow:hidden}.transport{justify-content:flex-end;align-items:center;gap:7px;display:flex}.transport button,.speed{border:1px solid var(--border-strong);color:#c2c7d1;white-space:nowrap;background:#141820;border-radius:6px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 13px;font:10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex}.transport button{cursor:pointer}.transport button:hover:not(:disabled){color:#fff;background:#1a1f29;border-color:#606878}.transport button:disabled{opacity:.35;cursor:not-allowed}.transport .run-button{color:#c6e0ff;background:#10243c;border-color:#2c5d91;min-width:82px}.transport-icon{width:12px;height:12px;color:var(--data);flex:none;position:relative}.play-icon:before{content:"";border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid;width:0;height:0;position:absolute;top:1px;left:3px}.pause-icon:before,.pause-icon:after{content:"";background:currentColor;border-radius:1px;width:3px;height:10px;position:absolute;top:1px}.pause-icon:before{left:2px}.pause-icon:after{right:2px}.transport .reset-button{width:40px;padding:0;font-size:18px}.speed{color:var(--quiet);padding-right:7px}.speed span{text-transform:uppercase;letter-spacing:.08em;font-size:8px}.speed select{appearance:none;color:#c0c5cf;font:inherit;cursor:pointer;background:0 0;border:0;outline:0}.stage-scroll{background:var(--background);place-items:center;height:calc(100svh - 64px);display:grid;overflow:auto}.cpu-stage{aspect-ratio:1400/720;background:var(--background);flex:none;width:min(100vw,194.44svh - 124.442px);min-width:1180px;position:relative}.wires{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wire{fill:none;vector-effect:non-scaling-stroke;transition:opacity .15s,stroke .15s,filter .15s}.control-wire{stroke:var(--control-soft);stroke-width:1.5px;stroke-dasharray:4 5;marker-end:url(#arrow-control)}.control-connection.active .control-wire{stroke:var(--control);stroke-width:2px;filter:drop-shadow(0 0 4px #ffb4548c)}.control-pin{fill:#4a3420;stroke:#785831;stroke-width:1px;vector-effect:non-scaling-stroke}.control-connection.active .control-pin{fill:var(--control);stroke:#ffd29a;filter:drop-shadow(0 0 4px #ffb454b3)}.data-wire{stroke:var(--data-soft);stroke-width:5px}.data-wire.active{stroke:var(--data);filter:drop-shadow(0 0 5px #5fa8ff80)}.data-wire.branch{stroke-width:2.5px}.address-wire,.mar-wire{stroke:#51366d;stroke-width:1.5px}.address-wire.active,.mar-wire.active{stroke:var(--address);filter:drop-shadow(0 0 4px #c58cff6b)}.operand-wire{stroke:#31577f;stroke-width:1.5px}.operand-wire.operand-clearance{stroke:var(--background);stroke-width:6px}.operand-wire.active{stroke:var(--data);filter:drop-shadow(0 0 4px #5fa8ff6b)}#arrow-control path{fill:var(--control)}#arrow-address path{fill:var(--address)}#arrow-operand path{fill:var(--data)}.wire-label{paint-order:stroke;stroke:var(--background);stroke-width:5px;stroke-linejoin:round;letter-spacing:.05em;text-rendering:geometricprecision;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:7px;font-weight:500}.control-label-background{fill:var(--background);stroke:#302719;stroke-width:1px;vector-effect:non-scaling-stroke}.control-connection.active .control-label-background{fill:#18130c;stroke:#72532f}.control-label{fill:#b79a75;stroke:none;letter-spacing:0;text-rendering:optimizelegibility;font-size:10.5px;font-weight:650}.control-connection.active .control-label{fill:var(--control)}.address-label-background{fill:#17121c;stroke:#62477c;stroke-width:1px;vector-effect:non-scaling-stroke}.address-pin{fill:var(--address);stroke:#ead2ff;stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #c58cff8c)}.address-label{fill:#cba0f3;stroke:none;letter-spacing:0;text-rendering:optimizelegibility;font-size:9px;font-weight:650}.mar-label{fill:#8567a3}.operand-label{fill:#668db7;font-size:8px;font-weight:600}.data-label-background{fill:#0d1520;stroke:#284461;stroke-width:1px;vector-effect:non-scaling-stroke}.data-label{fill:#79a4d2;stroke:none;letter-spacing:0;text-rendering:optimizelegibility;font-size:9px;font-weight:650}.data-connection.active .data-label-background{fill:#102038;stroke:#3f7fbd}.data-connection.active .data-label{fill:#9bcaff}.module{--module-pad:10px;z-index:3;border:1px solid var(--border);background:var(--panel);border-radius:6px;transition:border-color .15s,background .15s;position:absolute;overflow:hidden}.module-active{background:#111923;border-color:#405d7e}.control-active{background:#18150f;border-color:#6a5132}.module-title{height:31px;padding:0 var(--module-pad);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.module-title>span{color:#a8aeb9;letter-spacing:.12em;font:8px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.module-title em{color:var(--quiet);white-space:nowrap;text-overflow:ellipsis;font:7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.control-module{flex-direction:column;width:18.57%;height:94.44%;display:flex;top:2.78%;left:1.43%}.control-module>.module-title{flex:none}.control-address{padding:9px var(--module-pad) 8px;flex-direction:column;flex:none;gap:7px;display:flex}.address-composition{min-width:0}.address-composition>small,.address-result small,.control-word small,.memory-values small{color:var(--quiet);letter-spacing:.08em;margin-bottom:6px;font:7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.address-segments{border:1px solid #62477c;border-radius:3px;grid-template-columns:3fr 8fr 4fr;height:46px;display:grid;overflow:hidden}.address-segments>span{background:#1d1625;border-right:1px solid #62477c;flex-direction:column;justify-content:center;gap:5px;min-width:0;padding:0 5px;display:flex}.address-segments>span:last-child{border-right:0}.address-segments em{color:#806894;white-space:nowrap;font:6px/1 ui-monospace,monospace;overflow:hidden}.address-segments b{color:var(--address);letter-spacing:.03em;font:500 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.control-readout{grid-template-columns:minmax(0,1fr) 10px minmax(0,1.35fr);align-items:center;gap:4px;display:grid}.address-result,.control-word{white-space:nowrap;background:#0d1015;border:1px solid #343a45;border-radius:3px;min-width:0;min-height:43px;padding:7px}.address-result{background:#17121c;border-color:#51366d}.control-word{background:#18140e;border-color:#5b4429}.address-result b,.control-word b{color:#e7e9ed;text-overflow:ellipsis;font:500 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:block;overflow:hidden}.rom-arrow{color:var(--control);font:12px/1 ui-monospace,monospace}.asserted-lines{min-height:57px;margin:0 var(--module-pad);border-top:1px solid var(--border);flex-wrap:wrap;flex:none;align-content:flex-start;gap:4px;padding:8px 0;display:flex}.asserted-heading{width:100%;color:var(--quiet);letter-spacing:.08em;justify-content:space-between;align-items:center;font:7px/1 ui-monospace,monospace;display:flex}.asserted-heading b{color:#8d7558;letter-spacing:0;font-weight:500}.signal{color:#656c79;white-space:nowrap;background:#12151b;border:1px solid #303642;border-radius:3px;align-items:center;height:20px;padding:0 7px;font:7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-flex}.signal.is-active{color:var(--control);background:#251a0d;border-color:#7c5b31}.no-signal{color:var(--quiet);font:8px ui-monospace,monospace}.instruction-breakdown{min-height:0;margin:0 var(--module-pad);border-top:1px solid var(--border);flex:1;padding-top:9px;overflow:hidden}.instruction-heading{justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.instruction-heading>span{flex-direction:column;gap:5px;min-width:0;display:flex}.instruction-heading small{color:var(--quiet);letter-spacing:.08em;font:7px/1 ui-monospace,monospace}.instruction-heading b{color:#f2c58c;white-space:nowrap;text-overflow:ellipsis;font:500 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.instruction-heading em{color:#8d7558;white-space:nowrap;flex:none;font:6px/1 ui-monospace,monospace}.microprogram{gap:2px;margin:0;padding:0;list-style:none;display:grid}.microprogram li{color:#686f7b;background:#0d1015;border:1px solid #0000;border-radius:3px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:19px;padding:2px 5px;display:grid}.microprogram li>small{color:#4e5561;font:6px/1 ui-monospace,monospace}.microprogram li>span{white-space:nowrap;text-overflow:ellipsis;font:6px/1.25 ui-monospace,monospace;overflow:hidden}.microprogram li.is-current{color:#ffd5a0;background:#251a0d;border-color:#7c5b31;box-shadow:0 0 8px #ffb4541a}.microprogram li.is-current>small{color:var(--control)}.clock-section{margin:7px var(--module-pad) 9px;border-top:1px solid var(--border);flex:none;padding-top:8px}.clock-heading{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.clock-heading span{color:#a8aeb9;letter-spacing:.1em;font:7px/1 ui-monospace,monospace}.clock-heading em{color:var(--quiet);font:6px/1 ui-monospace,monospace}.clock-levels{background:#110e0a;border:1px solid #4d3a23;border-radius:3px;grid-template-columns:1fr 1fr;height:31px;display:grid;overflow:hidden}.clock-levels>span{color:#62523e;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:0 8px;display:grid}.clock-levels>span+span{border-left:1px solid #4d3a23}.clock-levels small{font:5px/1 ui-monospace,monospace}.clock-levels b{font:500 8px/1 ui-monospace,monospace}.clock-levels>span.is-current{color:#171109;background:var(--control);box-shadow:0 0 9px #ffb45459}.clock-levels>span.is-current:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.clock-levels>span.is-current{grid-template-columns:auto 1fr auto}.system-control-nodes{grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px;display:grid}.system-node{color:#656c79;white-space:nowrap;background:#12151b;border:1px solid #303642;border-radius:3px;align-items:center;gap:4px;min-width:0;height:20px;padding:0 5px;font:5px/1 ui-monospace,monospace;display:flex;overflow:hidden}.system-node i{background:#1b160f;border:1px solid #554229;border-radius:50%;flex:none;width:5px;height:5px}.system-node.is-active{color:var(--control);background:#251a0d;border-color:#7c5b31}.system-node.is-active i{background:var(--control);border-color:#ffd29a;box-shadow:0 0 5px #ffb454a6}.alu-module,.registers-module,.memory-module,.flags-module,.output-module{width:55.71%;left:27.14%}.alu-module{height:23.61%;top:2.78%}.registers-module{height:34.03%;top:29.17%}.memory-module{height:9.72%;top:65.97%}.flags-module{height:8.33%;top:78.47%}.output-module{height:7.64%;top:89.58%}.alu-flow{grid-template-columns:150px minmax(0,1fr) 90px;align-items:center;gap:12px;height:calc(100% - 31px);padding:10px 10px 26px;display:grid}.alu-flow small{color:var(--quiet);letter-spacing:.08em;font:6px/1 ui-monospace,monospace;display:block}.alu-inputs{grid-template-columns:1fr 1fr;gap:5px;display:grid;position:relative}.alu-inputs:after,.operation-selector:after{content:"";background:#31577f;width:12px;height:1px;position:absolute;top:50%;right:-12px}.alu-inputs:before,.operation-selector:before{z-index:2;content:"";border-top:3px solid #0000;border-bottom:3px solid #0000;border-left:5px solid #4c7fac;width:0;height:0;position:absolute;top:calc(50% - 3px);right:-12px}.alu-inputs>small{grid-column:1/-1}.alu-inputs>span{background:#0d1520;border:1px solid #2e4054;border-radius:3px;flex-direction:column;justify-content:center;gap:5px;height:43px;padding:0 8px;display:flex}.alu-inputs>span.is-active{border-color:var(--data);background:#102038}.alu-inputs em{color:#7f9ab8;font:7px ui-monospace,monospace}.alu-inputs b{color:#d7e7f8;font:500 11px ui-monospace,monospace}.operation-selector{background:#0d1015;border:1px solid #343a45;border-radius:4px;min-width:0;padding:7px;position:relative}.operation-selector.is-active{border-color:#6a5132}.operation-selector>small{margin-bottom:6px}.operation-grid{grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.operation-grid>span{color:#555c68;background:#11141a;border:1px solid #282d36;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:31px;display:flex}.operation-grid em{color:#3f4651;font:5px ui-monospace,monospace}.operation-grid b{font:500 6px ui-monospace,monospace}.operation-grid>span.is-selected{border-color:var(--control);color:#ffd5a0;background:#2a1c0d;box-shadow:0 0 8px #ffb45433}.operation-grid>span.is-selected em{color:var(--control)}.alu-result{background:#0d1520;border:1px solid #2e4054;border-radius:3px;flex-direction:column;align-items:flex-start;gap:7px;padding:10px 8px;display:flex}.alu-result.is-active{border-color:var(--data);background:#102038}.alu-result b{color:var(--data);font:500 18px ui-monospace,monospace}.alu-result em{color:#6e849c;font:6px ui-monospace,monospace}.register-file-layout{grid-template-columns:minmax(0,1fr) 200px;gap:8px;height:calc(100% - 80px);padding:9px 10px 5px;display:grid}.registers-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(8,1fr);gap:4px;display:grid}.registers-grid>div{background:#0d1015;border:1px solid #282e38;border-radius:3px;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-width:0;padding:7px;display:flex;position:relative;overflow:hidden}.registers-grid small{color:#4f5662;letter-spacing:.04em;font:6px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.registers-grid span{color:#7d8490;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font:7px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.registers-grid b{color:#cfd3db;font:500 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.registers-grid i{color:var(--control);font:5px/1 ui-monospace,monospace;position:absolute;bottom:3px;right:4px}.registers-grid>div.is-pair-high{border-right-color:#3a414d;border-radius:3px 0 0 3px;margin-right:-4px}.registers-grid>div.is-pair-low{border-left-color:#3a414d;border-radius:0 3px 3px 0}.registers-grid>div.is-read{box-shadow:inset 3px 0 0 var(--data);background:#0e1c2a;border-color:#3973ad}.registers-grid>div.is-write{box-shadow:inset -3px 0 0 var(--control);background:#23190d;border-color:#8a622e}.registers-grid>div.is-read.is-write{box-shadow:inset 3px 0 0 var(--data), inset -3px 0 0 var(--control);background:linear-gradient(90deg,#0e1c2a,#23190d)}.registers-grid>div.is-read b{color:var(--data)}.registers-grid>div.is-write b{color:#ffd5a0}.registers-grid>div.is-mar{background:#17121c;border-color:#463650}.registers-grid>div.is-mar span{color:#a782c8}.registers-grid>div.is-mar b{color:var(--address)}.registers-grid>div.is-none{opacity:.4}.register-selectors{grid-template-rows:1fr 1fr;gap:7px;display:grid}.register-selectors>div{background:#0d1015;border:1px solid #313742;border-radius:4px;grid-template-rows:auto auto auto;grid-template-columns:1fr auto;align-content:center;gap:5px 7px;min-width:0;padding:8px 10px;display:grid;position:relative;overflow:hidden}.register-selectors>div:before{content:"";background:#343b47;width:4px;position:absolute;top:0;bottom:0}.write-selector:before{left:0}.read-selector:before{right:0}.register-selectors small{color:#555d69;grid-column:1/-1;font:6px/1 ui-monospace,monospace}.register-selectors span{color:#8a919d;white-space:nowrap;text-overflow:ellipsis;font:7px/1 ui-monospace,monospace;overflow:hidden}.register-selectors b{color:#757d89;font:500 6px/1 ui-monospace,monospace}.register-selectors b em{color:var(--control);letter-spacing:.06em;margin-left:4px;font:9px/1 ui-monospace,monospace}.register-selectors strong{color:#cbd0d8;grid-area:2/2/4;align-self:center;font:500 12px/1 ui-monospace,monospace}.register-selectors>div.is-active{background:#1c150d;border-color:#76552d}.register-selectors>div.is-active:before{background:var(--control);box-shadow:0 0 8px #ffb45466}.register-pairs{align-items:center;gap:6px;height:49px;padding:4px 10px 8px;display:flex}.register-pairs>span{background:#141820;border:1px solid #262c35;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;min-width:86px;height:31px;padding:0 8px;display:flex}.register-pairs small{color:#5f6672;font:6px/1 ui-monospace,monospace}.register-pairs b{color:#bfc4ce;font:500 9px/1 ui-monospace,monospace}.register-pairs>span.is-active{background:#1b1422;border-color:#654a80}.register-pairs>span.is-active b{color:var(--address)}.register-pairs .signal{margin-left:auto}.memory-module .module-title,.flags-module .module-title,.output-module .module-title{float:left;border-right:1px solid var(--border);border-bottom:0;width:120px;height:100%}.memory-values{float:left;height:100%;padding:8px 10px}.memory-values>div{background:#0d1015;border:1px solid #2a303a;border-radius:3px;align-items:center;gap:9px;min-width:95px;height:100%;padding:0 10px;display:flex}.memory-values small{margin:0}.memory-values b{color:#d8dbe1;font:500 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.memory-map{float:left;border:1px solid #303641;border-radius:3px;width:220px;height:calc(100% - 16px);margin:8px 10px 8px 0;display:flex;overflow:hidden}.memory-map span{color:#6c7380;align-items:center;padding:0 8px;font:6px ui-monospace,monospace;display:flex}.free-memory{background:#151922;flex:1}.program-memory{background:#2a2034;justify-content:center;width:38%;color:#b7a0cf!important}.memory-module>p{float:left;color:#676e7a;margin:17px 0 0;font:6px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.memory-module>p b{color:#a4a9b3;font-weight:500}.flags-row{float:left;align-items:center;gap:7px;height:100%;padding:8px 10px;display:flex}.flag{color:#5d6571;border:1px solid #282e38;border-radius:3px;align-items:center;gap:9px;min-width:95px;height:100%;padding:0 10px;font:6px ui-monospace,monospace;display:flex}.flag i{background:#1b1f26;border:1px solid #3a404b;border-radius:50%;flex:none;width:8px;height:8px}.flag.is-on{color:#d9b8fa}.flag.is-on i{background:var(--address);border-color:#d5adfa;box-shadow:0 0 7px #c58cffb3}.output-value{float:left;align-items:center;gap:14px;height:100%;padding:8px 10px;display:flex}.output-value b{min-width:60px;color:var(--data);font:500 25px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.output-value span{color:#727987;font:7px/1.4 ui-monospace,monospace}.component-control{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex;position:absolute;bottom:8px;right:10px}.memory-module .component-control,.flags-module .component-control,.output-module .component-control{top:50%;bottom:auto;transform:translateY(-50%)}.bus{z-index:4;background:#0d1520db;border:1px solid #2b4a6c;border-radius:5px;flex-direction:column;align-items:stretch;gap:14px;width:11.43%;height:94.44%;padding:12px;display:flex;position:absolute;top:2.78%;left:87.14%;overflow:hidden}.bus.is-active{background:#0e1a28e6;border-color:#3f7fbd;box-shadow:0 0 12px #5fa8ff17}.bus-lines{z-index:0;pointer-events:none;grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:10px 8px}.bus-lines>span{background:#5fa8ff21;justify-self:center;width:1px;height:100%;transition:background .15s,box-shadow .15s;position:relative}.bus-lines>span.is-high{background:#5fa8ffd1;box-shadow:0 0 5px #5fa8ff85}.bus-lines small{color:#41566d;background:#0d1520;padding:2px;font:5px/1 ui-monospace,monospace;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.bus-lines>span.is-high small{color:#8ac0fb}.bus-heading{z-index:1;background:#0d1520e6;flex-direction:column;gap:6px;padding:6px;display:flex;position:relative}.bus-heading span{color:#79aee6;letter-spacing:.11em;font:8px/1.35 ui-monospace,monospace}.bus-heading small{color:#566a80;font:7px/1.4 ui-monospace,monospace}.bus>b{z-index:1;color:var(--data);background:#0b1420;border:1px solid #31577f;border-radius:3px;align-self:flex-start;margin-top:75px;padding:7px 10px;font:500 25px/1 ui-monospace,SFMono-Regular,Consolas,monospace;position:relative}.bus-ownership{z-index:1;background:#0b1420f0;border:1px solid #21344a;border-radius:3px;gap:8px;margin-top:auto;padding:9px;display:grid;position:relative}.bus-ownership>span{flex-direction:column;gap:5px;min-width:0;display:flex}.bus-ownership>span:last-child{border-top:1px solid #21344a;padding-top:8px}.bus-ownership small{color:#566a80;font:7px ui-monospace,monospace}.bus-ownership b{color:#9aacc1;white-space:nowrap;text-overflow:ellipsis;font:500 8px ui-monospace,monospace;overflow:hidden}.source-link{z-index:5;color:#646b76;font:8px ui-monospace,monospace;text-decoration:none;position:absolute;bottom:.3%;left:1.7%}.source-link:hover{color:#c9ced7}.compile-shell{overflow:hidden}.compile-topbar{grid-template-columns:minmax(0,1fr) auto}.artifact-summary{color:var(--muted);align-items:center;gap:13px;font:8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.artifact-summary>span{color:#6f8e7d;letter-spacing:.08em;align-items:center;gap:6px;display:flex}.artifact-summary b{color:#d3d7df;font-weight:500}.artifact-summary em{border-left:1px solid var(--border);color:#6c7481;letter-spacing:.08em;padding-left:13px;font-style:normal}.artifact-light{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 6px #62d59a80}.compile-stage{background:radial-gradient(circle at 50% 0%, #10141c 0, var(--background) 48%);grid-template-rows:58px minmax(0,1fr);height:calc(100svh - 64px);display:grid}.pipeline-rail{border-bottom:1px solid var(--border);background:#0c0e13db;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 22px;display:grid}.pipeline-rail>span{color:#4f5662;border-left:1px solid #20252e;grid-template-rows:1fr 1fr;grid-template-columns:25px auto;align-content:center;column-gap:8px;min-width:0;padding:11px 14px;display:grid;position:relative}.pipeline-rail>span:last-child{border-right:1px solid #20252e}.pipeline-rail>span:after{z-index:2;content:"";background:#0d1016;border-top:1px solid #343b47;border-right:1px solid #343b47;width:7px;height:7px;position:absolute;top:50%;right:-4px;transform:translateY(-50%)rotate(45deg)}.pipeline-rail>span:last-child:after{display:none}.pipeline-rail i{color:#444b56;grid-row:1/3;align-self:center;font:7px/1 ui-monospace,monospace}.pipeline-rail b{color:#747c89;letter-spacing:.09em;white-space:nowrap;text-overflow:ellipsis;align-self:end;font:500 7px/1 ui-monospace,monospace;overflow:hidden}.pipeline-rail em{white-space:nowrap;text-overflow:ellipsis;align-self:start;margin-top:4px;font:6px/1 ui-monospace,monospace;overflow:hidden}.pipeline-rail .is-complete i,.pipeline-rail .is-complete b{color:#77ad91}.pipeline-rail .is-current{background:#111722}.pipeline-rail .is-current i{color:var(--data)}.pipeline-rail .is-current b{color:#b9d8fc}.pipeline-rail .is-current em{color:#617d9d}.compile-workspace{grid-template-columns:minmax(300px,.88fr) minmax(340px,1fr) minmax(420px,1.18fr);gap:10px;min-height:0;padding:10px 12px 16px;display:grid}.compile-panel{border:1px solid var(--border);background:#101319f5;border-radius:6px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;box-shadow:0 14px 34px #0000001f}.compile-panel-heading{border-bottom:1px solid var(--border);background:#11151c;flex:none;justify-content:space-between;align-items:center;gap:12px;height:47px;padding:0 13px;display:flex}.compile-panel-heading>span{flex-direction:column;gap:5px;min-width:0;display:flex}.compile-panel-heading small{color:#5c6471;letter-spacing:.1em;font:6px/1 ui-monospace,monospace}.compile-panel-heading b{color:#b9bec8;white-space:nowrap;text-overflow:ellipsis;font:500 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.compile-panel-heading em{color:#555d69;letter-spacing:.04em;flex:none;font:6px/1 ui-monospace,monospace}.source-code,.assembly-code{counter-reset:none;flex:1;min-height:0;margin:0;padding:9px 0;list-style:none;overflow:auto}.source-code li{border-left:2px solid #0000;min-width:0;height:31px}.source-code button{color:#8d95a2;text-align:left;background:0 0;border:0;grid-template-columns:39px minmax(0,1fr);align-items:center;width:100%;height:100%;padding:0;display:grid}.source-code button>span{color:#424a56;border-right:1px solid #202630;align-self:stretch;place-items:center;font:7px/1 ui-monospace,monospace;display:grid}.source-code code{white-space:pre;text-overflow:ellipsis;padding-left:12px;font:8px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.source-code button:disabled{cursor:default}.source-code .is-selectable button{color:#aeb6c2;cursor:pointer}.source-code .is-selectable:hover{background:#141b25}.source-code .is-selectable:hover code{color:#d0e6ff}.source-code .is-selected{border-left-color:var(--data);background:#122033;box-shadow:inset 0 0 20px #5fa8ff09}.source-code .is-selected button>span{color:#7daee5;border-right-color:#294666}.source-code .is-selected code{color:#d7eaff}.source-legend{border-top:1px solid var(--border);color:#59616e;flex:none;justify-content:space-between;align-items:center;gap:8px;height:35px;padding:0 12px;font:6px/1 ui-monospace,monospace;display:flex}.source-legend span{align-items:center;gap:6px;display:flex}.source-legend i{background:var(--data);border-radius:50%;width:6px;height:6px}.source-legend em{font-style:normal}.lowering-panel{background:#10151d;border-color:#34475d}.lowering-content{flex:1;min-height:0;padding:clamp(14px,2.2vh,22px);overflow:auto}.selection-title{border-bottom:1px solid #29313c;padding-bottom:16px}.selection-title>small,.decision-list>small{color:#557596;letter-spacing:.1em;margin-bottom:9px;font:6px/1 ui-monospace,monospace;display:block}.selection-title h2{color:#eef4fc;font:18px/1.15 var(--vertex-display);letter-spacing:-.025em;margin:0;font-weight:650}.selection-title>span{color:#cda4f6;background:#1b1522;border:1px solid #4a3560;border-radius:3px;margin-top:9px;padding:5px 7px;font:7px/1 ui-monospace,monospace;display:inline-flex}.lowering-content>p{color:#929ba8;font:10px/1.6 var(--vertex-display);margin:15px 0 18px}.decision-list{margin-bottom:18px}.decision-list ol{counter-reset:decisions;gap:8px;margin:0;padding:0;list-style:none;display:grid}.decision-list li{color:#7d8693;counter-increment:decisions;grid-template-columns:19px minmax(0,1fr);gap:8px;font:8px/1.45 ui-monospace,monospace;display:grid}.decision-list li:before{color:#7b8795;content:counter(decisions, decimal-leading-zero);border:1px solid #39424f;border-radius:50%;place-items:center;width:17px;height:17px;font-size:6px;display:grid}.stack-frame{background:#121018;border:1px solid #3a3045;border-radius:5px;padding:10px}.stack-heading{color:#8d779f;letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:8px;font:6px/1 ui-monospace,monospace;display:flex}.stack-heading em{color:#5f5567;font-style:normal}.stack-cells{gap:2px;padding-right:32px;display:grid;position:relative}.stack-cells>span{color:#7f8793;background:#171a20;border-left:3px solid #3a414d;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:8px;min-width:0;height:28px;padding:0 8px;display:grid}.stack-cells b{color:#adb3bd;font:500 7px/1 ui-monospace,monospace}.stack-cells em{color:#646d79;white-space:nowrap;text-overflow:ellipsis;font:6px/1 ui-monospace,monospace;overflow:hidden}.stack-cells .return-slot{border-left-color:var(--green);background:#111c18}.stack-cells .parameter{border-left-color:var(--data);background:#111a26}.stack-cells .return-pc{border-left-color:var(--control);background:#1d1811}.stack-cells .saved-bp{border-left-color:var(--address);background:#1b1522}.stack-cells .locals{border-left-color:#4c5562}.bp-pointer,.sp-pointer{color:var(--address);padding-left:11px;font:6px/1 ui-monospace,monospace;position:absolute;right:0}.bp-pointer:before,.sp-pointer:before{content:"";background:currentColor;width:7px;height:1px;position:absolute;top:50%;left:0}.bp-pointer{bottom:43px}.sp-pointer{color:var(--data);bottom:12px}.frame-call .return-slot,.frame-call .parameter,.frame-call .return-pc{box-shadow:inset 0 0 10px #5fa8ff0f}.frame-return .return-slot{box-shadow:inset 0 0 14px #62d59a1f}.trace-controls{border-top:1px solid #29313c;flex:none;grid-template-columns:45px minmax(0,1fr) 45px;align-items:center;gap:10px;height:45px;padding:0 12px;display:grid}.trace-controls button{color:#9db6d3;cursor:pointer;background:#141c26;border:1px solid #394554;border-radius:3px;justify-self:center;place-items:center;width:30px;height:27px;display:grid}.trace-controls button:hover{border-color:var(--data);color:#fff}.trace-controls>span{background:#25303d;height:2px;overflow:hidden}.trace-controls>span i{background:var(--data);height:100%;transition:width .2s;display:block}.assembly-columns{color:#4f5764;letter-spacing:.08em;border-bottom:1px solid #222832;flex:none;grid-template-columns:58px 96px minmax(0,1fr);align-items:center;height:28px;padding:0 11px;font:6px/1 ui-monospace,monospace;display:grid}.assembly-code{padding:6px 0}.assembly-code li{border-left:2px solid var(--control);background:linear-gradient(90deg,#ffb45411,#0000 72%);height:31px}.assembly-code li:hover{background:linear-gradient(90deg,#ffb4541c,#0000 82%)}.assembly-code button{width:100%;height:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:58px 96px minmax(0,1fr);align-items:center;padding:0 11px;display:grid}.assembly-code span{color:#b78ce0;font:7px/1 ui-monospace,monospace}.assembly-code b{color:#d8a765;letter-spacing:.04em;font:500 7px/1 ui-monospace,monospace}.assembly-code code{color:#c5cbd4;white-space:pre;text-overflow:ellipsis;font:8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.byte-provenance{border-top:1px solid var(--border);background:#0e1117;flex:none;gap:9px;padding:12px 13px;display:grid}.byte-provenance>div:first-child{color:#56606d;align-items:center;gap:10px;font:6px/1 ui-monospace,monospace;display:flex}.byte-provenance small{color:#68717e;letter-spacing:.08em}.byte-provenance b{color:var(--control);font-weight:500}.byte-provenance span{color:var(--address)}.rom-strip{gap:3px;display:flex;overflow:hidden}.rom-strip>span{color:#c99bec;background:#1c1523;border:1px solid #4b355f;border-radius:2px;flex:none;place-items:center;width:25px;height:25px;font:6px/1 ui-monospace,monospace;display:grid}.rom-strip>span.is-opcode{color:#efb96f;background:#21180e;border-color:#674a27}.byte-provenance p{color:#626b78;margin:0;font:7px/1.45 ui-monospace,monospace}.compile-source-link{bottom:4px}@media (max-width:1120px){.compile-workspace{grid-template-columns:minmax(270px,.8fr) minmax(330px,1fr) minmax(360px,1fr)}.artifact-summary em,.program-note{display:none}.pipeline-rail{padding-inline:12px}}@media (max-width:820px){.compile-shell{height:auto;min-height:100svh;overflow:auto}.compile-topbar{grid-template-columns:1fr;align-content:center;gap:9px;height:104px}.compile-topbar .artifact-summary{justify-content:space-between}.compile-stage{grid-template-rows:auto 1fr;height:auto;min-height:calc(100svh - 104px)}.pipeline-rail{grid-template-columns:repeat(5,150px);overflow-x:auto}.compile-workspace{grid-template-rows:minmax(480px,61svh) auto minmax(430px,58svh);grid-template-columns:1fr}.lowering-panel{min-height:650px}.compile-source-link{padding:0 16px 10px;display:block;position:static}}@media (max-width:560px){.compile-topbar{padding-inline:12px}.vertex-navigation{justify-content:space-between;gap:9px}.mode-switch button{min-width:68px;padding-inline:8px}.artifact-summary>span{display:none}.compile-workspace{padding-inline:7px}.pipeline-rail{padding:0}}@media (max-width:1320px){.topbar{grid-template-columns:1fr auto;gap:12px;padding:0 14px}.title-lockup p{display:none}.transport button{padding-inline:10px}}@media (max-width:1040px){.transport button:nth-of-type(2),.transport button:nth-of-type(4),.speed{display:none}}@media (max-width:760px){.lab-shell{height:100svh}.topbar{grid-template-rows:32px 62px;grid-template-columns:1fr;height:112px;padding:8px 12px}.title-lockup p{display:none}.transport{justify-content:flex-start;overflow-x:auto}.transport button:nth-of-type(2),.transport button:nth-of-type(4),.speed{display:inline-flex}.stage-scroll{place-items:start;height:calc(100svh - 112px)}.cpu-stage{width:1180px}}@media (prefers-reduced-motion:reduce){.lab-shell *,.lab-shell :before,.lab-shell :after{transition-duration:.01ms!important}}
