.viz{--bg: #0d1117;--panel: #161b22;--panel-2: #1c232c;--border: #2a3139;--text: #e6edf3;--muted: #8b949e;--fwd: #ffb454;--back: #4cc9f0;--branch: #c77dff;--ok: #3fb950;--fault: #ff6b6b;--halted: #8b949e;--s-4: 4px;--s-8: 8px;--s-12: 12px;--s-16: 16px;--s-24: 24px;--radius: 6px;--ide-w: clamp(340px, 34vw, 480px);--mono: ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--sans: system-ui, sans-serif;--flash: var(--fwd);--motion: var(--muted)}.viz{--engine: var(--engine-diary);--engine-bar: var(--engine-diary)}.viz[data-engine=reversible]{--engine: var(--engine-rev);--engine-bar: var(--engine-rev)}.viz[data-compare=true]{--engine-bar: linear-gradient(90deg, var(--engine-diary) 50%, var(--engine-rev) 50%)}.viz[data-motion=fwd]{--flash: var(--fwd)}.viz[data-motion=back],.viz[data-dir=rev]{--flash: var(--back)}.viz[data-run=fwd]{--motion: var(--fwd)}.viz[data-run=back]{--motion: var(--back)}body{margin:0;background:#0d1117}.viz,.viz *,.viz *:before,.viz *:after{box-sizing:border-box}.viz [hidden]{display:none!important}.viz .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.viz .dim{color:var(--muted)}.viz .grow{flex:1;min-width:0;min-height:0}.viz .icon{display:block;flex:none}.viz{height:100vh;height:100dvh;min-height:520px;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:14px/1.45 var(--sans)}.viz-header{flex:none;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-8) var(--s-12);padding:var(--s-4) var(--s-16);border-bottom:1px solid var(--border)}.brand{margin:0;font-size:15px;font-weight:650;white-space:nowrap}.viz[data-dir=rev] .brand{color:var(--back)}.banners{flex:none}.banners:empty{display:none}.split{flex:1;min-height:0;display:grid;grid-template-columns:min(var(--ide-w),max(260px,calc(100% - 568px))) 8px minmax(0,1fr);position:relative}.viz[data-ide=closed] .split{grid-template-columns:0 8px minmax(0,1fr)}.viz[data-ide=closed] .ide{display:none}.ide{grid-column:1}.divider{grid-column:2}.work{grid-column:3}.viz[data-dir=rev] .split{box-shadow:inset 0 0 0 2px var(--back)}.divider{position:relative;background:var(--panel);border-left:1px solid var(--border);border-right:1px solid var(--border);cursor:col-resize;touch-action:none}.divider.dragging{background:color-mix(in srgb,var(--text) 14%,var(--panel))}.divider:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.viz[data-ide=closed] .divider{cursor:default}.divider-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);color:var(--text);cursor:pointer;z-index:3}.divider-btn:focus-visible{outline:2px solid var(--text);outline-offset:1px}.ide{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--panel)}.ide>.slot-left{flex:none;max-height:40%;overflow:auto;border-top:1px solid var(--border);padding:var(--s-8)}.ide>.slot-timeline{flex:none}.slot{min-width:0}.slot:empty{display:none}.ide>.slot-code:not(:empty)~.editor{display:none}.ide>.slot-code:not(:empty){flex:1;min-height:0;overflow:auto}.work{display:flex;flex-direction:column;min-width:0;min-height:0;container-type:inline-size}.work>.tab-panes{flex:1;min-height:0;overflow:auto}.work>.slot-side{flex:none;border-top:1px solid var(--border);padding:var(--s-8) var(--s-12)}.empty{padding:var(--s-16);border:1px dashed var(--muted);border-radius:var(--radius);color:var(--muted)}.viz:has(.ide>.slot-left:not(:empty)) .transport{display:none}.viz[data-builtin-controls=on] .transport{display:flex}.viz[data-builtin-controls=off] .transport{display:none}@media (max-width: 860px){.viz{height:auto}.viz .split,.viz[data-ide=closed] .split{grid-template-columns:minmax(0,1fr)}.ide,.divider,.work{grid-column:1}.divider{display:none}.ide{border-bottom:1px solid var(--border);max-height:70vh}.work{min-height:70vh}}.compare-btn[aria-pressed=true]{border-color:var(--text);background:var(--border)}.viz-header{position:relative}.viz-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--engine-bar)}.tagline{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}@media (max-width: 1180px){.tagline{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);height:30px;padding:0 var(--s-12);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{height:26px;padding:0 var(--s-8)}.btn.primary{border-color:color-mix(in srgb,var(--text) 45%,var(--border))}.btn[aria-pressed=true]{border-color:var(--text)}.ibtn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:none;color:var(--text);cursor:pointer}.ibtn.active{color:var(--motion);background:var(--panel-2)}.ibtn.run-fwd.active{color:var(--fwd)}.ibtn.run-back.active{color:var(--back)}.ibtn[aria-pressed=true]{color:var(--back);background:color-mix(in srgb,var(--back) 14%,var(--panel))}.btn:focus-visible,.ibtn:focus-visible,.select:focus-visible,.tab:focus-visible,.seg:focus-visible,.addr-input:focus-visible,.tbar-track:focus-visible,.ed-scroll:focus-visible,.mm:focus-visible,.console-body:focus-visible{outline:2px solid var(--text);outline-offset:1px}.ed-text:focus-visible{outline:none}.select{height:30px;padding:0 var(--s-8);border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);color:var(--text);font:inherit}.select.tiny,.select.small{height:26px;font-size:13px;padding:0 var(--s-4);max-width:12ch}.program-bar{display:flex;align-items:center;gap:var(--s-8)}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg{height:28px;padding:0 var(--s-12);border:0;background:var(--panel-2);color:var(--muted);font:inherit;cursor:pointer}.seg+.seg{border-left:1px solid var(--border)}.seg[aria-pressed=true]{background:var(--border);color:var(--text)}.seg:disabled{opacity:.45;cursor:not-allowed}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--panel)}.tab{height:38px;padding:0 var(--s-16);border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font:inherit;cursor:pointer}.tab.active{color:var(--text);border-bottom-color:var(--text)}.tab:disabled{opacity:.45;cursor:not-allowed}.tab-panes>.tab-pane{height:100%;min-width:0}.panel{display:flex;flex-direction:column;min-height:0;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-8);min-height:34px;padding:0 var(--s-12);border-bottom:1px solid var(--border)}.panel-title{margin:0;font-size:14px;font-weight:600}.panel-body{flex:1;min-height:0;padding:var(--s-8) var(--s-12)}.editor{flex:1;min-height:0;display:flex;flex-direction:column}.ed-tab{flex:none;display:flex;align-items:center;gap:var(--s-8);height:38px;padding:0 var(--s-12);border-bottom:1px solid var(--border)}.ed-file{font-weight:600}.ed-dirty{width:8px;height:8px;border-radius:50%;background:var(--text)}.ed-follow{display:flex;align-items:center;gap:var(--s-4);color:var(--muted)}.ed-follow input{accent-color:var(--text);margin:0}.ed-build{height:26px}.ed-scroll{flex:1;min-height:0;overflow:auto;background:var(--bg);overscroll-behavior:contain}.ed-inner{display:grid;grid-template-columns:auto 1fr;position:relative;min-width:max-content}.ed-gutter{background:var(--panel);border-right:1px solid var(--border);position:sticky;left:0;z-index:2}.ed-ln{height:20px;display:flex;align-items:center;gap:var(--s-4);padding:0 var(--s-8) 0 var(--s-4);font:13px/20px var(--mono);color:var(--muted)}.ed-ln.code{cursor:pointer}.ed-dot{width:10px;height:10px;border-radius:50%;background:transparent;flex:none}.ed-ln.bp .ed-dot{background:var(--fault)}.ed-ln.err .ed-num{color:var(--fault);font-weight:700}.ed-ln.now{color:var(--text);background:color-mix(in srgb,var(--flash) 18%,var(--panel))}.ed-num{width:3ch;text-align:right}.ed-body{position:relative}.ed-cur{position:absolute;left:0;right:0;height:20px;background:color-mix(in srgb,var(--flash) 16%,transparent);border-left:2px solid var(--flash);pointer-events:none}.ed-culprit{position:absolute;left:0;right:0;height:20px;background:color-mix(in srgb,var(--branch) 20%,transparent);box-shadow:inset 0 0 0 1px var(--branch);pointer-events:none}.ed-text,.ed-syn{margin:0;padding:0 var(--s-12);border:0;font:13.5px/20px var(--mono);white-space:pre;tab-size:8}.ed-text{position:relative;display:block;outline:0;resize:none;overflow:hidden;background:transparent;color:transparent;caret-color:var(--text)}.ed-text::selection{background:#4c78be73}.ed-syn{position:absolute;inset:0 auto auto 0;color:var(--text);pointer-events:none}.tok-comment{color:#6a9955}.tok-directive{color:#4ec9b0}.tok-label{color:#dcdcaa}.tok-op{color:#569cd6}.tok-flow{color:#c586c0}.tok-register{color:#9cdcfe}.tok-number{color:#b5cea8}.tok-cond{color:#ce9178}.ed-problems{flex:none;max-height:110px;overflow:auto;margin:0;padding:var(--s-4) 0;list-style:none;border-top:1px solid var(--border);font-size:13px}.ed-report{flex:none;max-height:180px;overflow:auto;margin:0;padding:var(--s-4) var(--s-12);border-top:1px solid var(--border);font-size:12px;white-space:pre;color:var(--muted)}.prob{display:flex;align-items:center;gap:var(--s-8);padding:2px var(--s-12);cursor:pointer}.prob.error{color:var(--fault)}.prob.warning{color:var(--fwd)}.banner{display:flex;align-items:center;gap:var(--s-12);padding:var(--s-8) var(--s-16);border-bottom:1px solid var(--border);border-left:3px solid var(--muted);background:var(--panel)}.banner .banner-icon{display:flex}.banner strong{font-weight:600}.banner-sub{color:var(--muted);min-width:0}.banner.reverse{border-left-color:var(--back);color:var(--back);background:color-mix(in srgb,var(--back) 10%,var(--panel))}.banner.reverse .banner-sub{color:var(--text)}.banner.fault{border-left-color:var(--fault);color:var(--fault);background:color-mix(in srgb,var(--fault) 10%,var(--panel))}.banner.fault .banner-sub{color:var(--text)}.banner.halted{border-left-color:var(--halted);color:var(--text)}.out{display:flex;flex-direction:column;gap:var(--s-16);padding:var(--s-16) var(--s-24) var(--s-16) var(--s-16);container-type:inline-size}.out-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);gap:var(--s-16);align-items:start}.out-main:has(>.console[hidden]){grid-template-columns:minmax(0,520px)}@container (max-width: 640px){.out-main,.out-main:has(>.console[hidden]){grid-template-columns:minmax(0,1fr)}}.out-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-8) var(--s-24);padding:var(--s-8) var(--s-12);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.console{display:flex;flex-direction:column;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.console-head{display:flex;align-items:center;gap:var(--s-12);min-height:38px;padding:0 var(--s-8) 0 var(--s-12);background:var(--panel);border-bottom:1px solid var(--border)}.console-title{margin:0;font-size:14px;font-weight:600}.console-body{overscroll-behavior:contain;min-height:200px;max-height:420px;overflow:auto;padding:var(--s-8) var(--s-12);font-size:14px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.console-line{min-height:20px}.screen{display:flex;flex-direction:column;align-items:center;gap:var(--s-8);padding:var(--s-12);min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.screen-frame{padding:0;background:#000;border:1px solid var(--border);line-height:0}.fb{display:block;image-rendering:pixelated;image-rendering:crisp-edges}.capture{display:flex;align-items:center;gap:var(--s-8);color:var(--muted)}.capture input{accent-color:var(--text);margin:0}.last-key{color:var(--text)}@media (prefers-reduced-motion: reduce){.viz *,.viz *:before,.viz *:after{animation:none!important;transition:none!important}}.numin{display:flex;align-items:center;gap:var(--s-8);flex-wrap:wrap}.numin-label{display:flex;align-items:center;gap:var(--s-8);font-weight:600}.numin-field{width:11ch;height:30px;padding:0 var(--s-8);border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:14px}.numin-field:focus-visible{outline:2px solid var(--text);outline-offset:1px}.numin-seen{font-size:13px}.numin-error{color:var(--fault);font-size:13px}.vis>.numin{flex:none;padding:var(--s-4) var(--s-12);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.game{display:flex;flex-direction:column;gap:var(--s-8);padding:var(--s-12) var(--s-16);background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--flash);border-radius:var(--radius)}.game-note{margin:0;max-width:78ch;line-height:1.45}.game-stats{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--s-4) var(--s-16);margin:0}.game-stats dt{color:var(--muted)}.game-stats dd{margin:0}.speed-custom{display:inline-flex;align-items:center;gap:var(--s-4);margin-left:var(--s-4)}.speed-custom-field{width:9ch;appearance:textfield;-moz-appearance:textfield;height:26px;padding:0 var(--s-8);border:1px solid var(--muted);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:13px}.speed-custom-field:focus-visible{outline:2px solid var(--text);outline-offset:1px}.speed-custom-field::-webkit-inner-spin-button,.speed-custom-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.engine-switch .seg[data-kind=logging][aria-pressed=true]{background:color-mix(in srgb,var(--engine-diary) 26%,var(--panel-2));color:var(--text);box-shadow:inset 0 -3px 0 var(--engine-diary)}.engine-switch .seg[data-kind=reversible][aria-pressed=true]{background:color-mix(in srgb,var(--engine-rev) 26%,var(--panel-2));color:var(--text);box-shadow:inset 0 -3px 0 var(--engine-rev)}.engine-switch .seg[aria-pressed=true]{font-weight:600}.dbg-engine{color:var(--engine);font-weight:600}.ed-file{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-tab{flex-wrap:nowrap}.ed-tab>*{flex:none}.ed-tab>.ed-file{flex:0 1 auto}.variant{margin-left:var(--s-4)}.variant .seg{height:26px;padding:0 var(--s-8);font-size:13px}.variant.off{visibility:hidden}.editor{container-type:inline-size}@container (max-width: 400px){.ed-follow span,.ed-build span{display:none}.ed-build{padding:0 var(--s-8)}}@media (hover: hover) and (pointer: fine){.btn:hover:not(:disabled){border-color:var(--muted)}.ibtn:hover{background:var(--panel-2)}.seg:hover:not(:disabled){color:var(--text)}.tab:hover:not(:disabled){color:var(--text)}.ed-ln.code:hover .ed-dot{background:color-mix(in srgb,var(--fault) 45%,transparent)}.prob:hover{background:var(--panel-2)}.divider:hover{background:color-mix(in srgb,var(--text) 14%,var(--panel))}.divider-btn:hover{border-color:var(--text)}}.btn,.ibtn,.seg{transition:transform .15s cubic-bezier(.23,1,.32,1)}.btn:active:not(:disabled),.ibtn:active:not(:disabled),.seg:active:not(:disabled){transform:scale(.96)}.numin-field::placeholder,.speed-custom-field::placeholder{color:var(--muted);opacity:1}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.ibtn .ibtn-label{display:none;font-size:13px;font-weight:600}.ibtn.step-back .ibtn-label{color:var(--back)}.ibtn.step-fwd .ibtn-label{color:var(--fwd)}.ibtn.run-back .ibtn-label{color:var(--back)}.ibtn.run-fwd .ibtn-label{color:var(--fwd)}@container (min-width: 360px){.ibtn.labelled{width:auto;padding:0 var(--s-8) 0 var(--s-4);gap:var(--s-4)}.ibtn.labelled .ibtn-label{display:inline}}.debugbar{flex:none;container-type:inline-size;border-top:1px solid var(--border);background:var(--panel);padding:var(--s-8) var(--s-12);display:flex;flex-direction:column;gap:var(--s-8)}.dbg-top{display:flex;align-items:center;gap:var(--s-8)}.transport{display:flex;align-items:center;gap:2px;flex:1;min-width:0;flex-wrap:wrap}.tsep{width:1px;height:18px;background:var(--border);margin:0 var(--s-4)}.slot-toolbar{display:flex;align-items:center;gap:var(--s-4)}.dbg-status{font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:var(--s-12);min-height:18px;flex-wrap:wrap;font-size:13px}.dbg-fork{display:inline-flex;align-items:center;gap:var(--s-4);color:var(--branch)}.tbar{display:flex;flex-direction:column;gap:var(--s-4);min-width:0}.tbar-label{font-size:13px;line-height:16px;font-variant-numeric:tabular-nums}.tbar-row{display:flex;align-items:center;gap:var(--s-12);height:38px;padding:0 var(--s-12);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.tbar-t{flex:none;display:inline-flex;align-items:baseline;gap:var(--s-4)}.tbar-num{min-width:4ch;font-size:15px;font-weight:600}.tbar-track{position:relative;flex:1;min-width:48px;height:24px;cursor:pointer;touch-action:none;user-select:none}.tbar-track:before{content:"";position:absolute;left:0;right:0;top:10px;height:4px;border-radius:2px;background:var(--border)}.tbar-fill,.tbar-future,.tbar-lost{position:absolute;top:10px;height:4px;border-radius:2px}.tbar-fill{left:0;background:color-mix(in srgb,var(--knob) 60%,var(--border))}.tbar-future{background:color-mix(in srgb,var(--muted) 50%,var(--border))}.tbar-lost{background:color-mix(in srgb,var(--branch) 60%,transparent)}.tbar-knob{position:absolute;top:4px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--knob);box-shadow:0 0 0 3px var(--bg)}.viz{--knob: var(--fwd)}.viz[data-run=back]{--knob: var(--back)}.tbar-state{flex:none;display:inline-flex;align-items:center;gap:var(--s-4);max-width:42%;overflow:hidden;white-space:nowrap;font-size:13px;color:var(--muted)}.tbar-state[data-state=fwd]{color:var(--fwd)}.tbar-state[data-state=back]{color:var(--back)}.tbar-state[data-state=fault]{color:var(--fault)}.viz[data-builtin-controls=off] .tbar-track{cursor:default}@container (max-width: 320px){.tbar-state span{display:none}.tbar-row{gap:var(--s-8);padding:0 var(--s-8)}}.vis{container-type:inline-size;height:100%;min-height:0;display:flex;flex-direction:column;gap:var(--s-8);padding:var(--s-12) var(--s-24) var(--s-12) var(--s-16)}.vis-note{flex:none;min-height:40px;padding:var(--s-8) var(--s-12);border-left:3px solid var(--flash);background:var(--panel);border-radius:0 var(--radius) var(--radius) 0;line-height:1.35}.vis>.numin{flex:none}.vis-main{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(336px,34%,380px);gap:var(--s-16)}.vis-main>*{min-height:0;min-width:0}.vis-dp{display:flex;flex-direction:column;gap:var(--s-4)}.vis-dp .dp{flex:1;min-height:0;width:100%;display:block}.vis-caption{margin:0;font-size:12px;line-height:1.4}.vis-off{margin:var(--s-12)}.mm{--grid: #3b4653;position:relative;overflow:auto;overscroll-behavior:contain;background:var(--bg);border:1px solid var(--grid);border-radius:var(--radius);font:13px/22px var(--mono)}.mm-head{position:sticky;top:0;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-8);height:28px;margin:0;padding:0 var(--s-12);background:var(--panel-2);border-bottom:1px solid var(--grid);font:600 14px/28px var(--sans)}.mm-sec+.mm-sec .mm-head{border-top:1px solid var(--grid)}.mm-hint{font-weight:400;font-size:13px}.mm-addr{padding:0 var(--s-8) 0 var(--s-12);background:var(--panel-2);color:#b6c2cf}.mm-prow{display:grid;grid-template-columns:calc(6ch + 20px) calc(10ch + 16px) minmax(0,1fr);align-items:center;height:22px;border-bottom:1px solid var(--grid)}.mm-prow>.mm-addr{height:22px}.mm-hex{padding:0 var(--s-8);color:#7d8a98}.mm-op{padding:0 var(--s-8);white-space:nowrap}.mm-prow.cur{background:color-mix(in srgb,var(--flash) 20%,var(--bg));box-shadow:inset 3px 0 0 var(--flash)}.mm-prow.cur .mm-hex{color:var(--text)}.mm-prow.read{background:var(--flash);color:#0d1117}.mm-prow.read .mm-hex,.mm-prow.read .mm-addr{background:transparent;color:#0d1117}.mm-words{display:grid;gap:1px;background:var(--grid);border-bottom:1px solid var(--grid)}.mm-words{grid-template-columns:max-content repeat(4,minmax(7ch,1fr))}.mm-cell{background:var(--bg);text-align:right;padding:0 var(--s-8);color:var(--text)}.mm-cell.zero{color:#7d8a98}.mm-cell.changed{background:color-mix(in srgb,var(--flash) 30%,var(--bg));font-weight:600}.mm-cell.mark{box-shadow:inset 0 0 0 2px var(--branch)}.mm-cell.read,.mm-cell.write{color:#0d1117;background:var(--flash);font-weight:700}.mm-note{margin:0;padding:var(--s-8) var(--s-12);font:13px/1.4 var(--sans)}.dp{font-family:var(--sans);font-size:16px}.dp[data-dir=fwd]{--flash: var(--fwd)}.dp[data-dir=back]{--flash: var(--back)}.dp{--u-fill: #2a3542;--u-edge: #62748a;--u-wire: #7a8ca0;--u-bus: #55657a;--u-text: #e6edf3;--u-soft: #c0ccd8}.dp-bus{stroke:var(--u-bus);stroke-width:14;stroke-linecap:round}.dp-wire{fill:none;stroke:var(--u-wire);stroke-width:3.5}.dp-head{fill:var(--u-wire)}.dp-box{fill:#1f2933;stroke:var(--u-edge);stroke-width:2}.dp-unit{fill:var(--u-fill)}.dp-cu{fill:color-mix(in srgb,var(--fault) 32%,var(--u-fill))}.dp-alu{fill:color-mix(in srgb,var(--back) 28%,var(--u-fill))}.dp-tile{fill:#36424f;stroke:#4c5b6c;stroke-width:1}.dp-title{fill:var(--u-text);font-weight:650}.dp-name{fill:var(--u-soft)}.dp-val{fill:#fff;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15.5px;font-weight:600}.dp-ext{fill:var(--u-soft);font-weight:600}.dp-lit{stroke:var(--flash);stroke-width:3.5}.dp-tile.dp-lit{fill:color-mix(in srgb,var(--flash) 38%,#36424f)}.dp-trace{fill:none;stroke:var(--flash);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.dp-halo{fill:var(--flash);opacity:.22}.dp-ball-mid{stop-color:var(--flash)}.dp-ball-edge{stop-color:color-mix(in srgb,var(--flash) 55%,#000)}.dp-tag rect{fill:var(--bg);stroke:var(--flash);stroke-width:1.5}.dp-tag text{fill:var(--text);font:600 16px var(--mono)}@container (max-width: 700px){.vis{overflow:auto}.vis-main{flex:none;grid-template-columns:minmax(0,1fr)}.vis-dp .dp{flex:none;height:auto;aspect-ratio:566 / 486}.mm{max-height:420px}}.compare{height:100%;min-height:0;display:flex;flex-direction:column;container-type:inline-size}.cmp-top{flex:none;display:flex;flex-direction:column;gap:var(--s-8);padding:var(--s-12) var(--s-24) var(--s-12) var(--s-16);background:var(--panel);border-bottom:1px solid var(--border)}.cmp-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-8) var(--s-16)}.cmp-row .transport{flex:none}.cmp-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--s-24);padding:var(--s-16) var(--s-24) var(--s-24) var(--s-16)}.compare[data-live=false] .cmp-cards{opacity:.5}.cmp-section{display:flex;flex-direction:column;gap:var(--s-8);min-width:0;max-width:880px}.cmp-head{display:flex;align-items:center;gap:var(--s-12);flex-wrap:wrap;padding-bottom:var(--s-8);border-bottom:1px solid var(--border)}.cmp-h{margin:0 auto 0 0;font-size:15px;font-weight:600}.cmp-sub,.cmp-note{margin:0;max-width:72ch}.cmp-mismatch{margin:0;padding:var(--s-8) var(--s-12);color:var(--fault);border-left:3px solid var(--fault);background:color-mix(in srgb,var(--fault) 10%,var(--panel))}.cmp-warn{border:1px solid var(--fault);border-radius:var(--radius)}.cmp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-16)}@container (max-width: 760px){.cmp-cards{grid-template-columns:minmax(0,1fr)}}.cmp-card{display:flex;flex-direction:column;gap:var(--s-12);min-width:0;padding:var(--s-12) var(--s-16) var(--s-16);background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--engine);border-radius:var(--radius)}.cmp-card-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s-4) var(--s-12)}.cmp-title{margin:0;font-size:16px;font-weight:600}.cmp-stats{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--s-4) 0;margin:0}.cmp-stats dt{color:var(--muted);padding-right:var(--s-16)}.cmp-stats dd{margin:0;text-align:right;font-size:15px}.cmp-stats dt:nth-of-type(3),.cmp-stats dd:nth-of-type(3){margin-top:var(--s-4);padding-top:var(--s-8);border-top:1px solid var(--border);font-weight:600}.cmp-stats dt:nth-of-type(3){color:var(--text)}.cmp-regs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:4px;overflow:hidden;font-size:13px;line-height:22px}.cmp-reg{display:flex;justify-content:space-between;gap:var(--s-4);padding:0 var(--s-8);background:var(--bg);min-width:0}.cmp-regval{text-align:right;overflow:hidden;text-overflow:clip}.cmp-reg.changed{background:color-mix(in srgb,var(--flash) 28%,var(--bg));font-weight:600}.cmp-screen{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--s-12)}.cmp-console{flex:1;min-width:12ch;padding:var(--s-4) var(--s-8);background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:13px;line-height:20px;white-space:pre-wrap;overflow-wrap:anywhere}.cmp-time{margin:0}.cmp-chart:empty{display:none}.cmp-chart-svg{width:100%;max-width:100%;height:auto;display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.cmp-grid{stroke:var(--border);stroke-width:1}.cmp-tick{fill:var(--muted);font:12px var(--mono)}.cmp-axis{fill:var(--muted);font:13px var(--sans)}.cmp-line{fill:none;stroke-width:2.5;stroke-linejoin:round}.cmp-end{font:600 13px var(--sans)}.cmp-table{display:flex;flex-direction:column;max-width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);overflow:auto}.trow{display:grid;grid-template-columns:minmax(130px,1.3fr) repeat(5,minmax(100px,1.3fr));gap:var(--s-12);align-items:center;min-width:780px;padding:var(--s-8) var(--s-12);border-top:1px solid var(--border)}.trow:first-child{border-top:0}.thead{color:var(--muted);font-weight:600}.thead span:nth-child(n+2){text-align:right}.trow.planned .tlabel{color:var(--muted)}.tplanned{grid-column:2 / -1;font-style:italic}.tcell{text-align:right;overflow-wrap:anywhere}.trow.offline .tlabel:after{content:"measured offline";display:block;font-size:13px;color:var(--muted)}.cmp-table:focus-visible{outline:2px solid var(--text);outline-offset:2px}.cmp-table-note{margin:0}.cmp-verdict{margin:0;padding-left:1.25em;max-width:72ch;line-height:1.5}.cmp-verdict li{padding-left:var(--s-4)}.cmp-verdict li+li{margin-top:2px}.brow{grid-template-columns:minmax(190px,1.6fr) repeat(3,minmax(110px,1fr));min-width:600px}.brow-strong{background:color-mix(in srgb,var(--ok) 10%,var(--panel))}.bench .cmp-chart-svg,.bench .cmp-table{max-width:100%}.cmp-tabs{padding:0 var(--s-8);flex:none}.cmp-panes{flex:1;min-height:0;overflow:hidden}.cmp-live{display:flex;flex-direction:column;height:100%;min-height:0}.cmp-bench{height:100%;overflow:auto;overscroll-behavior:contain;padding:var(--s-24) var(--s-24) var(--s-24) var(--s-16)}.bench{max-width:840px;display:flex;flex-direction:column;gap:var(--s-24)}.bench-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-16);flex-wrap:wrap;padding-bottom:var(--s-12);border-bottom:1px solid var(--border)}.bench-title{margin:0;font-size:18px;font-weight:600}.bench-sub{margin:var(--s-4) 0 0;max-width:60ch}.bench-lead{margin:0;max-width:62ch;font-size:16px;font-weight:500;line-height:1.5}.bench-figure{margin:0;display:flex;flex-direction:column;gap:var(--s-8)}.bench-chart:empty{display:none}.bench-caption{margin:0;max-width:72ch}.bench-h{margin:0 0 var(--s-12);padding-bottom:var(--s-4);font-size:14px;font-weight:600;border-bottom:1px solid var(--border)}.bench-intro{margin:0 0 var(--s-12);max-width:72ch}.bench-guide+.bench-guide{margin-top:var(--s-16);padding-top:var(--s-16);border-top:1px dashed var(--border)}.bench-guide{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--s-8) var(--s-24);margin:0;max-width:72ch}.bench-guide dt{font-weight:600}.bench-guide dd{margin:0;color:var(--muted)}.bench-limits p{margin:0 0 var(--s-8);max-width:72ch;line-height:1.5}.bench-limits p:last-child{margin-bottom:0}@container (max-width: 560px){.bench-guide{grid-template-columns:minmax(0,1fr);gap:0}.bench-guide dd{margin-bottom:var(--s-8)}}.docs{display:grid;grid-template-columns:230px minmax(0,1fr);height:100%;min-height:0}.docs-nav{overflow:auto;border-right:1px solid var(--border);background:var(--panel);padding:var(--s-8) 0}.docs-group{padding:var(--s-12) var(--s-16) var(--s-4);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.docs-group:first-child{padding-top:var(--s-4)}.docs-item{display:block;width:100%;padding:var(--s-8) var(--s-16);border:0;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.docs-item:hover{color:var(--text);background:var(--panel-2)}.docs-item:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.docs-item[aria-current=page]{color:var(--text);background:var(--panel-2);box-shadow:inset 2px 0 0 var(--text)}.docs-item-title{display:block;font-weight:600}.docs-item-blurb{display:block;margin-top:2px;font-size:12px;line-height:1.35}.docs-body{overflow:auto;padding:var(--s-24) clamp(var(--s-16),4vw,48px) 64px}.docs-body:focus-visible{outline:2px solid var(--text);outline-offset:-2px}.docs-md{max-width:78ch;margin:0 auto;font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--text);overflow-wrap:break-word}.docs-md h1,.docs-md h2,.docs-md h3,.docs-md h4{line-height:1.25;margin:1.6em 0 .5em;scroll-margin-top:var(--s-16)}.docs-md h1{margin-top:0;font-size:26px}.docs-md h2{font-size:20px;padding-bottom:var(--s-4);border-bottom:1px solid var(--border)}.docs-md h3{font-size:16px}.docs-md h4{font-size:15px;color:var(--muted)}.docs-md p,.docs-md ul,.docs-md ol,.docs-md blockquote,.docs-md pre,.docs-md table{margin:0 0 var(--s-12)}.docs-md a{color:var(--back)}.docs-md a:hover{text-decoration:underline}.docs-md ul,.docs-md ol{padding-left:1.4em}.docs-md li+li{margin-top:var(--s-4)}.docs-md code{font-family:var(--mono);font-size:.9em;padding:1px 5px;background:var(--panel-2);border-radius:4px}.docs-md pre{overflow:auto;padding:var(--s-12) var(--s-16);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);line-height:1.45}.docs-md pre code{padding:0;background:none;font-size:13px}.docs-md blockquote{padding:0 var(--s-16);border-left:3px solid var(--border);color:var(--muted)}.docs-md table{display:block;overflow-x:auto;border-collapse:collapse;font-size:14px}.docs-md th,.docs-md td{padding:var(--s-4) var(--s-12);border:1px solid var(--border);text-align:left;vertical-align:top}.docs-md th{background:var(--panel)}.docs-md hr{border:0;border-top:1px solid var(--border);margin:var(--s-24) 0}@media (max-width: 720px){.docs{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.docs-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:0}.docs-item{width:auto;white-space:nowrap}.docs-item-blurb,.docs-group{display:none}}
