.stage-frame svg .bar-value{fill:var(--ink);font-weight:600}.stage-frame svg .slot-index{fill:var(--ink-3);font-size:11px}.stage-frame svg .card-value{fill:var(--ink);font-weight:600;font-size:var(--fs-sm)}.stage-frame svg .tree-label{fill:var(--ink);font-size:11px}.stage-frame svg .pointer-label{fill:var(--ptr-ink);font-weight:600}.stage-frame svg .stage-note{fill:var(--ink-2);font-family:var(--font-body)}.stage-frame svg .slot-pickable{cursor:pointer}.stage-frame svg .slot-pickable:hover>g>rect,.stage-frame svg .slot-pickable:hover>rect{stroke:var(--ptr-line);stroke-width:2.6}.stage-frame svg .slot-pickable:focus-visible{outline:none}.stage-frame svg .slot-pickable:focus-visible>rect,.stage-frame svg .slot-pickable:focus-visible>g>rect{stroke:var(--ptr-ink);stroke-width:2.6}.module-screen{display:grid;gap:var(--sp-4);min-width:0}.compare-panel{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px dashed var(--line-2);display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-start}.compare-strip{flex:1 1 420px;min-width:0;display:grid;gap:var(--sp-2)}.compare-head{margin:0;font-size:var(--fs-sm)}.compare-head strong{color:var(--cmp-ink)}.compare-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.compare-stats{flex:0 1 auto;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.compare-stats caption{caption-side:top;text-align:left;font-size:var(--fs-sm);color:var(--ink-2);padding-bottom:var(--sp-1)}.compare-stats th,.compare-stats td{border:1px solid var(--line);padding:3px 8px;text-align:right}.compare-stats thead th{background:var(--paper-2);font-weight:600}.compare-stats tbody th{text-align:left;font-weight:600;color:var(--ink-2)}.compare-stats .cmp-main{color:var(--ink)}.compare-stats .cmp-other{color:var(--cmp-ink);font-weight:600}.field-check{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--control-height);font-size:var(--fs-sm)}.field-check input[type=checkbox]{min-height:0;width:18px;height:18px;margin:0;padding:0;border:0;background:none;accent-color:var(--cmp-ink)}.field-note{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}@media(max-width:640px){.compare-panel{flex-direction:column}.compare-strip{flex-basis:auto}.compare-stats{width:100%}}.gr-view{display:grid;gap:var(--sp-4)}.gr-note{margin:0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--co);background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2)}.gr-error{margin:0;padding:var(--sp-4);border-left:3px solid var(--ptr-ink);background:var(--ptr-wash);font-size:var(--fs-sm);color:var(--ink)}.gr-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:var(--sp-4);align-items:start}@media(max-width:1100px){.gr-main{grid-template-columns:minmax(0,1fr)}}.gr-canvas-wrap{min-width:0}.gr-canvas{display:block;width:100%;min-width:620px;height:auto}.gr-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.gr-edge line{fill:none;stroke-linecap:round}.gr-edge.is-idle line{stroke:var(--line-2);stroke-width:2}.gr-edge.is-chosen line{stroke:var(--set-ink);stroke-width:4.5}.gr-edge.is-consider line{stroke:var(--ptr-ink);stroke-width:5}.gr-edge.is-rejected line{stroke:var(--ink-3);stroke-width:2;stroke-dasharray:6 5;opacity:.5}.gr-edge.is-rejected .gr-weight{opacity:.5}.gr-arrow{stroke:none}.gr-edge.is-idle .gr-arrow{fill:var(--line-2)}.gr-edge.is-chosen .gr-arrow{fill:var(--set-ink)}.gr-edge.is-consider .gr-arrow{fill:var(--ptr-ink)}.gr-edge.is-rejected .gr-arrow{fill:var(--ink-3);opacity:.5}.gr-weight{font:600 13px var(--font-mono);fill:var(--ink);stroke:var(--surface);stroke-width:4;paint-order:stroke;text-anchor:middle;dominant-baseline:middle}.gr-node circle{stroke-width:2.5}.gr-node.is-idle circle{fill:var(--surface);stroke:var(--line-2)}.gr-node.is-active circle{fill:var(--mov-wash);stroke:var(--mov-ink)}.gr-node.is-done circle{fill:var(--set-wash);stroke:var(--set-ink)}.gr-node.is-start circle{stroke:var(--cmp-ink);stroke-width:4}.gr-node.is-clickable{cursor:pointer}.gr-node.is-clickable:hover circle{stroke:var(--cmp-ink)}.gr-pulse{fill:none;stroke:var(--set-ink);stroke-width:2;stroke-dasharray:4 4;pointer-events:none;animation:gr-pulse 1.6s ease-in-out infinite}@keyframes gr-pulse{0%,to{opacity:.3}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){.gr-pulse{animation:none;opacity:.55}}.gr-node-label{font:600 15px var(--font-mono);fill:var(--ink);text-anchor:middle;dominant-baseline:middle}.gr-side{display:grid;gap:var(--sp-4);min-width:0}.gr-now{border:1px solid var(--line);background:var(--paper-2);padding:var(--sp-4)}.gr-now-step{margin:0 0 2px;font-size:var(--fs-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.gr-now h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-lg);line-height:1.4;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.gr-reason{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.gr-vars{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.gr-var{display:grid;gap:1px;font-size:var(--fs-sm)}.gr-var b{color:var(--ink-3);font-weight:400}.gr-var span{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.gr-step-scroll{max-height:340px;overflow-y:auto;border:1px solid var(--line);background:var(--surface)}.gr-steps{list-style:none;margin:0;padding:var(--sp-1);display:grid;gap:2px}.gr-step{width:100%;display:grid;grid-template-columns:26px minmax(0,1fr);gap:var(--sp-2);align-items:baseline;text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;background:transparent;border-radius:var(--r-1);font-size:var(--fs-sm);line-height:1.55;cursor:pointer}.gr-step:hover{background:var(--paper-2)}.gr-step.is-picked{background:var(--cmp-wash);border-color:var(--cmp-line)}.gr-step-no{font-family:var(--font-mono);color:var(--ink-3);text-align:right;font-variant-numeric:tabular-nums}.gr-step.is-picked .gr-step-no{color:var(--cmp-ink);font-weight:700}.gr-step-title{overflow-wrap:anywhere}.gr-lower{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:900px){.gr-lower{grid-template-columns:minmax(0,1fr)}}.gr-table-wrap,.gr-code{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.gr-table-title{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.gr-table-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-3);font-weight:400}.gr-table-scroll{overflow-x:auto}.gr-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.gr-table th,.gr-table td{border:1px solid var(--line);padding:3px 8px;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.gr-table thead th{background:var(--paper-2);color:var(--ink-2);font-weight:600}.gr-table tbody th{background:var(--paper);color:var(--ink-2);font-weight:600}.gr-table tr.is-changed td{background:var(--mov-wash);color:var(--mov-ink);font-weight:700}.gr-table tr.is-changed th{background:var(--mov-wash);color:var(--mov-ink)}.gr-table-legend{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.gr-code-list{list-style:none;margin:0;padding:0;display:grid;gap:1px}.gr-code-line{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--sp-2);padding:2px var(--sp-2);font:var(--fs-xs)/1.7 var(--font-mono);color:var(--ink-2)}.gr-code-line.is-active{background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink);color:var(--ink)}.gr-code-no{text-align:right;color:var(--ink-3);-webkit-user-select:none;user-select:none}.gr-code-line.is-active .gr-code-no{color:var(--cmp-ink);font-weight:700}.gr-code-text{overflow-wrap:anywhere}.gr-why{margin:0;padding:var(--sp-4);border:1px solid var(--line-2);border-left:4px solid var(--co);background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.75}.gr-algos,.gr-graphs{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.gr-algos{margin-bottom:var(--sp-4)}.gr-algos button,.gr-graphs button{min-height:38px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.gr-algos button.is-active,.gr-graphs button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink);font-weight:600}.gr-algos button.is-blocked{border-style:dashed;color:var(--ink-3)}.gr-algos button:disabled,.gr-graphs button:disabled{opacity:.45;cursor:not-allowed}.field.is-disabled span{color:var(--ink-3)}.field select:disabled{background:var(--paper-2);color:var(--ink-3);cursor:not-allowed}@media(max-width:640px){.gr-canvas{min-width:560px}.gr-step-scroll{max-height:260px}}.hs-view{display:grid;gap:var(--sp-4)}.hs-error{margin:0;padding:var(--sp-4);border-left:3px solid var(--ptr-ink);background:var(--ptr-wash);font-size:var(--fs-sm);color:var(--ink)}.hs-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between}.hs-head-method{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.hs-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.hs-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.hs-metrics li{display:grid;gap:1px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.hs-metrics em{font-style:normal;color:var(--ink-3)}.hs-metrics b{font-family:var(--font-mono);font-size:var(--fs-sm)}.hs-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-4);align-items:start}@media(max-width:1100px){.hs-main{grid-template-columns:minmax(0,1fr)}}.hs-table-col{min-width:0}.hs-table-wrap{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.hs-table-note{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.hs-cells{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.hs-cell{position:relative;width:62px;min-height:58px;display:grid;place-items:center;gap:0;border:2px solid var(--line-2);border-radius:var(--r-2);background:var(--paper);font-variant-numeric:tabular-nums}.hs-cell-key{font-family:var(--font-mono);font-size:var(--fs-sm)}.hs-cell.is-empty .hs-cell-key{color:var(--ink-3);font-size:var(--fs-sm)}.hs-cell-addr{position:absolute;bottom:-1px;right:4px;font:var(--fs-xs) var(--font-mono);color:var(--ink-3)}.hs-cell-tag{position:absolute;top:-9px;left:4px;font-size:11px;line-height:1.5;padding:0 4px;background:var(--cmp-wash);color:var(--cmp-ink);border:1px solid var(--cmp-line);border-radius:var(--r-1)}.hs-cell.is-home{border-color:var(--cmp-line);background:var(--cmp-wash)}.hs-cell.is-probed{border-color:var(--ptr-line);background:var(--ptr-wash);border-style:dashed}.hs-cell.is-placed{border-color:var(--set-line);background:var(--set-wash);border-style:solid}.hs-cell.is-placed .hs-cell-key{font-weight:700;color:var(--set-ink)}.hs-path-item{display:inline-flex;align-items:center;gap:4px}.hs-path-addr{font-family:var(--font-mono);font-size:var(--fs-sm);border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-1);padding:0 5px}.hs-path-addr.is-placed{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink);font-weight:700}.hs-path-tail{margin-left:var(--sp-2);color:var(--ink-2)}.hs-chain-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.hs-chain-table th,.hs-chain-table td{border:1px solid var(--line);padding:4px 8px;text-align:left}.hs-chain-table thead th{background:var(--paper-2);color:var(--ink-2);font-weight:600}.hs-chain-table tr.is-active{background:var(--cmp-wash)}.hs-chain-addr{width:48px;text-align:center;font-family:var(--font-mono);font-weight:600}.hs-chain-len{width:56px;text-align:center;font-family:var(--font-mono)}.hs-chain-body{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.hs-chain-empty{color:var(--ink-3)}.hs-chain-node{display:inline-flex;align-items:center;gap:3px}.hs-key{font-family:var(--font-mono);padding:1px 6px;border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-1)}.hs-key.is-placed{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink);font-weight:700}.hs-arrow{color:var(--ink-3)}.hs-side{display:grid;gap:var(--sp-4);min-width:0}.hs-now{border:1px solid var(--line);background:var(--paper-2);padding:var(--sp-4)}.hs-now-step{margin:0 0 2px;font-size:var(--fs-sm);color:var(--ink-3)}.hs-now h4{margin:0 0 var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-xl);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.hs-reason{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.hs-step-scroll{max-height:300px;overflow-y:auto;border:1px solid var(--line);background:var(--surface)}.hs-steps{list-style:none;margin:0;padding:var(--sp-1);display:grid;gap:2px}.hs-step{width:100%;display:grid;grid-template-columns:24px 44px minmax(0,1fr) auto;gap:var(--sp-2);align-items:baseline;text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;background:transparent;border-radius:var(--r-1);font-size:var(--fs-sm);cursor:pointer}.hs-step:hover{background:var(--paper-2)}.hs-step.is-picked{background:var(--cmp-wash);border-color:var(--cmp-line)}.hs-step.is-failed .hs-step-path{color:var(--ptr-ink)}.hs-step-no{font-family:var(--font-mono);color:var(--ink-3);text-align:right}.hs-step-key{font-family:var(--font-mono);font-weight:600}.hs-step-path{font-family:var(--font-mono);color:var(--ink-2)}.hs-step-count{color:var(--ink-3);font-variant-numeric:tabular-nums}.hs-step.is-picked .hs-step-no,.hs-step.is-picked .hs-step-key{color:var(--cmp-ink)}.hs-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:900px){.hs-lower{grid-template-columns:minmax(0,1fr)}}.hs-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.hs-card h4{margin:0 0 var(--sp-3);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.hs-card-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-3);font-weight:400}.hs-asl{margin:0;display:grid;gap:var(--sp-4)}.hs-asl-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--sp-4);align-items:center}.hs-asl-row dt{font-size:var(--fs-sm);color:var(--ink-2)}.hs-asl-row dd{margin:0;display:flex;align-items:center;gap:var(--sp-4)}.hs-asl-frac{display:inline-grid;justify-items:center;font-family:var(--font-mono);font-size:var(--fs-sm);padding:0 6px;border-bottom:1px solid var(--ink-3);line-height:1.5}.hs-asl-frac>span:first-child{border-bottom:1px solid var(--ink);padding:0 4px}.hs-asl-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-variant-numeric:tabular-nums}.hs-asl-row.is-success .hs-asl-value{color:var(--set-ink)}.hs-asl-row.is-failure .hs-asl-value{color:var(--ptr-ink)}.hs-asl-detail{margin-top:var(--sp-3);font-size:var(--fs-sm)}.hs-asl-detail summary{cursor:pointer;color:var(--ink-2)}.hs-asl-sum{margin:var(--sp-2) 0 0;display:flex;flex-wrap:wrap;gap:5px}.hs-asl-term{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line);background:var(--paper);padding:0 4px;border-radius:var(--r-1)}.hs-asl-term b{color:var(--ink-3);font-weight:400}.hs-asl-note{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--co);background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.hs-warnings{margin:var(--sp-3) 0 0;padding-left:18px;font-size:var(--fs-sm);color:var(--ptr-ink);line-height:1.7}.hs-compare-scroll{overflow-x:auto}.hs-compare{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.hs-compare th,.hs-compare td{border:1px solid var(--line);padding:4px 8px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.hs-compare thead th{background:var(--paper-2);color:var(--ink-2);font-weight:600;text-align:center}.hs-compare tbody th{text-align:left;font-family:var(--font-body);font-weight:600}.hs-compare tr.is-current td,.hs-compare tr.is-current th{background:var(--cmp-wash)}.hs-badge.is-warn{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.hs-badge{margin-left:var(--sp-2);font-family:var(--font-body);font-size:11px;padding:0 5px;border:1px solid var(--set-line);background:var(--set-wash);color:var(--set-ink);border-radius:var(--r-1)}.hs-why{margin:0;padding:var(--sp-4);border:1px solid var(--line-2);border-left:4px solid var(--co);background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.75}.hs-methods,.hs-sizes{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.hs-methods{margin-bottom:var(--sp-4)}.hs-methods button,.hs-sizes button{min-height:38px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.hs-sizes button{min-width:52px;font-family:var(--font-mono)}.hs-methods button.is-active,.hs-sizes button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink);font-weight:600}@media(max-width:640px){.hs-cell{width:54px;min-height:52px}.hs-asl-row{grid-template-columns:80px minmax(0,1fr)}.hs-step-scroll{max-height:240px}}.bt-view{display:grid;gap:var(--sp-4)}.bt-error{margin:0;padding:var(--sp-4);border-left:3px solid var(--ptr-ink);background:var(--ptr-wash);font-size:var(--fs-sm);color:var(--ink)}.bt-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between}.bt-head-op{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.bt-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);font-variant-numeric:tabular-nums}.bt-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.bt-metrics li{display:grid;gap:1px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.bt-metrics em{font-style:normal;color:var(--ink-3)}.bt-metrics b{font-family:var(--font-mono);font-size:var(--fs-sm)}.bt-main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--sp-4);align-items:start}@media(max-width:1100px){.bt-main{grid-template-columns:minmax(0,1fr)}}.bt-canvas-wrap{min-width:0;border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);overflow-x:auto}.bt-canvas{display:block;height:auto;width:100%}.bt-link{fill:none;stroke:var(--line-2);stroke-width:1.6}.bt-node rect{fill:var(--paper);stroke:var(--line-2);stroke-width:2}.bt-node.is-hot rect{fill:var(--ptr-wash);stroke:var(--ptr-ink);stroke-width:2.6}.bt-sep{stroke:var(--line-2);stroke-width:1.4}.bt-key{font:600 15px var(--font-mono);fill:var(--ink);text-anchor:middle}.bt-key.is-focus{fill:var(--set-ink);font-weight:700}.bt-node.is-hot .bt-key{fill:var(--ptr-ink)}.bt-node.is-hot .bt-key.is-focus{fill:var(--set-ink)}.bt-key.is-empty{fill:var(--ink-3);font-size:var(--fs-sm)}.bt-side{display:grid;gap:var(--sp-4);min-width:0}.bt-now{border:1px solid var(--line);background:var(--paper-2);padding:var(--sp-4)}.bt-now-step{margin:0 0 2px;font-size:var(--fs-sm);color:var(--ink-3)}.bt-now h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-lg);line-height:1.4;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.bt-reason{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.bt-step-scroll{max-height:380px;overflow-y:auto;border:1px solid var(--line);background:var(--surface)}.bt-steps{list-style:none;margin:0;padding:var(--sp-1);display:grid;gap:2px}.bt-step{width:100%;display:grid;grid-template-columns:24px auto minmax(0,1fr);gap:var(--sp-2);align-items:baseline;text-align:left;padding:var(--sp-2) var(--sp-3);border:1px solid transparent;background:transparent;border-radius:var(--r-1);font-size:var(--fs-sm);line-height:1.55;cursor:pointer}.bt-step:hover{background:var(--paper-2)}.bt-step.is-picked{background:var(--cmp-wash);border-color:var(--cmp-line)}.bt-step-no{font-family:var(--font-mono);color:var(--ink-3);text-align:right}.bt-step.is-picked .bt-step-no{color:var(--cmp-ink);font-weight:700}.bt-step-title{overflow-wrap:anywhere}.bt-step-kind{flex:none;font-size:11px;line-height:1.7;padding:0 5px;border-radius:var(--r-1);border:1px solid var(--line-2);background:var(--paper);color:var(--ink-2);white-space:nowrap}.bt-step-kind.is-split,.bt-step-kind.is-merge{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.bt-step-kind.is-borrow{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.bt-step-kind.is-replace{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.bt-step-kind.is-shrink,.bt-step-kind.is-found{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.bt-table-wrap{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.bt-table-title{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.bt-table-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-3);font-weight:400}.bt-table-scroll{overflow-x:auto}.bt-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.bt-table th,.bt-table td{border:1px solid var(--line);padding:4px 8px;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.bt-table thead th{background:var(--paper-2);color:var(--ink-2);font-weight:600}.bt-table tbody th{background:var(--paper);color:var(--ink-2);font-weight:600}.bt-table tr.is-root td,.bt-table tr.is-root th{background:var(--cmp-wash)}.bt-table-keys{letter-spacing:.08em}.bt-empty{color:var(--ink-3)}.bt-badge{margin-left:var(--sp-2);font-family:var(--font-body);font-size:11px;padding:0 5px;border:1px solid var(--set-line);background:var(--set-wash);color:var(--set-ink);border-radius:var(--r-1)}.bt-why{margin:0;padding:var(--sp-4);border:1px solid var(--line-2);border-left:4px solid var(--co);background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.75}.bt-ops,.bt-orders{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.bt-ops{margin-bottom:var(--sp-4)}.bt-ops button,.bt-orders button{min-height:38px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.bt-orders button{min-width:68px}.bt-ops button.is-active,.bt-orders button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink);font-weight:600}.field textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical}.field input[type=number]:disabled{background:var(--paper-2);color:var(--ink-3);cursor:not-allowed}@media(max-width:640px){.bt-step-scroll{max-height:260px}.bt-canvas{min-width:560px}}.sy-view{display:grid;gap:var(--sp-4)}.sy-empty{margin:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--ink-3)}.sy-error{margin:0;padding:var(--sp-4);border-left:3px solid var(--ptr-ink);background:var(--ptr-wash);font-size:var(--fs-sm);color:var(--ink)}.sy-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between}.sy-head-title{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.sy-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.sy-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.sy-metrics li{display:grid;gap:1px;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.sy-metrics em{font-style:normal;color:var(--ink-3)}.sy-metrics b{font-family:var(--font-mono);font-size:var(--fs-sm)}.sy-main{display:grid;grid-template-columns:300px minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:1000px){.sy-main{grid-template-columns:minmax(0,1fr)}}.sy-side{display:grid;gap:var(--sp-4);min-width:0}.sy-search{display:flex;align-items:center;gap:var(--sp-2);border:1px solid var(--line-2);background:var(--surface);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3)}.sy-search-glyph{flex:none;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);border-radius:var(--r-1);font-size:11px}.sy-search input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:var(--fs-sm)}.sy-outline{border:1px solid var(--line);background:var(--surface);max-height:620px;overflow-y:auto;padding:var(--sp-2)}.sy-outline-count{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--ink-3)}.sy-chapter+.sy-chapter{margin-top:var(--sp-2);border-top:1px solid var(--line);padding-top:var(--sp-2)}.sy-chapter-head{width:100%;display:flex;align-items:center;gap:var(--sp-2);border:0;background:transparent;padding:var(--sp-1) var(--sp-1);cursor:pointer;text-align:left;font-size:var(--fs-sm);font-weight:600}.sy-chapter-head:hover{background:var(--paper-2)}.sy-chapter-mark{font-family:var(--font-mono);color:var(--ink-3);width:14px}.sy-chapter-title{flex:1 1 auto;min-width:0}.sy-chapter-count{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3);font-weight:400}.sy-section{margin:var(--sp-1) 0 0 var(--sp-3)}.sy-section-title{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sm);color:var(--ink-3);letter-spacing:.06em}.sy-points{list-style:none;margin:0;padding:0;display:grid;gap:1px}.sy-point{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-2);align-items:baseline;text-align:left;border:1px solid transparent;background:transparent;border-radius:var(--r-1);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);line-height:1.6;cursor:pointer}.sy-point:hover{background:var(--paper-2)}.sy-point.is-current{background:var(--cmp-wash);border-color:var(--cmp-line)}.sy-point.is-current .sy-point-title{color:var(--cmp-ink);font-weight:600}.sy-point-title{overflow-wrap:anywhere}.sy-point-covered{color:var(--set-ink);font-size:11px}.sy-imp{flex:none;font-size:11px;line-height:1.7;padding:0 5px;border-radius:var(--r-1);border:1px solid var(--line-2);background:var(--paper);color:var(--ink-3);white-space:nowrap}.sy-imp.is-5{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.sy-imp.is-4{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.sy-article{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4) var(--sp-5);min-width:0}.sy-article-head{border-bottom:1px solid var(--line);padding-bottom:var(--sp-3);margin-bottom:var(--sp-3)}.sy-article-head h3{margin:0 0 var(--sp-2);font-size:var(--fs-xl)}.sy-article-summary{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2)}.sy-article-meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm)}.sy-article-modules{display:inline-flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;color:var(--ink-3)}.sy-module-link{color:var(--set-ink);border:1px solid var(--set-line);background:var(--set-wash);border-radius:var(--r-1);padding:0 6px;text-decoration:none}.sy-module-link:hover{text-decoration:underline}.sy-subpoint{margin-bottom:var(--sp-4)}.sy-subpoint h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-lg);border-left:3px solid var(--co);padding-left:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.sy-article p,.sy-article ol,.sy-article ul{max-width:74ch}.sy-article p{margin:0 0 var(--sp-2);font-size:var(--fs-sm);line-height:1.85;color:var(--ink)}.sy-article ol,.sy-article ul{margin:0 0 var(--sp-2);padding-left:22px;font-size:var(--fs-sm);line-height:1.85}.sy-article li{margin-bottom:2px}.sy-article strong{font-weight:700;color:var(--ink)}.sy-code{font-family:var(--font-mono);font-size:11px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-1);padding:0 4px}.sy-math{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--cmp-wash);color:var(--cmp-ink);border-radius:var(--r-1);padding:0 4px;white-space:nowrap}.sy-formula{margin:0 0 var(--sp-2)}.sy-callout{margin:0 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--line-2);background:var(--paper-2);max-width:74ch}.sy-callout.is-orange{border-left-color:var(--mov-line);background:var(--mov-wash)}.sy-callout.is-blue{border-left-color:var(--cmp-line);background:var(--cmp-wash)}.sy-callout-title{margin:0 0 var(--sp-1);font-size:var(--fs-sm);font-weight:700}.sy-callout p{margin:0 0 var(--sp-1)}.sy-callout p:last-child{margin-bottom:0}.sy-credit{margin:var(--sp-5) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3);max-width:74ch}.sy-books{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.sy-books button{display:inline-flex;align-items:baseline;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.sy-books button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink);font-weight:600}.sy-book-count{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}.sy-books button.is-active .sy-book-count{color:var(--cmp-ink)}.sy-books-note{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}@media(max-width:640px){.sy-article{padding:var(--sp-4)}.sy-outline{max-height:380px}}.tree-stage{display:grid;gap:var(--sp-4);min-width:0}.tree-panel{min-width:0}.stage-frame .tree-stage svg{display:block;width:100%;height:auto}.stage-frame .tree-stage svg text{font:var(--fs-xs) var(--font-mono);fill:var(--ink-2)}.stage-frame .tree-stage svg .stage-note{fill:var(--ink-2);font-family:var(--font-body)}.stage-frame .tree-stage svg .tree-node-label{fill:var(--ink);font-weight:600;font-size:13px}.stage-frame .tree-stage svg .tree-null-label{fill:var(--cmp-ink);font-size:11px}.stage-frame .tree-stage svg .pointer-label{fill:var(--ptr-ink);font-weight:600;font-size:11px}.stage-frame .tree-stage svg .slot-index{fill:var(--ink-3);font-size:11px}.kmp-stage{display:grid;gap:var(--sp-4);min-width:0}.kmp-strip{display:grid;gap:var(--sp-2)}.kmp-strip-row{display:flex;align-items:flex-end;gap:var(--sp-2);min-width:0}.kmp-strip-label{flex:0 0 4.5em;font-size:var(--fs-sm);color:var(--ink-2)}.kmp-cells{display:flex;gap:2px;overflow-x:auto;padding-bottom:2px}.kmp-cell{position:relative;flex:0 0 auto;width:2.1em;height:2.4em;display:grid;place-items:center;border:1px solid var(--line);background:var(--paper);font-family:var(--font-mono);font-size:var(--fs-body)}.kmp-cell b{position:absolute;right:2px;bottom:0;font-weight:400;font-size:var(--fs-sm);color:var(--ink-3)}.kmp-pat{border-style:dashed;color:var(--ink-3);background:transparent}.kmp-pat.is-on{border-style:solid;border-color:var(--line-2);background:var(--surface);color:var(--ink)}.kmp-strip.is-equal .kmp-cell.is-focus{background:var(--set-wash);border-color:var(--set-line)}.kmp-strip.is-shift .kmp-cell.is-focus{background:var(--mov-wash);border-color:var(--mov-line)}.kmp-strip.is-hit .kmp-cell.is-focus{background:var(--cmp-wash);border-color:var(--cmp-line)}.kmp-strip-note,.kmp-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.kmp-next table,.kmp-track{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.kmp-next th,.kmp-next td,.kmp-track th,.kmp-track td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center}.kmp-next thead th,.kmp-track thead th{background:var(--paper-2);font-weight:600}.kmp-next tbody th,.kmp-track tbody th[scope=row]{text-align:left;background:var(--paper-2);font-weight:500}.kmp-ch{font-family:var(--font-mono);font-weight:600}.kmp-zero{color:var(--ink-3);font-family:var(--font-mono)}.kmp-next td.is-differs{background:var(--ptr-wash);border-color:var(--ptr-line);color:var(--ptr-ink)}.kmp-next td.is-current{outline:2px solid var(--focus);outline-offset:-2px}.kmp-next caption,.kmp-track caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm)}.kmp-pseudo{margin:0;padding-left:2.2em;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.kmp-pseudo li{padding:1px var(--sp-2)}.kmp-pseudo li.is-active{background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.kmp-track-wrap{overflow-x:auto}.kmp-track td{font-variant-numeric:tabular-nums}.kmp-track-note{text-align:left!important;color:var(--ink-2)}.kmp-track tr[data-kind=shift] td{background:var(--mov-wash)}.kmp-track tr[data-kind=hit] td{background:var(--cmp-wash)}.kmp-track tr.is-selected td{box-shadow:inset 0 0 0 2px var(--focus)}.kmp-mono{font-family:var(--font-mono)}.kmp-visually-hidden{position:absolute;left:0;top:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;background:var(--surface)}.kmp-track tr:hover .kmp-visually-hidden,.kmp-visually-hidden:focus{position:static;width:auto;height:auto;margin:0;clip-path:none;border:1px solid var(--line-2);padding:0 var(--sp-1);font-size:var(--fs-sm)}.kmp-bars{display:grid;gap:var(--sp-1)}.kmp-bar-row{display:grid;grid-template-columns:6em minmax(0,1fr) 4.5em;gap:var(--sp-2);align-items:center;font-size:var(--fs-sm)}.kmp-bar-track{display:block;height:14px;background:var(--paper-2);border:1px solid var(--line)}.kmp-bar-fill{display:block;height:100%}.kmp-bar-fill.is-naive{background:var(--mov-line)}.kmp-bar-fill.is-kmp{background:var(--set-line)}.kmp-bar-value{text-align:right;font-variant-numeric:tabular-nums}.kmp-hits{margin:0;font-size:var(--fs-sm);color:var(--set-ink)}.kmp-empty,.kmp-error{font-size:var(--fs-sm);color:var(--ink-2)}.kmp-error{border-left:3px solid var(--mov-line);padding-left:var(--sp-3)}.stage-frame svg.ieee-svg{width:auto;min-width:0;height:auto}.stage-frame svg text{font:var(--fs-xs) var(--font-mono);fill:var(--ink-2)}.ieee-svg .bit-band.pointer{fill:var(--ptr-wash)}.ieee-svg .bit-band.compare{fill:var(--cmp-wash)}.ieee-svg .bit-band.move{fill:var(--mov-wash)}.ieee-svg .bit-cell rect{fill:transparent;stroke:var(--line-2);stroke-width:1}.ieee-svg .bit-cell.pointer rect{stroke:var(--ptr-line)}.ieee-svg .bit-cell.compare rect{stroke:var(--cmp-line)}.ieee-svg .bit-cell.move rect{stroke:var(--mov-line)}.ieee-svg .bit-cell .bit-glyph{fill:var(--ink);font-weight:600}.ieee-svg .bit-cell.is-clickable{cursor:pointer}.ieee-svg .bit-cell.is-clickable:hover rect{fill:var(--ink);fill-opacity:.08}.ieee-svg .bit-active-outline{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:5 3}.ieee-svg .bit-index{fill:var(--ink-3);font-size:11px}.ieee-svg .seg-header{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600}.ieee-svg .seg-header.pointer{fill:var(--ptr-ink)}.ieee-svg .seg-header.compare{fill:var(--cmp-ink)}.ieee-svg .seg-header.move{fill:var(--mov-ink)}.ieee-bits{display:grid}.ieee-seg-legend{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}.ieee-seg-legend li{display:flex;gap:var(--sp-2);align-items:flex-start}.ieee-seg-legend code{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ieee-panel{display:grid;gap:var(--sp-4)}.ieee-panel-lead{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.ieee-panel-lead code,.ieee-mono{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ieee-scroll{overflow-x:auto}.ieee-readout{margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm)}.ieee-readout-k{background:var(--ink);color:var(--surface);padding:1px 6px;border-radius:var(--r-1);font-size:var(--fs-sm)}.ieee-readout code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--paper-2);padding:1px 4px;overflow-wrap:anywhere}.ieee-readout em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.ieee-hint{margin:0;padding-left:var(--sp-3);border-left:3px solid var(--co);font-size:var(--fs-sm);color:var(--ink-2)}.ieee-callout{margin:0;padding:var(--sp-2) var(--sp-3);background:var(--set-wash);border-left:3px solid var(--set-line);font-size:var(--fs-sm)}.ieee-matrix{border-collapse:collapse;min-width:640px;font-size:var(--fs-sm)}.ieee-matrix th,.ieee-matrix td{border:1px solid var(--line);padding:var(--sp-2);text-align:left;vertical-align:top}.ieee-matrix thead th{background:var(--paper-2);font-size:var(--fs-sm)}.ieee-matrix tbody th{font-weight:600;white-space:nowrap}.ieee-matrix td.ieee-mono{white-space:nowrap}.ieee-matrix td.ieee-bits-cell{white-space:normal;overflow-wrap:anywhere;max-width:330px}.ieee-matrix-note{font-size:var(--fs-sm);color:var(--ink-2);min-width:180px}.ieee-matrix tbody tr.is-active{background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink)}.ieee-matrix tbody tr.is-warn{background:var(--ptr-wash)}.ieee-matrix tbody tr.is-warn .ieee-matrix-note{color:var(--ptr-ink)}.ieee-matrix tbody tr.is-na .ieee-matrix-note,.ieee-matrix tbody tr.is-na td.ieee-mono{color:var(--ink-3)}.ieee-codes{display:grid;gap:var(--sp-2)}.ieee-code-block{display:grid;gap:var(--sp-1)}.ieee-code-row{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.4fr);gap:var(--sp-4);align-items:center;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);background:var(--paper-2)}.ieee-code-row.is-active{border-color:var(--cmp-ink);background:var(--cmp-wash)}.ieee-code-row.is-used{border-color:var(--set-line)}.ieee-code-label{font-size:var(--fs-sm);font-weight:600;display:flex;flex-direction:column;gap:2px}.ieee-code-tag{font-style:normal;font-size:11px;color:var(--set-ink)}.ieee-code-bits{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ieee-code-note{font-size:var(--fs-sm);color:var(--ink-2)}.ieee-code-op{margin:0 0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--mov-ink)}.ieee-byte-list{display:grid;gap:var(--sp-4)}.ieee-byte-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--sp-2) var(--sp-3);align-items:center;padding:var(--sp-4);border:1px solid var(--line);background:var(--paper-2)}.ieee-byte-row.is-active{border-color:var(--cmp-ink);background:var(--cmp-wash)}.ieee-byte-label{font-size:var(--fs-sm);font-weight:600}.ieee-byte-cells{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ieee-byte-cell{display:grid;justify-items:center;gap:2px;border:1px solid var(--line-2);background:var(--surface);padding:2px 6px;min-width:46px}.ieee-byte-cell i{font-style:normal;font-size:11px;color:var(--ink-3)}.ieee-byte-cell b{font-family:var(--font-mono);font-size:var(--fs-sm)}.ieee-byte-note{grid-column:2;font-size:var(--fs-sm);color:var(--ink-2)}.ieee-svg .nl-box rect{fill:var(--paper-2);stroke:var(--line-2);stroke-width:1.2}.ieee-svg .nl-box.is-active rect{fill:var(--ptr-wash);stroke:var(--ptr-ink);stroke-width:2}.ieee-svg .nl-box.is-nan rect{fill:var(--surface);stroke:var(--line-2);stroke-dasharray:5 4}.ieee-svg .nl-label{fill:var(--ink);font-size:var(--fs-sm);font-weight:600;font-family:var(--font-body)}.ieee-svg .nl-hint{fill:var(--ink-3);font-size:11px;font-family:var(--font-body)}.ieee-svg .nl-caption{fill:var(--ink-2);font-size:var(--fs-sm);font-family:var(--font-body)}.ieee-svg .nl-break line{stroke:var(--line-2);stroke-width:1.2}.ieee-svg .nl-arrow line{stroke:var(--ink-3);stroke-width:1.2}.ieee-svg .nl-arrow path{fill:var(--ink-3)}.ieee-svg .nl-arrow text{fill:var(--ink-2);font-size:11px;font-family:var(--font-body)}.ieee-svg .nl-marker path{fill:var(--ptr-ink)}.ieee-svg .nl-marker text{fill:var(--ptr-ink);font-size:11px;font-weight:600;font-family:var(--font-body)}.ieee-svg .nl-inset>rect{fill:var(--cmp-wash);stroke:var(--cmp-line);stroke-width:1.2}.ieee-svg .nl-inset>path{fill:none;stroke:var(--cmp-line);stroke-width:1;stroke-dasharray:4 3}.ieee-svg .nl-inset>line{stroke:var(--cmp-ink);stroke-width:1.4}.ieee-svg .nl-inset-title{fill:var(--cmp-ink);font-size:11px;font-family:var(--font-body)}.ieee-svg .nl-tick line{stroke:var(--cmp-ink);stroke-width:1}.ieee-svg .nl-tick text{fill:var(--ink-2);font-size:11px}.ieee-calc{display:grid;gap:var(--sp-4)}.ieee-calc-head{border:1px solid var(--line-2);border-left:4px solid var(--set-line);background:var(--surface);padding:var(--sp-3) var(--sp-4)}.ieee-calc-expr{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-lg)}.ieee-calc-expr code{font-family:var(--font-mono);font-size:var(--fs-sm)}.ieee-calc-op,.ieee-calc-eq{color:var(--ink-2)}.ieee-calc-result{font-family:var(--font-mono);font-size:var(--fs-xl);overflow-wrap:anywhere}.ieee-calc-meta{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ieee-calc-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--sp-4);align-items:start}@media(max-width:900px){.ieee-calc-body{grid-template-columns:minmax(0,1fr)}}.ieee-calc-result-block{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);display:grid;gap:var(--sp-2)}.ieee-res-row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--sp-2);align-items:baseline}.ieee-res-label{font-size:var(--fs-sm);color:var(--ink-2)}.ieee-res-value{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ieee-exact{color:var(--ink-2)}.ieee-bitgroups{display:flex;flex-wrap:wrap;gap:6px}.ieee-bitgroups b{font-weight:600;padding:1px 5px;border-radius:3px}.tone-sign{background:var(--ptr-wash);color:var(--ptr-ink)}.tone-exp{background:var(--cmp-wash);color:var(--cmp-ink)}.tone-frac{background:var(--mov-wash);color:var(--mov-ink)}.ieee-flags{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ieee-flag{display:inline-flex;gap:4px;align-items:baseline;font-size:var(--fs-sm);padding:1px 6px;border:1px dashed var(--line-2);color:var(--ink-3);background:var(--paper-2)}.ieee-flag em{font-style:normal;font-family:var(--font-mono);font-size:11px}.ieee-flag.is-on{border-style:solid;border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.ieee-calc-operands{display:grid;gap:var(--sp-4)}.ieee-operand{border:1px solid var(--line);background:var(--paper-2);padding:var(--sp-4);display:grid;gap:2px}.ieee-operand-head{margin:0;font-size:var(--fs-sm);display:flex;gap:var(--sp-2);align-items:baseline}.ieee-operand-value{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ieee-operand-bits{margin:0;font-family:var(--font-mono);font-size:11px;color:var(--ink-2);overflow-wrap:anywhere}.ieee-operand-hex{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}.ieee-calc-steps{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4)}.ieee-calc-steps h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ieee-calc-steps-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2);font-weight:400}.ieee-calc-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.ieee-calc-steps li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);display:grid;gap:3px}.ieee-calc-steps li.is-flag{border-color:var(--ptr-line);background:var(--ptr-wash)}.ieee-step-head{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm)}.ieee-step-no{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line-2);font:var(--fs-xs) var(--font-mono)}.ieee-step-exp,.ieee-step-flag{font-size:var(--fs-sm);color:var(--ink-2)}.ieee-step-flag{color:var(--ptr-ink);font-weight:600}.ieee-step-detail{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.ieee-step-bits{margin:0;font-family:var(--font-mono);font-size:11px;overflow-wrap:anywhere;background:var(--paper-2);padding:2px 6px}.ieee-step-rem{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ptr-ink)}.ieee-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.ieee-tabs button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.ieee-tabs button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.ieee-op-tabs{margin-top:var(--sp-3)}@media(max-width:640px){.ieee-code-row{grid-template-columns:minmax(0,1fr)}.ieee-code-op{margin-left:0}.ieee-byte-row{grid-template-columns:minmax(0,1fr)}.ieee-byte-note{grid-column:1}}.cpu-stage{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--sp-4);align-items:start}.cpu-stage-main{min-width:0;display:grid;gap:var(--sp-4)}.cpu-stage-side{display:grid;gap:var(--sp-4);align-content:start}.cpu-stage-foot{grid-column:1 / -1;min-width:0}@media(max-width:1100px){.cpu-stage{grid-template-columns:minmax(0,1fr)}}.cpu-svg{display:block;width:100%;min-width:640px;height:auto}.cpu-svg text{font:var(--fs-xs) var(--font-mono);fill:var(--ink-2)}.cpu-note{fill:var(--ink-2);font-family:var(--font-body)}.cpu-bus{stroke:var(--line-2);stroke-width:2.5}.cpu-bus.is-active{stroke:var(--cmp-ink);stroke-width:5}.cpu-bus-tag{fill:var(--cmp-wash);stroke:var(--cmp-line)}.cpu-bus-value{fill:var(--cmp-ink);font-weight:600}.cpu-stub{stroke:var(--line-2);stroke-width:1.6}.cpu-stub.is-driver{stroke:var(--cmp-ink);stroke-width:3.4}.cpu-stub.is-touched{stroke:var(--mov-ink);stroke-width:3.4}.cpu-arrow{fill:var(--cmp-ink)}.cpu-part{fill:var(--surface);stroke:var(--line-2);stroke-width:1.6}.cpu-part.is-driver{fill:var(--cmp-wash);stroke:var(--cmp-ink);stroke-width:2.6}.cpu-part.is-touched{fill:var(--mov-wash);stroke:var(--mov-ink);stroke-width:2.6}.cpu-part-label{fill:var(--ink);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.cpu-part-value{fill:var(--ink-2)}.cpu-panel{background:var(--surface);border:1px solid var(--line);padding:var(--sp-4);min-width:0}.cpu-panel h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.cpu-panel-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2);font-weight:400}.cpu-empty,.cpu-hint-line{color:var(--ink-2);font-size:var(--fs-sm);margin:var(--sp-2) 0 0}.cpu-instr-text{margin:0;font:600 var(--fs-sm) var(--font-mono)}.cpu-kv{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin:var(--sp-2) 0;font-size:var(--fs-sm)}.cpu-kv div{display:grid;gap:2px}.cpu-kv dt{color:var(--ink-2)}.cpu-kv dd{margin:0;font-family:var(--font-mono)}.cpu-bits{margin:0;font:var(--fs-xs) var(--font-mono);color:var(--ink-2);letter-spacing:.06em}.cpu-beats{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.cpu-beats li{display:grid;gap:2px;padding:4px 8px;border:1px solid var(--line-2);background:var(--paper);min-width:92px}.cpu-beats li.is-now{border-color:var(--cmp-ink);background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink)}.cpu-beats li.is-done{border-color:var(--set-line);background:var(--set-wash)}.cpu-beats li.is-todo{opacity:.62}.cpu-beat-no{font:var(--fs-xs) var(--font-mono);color:var(--ink-2)}.cpu-beat-name{font-size:var(--fs-sm)}.cpu-signals{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.cpu-signals li{font:var(--fs-xs) var(--font-mono);padding:3px 8px;background:var(--ptr-wash);border:1px solid var(--ptr-line);color:var(--ptr-ink)}.cpu-regs{width:100%;border-collapse:collapse;font:var(--fs-xs) var(--font-mono)}.cpu-regs th,.cpu-regs td{border:1px solid var(--line);padding:3px 8px;text-align:left}.cpu-regs th{font-weight:600;background:var(--paper-2)}.cpu-regs .cpu-hex{color:var(--ink-3)}.cpu-regs tr.is-touched{background:var(--mov-wash);box-shadow:inset 3px 0 var(--mov-ink)}.cpu-mem-title{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2)}.cpu-mem-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;margin:0;padding:0;list-style:none}.cpu-mem-cell{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:baseline;border:1px solid var(--line);padding:2px 6px;font:var(--fs-xs) var(--font-mono);background:var(--paper)}.cpu-mem-addr{color:var(--ink-3)}.cpu-mem-value{text-align:right}.cpu-mem-hex{color:var(--ink-3)}.cpu-mem-cell.is-mar{border-color:var(--ptr-line);background:var(--ptr-wash)}.cpu-mem-cell.is-written{border-color:var(--mov-ink);background:var(--mov-wash)}.tb-svg{min-width:680px}.tb-name{fill:var(--ink);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.tb-dir{fill:var(--ink-3);font-size:var(--fs-sm)}.tb-track{stroke:var(--line-2);stroke-width:2.5}.tb-value{fill:var(--ink-3)}.tb-value.is-tagged{font-weight:600}.tb-tag{fill:var(--paper-2);stroke:var(--line-2)}.tb-drive-dot{fill:var(--cmp-ink)}.tb-row.is-drive .tb-track{stroke:var(--cmp-ink);stroke-width:6}.tb-row.is-drive .tb-name,.tb-row.is-drive .tb-value{fill:var(--cmp-ink)}.tb-row.is-drive .tb-tag{fill:var(--cmp-wash);stroke:var(--cmp-line)}.tb-beat rect{fill:var(--paper);stroke:var(--line-2)}.tb-beat.is-ext rect{stroke-dasharray:4 3}.tb-beat-no{fill:var(--ink-2)}.tb-beat-bus{fill:var(--ink);font-weight:600}.tb-beat.is-now rect{fill:var(--cmp-wash);stroke:var(--cmp-ink);stroke-width:2}.tb-beat.is-now .tb-beat-no,.tb-beat.is-now .tb-beat-bus{fill:var(--cmp-ink)}.tb-beat.is-done rect{fill:var(--set-wash);stroke:var(--set-line)}.tb-beat.is-done .tb-beat-bus{fill:var(--set-ink)}.tb-beat.is-todo{opacity:.55}.tb-note{fill:var(--ink-2);font-family:var(--font-body);font-size:var(--fs-sm)}.cpu-views{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.cpu-views button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.cpu-views button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.cpu-editor{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--sp-4)}@media(max-width:900px){.cpu-editor{grid-template-columns:minmax(0,1fr)}}.cpu-editor textarea{width:100%;border:1px solid var(--line-2);background:var(--paper);font:var(--fs-xs)/1.6 var(--font-mono);padding:var(--sp-2);resize:vertical}.cpu-editor-side{display:grid;gap:var(--sp-4);align-content:start}.cpu-syntax{margin:0;display:grid;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2)}.cpu-syntax dt{font-weight:600;color:var(--ink)}.cpu-syntax dd{margin:2px 0 0}.cpu-syntax code{font-family:var(--font-mono);background:var(--paper-2);padding:0 4px}.ar-view{display:grid;gap:var(--sp-4)}.ar-panel{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.ar-panel h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ar-panel-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2);font-weight:400}.ar-row{display:grid;grid-template-columns:108px minmax(0,1fr);gap:var(--sp-2);align-items:baseline;padding:3px 0}.ar-row+.ar-row{border-top:1px dashed var(--line)}.ar-row-label{font-size:var(--fs-sm);color:var(--ink-2)}.ar-row-value{font-size:var(--fs-sm);overflow-wrap:anywhere}.ar-row.is-cmp{background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink)}.ar-row.is-move{background:var(--mov-wash);box-shadow:inset 3px 0 var(--mov-ink)}.ar-row.is-ok{background:var(--set-wash);box-shadow:inset 3px 0 var(--set-line)}.ar-row.is-bad{background:var(--ptr-wash);box-shadow:inset 3px 0 var(--ptr-line)}.ar-bits{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.04em;padding:1px 4px;background:var(--paper-2);border:1px solid var(--line)}.ar-bits.is-strong{font-weight:600;font-size:var(--fs-sm)}.ar-bits.tone-cmp{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink)}.ar-bits.tone-move{background:var(--mov-wash);border-color:var(--mov-line);color:var(--mov-ink)}.ar-bits.tone-set{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.ar-mono{font-family:var(--font-mono);font-size:var(--fs-sm)}.ar-now{font-weight:600;color:var(--cmp-ink)}.ar-ok{color:var(--set-ink)}.ar-bad{color:var(--ptr-ink)}.ar-scroll{overflow-x:auto}.ar-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.ar-table th,.ar-table td{border:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.ar-table thead th{background:var(--paper-2);font-size:var(--fs-sm);white-space:nowrap}.ar-table td{font-family:var(--font-mono)}.ar-rowhead{color:var(--ink-2);font-family:var(--font-body)}.ar-shiftcell{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:baseline}.ar-hamming{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--sp-2)}.ar-hcell{display:grid;gap:1px;justify-items:center;min-width:34px;padding:3px 4px;border:1px solid var(--line-2);background:var(--paper);font-family:var(--font-mono)}.ar-hcell em{font-style:normal;font-size:11px;color:var(--ink-3)}.ar-hcell b{font-size:var(--fs-sm)}.ar-hcell.is-check{border-color:var(--cmp-line);background:var(--cmp-wash)}.ar-hcell.is-check b{color:var(--cmp-ink)}.ar-hcell.is-bad{border-color:var(--ptr-line);background:var(--ptr-wash);box-shadow:0 0 0 2px var(--ptr-line)}.ar-summary{margin:0;padding:var(--sp-2) var(--sp-3);background:var(--set-wash);border-left:4px solid var(--set-line);font-size:var(--fs-sm)}.ar-hint,.ar-hint-line{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.ar-hint-line{padding:var(--sp-2) 0 0}.ar-error{margin:0;padding:var(--sp-4);background:var(--ptr-wash);border:1px solid var(--ptr-line);color:var(--ptr-ink);font-size:var(--fs-sm)}.ar-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ar-view sup{font-size:var(--fs-sm);vertical-align:super;line-height:0}.ar-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.ar-tabs button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.ar-tabs button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.pl-view{display:grid;gap:var(--sp-4)}.pl-head{display:grid;gap:2px}.pl-head-switch{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.pl-head-scene{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.pl-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pl-metrics li{border:1px solid var(--line);background:var(--surface);padding:var(--sp-1) var(--sp-3);display:grid;gap:1px;min-width:84px}.pl-metrics em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.pl-metrics b{font-family:var(--font-mono);font-size:var(--fs-lg)}.pl-metrics li.is-bubble{border-color:var(--ptr-line);background:var(--ptr-wash)}.pl-metrics li.is-bubble b{color:var(--ptr-ink)}.pl-metrics li.is-clean{border-color:var(--set-line);background:var(--set-wash)}.pl-metrics li.is-clean b{color:var(--set-ink)}.pl-metrics li.is-speedup b{color:var(--cmp-ink)}.pl-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);display:grid;gap:var(--sp-2)}.pl-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.pl-card-note{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2);font-weight:400}.pl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.pl-algos{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.pl-algos button{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-sm);cursor:pointer}.pl-algos button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink);font-weight:600}.pl-field-wide{grid-column:1 / -1}.pl-field-wide textarea{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.7;resize:vertical}.pl-syntax{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.8}.pl-syntax code{font-family:var(--font-mono);background:var(--paper-2);padding:1px 5px;margin-right:4px}.pl-ins{border-collapse:collapse;font-size:var(--fs-sm);width:100%}.pl-ins th,.pl-ins td{border:1px solid var(--line);padding:3px var(--sp-2);text-align:left}.pl-ins thead th{background:var(--paper-2);font-size:var(--fs-sm);color:var(--ink-2)}.pl-ins code{font-family:var(--font-mono);font-size:var(--fs-sm)}.pl-ins-no{font-family:var(--font-mono);color:var(--ink-2);width:2.4em}.pl-scroll{overflow-x:auto}.pl-grid{border-collapse:collapse;font-size:var(--fs-sm)}.pl-grid th,.pl-grid td{border:1px solid var(--line);padding:0}.pl-grid thead th{min-width:46px;background:var(--paper-2);color:var(--ink-2);font-family:var(--font-mono);font-size:var(--fs-sm);padding:2px}.pl-grid-label{min-width:132px;background:var(--paper-2);text-align:left;padding:2px var(--sp-2)!important}.pl-grid-label code{font-family:var(--font-mono);font-size:var(--fs-sm);display:block}.pl-grid-no{font-family:var(--font-mono);color:var(--ink-2);margin-right:var(--sp-1)}.pl-cell{width:46px;height:34px;text-align:center;vertical-align:middle}.pl-cell-stage{display:block;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600}.pl-cell-cn{display:block;font-size:var(--fs-sm);color:var(--ink-2)}.pl-cell.is-if{background:var(--cmp-wash)}.pl-cell.is-if .pl-cell-stage,.pl-cell.is-if .pl-cell-cn{color:var(--cmp-ink)}.pl-cell.is-id{background:var(--cmp-wash);opacity:.72}.pl-cell.is-id .pl-cell-stage,.pl-cell.is-id .pl-cell-cn{color:var(--cmp-ink)}.pl-cell.is-ex{background:var(--mov-wash)}.pl-cell.is-ex .pl-cell-stage,.pl-cell.is-ex .pl-cell-cn{color:var(--mov-ink)}.pl-cell.is-mem{background:var(--ptr-wash)}.pl-cell.is-mem .pl-cell-stage,.pl-cell.is-mem .pl-cell-cn{color:var(--ptr-ink)}.pl-cell.is-wb{background:var(--set-wash)}.pl-cell.is-wb .pl-cell-stage,.pl-cell.is-wb .pl-cell-cn{color:var(--set-ink)}.pl-cell.is-bubble{background:repeating-linear-gradient(45deg,var(--paper) 0 4px,var(--paper-2) 4px 8px);border-style:dashed}.pl-cell.is-bubble .pl-cell-stage{color:var(--ptr-ink)}.pl-cell.is-empty{background:var(--surface)}.pl-grid tbody tr.is-stalled .pl-grid-label{box-shadow:inset 3px 0 var(--ptr-line)}.pl-stall-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.pl-stall-list li{border:1px solid var(--ptr-line);background:var(--ptr-wash);padding:var(--sp-2) var(--sp-3);display:grid;gap:2px;font-size:var(--fs-sm)}.pl-stall-list li.is-clean{border-color:var(--set-line);background:var(--set-wash)}.pl-stall-list b{font-size:var(--fs-sm);color:var(--ptr-ink)}.pl-stall-list li.is-clean b{color:var(--set-ink)}.pl-stall-list span{color:var(--ink);line-height:1.7}.pl-occ{display:block}.pl-occ-bar{fill:var(--cmp-wash);stroke:var(--cmp-line)}.pl-occ-value{font-family:var(--font-mono);font-size:var(--fs-sm);fill:var(--cmp-ink)}.pl-occ-tick{font-family:var(--font-mono);font-size:var(--fs-sm);fill:var(--ink-3)}.pl-cmp{border-collapse:collapse;font-size:var(--fs-sm)}.pl-cmp th,.pl-cmp td{border:1px solid var(--line);padding:var(--sp-1) var(--sp-3);text-align:left}.pl-cmp thead th{background:var(--paper-2);color:var(--ink-2)}.pl-cmp tr.is-current{background:var(--cmp-wash)}.pl-cmp tr.is-current th{color:var(--cmp-ink);font-weight:600}.pl-cmp td{font-family:var(--font-mono)}.pl-equations{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2);counter-reset:eq}.pl-equations li{border-left:3px solid var(--line-2);background:var(--paper-2);padding:var(--sp-2) var(--sp-3)}.pl-equations code{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.7;overflow-wrap:anywhere}.pl-card-why .pl-why-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.pl-card-why .pl-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);display:grid;gap:2px}.pl-card-why .pl-why-list b{font-size:var(--fs-sm)}.pl-card-why .pl-why-list p{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.7}.pl-card-why li.is-if,.pl-card-why li.is-id{border-left:3px solid var(--cmp-line)}.pl-card-why li.is-ex{border-left:3px solid var(--mov-line)}.pl-card-why li.is-mem{border-left:3px solid var(--ptr-line)}.pl-card-why li.is-wb{border-left:3px solid var(--set-line)}.ex-view{display:grid;gap:var(--sp-4);min-width:0}.ex-op-head{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;justify-content:space-between;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--co)}.ex-op-instruction{margin:0}.ex-op-instruction code{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:600;letter-spacing:.02em;color:var(--ink);overflow-wrap:anywhere}.ex-op-scene{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.ex-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.ex-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ex-note{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.ex-empty{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.ex-chain{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:ex-chain}.ex-chain>li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:5px 0 5px 10px;border-left:2px solid var(--line-2);font-size:var(--fs-sm)}.ex-chain-label{min-width:68px;font-size:var(--fs-sm);color:var(--ink-2);font-weight:600}.ex-chain-arrow{font-size:var(--fs-sm);color:var(--ink-3)}.ex-chain code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--paper-2);padding:1px 5px;border:1px solid var(--line)}.ex-chip{display:inline-flex;align-items:baseline;gap:3px;font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.5;padding:1px 6px;background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink)}.ex-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;line-height:1.6;padding:0 7px;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.ex-badge.is-ok,.ex-badge.is-cpu{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.ex-badge.is-miss,.ex-badge.is-memory{background:var(--mov-wash);border-color:var(--mov-line);color:var(--mov-ink)}.ex-badge.is-fault,.ex-badge.is-disk{background:var(--ptr-wash);border-color:var(--ptr-line);color:var(--ptr-ink)}.ex-badge.is-cache{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink)}.ex-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.ex-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ex-stack,.ex-level-wrap{display:grid;gap:2px;min-width:0}.ex-link{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:2px 0 2px 12px;min-height:22px}.ex-arrow{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;line-height:1.6;padding:0 7px;border:1px solid var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.ex-arrow.is-idle{border-color:var(--line);background:transparent;color:var(--ink-3)}.ex-arrow.is-memory-cache,.ex-arrow.is-cache-memory{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.ex-arrow.is-memory-cpu,.ex-arrow.is-cpu-memory{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.ex-arrow.is-disk-memory,.ex-arrow.is-memory-disk{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.ex-arrow.is-cache-cpu,.ex-arrow.is-cpu-cache{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.ex-arrow.is-disk-cache,.ex-arrow.is-cache-disk{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.ex-level{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2);min-width:0}.ex-level.is-touched{border-color:var(--cmp-line);background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink)}.ex-level-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);margin-bottom:6px}.ex-level-head b{font-family:var(--font-title);font-size:var(--fs-sm)}.ex-level-spec{font-size:var(--fs-sm);color:var(--ink-2)}.ex-level-lat{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink);white-space:nowrap}.ex-cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:5px}.ex-cell{display:grid;gap:1px;min-width:0;padding:3px 6px;border:1px solid var(--line-2);background:var(--surface);font-family:var(--font-mono);font-size:var(--fs-sm)}.ex-cell em{font-style:normal;font-size:11px;color:var(--ink-3)}.ex-cell b{font-size:var(--fs-sm)}.ex-cell.is-hit{border-color:var(--cmp-line);background:var(--cmp-wash);box-shadow:0 0 0 2px var(--cmp-line)}.ex-cell.is-empty{opacity:.55}.ex-cell.is-wide{grid-column:1 / -1}.ex-cell-words{color:var(--ink-2);overflow-wrap:anywhere}.ex-cell-tag{font-size:11px;color:var(--ink-3)}.ex-phase{margin-top:var(--sp-3)}.ex-phase-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2)}.ex-phase-head b{font-family:var(--font-title);font-size:var(--fs-sm);padding:0 6px;background:var(--paper-2);border:1px solid var(--line-2)}.ex-phase-head span{font-size:var(--fs-sm);color:var(--ink-2)}.ex-steps{list-style:none;margin:0;padding:0;display:grid;gap:5px}.ex-step{border:1px solid var(--line);border-left:3px solid var(--line-2);background:var(--paper);padding:6px var(--sp-2);min-width:0;cursor:pointer}.ex-step.is-picked{border-color:var(--cmp-line);border-left-color:var(--cmp-ink);background:var(--cmp-wash)}.ex-step-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.ex-step-no{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;font-family:var(--font-mono);font-size:11px;background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink-2)}.ex-step-title{font-size:var(--fs-sm)}.ex-step-cycles{margin-left:auto;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap}.ex-step-detail{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ex-step-flow{margin:4px 0 0;font-size:var(--fs-sm);color:var(--mov-ink)}.ex-toggle{min-height:24px;padding:0 8px;border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm);color:var(--ink)}.ex-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--sp-2)}.ex-stat{display:grid;gap:1px;padding:var(--sp-2);border:1px solid var(--line);background:var(--paper)}.ex-stat em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.ex-stat b{font-family:var(--font-mono);font-size:var(--fs-lg)}.ex-stat span{font-size:11px;color:var(--ink-3)}.ex-bars{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:6px}.ex-bars>li{display:grid;grid-template-columns:76px minmax(50px,1fr) minmax(0,auto);gap:var(--sp-2);align-items:center}.ex-bar-label{font-size:var(--fs-sm);color:var(--ink-2)}.ex-bar-track{display:block;height:12px;min-width:0;background:var(--paper-2);border:1px solid var(--line)}.ex-bar-fill{display:block;height:100%;min-width:2px}.ex-bar-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.ex-summary{margin:var(--sp-3) 0 0;padding:var(--sp-2) var(--sp-3);background:var(--set-wash);border-left:4px solid var(--set-line);font-size:var(--fs-sm)}.ex-view sup{font-size:var(--fs-sm);vertical-align:super;line-height:0}.ex-ops{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ex-ops button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.ex-ops button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}@media(max-width:640px){.ex-bars>li{grid-template-columns:64px minmax(0,1fr)}.ex-bar-value{grid-column:2 / -1}.ex-cells{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.ca-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.ca-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--cmp-ink)}.ca-head-title{min-width:0}.ca-head-mapping{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:600}.ca-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.ca-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.ca-metrics li{display:grid;gap:1px}.ca-metrics em{font-style:normal;font-size:11px;color:var(--ink-2)}.ca-metrics b{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:1.2}.ca-metrics li.is-hit b{color:var(--set-ink)}.ca-metrics li.is-miss b{color:var(--ptr-ink)}.ca-metrics li.is-cost b{color:var(--mov-ink)}.ca-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.ca-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ca-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.ca-sub-title{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.ca-sub-note{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.ca-block{margin-top:var(--sp-2)}.ca-legend-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.ca-scroll{overflow-x:auto;max-width:100%}.ca-table{border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.ca-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);font-size:11px;color:var(--ink-3)}.ca-table th,.ca-table td{border:1px solid var(--line);padding:3px 7px;text-align:center;white-space:nowrap}.ca-table thead th{background:var(--paper-2);font-weight:600;font-size:11px;color:var(--ink-2);position:sticky;top:0;z-index:1}.ca-table tfoot td{background:var(--paper-2);font-size:11px;color:var(--ink-2)}.ca-mono{font-family:var(--font-mono)}.ca-table th.is-tag{background:var(--cmp-wash);color:var(--cmp-ink)}.ca-table th.is-set{background:var(--mov-wash);color:var(--mov-ink)}.ca-table th.is-off{background:var(--set-wash);color:var(--set-ink)}.ca-table td.is-tag{background:var(--cmp-wash);color:var(--cmp-ink)}.ca-table td.is-set{background:var(--mov-wash);color:var(--mov-ink)}.ca-table td.is-off{background:var(--set-wash);color:var(--set-ink)}.ca-addr{display:grid;gap:var(--sp-2);min-width:0}.stage-frame svg.ca-svg{display:block;width:auto;min-width:0;height:auto;max-width:100%}.ca-bit{fill:var(--surface);stroke-width:1.2}.ca-bit.is-cmp{stroke:var(--cmp-line);fill:var(--cmp-wash)}.ca-bit.is-mov{stroke:var(--mov-line);fill:var(--mov-wash)}.ca-bit.is-set{stroke:var(--set-line);fill:var(--set-wash)}.ca-bit.is-void{fill:var(--paper);stroke:var(--line-2);stroke-dasharray:3 3}.ca-bit-char{font:var(--fs-body) var(--font-mono)}.ca-bit-char.is-cmp{fill:var(--cmp-ink)}.ca-bit-char.is-mov{fill:var(--mov-ink)}.ca-bit-char.is-set{fill:var(--set-ink)}.ca-bit-char.is-void{fill:var(--ink-3)}.ca-bit-head{font:var(--fs-xs) var(--font-body);font-weight:600}.ca-bit-head.is-cmp{fill:var(--cmp-ink)}.ca-bit-head.is-mov{fill:var(--mov-ink)}.ca-bit-head.is-set{fill:var(--set-ink)}.ca-bit-num{font:11px var(--font-mono);fill:var(--ink-3)}.ca-seg-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-sm)}.ca-seg-legend li{display:inline-flex;align-items:center;gap:5px;min-width:0}.ca-seg-chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:18px;padding:0 5px;border:1px solid;border-radius:3px;font-size:11px;line-height:1}.ca-seg-legend b{font-family:var(--font-mono);font-weight:600}.ca-seg-legend code{font-family:var(--font-mono);color:var(--ink)}.ca-seg-legend li span:last-child{color:var(--ink-2)}.ca-seg-legend li.is-void,.ca-seg-legend li.is-void code{color:var(--ink-3)}.ca-derive{list-style:none;margin:0;padding:0;display:grid;gap:4px}.ca-derive li{display:grid;grid-template-columns:minmax(150px,240px) minmax(0,1fr);gap:var(--sp-2);padding:4px 7px;border:1px solid var(--line);background:var(--paper);font-size:var(--fs-sm);min-width:0}.ca-derive b{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink)}.ca-derive span{color:var(--ink-2);overflow-wrap:anywhere}.ca-derive li.is-cost{border-color:var(--mov-line);background:var(--mov-wash)}.ca-derive li.is-cost b{color:var(--mov-ink)}.ca-addr-note{margin:0;font-size:var(--fs-sm);color:var(--ink-3);overflow-wrap:anywhere}.ca-map{min-width:0}.ca-map-table td{min-width:40px}.ca-col-set{width:1%}.ca-set-cell{background:var(--paper-2);font-size:11px;color:var(--ink-2);vertical-align:middle;border-left:3px solid var(--line-2)!important}.ca-set-cell b{display:block;font-family:var(--font-title);font-size:var(--fs-sm);color:var(--ink)}.ca-set-cell em{display:block;font-style:normal;font-size:11px;color:var(--ink-3)}.ca-set-cell.is-current{background:var(--cmp-wash);color:var(--cmp-ink);border-left-color:var(--cmp-ink)!important}.ca-set-cell.is-current b{color:var(--cmp-ink)}.ca-line-no{color:var(--ink-3);font-family:var(--font-mono)}.ca-tag{font-family:var(--font-mono);color:var(--cmp-ink)}.ca-block-cell b{font-family:var(--font-mono)}.ca-block-cell .ca-out{margin-right:4px}.ca-empty{color:var(--ink-3);font-size:11px}.ca-time{color:var(--ink-2);font-size:11px}.ca-out{color:var(--ptr-ink);font-family:var(--font-mono);font-size:11px}.ca-dirty{display:inline-flex;align-items:center;font-size:11px;line-height:1.6;padding:0 6px;border:1px solid var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.ca-line.is-hit td{background:var(--set-wash)}.ca-line.is-hit .ca-block-cell b{color:var(--set-ink)}.ca-line.is-load td{background:var(--mov-wash)}.ca-line.is-load .ca-block-cell b{color:var(--mov-ink)}.ca-line.is-evicted .ca-block-cell{outline:2px solid var(--ptr-line);outline-offset:-2px}.ca-line.is-load .ca-dirty{margin-left:3px}.ca-map-note{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ca-card-table h4{margin-bottom:var(--sp-1);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ca-col-no{width:1%;color:var(--ink-3);font-family:var(--font-mono)}.ca-col-acc{width:1%}.ca-rw{display:inline-flex;justify-content:center;min-width:22px;padding:0 5px;font-size:11px;line-height:1.7;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2)}.ca-rw.is-write{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink);font-weight:600}.ca-line-ref{display:block;font-style:normal;font-size:11px;color:var(--ink-3)}.ca-badge{display:inline-flex;align-items:center;font-size:11px;line-height:1.7;padding:0 7px;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.ca-badge.is-hit{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.ca-badge.is-miss{background:var(--ptr-wash);border-color:var(--ptr-line);color:var(--ptr-ink);font-weight:600}.ca-fetch{font-size:11px;color:var(--mov-ink)}.ca-cycles{color:var(--ink-2)}.ca-row{cursor:pointer}.ca-row td{background:var(--surface)}.ca-row.is-hit td{background:var(--set-wash)}.ca-row.is-miss td:first-child{box-shadow:inset 3px 0 var(--ptr-ink)}.ca-row:hover td,.ca-row.is-picked td{background:var(--cmp-wash)}.ca-row.is-picked td:first-child{box-shadow:inset 3px 0 var(--cmp-ink)}.ca-table tfoot tr td{position:static}.ca-reason{margin:0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-left:4px solid var(--line-2);background:var(--paper)}.ca-reason.is-hit{border-left-color:var(--set-line);background:var(--set-wash)}.ca-reason.is-miss{border-left-color:var(--ptr-line);background:var(--ptr-wash)}.ca-facts{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px}.ca-facts li{display:grid;gap:1px;padding:4px 7px;border:1px solid var(--line);background:var(--paper);font-size:var(--fs-sm);min-width:0}.ca-facts em{font-style:normal;font-size:11px;color:var(--ink-3)}.ca-facts b{font-family:var(--font-mono);font-size:var(--fs-sm);overflow-wrap:anywhere}.ca-pseudo{list-style:none;margin:0;padding:0;display:grid;gap:1px}.ca-pseudo li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--sp-2);padding:1px 6px;border-left:3px solid transparent;font-size:var(--fs-sm);color:var(--ink-3)}.ca-pseudo li.is-lit{background:var(--cmp-wash);border-left-color:var(--cmp-ink);color:var(--ink)}.ca-pseudo code{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.ca-ln{text-align:right;font-family:var(--font-mono);color:var(--ink-3);-webkit-user-select:none;user-select:none}.ca-cmp{width:100%}.ca-cmp th[scope=row]{text-align:left;background:var(--paper);font-weight:600}.ca-cmp-name{font-family:var(--font-title);font-size:var(--fs-sm)}.ca-cmp-name em{display:block;font-style:normal;font-family:var(--font-body);font-size:11px;color:var(--ink-3)}.ca-cmp tr.is-current th[scope=row]{background:var(--cmp-wash);color:var(--cmp-ink)}.ca-cmp tr.is-current td{background:var(--surface);box-shadow:inset 0 0 0 1px var(--cmp-line)}.ca-cmp tr.is-best th[scope=row]:after{content:" ◀";color:var(--set-ink)}.ca-cmp tr.is-best .ca-mono{color:var(--set-ink)}.ca-table th.is-cost{background:var(--mov-wash);color:var(--mov-ink)}.ca-table th.is-gain{background:var(--set-wash);color:var(--set-ink)}.ca-comparators{text-align:center}.ca-chip{display:inline-flex;font-family:var(--font-mono);font-size:11px;line-height:1.7;padding:0 6px;border:1px solid var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.ca-rate-cell,.ca-miss-cell{min-width:150px;text-align:left}.ca-track{display:inline-block;vertical-align:middle;width:64px;height:12px;background:var(--paper-2);border:1px solid var(--line)}.ca-fill{display:block;height:100%;min-width:2px}.ca-fill.is-rate{background:var(--set-ink)}.ca-fill.is-miss{background:var(--ptr-ink)}.ca-rate-cell b,.ca-miss-cell b{display:inline-block;margin-left:6px}.ca-wnum{display:inline-block;min-width:42px;padding:0 6px;font-family:var(--font-mono);font-size:var(--fs-xl);line-height:1.3;text-align:center;border:1px solid var(--line-2);background:var(--paper);color:var(--ptr-ink)}.ca-wnum.is-few{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.ca-why{font-size:11px;color:var(--ink-2);white-space:normal;min-width:0;overflow-wrap:anywhere;text-align:left}.ca-warn{margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-left:4px solid var(--mov-line);background:var(--mov-wash);color:var(--ink)}.ca-warn.is-soft{border-left-color:var(--line-2);background:var(--paper);color:var(--ink-2)}.ca-why-list{list-style:none;margin:0 0 var(--sp-2);padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-2)}.ca-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:0}.ca-why-list li.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.ca-why-list b{font-family:var(--font-title);font-size:var(--fs-sm)}.ca-why-list em{display:block;font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:2px}.ca-why-list p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ca-groups{margin-bottom:var(--sp-3)}.ca-group-title{margin:0 0 var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.ca-algos{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ca-algos button{display:grid;gap:1px;min-height:40px;padding:4px var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm);text-align:left}.ca-algos button em{font-style:normal;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.ca-algos button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.ca-algos button.is-active em{color:var(--set-ink)}.ca-algos button:disabled{opacity:.45;cursor:not-allowed}.ca-split-hint{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.ca-disabled-note{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--mov-ink)}.ca-field-wide{grid-column:1 / -1}.ca-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}@media(max-width:640px){.ca-derive li{grid-template-columns:minmax(0,1fr)}.ca-facts{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.ca-rate-cell,.ca-miss-cell{min-width:110px}.ca-track{width:42px}}.io-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.stage-frame svg.io-svg{display:block;width:auto;min-width:0;height:auto}.io-scroll{overflow-x:auto;max-width:100%}.io-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--cmp-ink)}.io-head-title{min-width:0}.io-head-mode{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:600}.io-head-who{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.io-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.io-metrics li{display:grid;gap:1px}.io-metrics em{font-style:normal;font-size:11px;color:var(--ink-2)}.io-metrics b{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:1.2}.io-metrics b i{font-style:normal;font-size:11px;color:var(--ink-3)}.io-metrics li.is-cost b{color:var(--ptr-ink)}.io-metrics li.is-waste b{color:var(--mov-ink)}.io-metrics li.is-free b{color:var(--set-ink)}.io-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.io-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.io-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.io-sub-title{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.io-hint{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-3)}.io-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-4);min-width:0}.io-sub,.io-timeline{min-width:0}.io-row-bg{fill:var(--paper);stroke:var(--line);stroke-width:1}.io-row-label{font:var(--fs-sm) var(--font-body);font-weight:600;fill:var(--ink)}.io-row-sub{font:11px var(--font-mono);fill:var(--ink-3)}.io-bar{stroke-width:1}.io-bar.is-compare{fill:var(--cmp-wash);stroke:var(--cmp-line)}.io-bar.is-move{fill:var(--mov-wash);stroke:var(--mov-line)}.io-bar.is-settled{fill:var(--set-wash);stroke:var(--set-line)}.io-bar.is-pointer{fill:var(--ptr-wash);stroke:var(--ptr-line)}.io-bar.is-future{fill-opacity:.32;stroke-opacity:.5;stroke-dasharray:3 3}.io-bar-text{font:11px var(--font-mono);fill:var(--ink-2);pointer-events:none}.io-tick{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4;opacity:.8}.io-tick-label{font:11px var(--font-mono);fill:var(--ink-3)}.io-axis-title{font:var(--fs-xs) var(--font-body);fill:var(--ink-2)}.io-playhead{stroke:var(--ink);stroke-width:1.6}.io-playhead-label{font:var(--fs-xs) var(--font-mono);fill:var(--ink);font-weight:700}.io-timeline-note{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.io-reason{margin:0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-left:4px solid var(--line-2);background:var(--paper)}.io-reason.is-work{border-left-color:var(--mov-line);background:var(--mov-wash)}.io-reason.is-cost{border-left-color:var(--ptr-line);background:var(--ptr-wash)}.io-reason.is-idle{border-left-color:var(--set-line);background:var(--set-wash)}.io-why{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.io-steps{list-style:none;margin:0;padding:0;display:grid;gap:1px}.io-steps li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--sp-2);padding:2px 6px;border-left:3px solid transparent;font-size:var(--fs-sm);color:var(--ink-3)}.io-steps li.is-lit{background:var(--cmp-wash);border-left-color:var(--cmp-ink);color:var(--ink)}.io-ln{text-align:right;font-family:var(--font-mono);color:var(--ink-3);-webkit-user-select:none;user-select:none}.io-regs{list-style:none;margin:0;padding:0;display:grid;gap:5px}.io-regs li{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:2px var(--sp-2);padding:5px 8px;border:1px solid var(--line);background:var(--paper);min-width:0}.io-regs em{font-style:normal;font-size:11px;color:var(--ink-3)}.io-regs b{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink)}.io-regs span{grid-column:1 / -1;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.io-regs li.is-set{border-color:var(--set-line);background:var(--set-wash)}.io-regs li.is-set b{color:var(--set-ink)}.io-regs li.is-clear b{color:var(--ptr-ink)}.io-code{list-style:none;margin:0;padding:0;display:grid;gap:1px}.io-code li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--sp-2);padding:1px 6px;border-left:3px solid transparent;font-size:var(--fs-sm);color:var(--ink-3)}.io-code li.is-lit{background:var(--mov-wash);border-left-color:var(--mov-ink);color:var(--ink)}.io-code code{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.io-verdict{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border:1px solid var(--line);background:var(--paper);min-width:0}.io-verdict b{font-family:var(--font-mono)}.io-verdict .is-waste{color:var(--ptr-ink)}.io-verdict.io-inline{margin:0}.io-running{margin:0;font-family:var(--font-title);font-size:var(--fs-body)}.io-if{margin:var(--sp-2) 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.io-if b{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:1.2;min-width:26px;text-align:center;border:1px solid var(--line-2);background:var(--paper);padding:0 5px}.io-if b.is-on{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.io-if b.is-off{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.io-if em{font-style:normal;color:var(--ink-2)}.io-stack{list-style:none;margin:0;padding:0;display:grid;gap:3px}.io-stack li{display:flex;align-items:center;gap:var(--sp-2);padding:3px 8px;border:1px solid var(--line-2);background:var(--paper-2);font-family:var(--font-mono);font-size:var(--fs-sm)}.io-stack li.is-top{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.io-stack li em{font-style:normal;font-family:var(--font-body);font-size:11px;color:var(--ink-3)}.io-stack-empty{margin:0;font-size:var(--fs-sm);color:var(--ink-3)}.io-path{margin-bottom:var(--sp-2)}.io-node{fill:var(--surface);stroke:var(--line-2);stroke-width:1.2}.io-node.is-active,.io-cpu-node.is-active{fill:var(--mov-wash);stroke:var(--mov-ink)}.io-node-title{font:var(--fs-sm) var(--font-body);font-weight:600;fill:var(--ink)}.io-node-sub{font:11px var(--font-mono);fill:var(--ink-2)}.io-dashed{stroke:var(--line-2);stroke-width:1.2;stroke-dasharray:4 3}.io-dashed-label{font:11px var(--font-body);fill:var(--ink-3)}.io-dashed-label.is-bus{fill:var(--mov-ink);font-family:var(--font-mono)}.io-flow{stroke:var(--line-2);stroke-width:1.6}.io-flow.is-active{stroke:var(--mov-ink);stroke-width:2.6}.io-flow-head{fill:var(--line-2)}.io-flow-head.is-active{fill:var(--mov-ink)}.io-flow-label{font:11px var(--font-body);fill:var(--ink-3)}.io-cell{fill:var(--paper-2);stroke:var(--line-2);stroke-width:1}.io-cell.is-full{fill:var(--mov-wash);stroke:var(--mov-line)}.io-cell-note{font:11px var(--font-body);fill:var(--ink-3)}.io-table{border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.io-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);font-size:11px;color:var(--ink-3)}.io-table th,.io-table td{border:1px solid var(--line);padding:3px 7px;text-align:center;white-space:nowrap}.io-table thead th{background:var(--paper-2);font-weight:600;font-size:11px;color:var(--ink-2)}.io-table tfoot td{background:var(--paper-2);font-size:11px;color:var(--ink-2)}.io-table th[scope=row]{text-align:left;background:var(--paper);font-weight:600}.io-table tr.is-pending td,.io-table tr.is-pending th{opacity:.45}.io-table tr.is-current th[scope=row]{background:var(--cmp-wash);color:var(--cmp-ink)}.io-table tr.is-best th[scope=row]:after{content:" ◀";color:var(--set-ink)}.io-table tr.is-worst th[scope=row]:after{content:" ▲";color:var(--ptr-ink)}.io-table th.is-cpu{background:var(--ptr-wash);color:var(--ptr-ink)}.io-table th.is-free{background:var(--set-wash);color:var(--set-ink)}.io-table th.is-bus{background:var(--mov-wash);color:var(--mov-ink)}.io-table th.is-q{background:var(--cmp-wash);color:var(--cmp-ink)}.io-mono{font-family:var(--font-mono)}.io-big{font-family:var(--font-mono);font-size:var(--fs-body);font-weight:700}.io-name em{display:block;font-style:normal;font-family:var(--font-body);font-size:11px;color:var(--ink-3)}.io-table-note{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.io-strips{display:grid;gap:4px}.io-strips>div.is-current{outline:2px solid var(--cmp-line);outline-offset:1px}.io-strip-name{font:var(--fs-xs) var(--font-body);font-weight:600;fill:var(--ink)}.io-strip-end{font:11px var(--font-mono);fill:var(--ink-3)}.io-strip-legend{margin:var(--sp-2) 0 0;display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-sm);color:var(--ink-2)}.io-key{display:inline-flex;align-items:center;gap:5px;padding:0 6px;border:1px solid;font-size:11px}.io-key.is-pointer{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.io-key.is-move{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.io-key.is-compare{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.io-key.is-settled{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.io-why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-2)}.io-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:0}.io-why-list li.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.io-why-list b{font-family:var(--font-title);font-size:var(--fs-sm)}.io-why-list em{display:block;font-style:normal;font-size:11px;color:var(--ink-3);margin-top:2px}.io-why-list p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.io-groups{margin-bottom:var(--sp-3)}.io-group-title{margin:0 0 var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.io-modes{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.io-modes button{display:grid;gap:2px;min-height:44px;padding:5px var(--sp-3);text-align:left;border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.io-modes button em{font-style:normal;font-size:11px;color:var(--ink-3)}.io-modes button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.io-modes button.is-active em{color:var(--set-ink)}.io-note-line{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.field em{font-style:normal;font-size:11px;color:var(--ink-3)}@media(max-width:640px){.io-cols,.io-regs li{grid-template-columns:minmax(0,1fr)}}.tcp-view{display:grid;gap:var(--sp-4);min-width:0}.tcp-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.tcp-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.tcp-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.tcp-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.tcp-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.tcp-head{display:grid;gap:4px;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--cmp-ink)}.tcp-head-scene{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.tcp-head-summary{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.tcp-head-states{margin:0;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.tcp-scroll{overflow-x:auto}.stage-frame svg.tcp-svg{width:auto;min-width:0;height:auto}.tcp-svg{font-family:var(--font-body)}.tcp-svg .tcp-life{stroke:var(--line-2);stroke-width:1.4}.tcp-svg .tcp-side{fill:var(--ink);font-family:var(--font-title);font-size:var(--fs-sm);font-weight:600}.tcp-svg .tcp-side-sub{fill:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-sm)}.tcp-svg .tcp-row{fill:var(--paper)}.tcp-svg .tcp-row.is-picked{fill:var(--set-wash)}.tcp-svg .tcp-row-no{fill:var(--ink-3);font-family:var(--font-mono);font-size:var(--fs-sm)}.tcp-svg .tcp-label{fill:var(--ink);font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:600}.tcp-svg .tcp-seq{fill:var(--ink-2);font-family:var(--font-mono);font-size:var(--fs-sm)}.tcp-svg .tcp-wire{stroke:var(--cmp-line);stroke-width:2}.tcp-svg .tcp-wire-head{fill:var(--cmp-ink)}.tcp-svg .tcp-wire.is-retransmit{stroke:var(--mov-ink);stroke-dasharray:8 4}.tcp-svg .tcp-wire-head.is-retransmit{fill:var(--mov-ink)}.tcp-svg .tcp-wire.is-lost{stroke:var(--ptr-line);stroke-dasharray:5 5}.tcp-svg .tcp-wire.is-picked{stroke:var(--set-ink);stroke-width:3.4}.tcp-svg .tcp-wire-head.is-picked{fill:var(--set-ink)}.tcp-svg .tcp-lost-mark{fill:var(--ptr-ink);font-size:var(--fs-sm);font-weight:600}.tcp-machines{display:grid;gap:var(--sp-4)}.tcp-chain-head{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.tcp-chain-head b{font-family:var(--font-title);font-size:var(--fs-sm)}.tcp-chain-head span{font-size:var(--fs-sm);color:var(--ink-2)}.tcp-chain-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;align-items:stretch}.tcp-chain-item{display:flex;align-items:center;gap:6px;min-width:0}.tcp-chain-arrow{color:var(--ink-3);font-size:var(--fs-sm)}.tcp-state{display:grid;gap:1px;min-width:0;padding:5px 9px;text-align:left;border:1px solid var(--line-2);background:var(--paper);font-family:var(--font-body);color:var(--ink)}button.tcp-state{cursor:pointer}.tcp-state b{font-family:var(--font-mono);font-size:var(--fs-sm)}.tcp-state-meaning{font-size:11px;color:var(--ink-2)}.tcp-state-trigger{font-style:normal;font-size:11px;color:var(--ink-3)}.tcp-state.is-final{border-color:var(--set-line);background:var(--set-wash);box-shadow:inset 3px 0 var(--set-ink)}.tcp-state.is-active{border-color:var(--cmp-line);background:var(--cmp-wash);box-shadow:inset 3px 0 var(--cmp-ink)}.tcp-events{list-style:none;margin:0;padding:0;display:grid;gap:5px}.tcp-event-btn{display:grid;gap:3px;width:100%;text-align:left;cursor:pointer;padding:6px var(--sp-2);border:1px solid var(--line);border-left:3px solid var(--line-2);background:var(--paper);font-family:var(--font-body);color:var(--ink)}.tcp-event.is-lost .tcp-event-btn,.tcp-event.is-timeout .tcp-event-btn{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.tcp-event.is-retransmit .tcp-event-btn{border-left-color:var(--mov-ink)}.tcp-event.is-picked .tcp-event-btn{border-color:var(--cmp-line);background:var(--cmp-wash)}.tcp-event-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.tcp-event-no{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;font-family:var(--font-mono);font-size:11px;background:var(--paper-2);border:1px solid var(--line-2);color:var(--ink-2)}.tcp-kind{display:inline-flex;align-items:center;gap:3px;padding:0 7px;font-size:11px;line-height:1.6;white-space:nowrap;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2)}.tcp-kind.is-arrive{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.tcp-kind.is-lost,.tcp-kind.is-timeout{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.tcp-kind.is-retransmit{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.tcp-event-title{font-size:var(--fs-sm)}.tcp-event-states{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.tcp-event-detail{font-size:var(--fs-sm);color:var(--ink-2)}.tcp-code{list-style:none;margin:0;padding:0;display:grid;gap:3px}.tcp-code>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;align-items:baseline;padding:3px 6px;border-left:2px solid var(--line)}.tcp-code>li.is-active{border-left-color:var(--cmp-ink);background:var(--cmp-wash)}.tcp-code-no{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.tcp-code code{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink);overflow-wrap:anywhere}.tcp-table-wrap{overflow-x:auto}.tcp-table{border-collapse:collapse;width:100%;min-width:620px;font-size:var(--fs-sm)}.tcp-table th,.tcp-table td{border:1px solid var(--line);padding:4px 7px;text-align:left;white-space:nowrap}.tcp-table th{background:var(--paper-2);font-size:11px;font-weight:600}.tcp-table .tcp-mono{font-family:var(--font-mono)}.tcp-table tr.is-lost td{background:var(--ptr-wash)}.tcp-table tr.is-retransmit td{background:var(--mov-wash)}.tcp-wrap{display:inline-block;margin-left:4px;padding:0 4px;font-style:normal;font-size:11px;border:1px solid var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.tcp-notes{margin:0;padding-left:18px;display:grid;gap:5px;font-size:var(--fs-sm);color:var(--ink-2)}.tcp-scenes{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tcp-scenes button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.tcp-scenes button.is-active{background:var(--cmp-wash);border-color:var(--cmp-line);font-weight:600}@media(max-width:640px){.tcp-table{min-width:540px}}.tcp-timewait{margin-top:var(--sp-3);border:1px solid var(--line-2);border-left:4px solid var(--ptr-line);background:var(--paper-2);padding:var(--sp-4);display:grid;gap:var(--sp-2)}.tcp-timewait-head{margin:0;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm)}.tcp-timewait-head span{font-size:var(--fs-sm);color:var(--ink-2)}.tcp-timewait-slider{display:grid;gap:4px;font-size:var(--fs-sm);color:var(--ink-2)}.tcp-timewait-slider input{width:100%}.tcp-timewait-state{margin:0;font-size:var(--fs-sm);color:var(--ptr-ink)}.tcp-timewait-state.is-closed{color:var(--set-ink);font-weight:600}.tcp-timewait-reasons{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.tcp-timewait-reasons li{border:1px solid var(--line);background:var(--surface);padding:var(--sp-2) var(--sp-3);display:grid;gap:3px;font-size:var(--fs-sm)}.tcp-timewait-reasons li.is-live{border-color:var(--ptr-line);background:var(--ptr-wash)}.tcp-timewait-reasons b{font-size:var(--fs-sm);color:var(--ink-2)}.tcp-timewait-reasons span{color:var(--ink);line-height:1.65}.tcp-timewait-live{font-style:normal;color:var(--ptr-ink);font-weight:600}.sub-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.sub-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.sub-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.sub-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.sub-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.sub-mono{font-family:var(--font-mono)}.sub-error{margin:0;padding-left:var(--sp-3);border-left:3px solid var(--mov-line);font-size:var(--fs-sm);color:var(--ink-2)}.sub-card-bar{overflow:visible}.sub-bar{position:relative;display:grid;grid-template-columns:repeat(32,minmax(0,1fr));height:30px;border:1px solid var(--line-2);background:var(--paper)}.sub-bit{display:grid;place-items:center;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.sub-bit.is-octet-start{box-shadow:inset 1px 0 0 var(--line-2)}.sub-bit.is-net{background:var(--cmp-wash);color:var(--cmp-ink)}.sub-bit.is-sub{background:var(--ptr-wash);color:var(--ptr-ink)}.sub-bit.is-host{background:var(--set-wash);color:var(--set-ink)}.sub-bit:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.sub-divider{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;padding:0;border:0;background:var(--ink);cursor:ew-resize;touch-action:none}.sub-divider:before{content:"";position:absolute;top:0;bottom:0;left:-7px;right:-7px}.sub-divider.is-borrow{background:var(--ptr-ink)}.sub-divider.is-active{background:var(--focus)}.sub-divider:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sub-bar-legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-top:var(--sp-2)}.sub-chip{font-size:var(--fs-sm);padding:1px var(--sp-2);border:1px solid var(--line);font-family:var(--font-mono);white-space:nowrap}.sub-chip.is-net{background:var(--cmp-wash);border-color:var(--cmp-line);color:var(--cmp-ink)}.sub-chip.is-sub{background:var(--ptr-wash);border-color:var(--ptr-line);color:var(--ptr-ink)}.sub-chip.is-host{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.sub-bar-text{display:grid;gap:2px;margin-top:var(--sp-2)}.sub-text-row{display:grid;grid-template-columns:3.2em repeat(4,minmax(0,1fr)) auto;gap:var(--sp-2);align-items:baseline}.sub-text-label{font-size:var(--fs-sm);color:var(--ink-2)}.sub-text-octet{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);letter-spacing:.04em}.sub-text-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink)}.sub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-4)}.sub-fact{border-left:2px solid var(--line-2);padding-left:var(--sp-2);min-width:0}.sub-fact em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.sub-fact b{display:block;font-family:var(--font-mono);font-size:var(--fs-body);overflow-wrap:anywhere}.sub-fact p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.sub-yes{color:var(--set-ink)!important}.sub-no{color:var(--mov-ink)!important}.sub-carve{display:flex;height:26px;border:1px solid var(--line-2);background:var(--paper)}.sub-carve-seg{flex:1 1 0;min-width:0;display:grid;place-items:center;border-right:1px solid var(--line);background:var(--set-wash);font-family:var(--font-mono);font-size:11px;color:var(--set-ink)}.sub-carve-seg:last-child{border-right:0}.sub-carve-seg.is-self{background:var(--cmp-line);color:var(--surface)}.sub-carve-seg.is-peer{outline:2px dashed var(--ptr-ink);outline-offset:-3px}.sub-carve-seg.is-self.is-peer{background:var(--cmp-line)}.sub-scroll{overflow-x:auto;margin-top:var(--sp-3)}.sub-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.sub-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm);font-family:var(--font-mono)}.sub-table th,.sub-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap}.sub-table thead th{background:var(--paper-2);font-weight:600}.sub-table tr.is-self td{background:var(--cmp-wash)}.sub-table tr.is-self td:first-child{font-weight:600;color:var(--cmp-ink)}.sub-table tr.is-peer td:first-child{box-shadow:inset 3px 0 0 var(--ptr-ink)}.sub-verdict{border-left:3px solid var(--line-2);background:var(--paper-2);padding:var(--sp-2) var(--sp-3)}.sub-verdict.is-yes{border-left-color:var(--set-ink);background:var(--set-wash)}.sub-verdict p{margin:0;font-size:var(--fs-sm);line-height:var(--lh-body)}.sub-verdict p+p{margin-top:var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm)}.sub-pairs{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:var(--sp-2)}.sub-pairs li{border-left:2px solid var(--line-2);padding-left:var(--sp-2);font-size:var(--fs-sm)}.sub-pairs li.is-yes{border-left-color:var(--set-ink)}.sub-pairs li.is-no{border-left-color:var(--mov-line)}.sub-pairs b{margin-right:var(--sp-2)}.sub-pairs p{margin:2px 0 0;color:var(--ink-2)}.sub-merged{color:var(--set-ink);margin-left:var(--sp-2)}.sub-controls .field input[type=range]{min-height:0;border:0;background:transparent;padding:0;accent-color:var(--cmp-ink)}.sub-field-wide{grid-column:1 / -1}.sub-field-wide textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical}@media(max-width:640px){.sub-bit{font-size:11px}.sub-text-row{grid-template-columns:3.2em repeat(4,minmax(0,1fr))}.sub-text-value{grid-column:2 / -1}.sub-fact b{font-size:var(--fs-sm)}}.win-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.win-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.win-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.win-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.win-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.win-mono{font-family:var(--font-mono)}.win-error{margin:0;padding-left:var(--sp-3);border-left:3px solid var(--mov-line);font-size:var(--fs-sm);color:var(--ink-2)}.win-timeline{display:grid;gap:var(--sp-2)}.win-lane-row{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:var(--sp-2);align-items:center}.win-lane-label{display:grid;gap:1px;min-width:0}.win-lane-label b{font-size:var(--fs-sm);font-weight:600}.win-lane-label .win-note{font-size:11px}.win-lane{position:relative;height:24px;background:var(--paper);border:1px solid var(--line-2);overflow:hidden}.win-seg{position:absolute;top:1px;bottom:1px;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;overflow:hidden;border:1px solid var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.win-seg.is-ack{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.win-seg.is-lost{border:1px dashed var(--mov-ink);color:var(--mov-ink);background:transparent;background-image:repeating-linear-gradient(45deg,var(--mov-wash) 0 3px,transparent 3px 6px)}.win-seg.is-retx{border:2px solid var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.win-axis{position:relative;height:16px}.win-tick{position:absolute;top:0;transform:translate(-50%);font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.win-legend{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.win-legend li{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2)}.win-mark{width:14px;height:10px;border:1px solid var(--cmp-line);background:var(--cmp-wash)}.win-mark.is-ack{border-color:var(--set-line);background:var(--set-wash)}.win-mark.is-lost{border:1px dashed var(--mov-ink);background:transparent;background-image:repeating-linear-gradient(45deg,var(--mov-wash) 0 3px,transparent 3px 6px)}.win-mark.is-retx{border:2px solid var(--ptr-ink);background:var(--ptr-wash)}.win-table-wrap{overflow-x:auto}.win-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.win-table th,.win-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center}.win-table thead th{background:var(--paper-2);font-weight:600}.win-table tbody tr.is-current td{background:var(--cmp-wash)}.win-table tbody tr[data-best="1"] td:last-child{font-weight:600;color:var(--set-ink)}.win-table-limits .win-why{text-align:left;white-space:normal;color:var(--ink-2);font-size:var(--fs-sm);line-height:var(--lh-body);min-width:16em}.win-table-compare td{white-space:nowrap}.win-util{display:grid;gap:var(--sp-1)}.win-util-row{display:grid;grid-template-columns:10em minmax(0,1fr) 5em;gap:var(--sp-2);align-items:center;font-size:var(--fs-sm)}.win-util-label{color:var(--ink-2)}.win-util-track{display:block;height:14px;background:var(--paper-2);border:1px solid var(--line)}.win-util-fill{display:block;height:100%;background:var(--set-line)}.win-util-fill.is-current{background:var(--cmp-ink)}.win-util-value{text-align:right}.win-formula{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.win-controls .field input[type=range]{min-height:0;border:0;background:transparent;padding:0;accent-color:var(--cmp-ink)}.win-note-line{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:640px){.win-lane-row{grid-template-columns:minmax(0,1fr)}.win-util-row{grid-template-columns:minmax(0,1fr) auto}.win-util-track{grid-column:1 / -1}}.pg-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.pg-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--cmp-ink)}.pg-head-title{min-width:0}.pg-head-algo{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:600}.pg-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.pg-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.pg-metrics li{display:grid;gap:1px}.pg-metrics em{font-style:normal;font-size:11px;color:var(--ink-2)}.pg-metrics b{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:1.2}.pg-metrics li.is-fault b{color:var(--ptr-ink)}.pg-metrics li.is-hit b{color:var(--set-ink)}.pg-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.pg-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.pg-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.pg-sub-title{margin:var(--sp-2) 0 var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--ink-2)}.pg-block{margin-top:var(--sp-2)}.pg-legend-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.pg-scroll{overflow-x:auto;max-width:100%}.pg-table{border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.pg-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);font-size:11px;color:var(--ink-3)}.pg-table th,.pg-table td{border:1px solid var(--line);padding:3px 7px;text-align:center;white-space:nowrap}.pg-table thead th{background:var(--paper-2);font-weight:600;font-size:11px;color:var(--ink-2);position:sticky;top:0;z-index:1}.pg-col-frame{background:var(--cmp-wash)!important;color:var(--cmp-ink)!important}.pg-no{color:var(--ink-3);font-family:var(--font-mono)}.pg-page{font-family:var(--font-mono);font-weight:600}.pg-frame-cell{min-width:46px}.pg-cell-frame{display:inline-flex;align-items:baseline;gap:4px;justify-content:center;min-width:30px;padding:1px 5px;border:1px solid var(--line-2);background:var(--surface);font-family:var(--font-mono);font-size:var(--fs-sm)}.pg-cell-frame.is-current{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.pg-cell-frame.is-swapped{border-color:var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink);box-shadow:0 0 0 2px var(--ptr-wash)}.pg-cell-out{color:var(--ptr-ink);font-size:11px}.pg-cell-empty{color:var(--ink-3)}.pg-badge{display:inline-flex;align-items:center;font-size:11px;line-height:1.7;padding:0 7px;border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2);white-space:nowrap}.pg-badge.is-hit{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.pg-badge.is-fault{background:var(--ptr-wash);border-color:var(--ptr-line);color:var(--ptr-ink);font-weight:600}.pg-victim{color:var(--ptr-ink);font-family:var(--font-mono)}.pg-none{color:var(--ink-3)}.pg-row{cursor:pointer}.pg-row td{background:var(--surface)}.pg-row.is-hit td{background:var(--set-wash)}.pg-row.is-fault td{background:var(--surface);box-shadow:inset 0 0 0 0 transparent}.pg-row.is-fault td:first-child{box-shadow:inset 3px 0 var(--ptr-ink)}.pg-row:hover td,.pg-row.is-picked td{background:var(--cmp-wash)}.pg-row.is-picked td:first-child,.pg-row.is-picked.is-fault td:first-child{box-shadow:inset 3px 0 var(--cmp-ink)}.pg-reason{margin:0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border-left:4px solid var(--line-2);background:var(--paper)}.pg-reason.is-hit{border-left-color:var(--set-line);background:var(--set-wash)}.pg-reason.is-fault{border-left-color:var(--ptr-line);background:var(--ptr-wash)}.pg-order-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.pg-order-tag{font-size:var(--fs-sm);color:var(--ptr-ink);border-left:3px solid var(--ptr-line);padding-left:6px}.pg-order{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:5px}.pg-order li{display:inline-flex;align-items:center;gap:2px;min-width:30px;height:28px;padding:0 6px;justify-content:center;border:1px solid var(--line-2);background:var(--paper-2);font-family:var(--font-mono);font-size:var(--fs-sm)}.pg-order li.is-next{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:600}.pg-order-mark{font-size:11px;color:var(--ptr-ink)}.pg-order-tail{font-size:var(--fs-sm);color:var(--ink-3)}.pg-marks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px}.pg-marks li{display:grid;gap:1px;padding:4px 7px;border:1px solid var(--line);background:var(--paper);font-size:var(--fs-sm);min-width:0}.pg-marks li.is-empty{opacity:.6}.pg-mark-slot{font-size:11px;color:var(--ink-3)}.pg-mark-page{font-family:var(--font-mono);font-size:var(--fs-sm)}.pg-mark-text{color:var(--ink-2);overflow-wrap:anywhere}.pg-pseudo{list-style:none;margin:0;padding:0;display:grid;gap:1px}.pg-pseudo li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:var(--sp-2);padding:1px 6px;border-left:3px solid transparent;font-size:var(--fs-sm);color:var(--ink-3)}.pg-pseudo li.is-lit{background:var(--cmp-wash);border-left-color:var(--cmp-ink);color:var(--ink)}.pg-pseudo code{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere}.pg-ln{text-align:right;font-family:var(--font-mono);color:var(--ink-3);-webkit-user-select:none;user-select:none}.pg-compare{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pg-compare-row{display:grid;grid-template-columns:150px minmax(40px,1fr) 54px 74px;gap:var(--sp-2);align-items:center}.pg-compare-label{font-size:var(--fs-sm);min-width:0}.pg-compare-track{display:block;height:12px;min-width:0;background:var(--paper-2);border:1px solid var(--line)}.pg-compare-fill{display:block;height:100%;min-width:2px;background:var(--ink-3)}.pg-compare-row.is-opt .pg-compare-fill{background:var(--cmp-ink)}.pg-compare-row.is-lru .pg-compare-fill{background:var(--set-ink)}.pg-compare-row.is-fifo .pg-compare-fill{background:var(--ptr-ink)}.pg-compare-row.is-clock .pg-compare-fill{background:var(--mov-ink)}.pg-compare-row.is-best .pg-compare-label{font-weight:600}.pg-compare-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);text-align:right}.pg-compare-tag{font-size:11px;line-height:1.7;padding:0 7px;white-space:nowrap;border:1px solid var(--set-line);background:var(--set-wash);color:var(--set-ink)}.pg-view svg.pg-curve{display:block;width:100%;max-width:720px;min-width:0;height:auto;margin:0 auto}.pg-curve-grid{stroke:var(--line);stroke-width:1}.pg-curve-grid.is-v{stroke-dasharray:2 4;opacity:.8}.pg-curve-axis{font:var(--fs-xs) var(--font-mono);fill:var(--ink-3)}.pg-curve-axis-title{font:var(--fs-xs) var(--font-body);fill:var(--ink-2)}.pg-curve-line{fill:none;stroke-width:1.8}.pg-curve-line.is-opt{stroke:var(--cmp-ink)}.pg-curve-line.is-lru{stroke:var(--set-ink)}.pg-curve-line.is-fifo{stroke:var(--ptr-ink);stroke-width:3.2}.pg-curve-line.is-clock{stroke:var(--mov-ink)}.pg-curve-dot.is-opt{fill:var(--cmp-ink)}.pg-curve-dot.is-lru{fill:var(--set-ink)}.pg-curve-dot.is-fifo{fill:var(--ptr-ink)}.pg-curve-dot.is-clock{fill:var(--mov-ink)}.pg-curve-here{stroke:var(--ink-3);stroke-width:1.4;stroke-dasharray:5 4}.pg-curve-rise{fill:none;stroke:var(--ptr-ink);stroke-width:2}.pg-curve-rise-lead{stroke:var(--ptr-line);stroke-width:1.2;stroke-dasharray:3 3}.pg-curve-rise-label{font:var(--fs-xs) var(--font-body);font-weight:600;fill:var(--ptr-ink)}.pg-curve-legend{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-sm)}.pg-curve-legend li{display:inline-flex;align-items:center;gap:5px}.pg-curve-legend li.is-opt{color:var(--cmp-ink)}.pg-curve-legend li.is-lru{color:var(--set-ink)}.pg-curve-legend li.is-fifo{color:var(--ptr-ink)}.pg-curve-legend li.is-clock{color:var(--mov-ink)}.pg-curve-legend-values{font-family:var(--font-mono);color:var(--ink-3)}.pg-why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-2)}.pg-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:0}.pg-why-list li.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.pg-why-list b{font-family:var(--font-title);font-size:var(--fs-sm)}.pg-why-list p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.pg-algos{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.pg-algos button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.pg-algos button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.pg-field-wide{grid-column:1 / -1}.controls-panel textarea{min-height:56px;width:100%;resize:vertical;border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm)}.pg-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}@media(max-width:640px){.pg-compare-row{grid-template-columns:minmax(0,1fr) auto}.pg-compare-track{grid-column:1 / -1}.pg-marks{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.pg-hand{display:block;font-size:var(--fs-sm);line-height:1;color:var(--mov-ink);font-weight:700}.pg-frame-cell:has(.pg-hand) .pg-cell-frame{outline:2px solid var(--mov-line);outline-offset:1px}.tlb-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.tlb-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.tlb-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.tlb-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.tlb-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.tlb-mono{font-family:var(--font-mono)}.tlb-error{margin:0;padding-left:var(--sp-3);border-left:3px solid var(--mov-line);font-size:var(--fs-sm);color:var(--ink-2)}.tlb-bar{display:flex;height:28px;border:1px solid var(--line-2);background:var(--paper)}.tlb-bar-seg{display:grid;place-items:center;font-size:var(--fs-sm);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;min-width:0}.tlb-bar-seg.is-page{background:var(--cmp-wash);color:var(--cmp-ink)}.tlb-bar-seg.is-offset{background:var(--set-wash);color:var(--set-ink)}.tlb-sample{display:grid;gap:2px;margin-top:var(--sp-2)}.tlb-sample-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.tlb-sample-label{flex:0 0 5em;font-size:var(--fs-sm);color:var(--ink-2)}.tlb-sample-row .tlb-mono{font-size:var(--fs-sm);letter-spacing:.04em;overflow-wrap:anywhere}.tlb-sample-row .tlb-mono.is-page{background:var(--cmp-wash);color:var(--cmp-ink);padding:0 2px}.tlb-sample-row .tlb-mono.is-offset{background:var(--set-wash);color:var(--set-ink);padding:0 2px}.tlb-table-wrap{overflow-x:auto;margin-top:var(--sp-3)}.tlb-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.tlb-table caption{caption-side:top;text-align:left;padding-bottom:var(--sp-1);color:var(--ink-2);font-size:var(--fs-sm)}.tlb-table th,.tlb-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap}.tlb-table thead th{background:var(--paper-2);font-weight:600}.tlb-table-walk tbody tr{cursor:pointer}.tlb-table-walk tbody tr[data-state=hit] td{background:var(--set-wash)}.tlb-table-walk tbody tr[data-state=miss] td{background:var(--cmp-wash)}.tlb-table-walk tbody tr[data-state=fault] td{background:var(--mov-wash)}.tlb-table-walk tbody tr.is-selected td{box-shadow:inset 0 0 0 2px var(--focus)}.tlb-table-pages tbody tr[data-valid="0"] td{color:var(--ink-2);background:var(--paper-2)}.tlb-cost{display:inline-block;width:4em;height:8px;background:var(--paper-2);border:1px solid var(--line);vertical-align:middle;margin-right:var(--sp-1)}.tlb-cost-fill{display:block;height:100%}.tlb-cost-fill.is-hit{background:var(--set-line)}.tlb-cost-fill.is-miss{background:var(--cmp-line)}.tlb-cost-fill.is-fault{background:var(--mov-ink)}.tlb-path{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"tlb a1 pt a2 pa" "note note note note note" "state state state state state";gap:var(--sp-2);align-items:start;padding:var(--sp-4);border:1px solid var(--line);border-left:4px solid var(--cmp-ink);background:var(--paper-2)}.tlb-path.is-hit{border-left-color:var(--set-ink)}.tlb-path.is-fault{border-left-color:var(--mov-ink)}.tlb-path-step{min-width:0;border:1px solid var(--line);background:var(--surface);padding:var(--sp-2)}.tlb-path-step em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.tlb-path-step b{display:block;font-size:var(--fs-sm);overflow-wrap:anywhere}.tlb-path-step p{margin:2px 0 0;font-size:11px;color:var(--ink-2)}.tlb-path-step.is-tlb{grid-area:tlb;border-left:3px solid var(--cmp-line)}.tlb-path-step.is-pt{grid-area:pt;border-left:3px solid var(--mov-line)}.tlb-path-step.is-pa{grid-area:pa;border-left:3px solid var(--set-line)}.tlb-path-step.is-skipped{opacity:.55}.tlb-path-arrow{align-self:center;font-size:var(--fs-lg);color:var(--ink-3)}.tlb-path-arrow.is-a1{grid-area:a1}.tlb-path-arrow.is-a2{grid-area:a2}.tlb-path-note{grid-area:note;margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.tlb-tlb-state{grid-area:state;margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px dashed var(--line)}.tlb-tlb-state em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.tlb-tlb-state ul{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-1)}.tlb-tlb-state li{font-family:var(--font-mono);font-size:var(--fs-sm);padding:1px var(--sp-2);background:var(--cmp-wash);border:1px solid var(--cmp-line);color:var(--cmp-ink)}.tlb-eat{display:grid;gap:var(--sp-1)}.tlb-eat-row{display:grid;grid-template-columns:12em minmax(0,1fr) 6em;gap:var(--sp-2);align-items:center;font-size:var(--fs-sm)}.tlb-eat-label{color:var(--ink-2)}.tlb-eat-track{display:block;height:14px;background:var(--paper-2);border:1px solid var(--line)}.tlb-eat-fill{display:block;height:100%}.tlb-eat-fill.is-none{background:var(--mov-line)}.tlb-eat-fill.is-real{background:var(--cmp-ink)}.tlb-eat-fill.is-formula{background:var(--set-line)}.tlb-eat-value{text-align:right}.tlb-formula{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.tlb-controls .field input[type=range]{min-height:0;border:0;background:transparent;padding:0;accent-color:var(--cmp-ink)}.tlb-field-wide{grid-column:1 / -1}.tlb-field-wide textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm);resize:vertical}.tlb-note-line{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:640px){.tlb-path{grid-template-columns:minmax(0,1fr);grid-template-areas:"tlb" "pt" "pa" "note" "state"}.tlb-path-arrow{display:none}.tlb-eat-row{grid-template-columns:minmax(0,1fr) auto}.tlb-eat-track{grid-column:1 / -1}.tlb-sample-label{flex:0 0 100%}}.sched-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.sched-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:baseline;justify-content:space-between;padding:var(--sp-4);background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--cmp-ink)}.sched-head-title{min-width:0}.sched-head-algo{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);font-weight:600}.sched-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2);overflow-wrap:anywhere}.sched-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.sched-metrics li{display:grid;gap:1px}.sched-metrics em{font-style:normal;font-size:11px;color:var(--ink-2)}.sched-metrics b{font-family:var(--font-mono);font-size:var(--fs-lg);line-height:1.2}.sched-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.sched-card h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-2);align-items:baseline;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.sched-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.sched-hint-line{margin:var(--sp-2) 0 0;padding-top:var(--sp-2);border-top:1px dashed var(--line);font-size:var(--fs-sm);color:var(--ink-2)}.sched-c0{--bar: var(--cmp-ink);--on-bar: var(--surface)}.sched-c1{--bar: var(--mov-ink);--on-bar: var(--surface)}.sched-c2{--bar: var(--set-ink);--on-bar: var(--surface)}.sched-c3{--bar: var(--ptr-ink);--on-bar: var(--surface)}.sched-c4{--bar: var(--cmp-line);--on-bar: var(--cmp-ink)}.sched-c5{--bar: var(--mov-line);--on-bar: var(--mov-ink)}.sched-c6{--bar: var(--set-line);--on-bar: var(--set-ink)}.sched-c7{--bar: var(--ptr-line);--on-bar: var(--ptr-ink)}.sched-scroll{overflow-x:auto;max-width:100%}.stage-frame svg.sched-gantt{width:auto;min-width:0;height:auto}.sched-gantt{font-family:var(--font-body)}.sched-grid{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}.sched-axis-line{stroke:var(--line-2);stroke-width:1.2}.sched-axis{font:var(--fs-xs) var(--font-mono);fill:var(--ink-3)}.sched-axis-title{font:var(--fs-xs) var(--font-body);fill:var(--ink-2)}.sched-row-label{font:var(--fs-xs) var(--font-mono);fill:var(--ink-2)}.sched-row-bg{fill:var(--paper)}.sched-proc-row .sched-bar{stroke:var(--surface);stroke-width:1}.sched-bar{fill:var(--bar)}.sched-bar-text{font:var(--fs-xs) var(--font-mono);fill:var(--on-bar)}.sched-bar-idle{fill:url(#sched-idle);stroke:var(--line-2);stroke-width:1}.sched-bar-text-idle{fill:var(--ink-3)}.sched-table{border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.sched-table th,.sched-table td{border:1px solid var(--line);padding:4px 8px;text-align:center;white-space:nowrap}.sched-table thead th{background:var(--paper-2);font-weight:600;font-size:11px;color:var(--ink-2)}.sched-table tbody th,.sched-table tfoot th{text-align:left;font-weight:600;background:var(--paper)}.sched-table tfoot td,.sched-table tfoot th{background:var(--paper-2);font-weight:600}.sched-table tbody tr.is-worst td{background:var(--ptr-wash)}.sched-mono{font-family:var(--font-mono)}.sched-none{color:var(--ink-3)}.sched-waiting{font-weight:600}.sched-chip{display:inline-block;width:10px;height:10px;margin-right:5px;background:var(--bar);vertical-align:-1px}.sched-tag{display:inline-block;margin-left:6px;padding:0 6px;font-style:normal;font-size:11px;line-height:1.7;white-space:nowrap;border:1px solid var(--set-line);background:var(--set-wash);color:var(--set-ink)}.sched-cmp-block+.sched-cmp-block{margin-top:var(--sp-3)}.sched-cmp-title{margin:0 0 5px;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm);font-weight:600}.sched-cmp-list{list-style:none;margin:0;padding:0;display:grid;gap:5px}.sched-cmp-row{display:grid;grid-template-columns:58px minmax(40px,1fr) 52px auto;gap:var(--sp-2);align-items:center}.sched-cmp-label{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2)}.sched-cmp-track{display:block;height:12px;min-width:0;background:var(--paper-2);border:1px solid var(--line)}.sched-cmp-fill{display:block;height:100%;min-width:2px;background:var(--ink-3)}.sched-cmp-fill.is-srtf{background:var(--cmp-ink)}.sched-cmp-row.is-best .sched-cmp-label{font-weight:700;color:var(--set-ink)}.sched-cmp-row.is-best .sched-cmp-fill{background:var(--set-ink)}.sched-cmp-value{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-2);text-align:right}.sched-table-mini{min-width:420px}.sched-table-mini tbody th{font-size:11px}.sched-curve{margin:0;border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.sched-curve+.sched-curve{margin-top:var(--sp-3)}.sched-curve.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.sched-curve figcaption{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;font-family:var(--font-title);font-size:var(--fs-sm);font-weight:600;margin-bottom:4px}.stage-frame svg.sched-curve-svg{display:block;width:100%;max-width:720px;min-width:0;height:auto;margin:0 auto}.sched-curve-grid{stroke:var(--line);stroke-width:1}.sched-curve-axis{font:var(--fs-xs) var(--font-mono);fill:var(--ink-3)}.sched-curve-axis.is-right{fill:var(--ptr-ink)}.sched-curve-axis-title{font:var(--fs-xs) var(--font-body);fill:var(--ink-2)}.sched-curve-line{fill:none;stroke-width:2}.sched-curve-line.is-waiting{stroke:var(--cmp-ink)}.sched-curve-line.is-switches{stroke:var(--ptr-ink);stroke-dasharray:6 4}.sched-curve-dot.is-waiting{fill:var(--cmp-ink)}.sched-curve-dot.is-switches{fill:var(--ptr-ink)}.sched-curve-here{stroke:var(--ink-3);stroke-width:1.4;stroke-dasharray:5 4}.sched-curve-values{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:2px;font-size:var(--fs-sm);color:var(--ink-2)}.sched-curve-values em{font-style:normal;font-family:var(--font-mono);color:var(--ink-3);margin-right:6px}.sched-why-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--sp-2)}.sched-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:0}.sched-why-list li.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.sched-why-list b{font-family:var(--font-title);font-size:var(--fs-sm)}.sched-why-list p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.sched-algos{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.sched-algos button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm)}.sched-algos button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.sched-field-wide{grid-column:1 / -1}.field.is-disabled{opacity:.55}.controls-panel textarea{min-height:96px;width:100%;resize:vertical;border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm)}.sched-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}@media(max-width:640px){.sched-cmp-row{grid-template-columns:52px minmax(0,1fr) 46px}.sched-cmp-row .sched-tag{grid-column:2 / -1;justify-self:start;margin-left:0}.sched-metrics{gap:var(--sp-4)}.sched-table-mini{min-width:360px}}.bk-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.bk-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.bk-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.bk-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.bk-compare-line{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--cmp-line);background:var(--cmp-wash);font-size:var(--fs-sm);color:var(--cmp-ink);line-height:var(--lh-body)}.bk-tag{margin-left:var(--sp-1);padding:0 4px;font-size:11px;font-weight:400;border:1px solid var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.bk-field-wide{grid-column:1 / -1}.bk-field-half{grid-column:span 1;min-width:0}.controls-panel .bk-field-wide textarea,.controls-panel .bk-field-half textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2) var(--sp-3);resize:vertical;font:var(--fs-sm)/var(--lh-code) var(--font-mono)}.bk-pool{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-2)}.bk-pool-item{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.bk-pool-item em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2);margin-bottom:2px}.bk-pool-item.is-work{border-color:var(--cmp-line);background:var(--cmp-wash)}.bk-pool-item.is-work em{color:var(--cmp-ink)}.bk-vec{display:inline-flex;gap:2px}.bk-cell{min-width:22px;padding:0 3px;text-align:center;font:var(--fs-xs)/1.6 var(--font-mono);font-weight:600;border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}.bk-cell.is-work{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.bk-cell.is-good{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.bk-cell.is-bad{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.bk-scroll{overflow-x:auto;margin-top:var(--sp-3)}.bk-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.bk-table th,.bk-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap;font-family:var(--font-mono)}.bk-table thead th{background:var(--paper-2);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.bk-table thead th.bk-kind{color:var(--ink-3);font-family:var(--font-mono)}.bk-table tbody th{background:var(--paper);font-weight:600;text-align:left}.bk-table td.bk-dim{color:var(--ink-3)}.bk-table td.bk-work{background:var(--cmp-wash);color:var(--cmp-ink)}.bk-table td.bk-after{background:var(--set-wash);color:var(--set-ink)}.bk-table td.bk-need i{font-style:normal;margin-left:2px;font-size:11px;color:var(--ptr-ink);opacity:.85}.bk-table td.bk-need.is-bad{background:var(--ptr-wash);color:var(--ptr-ink);font-weight:700}.bk-table td.bk-finish{font-size:var(--fs-sm);color:var(--ink-3)}.bk-table td.bk-finish.is-done{background:var(--set-wash);color:var(--set-ink);font-weight:600}.bk-table tr.is-latest td,.bk-table tr.is-latest th{box-shadow:inset 0 0 0 1px var(--set-line)}.bk-table tr.bk-empty td{color:var(--ink-2);font-family:var(--font-body);font-size:var(--fs-sm)}.bk-table-state tbody tr.is-scanning th,.bk-table-state tbody tr.is-scanning td{background:var(--cmp-wash)}.bk-table-state tbody tr.is-scanning th{box-shadow:inset 3px 0 var(--cmp-ink)}.bk-table-state tbody tr.is-scanning.is-pick th,.bk-table-state tbody tr.is-scanning.is-pick td{background:var(--set-wash)}.bk-table-state tbody tr.is-scanning.is-pick th{box-shadow:inset 3px 0 var(--set-ink)}.bk-table-state tbody tr.is-scanning td.bk-need.is-bad{background:var(--ptr-wash)}.bk-table-state tbody tr.is-done th{color:var(--set-ink)}.bk-table-state tbody tr.is-request th{border-left:3px solid var(--mov-ink)}.bk-seq{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin-top:var(--sp-3);padding:var(--sp-2);border:1px solid var(--line);background:var(--paper)}.bk-seq>em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.bk-seq-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1)}.bk-seq-item{position:relative;min-width:46px;padding:2px 8px;text-align:center;font:600 var(--fs-sm)/1.5 var(--font-mono);border:1px solid var(--line-2)}.bk-seq-item.is-in{background:var(--set-wash);border-color:var(--set-line);color:var(--set-ink)}.bk-seq-item.is-out{background:var(--surface);border-style:dashed;color:var(--ink-3)}.bk-seq-item+.bk-seq-item:before{content:"→";position:absolute;left:-12px;color:var(--ink-3);font-size:var(--fs-sm)}.bk-seq-order{position:absolute;top:-8px;left:-7px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font:600 11px/1 var(--font-mono);color:var(--surface);background:var(--set-ink);border-radius:50%}.bk-verdict{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--line-2);font-size:var(--fs-sm)}.bk-verdict b{font-size:var(--fs-sm)}.bk-verdict span{color:var(--ink-2)}.bk-verdict.is-safe{border-left-color:var(--set-ink);background:var(--set-wash);color:var(--set-ink)}.bk-verdict.is-unsafe{border-left-color:var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink)}.bk-verdict.is-refuse{border-left-color:var(--mov-ink);background:var(--mov-wash);color:var(--mov-ink)}.bk-verdict.is-pending{color:var(--ink-2)}.bk-request{border-left:3px solid var(--mov-ink)}.bk-request.is-rolled-back{border-left-color:var(--ptr-ink)}.bk-gates{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-2)}.bk-gate{display:grid;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--line);background:var(--paper)}.bk-gate>em{font-style:normal;font-size:var(--fs-sm);font-weight:600}.bk-gate.is-pass{border-color:var(--set-line);background:var(--set-wash)}.bk-gate.is-fail{border-color:var(--ptr-line);background:var(--ptr-wash)}.bk-gate.is-action{border-color:var(--mov-line);background:var(--mov-wash)}.bk-gate.is-blocked{opacity:.6}.bk-gate-verdict{font-size:var(--fs-sm);color:var(--ink-2)}.bk-gate.is-pass .bk-gate-verdict{color:var(--set-ink)}.bk-gate.is-fail .bk-gate-verdict{color:var(--ptr-ink);font-weight:600}.bk-cmp-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.bk-cmp-row>em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2);min-width:5em}.bk-cmp-marks{font:600 var(--fs-xs)/1 var(--font-mono);letter-spacing:.3em;color:var(--ink-3)}.bk-cmp-row.is-pass .bk-cmp-marks{color:var(--set-ink)}.bk-cmp-row.is-fail .bk-cmp-marks{color:var(--ptr-ink)}.bk-tentative{display:grid;gap:2px}.bk-tentative-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.bk-tentative-row>em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2);min-width:11em;font-family:var(--font-mono)}.bk-arrow{font-size:var(--fs-sm);color:var(--ink-3)}@media(max-width:640px){.bk-pool{gap:var(--sp-2)}.bk-pool-item{flex:1 1 100%}.bk-tentative-row>em{min-width:0;flex:1 1 100%}.bk-cmp-row>em{min-width:0}}.dk-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.dk-head{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:flex-end;justify-content:space-between}.dk-head-title{min-width:0}.dk-head-algo{margin:0;font-family:var(--font-title);font-size:var(--fs-lg)}.dk-head-scene{margin:2px 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.dk-metrics{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.dk-metrics li{border:1px solid var(--line);background:var(--surface);padding:var(--sp-2) var(--sp-3);min-width:72px}.dk-metrics em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.dk-metrics b{font:600 var(--fs-md)/1.4 var(--font-mono);font-variant-numeric:tabular-nums}.dk-metrics li.is-total{border-color:var(--cmp-line);background:var(--cmp-wash)}.dk-metrics li.is-total b{color:var(--cmp-ink)}.dk-metrics b.dk-served{font-size:var(--fs-sm);font-weight:600}.dk-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.dk-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.dk-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.dk-caption{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.dk-reason{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--cmp-line);background:var(--cmp-wash);font-size:var(--fs-sm);color:var(--cmp-ink);line-height:var(--lh-body)}.dk-algos{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.dk-algos button{border:1px solid var(--line-2);background:var(--surface);padding:2px 10px;font:var(--fs-xs)/1.6 var(--font-body);color:var(--ink-2);cursor:pointer}.dk-algos button.is-active{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.dk-field-wide{grid-column:1 / -1}.controls-panel .dk-field-wide textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2) var(--sp-3);resize:vertical;font:var(--fs-sm)/var(--lh-code) var(--font-mono)}.dk-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.dk-scroll{overflow-x:auto;margin-top:var(--sp-2)}.dk-svg{display:block;min-width:0}.dk-gridline{stroke:var(--line);stroke-width:1}.dk-gridline-edge{stroke:var(--line-2);stroke-width:1.5}.dk-tick{font:11px var(--font-mono);fill:var(--ink-3)}.dk-request-dot{fill:var(--set-line)}.dk-head-mark{fill:var(--mov-ink)}.dk-seg{stroke:var(--cmp-ink);stroke-width:2;fill:none}.dk-seg-boundary{stroke:var(--ink-3);stroke-width:1.6;stroke-dasharray:none;opacity:.8}.dk-seg-jump{stroke:var(--ptr-ink);stroke-width:2;stroke-dasharray:6 4}.dk-stepnum{font:600 11px var(--font-mono);fill:var(--ink-2)}.dk-stop{fill:var(--cmp-ink);cursor:pointer}.dk-stop-boundary{fill:var(--ink-3)}.dk-stop-jump{fill:var(--ptr-ink)}.dk-stop.is-picked{stroke:var(--ink);stroke-width:2}.dk-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.dk-table th,.dk-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap;font-family:var(--font-mono)}.dk-table thead th{background:var(--paper-2);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.dk-table tbody th{background:var(--paper);font-weight:600;text-align:left;font-family:var(--font-body)}.dk-table tbody tr[role=button]{cursor:pointer}.dk-table tbody tr[role=button]:hover td{background:var(--paper-2)}.dk-table tbody tr.is-picked td{background:var(--cmp-wash)}.dk-table tbody tr.is-picked th{box-shadow:inset 3px 0 var(--cmp-ink)}.dk-total-row td{background:var(--paper-2);font-weight:700;color:var(--cmp-ink)}.dk-kind{padding:0 6px;font-size:11px;border:1px solid var(--line-2);color:var(--ink-2)}.dk-kind-request{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.dk-kind-boundary{color:var(--ink-2)}.dk-kind-jump{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.dk-table-compare tr.is-current th,.dk-table-compare tr.is-current td{background:var(--cmp-wash)}.dk-bar-cell{text-align:left}.dk-bar{display:inline-block;height:8px;vertical-align:middle;background:var(--cmp-line);min-width:2px}.dk-table-compare tr.is-current .dk-bar{background:var(--cmp-ink)}.dk-bar-num{margin-left:6px;font:600 11px/1 var(--font-mono);color:var(--ink-2)}.dk-why-list{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:var(--sp-2)}.dk-why-list li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2)}.dk-why-list li.is-current{border-color:var(--cmp-line);background:var(--cmp-wash)}.dk-why-list b{font-size:var(--fs-sm)}.dk-why-list p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.dk-why-list li.is-current p{color:var(--cmp-ink)}.dk-pseudo{margin:var(--sp-2) 0 0;padding:0;list-style:none;border:1px solid var(--line);background:var(--paper)}.dk-pseudo li{padding:2px var(--sp-2);font:var(--fs-xs)/1.8 var(--font-mono);color:var(--ink-2);border-left:3px solid transparent}.dk-pseudo li.is-hit{border-left-color:var(--cmp-ink);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}@media(max-width:640px){.dk-head{align-items:stretch;flex-direction:column}.dk-metrics li{flex:1 1 40%}}.dk3d{perspective:1100px;display:grid;place-items:center;padding:var(--sp-2) 0 var(--sp-1)}.dk3d-tilt{position:relative;width:min(620px,100%);aspect-ratio:1 / 1;transform:rotateX(32deg);transform-style:preserve-3d}.dk3d-shadow{position:absolute;top:6%;right:3%;bottom:-1%;left:3%;border-radius:50%;background:radial-gradient(closest-side,rgba(22,24,27,.3),transparent 72%);transform:translateZ(-34px);filter:blur(6px)}.dk3d-platter,.dk3d-mark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dk3d-platter{animation:dk-spin 24s linear 1 both}@keyframes dk-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dk3d-tick{font:600 13px var(--font-mono);fill:var(--ink-2)}.dk3d-badge{font:700 13px var(--font-mono);fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px}.dk3d-note{margin-top:var(--sp-2)}@media(max-width:640px){.dk3d-tilt{width:min(440px,100%)}}@media(prefers-reduced-motion:reduce){.dk3d-platter{animation:none}.dk3d-tilt{transform:none}}.pc-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.pc-scroll{overflow-x:auto;min-width:0}.pc-svg{display:block;width:100%;min-width:640px;height:auto}.pc-box{fill:var(--surface);stroke:var(--line-2);stroke-width:1.2}.pc-box-running.is-busy,.pc-box-running{fill:var(--mov-wash);stroke:var(--mov-line)}.pc-box-ready{fill:var(--cmp-wash);stroke:var(--cmp-line)}.pc-box-blocked{fill:var(--ptr-wash);stroke:var(--ptr-line)}.pc-box-terminated{fill:var(--set-wash);stroke:var(--set-line)}.pc-box-created{stroke-dasharray:4 3}.pc-box-label{font:600 var(--fs-sm) var(--font-body);fill:var(--ink)}.pc-arrow{stroke:var(--ink-3);stroke-width:1.4}.pc-arrow.is-active{stroke:var(--cmp-ink);stroke-width:2.6}.pc-arrow-head{fill:var(--ink-3)}.pc-arrow-head-active{fill:var(--cmp-ink)}.pc-arrow-label{font:11px var(--font-body);fill:var(--ink-3)}.pc-arrow-label.is-active{fill:var(--cmp-ink);font-weight:700}.pc-chip rect{fill:var(--surface);stroke:var(--line-2)}.pc-chip text{font:600 11px var(--font-mono);fill:var(--ink)}.pc-chip-running rect{fill:var(--mov-wash);stroke:var(--mov-line)}.pc-chip-running text{fill:var(--mov-ink)}.pc-chip-done rect{fill:var(--paper-2);stroke:var(--line)}.pc-chip-done text{fill:var(--ink-3);text-decoration:line-through}.pc-chip.is-active rect{fill:var(--cmp-wash);stroke:var(--cmp-ink);stroke-width:1.6}.pc-chip.is-active text{fill:var(--cmp-ink)}.pc-current{border:1px solid var(--line);border-left-width:3px;background:var(--paper);padding:var(--sp-2) var(--sp-3)}.pc-current.is-ok{border-left-color:var(--cmp-ink)}.pc-current.is-reject{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.pc-current-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.pc-current-head b{font-size:var(--fs-sm)}.pc-current-text{font:var(--fs-sm)/1.6 var(--font-mono)}.pc-verdict{padding:0 8px;font-size:var(--fs-sm);border:1px solid var(--line-2)}.pc-verdict.is-ok{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.pc-verdict.is-reject{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink);font-weight:700}.pc-current-reason{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--ink-2)}.pc-current.is-reject .pc-current-reason{color:var(--ptr-ink)}.pc-current-move{margin:var(--sp-1) 0 0;font:600 var(--fs-xs)/1.6 var(--font-mono);color:var(--cmp-ink)}.pc-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.pc-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.pc-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.pc-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}.pc-table th,.pc-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:left}.pc-table thead th{background:var(--paper-2);font-size:var(--fs-sm)}.pc-table td{font-family:var(--font-mono);white-space:nowrap}.pc-table td.pc-why-cell{font-family:var(--font-body);white-space:normal;font-size:var(--fs-sm);color:var(--ink-2)}.pc-table tr.is-now td{background:var(--cmp-wash)}.pc-table tr.is-now-reject td{background:var(--ptr-wash)}.pc-table tr.is-now-reject td.pc-why-cell{color:var(--ptr-ink)}.ps-field-wide{grid-column:1 / -1}.controls-panel .ps-field-wide textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2) var(--sp-3);resize:vertical;font:var(--fs-sm)/var(--lh-code) var(--font-mono)}.ps-verbs{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-1)}.ps-verbs li{display:flex;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-sm);color:var(--ink-2)}.ps-verbs code{font:600 var(--fs-xs)/1.6 var(--font-mono);color:var(--cmp-ink);background:var(--cmp-wash);padding:0 6px}.ps-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.tp-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.tp-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.tp-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.tp-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.tp-caption{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.tp-caption b{color:var(--cmp-ink)}.tp-scroll{overflow-x:auto;margin-top:var(--sp-2)}.tp-svg{display:block;min-width:0}.tp-edge{stroke:var(--line-2);stroke-width:1.6}.tp-edge.is-critical{stroke:var(--ptr-ink);stroke-width:3}.tp-edge-head{fill:var(--ink-3)}.tp-edge-head-critical{fill:var(--ptr-ink)}.tp-weight{font:600 11px var(--font-mono);fill:var(--ink-2)}.tp-weight.is-critical{fill:var(--ptr-ink)}.tp-node{fill:var(--surface);stroke:var(--line-2);stroke-width:1.2}.tp-node.is-critical{fill:var(--set-wash);stroke:var(--set-ink);stroke-width:2}.tp-node-name{font:600 var(--fs-sm) var(--font-mono);fill:var(--ink)}.tp-node-ve{font:11px var(--font-mono);fill:var(--cmp-ink)}.tp-node-vl{font:11px var(--font-mono);fill:var(--mov-ink)}.tp-cycle-note{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--ptr-ink);background:var(--ptr-wash);font-size:var(--fs-sm);color:var(--ptr-ink);line-height:var(--lh-body)}.tp-critical-card{border-left:3px solid var(--set-ink)}.tp-duration{margin:var(--sp-2) 0 0;font-size:var(--fs-sm)}.tp-duration b{font:700 var(--fs-md)/1.4 var(--font-mono);color:var(--set-ink)}.tp-paths{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1)}.tp-paths li{font:600 var(--fs-sm)/1.6 var(--font-mono);color:var(--set-ink);background:var(--set-wash);border:1px solid var(--set-line);padding:2px var(--sp-2)}.tp-path-len,.tp-path-tag{font-weight:400;font-size:var(--fs-sm);color:var(--ink-2);margin-left:var(--sp-2)}.tp-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.tp-table th,.tp-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap;font-family:var(--font-mono)}.tp-table thead th{background:var(--paper-2);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.tp-table tbody th{background:var(--paper);font-weight:600;font-family:var(--font-body)}.tp-table td.tp-pick{background:var(--cmp-wash);color:var(--cmp-ink);font-weight:700}.tp-table tr.is-critical td,.tp-table tr.is-critical th{background:var(--set-wash)}.tp-table tr.is-critical th{color:var(--set-ink)}.tp-stuck-row td{background:var(--ptr-wash);color:var(--ptr-ink);font-family:var(--font-body);font-size:var(--fs-sm);text-align:left;white-space:normal}.tp-field-wide{grid-column:1 / -1}.controls-panel .tp-field-wide textarea{border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-2) var(--sp-3);resize:vertical;font:var(--fs-sm)/var(--lh-code) var(--font-mono)}.tp-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.tp-pseudo{margin:var(--sp-2) 0 0;padding:0;list-style:none;border:1px solid var(--line);background:var(--paper)}.tp-pseudo li{padding:var(--sp-1) var(--sp-2);font:var(--fs-sm)/1.9 var(--font-mono);color:var(--ink-2);border-left:3px solid transparent}.tp-pseudo li.is-hit{border-left-color:var(--cmp-ink);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.tp-table tbody tr[role=button]{cursor:pointer}.tp-table tbody tr[role=button]:hover td,.tp-table tbody tr[role=button]:hover th{background:var(--paper-2)}.av-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.av-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.av-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.av-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.av-caption{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.av-scroll{overflow-x:auto;margin-top:var(--sp-2)}.av-svg{display:block;min-width:0}.av-edge{stroke:var(--line-2);stroke-width:1.6}.av-node{fill:var(--surface);stroke:var(--line-2);stroke-width:1.4}.av-node.is-path{stroke:var(--cmp-ink);stroke-width:2;fill:var(--cmp-wash)}.av-node.is-focus{stroke:var(--mov-ink);stroke-width:2.4;fill:var(--mov-wash)}.av-node.is-unbalanced{stroke:var(--ptr-ink);stroke-width:2.8;fill:var(--ptr-wash)}.av-node-key{font:600 var(--fs-sm) var(--font-mono);fill:var(--ink)}.av-node-balance{font:11px var(--font-mono);fill:var(--ink-3)}.av-frame{border:1px solid var(--line);border-left:3px solid var(--cmp-line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.av-frame.is-hot{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.av-frame.is-hot .av-frame-detail{color:var(--ptr-ink)}.av-frame-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.av-frame-head b{font-size:var(--fs-sm);font-family:var(--font-mono)}.av-frame-phase{font-size:var(--fs-sm);color:var(--ink-2)}.av-frame-case{margin:var(--sp-1) 0 0;font:600 var(--fs-sm)/1.6 var(--font-body);color:var(--ptr-ink)}.av-frame-detail{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.av-cases{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-2)}.av-cases li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2)}.av-cases li.is-current{border-color:var(--ptr-line);background:var(--ptr-wash)}.av-cases b{font-size:var(--fs-sm)}.av-cases li.is-current b{color:var(--ptr-ink)}.av-cases p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.av-field-wide{grid-column:1 / -1}.controls-panel .av-field-wide input{font:var(--fs-sm)/1.6 var(--font-mono)}.av-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.cg-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.cg-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.cg-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.cg-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.cg-caption{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body);font-family:var(--font-mono)}.cg-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.cg-scroll{overflow-x:auto;margin-top:var(--sp-2)}.cg-svg{display:block;min-width:0}.cg-gridline{stroke:var(--line);stroke-width:1}.cg-tick{font:11px var(--font-mono);fill:var(--ink-3)}.cg-ssthresh{stroke:var(--set-ink);stroke-width:1.6;stroke-dasharray:7 5}.cg-line{stroke:var(--cmp-ink);stroke-width:2.4}.cg-dot{fill:var(--cmp-ink)}.cg-dot.is-timeout{fill:var(--ptr-ink)}.cg-dot.is-triple{fill:var(--mov-ink)}.cg-event{font:600 11px var(--font-body)}.cg-event.is-timeout{fill:var(--ptr-ink)}.cg-event.is-triple{fill:var(--mov-ink)}.cg-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.cg-table th,.cg-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap;font-family:var(--font-mono)}.cg-table thead th{background:var(--paper-2);font-weight:600;font-family:var(--font-body);font-size:var(--fs-sm)}.cg-table td.cg-phase{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2)}.cg-table tbody tr[role=button]{cursor:pointer}.cg-table tbody tr[role=button]:hover td{background:var(--paper-2)}.cg-table tr.is-picked td{box-shadow:inset 0 0 0 2px var(--cmp-ink)}.cg-table tr.is-timeout td{background:var(--ptr-wash)}.cg-table tr.is-triple td{background:var(--mov-wash)}.cg-reasons{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1)}.cg-reasons li{display:flex;gap:var(--sp-2);align-items:baseline;border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.cg-reasons b{font:600 var(--fs-xs)/1.6 var(--font-mono);white-space:nowrap}.cg-reasons p{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.cg-reasons li.is-timeout{border-left:3px solid var(--ptr-ink)}.cg-reasons li.is-timeout p{color:var(--ptr-ink)}.cg-reasons li.is-triple{border-left:3px solid var(--mov-ink)}.cg-reasons li.is-triple p{color:var(--mov-ink)}.cg-rules{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-2)}.cg-rules li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2)}.cg-rules b{font-size:var(--fs-sm);color:var(--cmp-ink)}.cg-rules p{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.cg-pseudo{margin:var(--sp-2) 0 0;padding:0;list-style:none;border:1px solid var(--line);background:var(--paper)}.cg-pseudo li{padding:var(--sp-1) var(--sp-2);font:var(--fs-sm)/1.9 var(--font-mono);color:var(--ink-2);border-left:3px solid transparent}.cg-pseudo li.is-hit{border-left-color:var(--cmp-ink);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.ec-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.ec-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.ec-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.ec-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.ec-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.ec-transport{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.ec-transport button{border:1px solid var(--line-2);background:var(--surface);padding:2px 10px;font:var(--fs-xs)/1.6 var(--font-body);color:var(--ink-2);cursor:pointer}.ec-transport button.is-active{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.ec-stack{display:grid;gap:var(--sp-2);margin-top:var(--sp-2)}.ec-layer{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2);transition:opacity .25s ease}.ec-layer.is-dim{opacity:.38}.ec-layer.is-current{border-color:var(--mov-line);background:var(--mov-wash)}.ec-layer-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.ec-layer-head b{font-size:var(--fs-sm)}.ec-unit{font-size:var(--fs-sm);color:var(--ink-2)}.ec-header-tag{font:600 11px/1.6 var(--font-mono);color:var(--mov-ink);border:1px solid var(--mov-line);background:var(--surface);padding:0 6px}.ec-total{margin-left:auto;font:600 var(--fs-sm)/1.6 var(--font-mono);color:var(--cmp-ink)}.ec-bar{display:flex;height:18px;margin-top:6px;border:1px solid var(--line-2);background:var(--surface);overflow:hidden}.ec-bar-header{background:var(--mov-line)}.ec-bar-payload{flex:1;background:var(--cmp-wash)}.ec-layer.is-current .ec-bar{border-color:var(--mov-ink)}.ec-note-text{margin:6px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.ec-layer.is-current .ec-note-text{color:var(--mov-ink)}.ec-fields{list-style:none;margin:var(--sp-1) 0 0;padding:var(--sp-2) var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);border-left:3px solid var(--cmp-line);background:var(--cmp-wash)}.ec-fields li{font:11px/1.8 var(--font-mono);color:var(--cmp-ink)}.ec-summary{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ec-summary li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:140px}.ec-summary em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.ec-summary b{font:600 var(--fs-sm)/1.6 var(--font-mono);color:var(--cmp-ink)}@media(max-width:640px){.ec-total{margin-left:0;flex-basis:100%}.ec-summary li{flex:1 1 100%}}.nf-view{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--sp-4);min-width:0}.nf-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.nf-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.nf-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.nf-sub{margin-top:var(--sp-3)!important;font-size:var(--fs-sm)!important}.nf-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.nf-list{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-2)}.nf-msg{border:1px solid var(--line);border-left-width:3px;background:var(--paper);padding:var(--sp-2)}.nf-msg.is-dhcp{border-left-color:var(--cmp-ink)}.nf-msg.is-arp{border-left-color:var(--mov-ink)}.nf-msg.is-dns{border-left-color:var(--set-ink)}.nf-msg.is-http{border-left-color:var(--ptr-ink)}.nf-msg.is-broadcast{background:var(--paper-2)}.nf-msg-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.nf-step{font:600 var(--fs-xs)/1.6 var(--font-mono);color:var(--ink-3)}.nf-proto{font:600 11px/1.6 var(--font-mono);padding:0 6px;border:1px solid var(--line-2)}.nf-proto.is-dhcp{color:var(--cmp-ink);border-color:var(--cmp-line);background:var(--cmp-wash)}.nf-proto.is-arp{color:var(--mov-ink);border-color:var(--mov-line);background:var(--mov-wash)}.nf-proto.is-dns{color:var(--set-ink);border-color:var(--set-line);background:var(--set-wash)}.nf-proto.is-http{color:var(--ptr-ink);border-color:var(--ptr-line);background:var(--ptr-wash)}.nf-dir{font-size:var(--fs-sm);color:var(--ink-2)}.nf-broadcast-tag{font:600 11px/1.6 var(--font-mono);color:var(--ink-2);border:1px dashed var(--line-2);padding:0 6px}.nf-msg-reason{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.nf-msg-effect{margin:4px 0 0;padding:2px var(--sp-2);border-left:3px solid var(--set-line);background:var(--set-wash);font:600 var(--fs-xs)/1.6 var(--font-mono);color:var(--set-ink)}.nf-side{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-content:start}.nf-config{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1)}.nf-config li{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;border-bottom:1px dashed var(--line);padding:2px 0}.nf-config em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2);min-width:6em}.nf-config b{font:600 var(--fs-xs)/1.6 var(--font-mono)}.nf-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin-top:var(--sp-1)}.nf-table th,.nf-table td{border:1px solid var(--line);padding:2px var(--sp-1);text-align:left;font-family:var(--font-mono)}.nf-table thead th{background:var(--paper-2);font-family:var(--font-body)}.nf-counts{list-style:none;margin:var(--sp-1) 0 0;padding:0;display:grid;gap:var(--sp-1)}.nf-counts li{display:flex;gap:var(--sp-2);align-items:baseline}.nf-counts b{font:700 var(--fs-md)/1.4 var(--font-mono);color:var(--ink)}.nf-counts em{font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.nf-chain{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-2);counter-reset:chain}.nf-chain li{position:relative;padding-left:28px;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body);counter-increment:chain}.nf-chain li:before{content:counter(chain);position:absolute;left:0;top:2px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font:600 11px/1 var(--font-mono);color:var(--surface);background:var(--cmp-ink);border-radius:50%}.nf-chain b{color:var(--ink)}.nf-toggles{display:grid;gap:var(--sp-2)}.nf-toggle{display:flex;gap:var(--sp-2);align-items:flex-start;border:1px solid var(--line);background:var(--paper);padding:var(--sp-2);cursor:pointer}.nf-toggle input{margin-top:3px}.nf-toggle span{display:grid;gap:2px}.nf-toggle b{font-size:var(--fs-sm)}.nf-toggle small{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:900px){.nf-view{grid-template-columns:minmax(0,1fr)}}.pv-view{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-4);min-width:0}.pv-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.pv-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.pv-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2);line-height:var(--lh-body)}.pv-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.pv-pseudo{border-left:3px solid var(--cmp-ink)}.pv-pseudo-list{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1)}.pv-pseudo-list code{display:block;padding:var(--sp-2) var(--sp-3);border:1px solid var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font:600 var(--fs-sm)/1.7 var(--font-mono)}.pv-buffer{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap}.pv-slot{min-width:64px;height:40px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line-2);background:var(--paper);font:600 var(--fs-sm)/1.4 var(--font-mono);color:var(--ink-3)}.pv-slot.is-full{border:1px solid var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.pv-slot.is-head.is-full{border-color:var(--cmp-ink);box-shadow:inset 0 -3px var(--cmp-ink)}.pv-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);margin-top:var(--sp-2)}.pv-table th,.pv-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center}.pv-table thead th{background:var(--paper-2);font-size:var(--fs-sm);font-family:var(--font-body)}.pv-table th{font-family:var(--font-mono)}.pv-table td{font:600 var(--fs-sm)/1.6 var(--font-mono)}.pv-table td.pv-meaning{font-family:var(--font-body);font-weight:400;font-size:var(--fs-sm);color:var(--ink-2)}.pv-table tr.is-waiting td,.pv-table tr.is-waiting th{background:var(--ptr-wash)}.pv-table td.pv-negative{color:var(--ptr-ink)}.pv-current{border:1px solid var(--line);border-left:3px solid var(--cmp-line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.pv-current.is-block{border-left-color:var(--mov-ink);background:var(--mov-wash)}.pv-current.is-wake{border-left-color:var(--set-ink);background:var(--set-wash)}.pv-current.is-deadlock{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.pv-current-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.pv-current-head b{font-size:var(--fs-sm)}.pv-current-head span{font-size:var(--fs-sm);color:var(--ink-2)}.pv-current.is-block .pv-current-head span,.pv-current.is-wake .pv-current-head span{color:var(--ink)}.pv-deadlock-reason{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--ptr-ink);line-height:var(--lh-body)}.pv-side{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);align-content:start}.pv-procs{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-2)}.pv-procs li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2);display:grid;gap:2px}.pv-procs li.is-running{border-color:var(--cmp-line);background:var(--cmp-wash)}.pv-procs li.is-blocked{border-color:var(--mov-line);background:var(--mov-wash)}.pv-procs b{font-size:var(--fs-sm)}.pv-state{font-size:var(--fs-sm);color:var(--ink-2)}.pv-state-running{color:var(--cmp-ink);font-weight:600}.pv-state-blocked{color:var(--mov-ink);font-weight:600}.pv-count{font:11px/1.6 var(--font-mono);color:var(--ink-3)}.pv-field-wide{grid-column:1 / -1}.controls-panel .pv-field-wide input{font:var(--fs-sm)/1.6 var(--font-mono)}.pv-wrong-toggle{display:flex;gap:var(--sp-2);align-items:flex-start;margin-top:var(--sp-2);border:1px solid var(--line);background:var(--paper);padding:var(--sp-2);cursor:pointer}.pv-wrong-toggle input{margin-top:3px}.pv-wrong-toggle span{display:grid;gap:2px}.pv-wrong-toggle b{font-size:var(--fs-sm)}.pv-wrong-toggle small{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:900px){.pv-view{grid-template-columns:minmax(0,1fr)}}.mx-view{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);min-width:0}.mx-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.mx-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.mx-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.mx-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.mx-options{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.mx-options button{border:1px solid var(--line-2);background:var(--surface);padding:2px 10px;font:var(--fs-xs)/1.6 var(--font-body);color:var(--ink-2);cursor:pointer}.mx-options button.is-active{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.mx-summary{padding:var(--sp-2) var(--sp-3)}.mx-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4)}.mx-facts li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3);min-width:110px}.mx-facts em{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--ink-2)}.mx-facts b{font:700 var(--fs-md)/1.4 var(--font-mono);color:var(--cmp-ink)}.mx-facts span{display:block;font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.mx-scroll{overflow-x:auto;margin-top:var(--sp-2)}.mx-svg{display:block;min-width:0}.mx-bit{fill:var(--cmp-wash);stroke:var(--cmp-line)}.mx-bit.is-select{fill:var(--mov-wash);stroke:var(--mov-line)}.mx-bit-label{font:11px var(--font-mono);fill:var(--ink-2)}.mx-bit-inner{font:600 11px var(--font-body);fill:var(--mov-ink)}.mx-annot{font:11px var(--font-body);fill:var(--ink-3)}.mx-decoder{fill:var(--paper-2);stroke:var(--line-2)}.mx-decoder-label{font:600 var(--fs-sm) var(--font-mono);fill:var(--ink)}.mx-select{font:600 11px var(--font-mono);fill:var(--mov-ink)}.mx-select.is-unused{fill:var(--ink-3);font-weight:400}.mx-range{font:11px var(--font-mono);fill:var(--ink-2)}.mx-range.is-rom{fill:var(--ptr-ink)}.mx-table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.mx-table th,.mx-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:center;white-space:nowrap}.mx-table thead th{background:var(--paper-2);font-family:var(--font-body);font-size:var(--fs-sm)}.mx-table td{font-family:var(--font-mono)}.mx-kind-rom{color:var(--ptr-ink);font-weight:700}.mx-kind-ram{color:var(--set-ink)}.mx-bits{letter-spacing:.12em}.mx-range-cell{color:var(--cmp-ink)}.mx-chip{fill:var(--surface);stroke:var(--line-2);stroke-width:1.2}.mx-chip.is-rom{stroke:var(--ptr-line);fill:var(--ptr-wash)}.mx-chip-label{font:600 11px var(--font-mono);fill:var(--ink)}.mx-chip-bits{font:11px var(--font-mono);fill:var(--ink-3)}.mx-cs-line{stroke:var(--mov-line);stroke-width:2}.mx-cs-line.is-rom{stroke:var(--ptr-line)}.mx-wiring{margin:var(--sp-2) 0 0;padding-left:var(--sp-4);display:grid;gap:var(--sp-1)}.mx-wiring li{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:640px){.mx-facts li{flex:1 1 40%}}.bs-view{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--sp-4);min-width:0}.bs-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.bs-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.bs-note{font-family:var(--font-body);font-size:var(--fs-sm);font-weight:400;color:var(--ink-2)}.bs-caption{margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--cmp-line);background:var(--cmp-wash);font-size:var(--fs-sm);color:var(--cmp-ink);line-height:var(--lh-body)}.bs-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.bs-topics,.bs-algos{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.bs-topics button,.bs-algos button{border:1px solid var(--line-2);background:var(--surface);padding:2px 10px;font:var(--fs-xs)/1.6 var(--font-body);color:var(--ink-2);cursor:pointer}.bs-topics button.is-active,.bs-algos button.is-active{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink);font-weight:600}.bs-wide{grid-column:1 / -1}.controls-panel .bs-wide input{font:var(--fs-sm)/1.6 var(--font-mono)}.bs-devices{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-2)}.bs-devices li{border:1px solid var(--line);border-left-width:3px;background:var(--paper);padding:var(--sp-2)}.bs-devices li.is-winner{border-left-color:var(--set-ink);background:var(--set-wash)}.bs-devices li.is-loser{border-left-color:var(--ptr-ink)}.bs-device-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.bs-device-head b{font:700 var(--fs-sm)/1.6 var(--font-mono)}.bs-requested{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.bs-quiet{font-size:var(--fs-sm);color:var(--ink-3)}.bs-grant-tag{font:600 11px/1.6 var(--font-mono);color:var(--set-ink);border:1px solid var(--set-line);padding:0 6px;background:var(--surface)}.bs-grant-tag.is-dim{color:var(--ink-3);border-color:var(--line-2)}.bs-device-note{margin:4px 0 0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.bs-devices li.is-winner .bs-device-note{color:var(--set-ink)}.bs-segments{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:var(--sp-1)}.bs-segments li{border:1px solid var(--line);background:var(--paper);padding:var(--sp-2) var(--sp-3)}.bs-segments li.is-handshake{border-color:var(--ptr-line);background:var(--ptr-wash)}.bs-segments li.is-total{border-color:var(--set-line);background:var(--set-wash)}.bs-seg-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2)}.bs-seg-head b{font-size:var(--fs-sm)}.bs-seg-units{font:600 var(--fs-xs)/1.8 var(--font-mono);color:var(--cmp-ink);letter-spacing:.05em}.bs-segments li.is-handshake .bs-seg-units{color:var(--ptr-ink)}.bs-segments li.is-total .bs-seg-units{color:var(--set-ink)}.bs-seg-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.bs-scroll{overflow-x:auto;margin-top:var(--sp-2)}.bs-table{border-collapse:collapse;width:100%;min-width:560px;font-size:var(--fs-sm)}.bs-table th,.bs-table td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}.bs-table thead th{background:var(--paper-2);font-size:var(--fs-sm)}.bs-table tbody th{white-space:nowrap;font-family:var(--font-body);background:var(--paper)}.bs-table td:nth-child(2){font:600 var(--fs-sm)/1.6 var(--font-mono);white-space:nowrap}.bs-table tr.is-current th,.bs-table tr.is-current td{background:var(--cmp-wash)}.bs-table tr.is-current th{color:var(--cmp-ink)}.bs-table tr.is-sync th,.bs-table tr.is-sync td{background:var(--paper-2)}.bs-why-cell{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}@media(max-width:900px){.bs-view{grid-template-columns:minmax(0,1fr)}}.uf-view{display:grid;gap:var(--sp-4);min-width:0}.uf-svg{display:block;width:100%;max-width:720px;min-width:0;height:auto;margin-inline:auto}.uf-node circle{fill:var(--paper-2);stroke:var(--line-2);stroke-width:1.5}.uf-node text{font:600 14px var(--font-mono);fill:var(--ink)}.uf-node.is-root circle{fill:var(--set-wash);stroke:var(--set-ink);stroke-width:2.5}.uf-node.is-root text{fill:var(--set-ink)}.uf-node.is-path circle{fill:var(--mov-wash);stroke:var(--mov-line)}.uf-node.is-cur circle{stroke:var(--ptr-ink);stroke-width:3}.uf-edge{stroke:var(--line-2);stroke-width:1.6}.uf-edge.is-path{stroke:var(--mov-ink);stroke-width:2.4}.uf-edge.is-attach{stroke:var(--cmp-ink);stroke-width:3}.uf-edge-label{font:600 12px var(--font-body);fill:var(--cmp-ink)}.uf-tag{font:600 12px var(--font-body);fill:var(--set-ink)}.uf-strip{display:flex;flex-wrap:wrap;gap:var(--sp-1);justify-content:center}.uf-cell{display:inline-flex;align-items:baseline;gap:4px;border:1px solid var(--line-2);background:var(--surface);padding:3px 8px;font:600 14px var(--font-mono);color:var(--ink)}.uf-cell em{font-style:normal;font-weight:400;font-size:11px;color:var(--ink-3)}.uf-cell.is-root{border-color:var(--set-ink);color:var(--set-ink);background:var(--set-wash)}.uf-cell.is-path{border-color:var(--mov-line);background:var(--mov-wash)}.uf-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2);text-align:center}.uf-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3)}.uf-check em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}.uf-ops{resize:vertical;min-height:96px;font:var(--fs-sm) var(--font-mono)}@media(max-width:640px){.uf-strip{justify-content:flex-start}}.hf-view{display:grid;gap:var(--sp-4);min-width:0}.hf-svg{display:block;width:100%;max-width:780px;min-width:0;height:auto;margin-inline:auto}.hf-node circle{fill:var(--paper-2);stroke:var(--line-2);stroke-width:1.5}.hf-node text{font:600 14px var(--font-mono);fill:var(--ink)}.hf-node.is-leaf circle{fill:var(--set-wash);stroke:var(--set-line);stroke-width:2}.hf-node.is-leaf text{fill:var(--set-ink)}.hf-node.is-picked circle{fill:var(--mov-wash);stroke:var(--mov-line);stroke-width:2.5}.hf-node.is-new circle{fill:var(--cmp-wash);stroke:var(--cmp-line);stroke-width:3}.hf-node.is-new text{fill:var(--cmp-ink)}.hf-edge{stroke:var(--line-2);stroke-width:1.6}.hf-edge.is-picked{stroke:var(--mov-line);stroke-width:2.4}.hf-edge.is-new{stroke:var(--cmp-ink);stroke-width:3}.hf-bit{font:600 11px var(--font-mono);fill:var(--ink-3)}.hf-char{font:600 13px var(--font-body);fill:var(--set-ink)}.hf-sum{font:600 13px var(--font-mono);fill:var(--cmp-ink)}.hf-frame{border:1px solid var(--line);border-left:4px solid var(--line-2);background:var(--surface);padding:var(--sp-3) var(--sp-4)}.hf-frame.is-hot{border-left-color:var(--mov-ink)}.hf-frame-head{margin:0 0 var(--sp-1);display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.hf-frame-head b{font:700 var(--fs-body) var(--font-title);color:var(--ink)}.hf-frame-phase{font-size:var(--fs-sm);color:var(--ink-2)}.hf-frame-detail{margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.hf-tie{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--accent-ink);background:var(--accent-wash);border:1px solid var(--accent);padding:var(--sp-1) var(--sp-2)}.hf-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-3) var(--sp-4)}.hf-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.hf-table th,.hf-table td{border:1px solid var(--line);padding:4px 10px;text-align:center}.hf-table th{background:var(--paper-2);font-weight:600;color:var(--ink-2)}.hf-table td{font:600 var(--fs-sm) var(--font-mono);color:var(--ink)}.hf-table td.hf-code{letter-spacing:2px}.hf-table tr.is-ready td{background:var(--set-wash);color:var(--set-ink)}.hf-table-note{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3)}.hf-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2);text-align:center}.hf-syntax{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--ink-3)}@media(max-width:640px){.hf-table td,.hf-table th{padding:3px 6px}}.gw-view{display:grid;gap:var(--sp-4);min-width:0}.gw-top{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:var(--sp-4)}.gw-strips{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--sp-4)}@media(max-width:900px){.gw-top{grid-template-columns:minmax(0,1fr)}}.gw-card{border:1px solid var(--line);background:var(--surface);padding:var(--sp-4);min-width:0}.gw-card h4{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.gw-sub{font:400 12px var(--font-mono);color:var(--ink-3)}.gw-note{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--ink-3);line-height:var(--lh-body)}.gw-frame{margin:var(--sp-2) 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2);border:1px solid var(--line);border-left:3px solid var(--cmp-line);background:var(--paper);padding:var(--sp-1) var(--sp-2)}.gw-frame b{font:600 var(--fs-sm) var(--font-mono)}.gw-frame span{font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.gw-scroll{overflow-x:auto;margin-top:var(--sp-2)}.gw-svg{display:block}.gw-edge{stroke:var(--line-2);stroke-width:1.6}.gw-edge.is-tree{stroke:var(--mov-ink);stroke-width:3}.gw-node circle{fill:var(--surface);stroke:var(--line-2);stroke-width:1.4}.gw-node.is-visited circle{fill:var(--cmp-wash);stroke:var(--cmp-ink);stroke-width:1.6}.gw-node.is-frontier circle{fill:var(--mov-wash);stroke:var(--mov-line);stroke-width:2}.gw-node.is-cur circle{fill:var(--ptr-wash);stroke:var(--ptr-ink);stroke-width:2.8}.gw-node-label{font:600 var(--fs-body) var(--font-mono);fill:var(--ink)}.gw-node-badge{font:600 12px var(--font-mono);fill:var(--set-ink)}.gw-node.is-cur .gw-node-badge{fill:var(--ptr-ink)}.gw-node-start{font:12px var(--font-body);fill:var(--ptr-ink)}.gw-seq{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-1);margin:var(--sp-2) 0 0;padding:0}.gw-seq-cell{display:grid;justify-items:center;gap:2px;border:1px solid var(--line);background:var(--paper);padding:4px 8px;min-width:44px}.gw-seq-cell em{font:400 12px var(--font-mono);font-style:normal;color:var(--ink-3)}.gw-seq-cell b{font:600 var(--fs-body) var(--font-mono)}.gw-seq-cell.is-pending{border-style:dashed}.gw-seq-cell.is-pending b{color:var(--ink-3);font-weight:400}.gw-seq-cell.is-just{border-color:var(--ptr-ink);background:var(--ptr-wash)}.gw-seq-cell.is-just b{color:var(--ptr-ink)}.gw-frontier{margin-top:var(--sp-2);display:grid;gap:var(--sp-2);align-content:start}.gw-frontier-row{display:flex;flex-wrap:wrap;gap:var(--sp-1);min-height:40px;align-items:stretch}.gw-frontier-cell{display:grid;place-items:center;border:1px solid var(--mov-line);background:var(--mov-wash);color:var(--mov-ink);font:600 var(--fs-body) var(--font-mono);padding:4px 10px}.gw-frontier-cell.is-just{border-color:var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink);box-shadow:2px 2px 0 var(--ptr-line)}.gw-frontier-empty{display:grid;place-items:center;border:1px dashed var(--line-2);color:var(--ink-3);padding:4px 12px;font-size:var(--fs-sm)}.gw-frontier-note{margin:0;font-size:var(--fs-sm);color:var(--ink-3);line-height:var(--lh-body)}.gw-adj{list-style:none;margin:var(--sp-2) 0 0;padding:0;display:grid;gap:2px;font:var(--fs-sm)/1.9 var(--font-mono)}.gw-adj-row{display:flex;align-items:baseline;gap:var(--sp-2);padding:0 var(--sp-2);border-left:3px solid transparent}.gw-adj-row.is-hot{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.gw-adj-key{min-width:1.2em;text-align:right;font-weight:600}.gw-adj-arrow{color:var(--ink-3)}.gw-adj-list{display:flex;flex-wrap:wrap;gap:var(--sp-1)}.gw-adj-item{padding:0 4px;border:1px solid var(--line);background:var(--surface)}.gw-adj-item.is-seen{color:var(--ink-3);border-color:transparent;background:transparent}.gw-adj-item.is-new{color:var(--ptr-ink);border-color:var(--ptr-ink);font-weight:600}.gw-adj-none{font-style:normal;color:var(--ink-3)}.gw-field-wide{grid-column:1 / -1}.gw-syntax{grid-column:1 / -1;margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-body)}.controls-panel .gw-field-wide input{font:var(--fs-sm)/1.6 var(--font-mono)}.fs-view{display:grid;gap:var(--sp-4);min-width:0}.fs-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.fs-tabs button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm);border-radius:0}.fs-tabs button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.fs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--sp-3)}.fs-card{display:grid;gap:2px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-2);border-top:2px solid var(--ink);background:var(--surface)}.fs-card em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}.fs-card b{font:600 var(--fs-xl) var(--font-title);color:var(--ink);font-variant-numeric:tabular-nums}.fs-card span{font-size:var(--fs-xs);color:var(--ink-2)}.fs-bar{display:flex;min-height:58px;border:1px solid var(--line-2)}.fs-seg{display:grid;place-content:center;gap:2px;text-align:center;padding:var(--sp-1) var(--sp-2);min-width:64px;overflow:hidden}.fs-seg b{font-size:var(--fs-sm)}.fs-seg span{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.fs-seg.is-direct{background:var(--set-wash);color:var(--set-ink)}.fs-seg.is-single{background:var(--cmp-wash);color:var(--cmp-ink)}.fs-seg.is-double{background:var(--mov-wash);color:var(--mov-ink)}.fs-seg.is-triple{background:var(--ptr-wash);color:var(--ptr-ink)}.fs-bar-note{margin:0;font:var(--fs-xs) var(--font-mono);color:var(--ink-2)}.fs-chain{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.fs-chain-head{font-size:var(--fs-sm);color:var(--ink-2)}.fs-chain-step{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);padding:4px 10px;font-size:var(--fs-sm)}.fs-chain-step i{font:600 11px/1 var(--font-mono);font-style:normal;color:var(--accent-ink);border:1px solid var(--accent);padding:2px 4px}.fs-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.8}.fs-bitmap{display:grid;gap:var(--sp-2);justify-content:start}.fs-word{display:flex;align-items:center;gap:var(--sp-2)}.fs-word em{font-style:normal;font:600 var(--fs-xs) var(--font-mono);color:var(--ink-3);width:40px}.fs-bits{display:flex;flex-wrap:wrap;gap:3px}.fs-bits i{width:14px;height:14px;background:var(--paper-2);border:1px solid var(--line)}.fs-bits i.is-target{background:var(--accent);border-color:var(--accent-ink)}.fs-bits i.is-void{background:transparent;border-style:dashed}@media(max-width:640px){.fs-cards{grid-template-columns:minmax(0,1fr)}.fs-seg{min-width:52px}}.eth-view{display:grid;gap:var(--sp-4);min-width:0}.eth-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3)}.eth-card{display:grid;gap:2px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-2);border-top:2px solid var(--ink);background:var(--surface)}.eth-card em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}.eth-card b{font:600 var(--fs-xl) var(--font-title);color:var(--ink);font-variant-numeric:tabular-nums}.eth-card span{font-size:var(--fs-xs);color:var(--ink-2)}.eth-svg{display:block;width:100%;max-width:760px;min-width:0;height:auto;margin-inline:auto}.eth-axis{stroke:var(--line-2);stroke-width:1.2}.eth-axis.is-contend{stroke:var(--accent);stroke-width:2;stroke-dasharray:6 4}.eth-station{font:600 13px var(--font-body);fill:var(--ink)}.eth-tick{font:600 11px var(--font-mono);fill:var(--ink-3)}.eth-front.is-a{stroke:var(--cmp-ink);stroke-width:2.4}.eth-front.is-b{stroke:var(--ptr-ink);stroke-width:2.4}.eth-front-label{font:600 12px var(--font-body);fill:var(--ink-2)}.eth-crash{fill:var(--accent);stroke:var(--ink);stroke-width:1.5}.eth-crash.is-detect{fill:var(--ptr-ink)}.eth-crash-label{font:600 12px var(--font-body);fill:var(--ink)}.eth-contend-label{font:600 12px var(--font-body);fill:var(--accent-ink)}.eth-verdict{margin:0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border:1px solid var(--line-2)}.eth-verdict.is-ok{border-left:4px solid var(--set-ink);background:var(--set-wash);color:var(--set-ink)}.eth-verdict.is-bad{border-left:4px solid var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink)}.eth-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.eth-table th,.eth-table td{border:1px solid var(--line);padding:4px 10px;font-size:var(--fs-sm);text-align:left}.eth-table th{background:var(--paper-2);font-weight:600}.eth-table tr.is-target td{background:var(--accent-wash);font-weight:600}.eth-frame{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.eth-seg{display:grid;gap:2px;min-width:96px;flex:1 1 96px;border:1px solid var(--line-2);background:var(--surface);padding:var(--sp-2) var(--sp-3)}.eth-seg.is-data{flex:4 1 220px;background:var(--cmp-wash);border-color:var(--cmp-line)}.eth-seg b{font-size:var(--fs-sm)}.eth-seg span{font:600 var(--fs-xs) var(--font-mono);color:var(--ink-2)}.eth-seg em{font-style:normal;font-size:11px;color:var(--ink-3);line-height:1.5}.eth-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.8}@media(max-width:640px){.eth-cards,.eth-frame{grid-template-columns:minmax(0,1fr)}}.ph-view{display:grid;gap:var(--sp-4);min-width:0}.ph-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3)}.ph-card{display:grid;gap:2px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-2);border-top:2px solid var(--ink);background:var(--surface)}.ph-card em{font-style:normal;font-size:var(--fs-xs);color:var(--ink-3)}.ph-card b{font:600 var(--fs-xl) var(--font-title);color:var(--ink);font-variant-numeric:tabular-nums}.ph-card span{font-size:var(--fs-xs);color:var(--ink-2)}.ph-verdict{margin:0;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);border:1px solid var(--line-2)}.ph-verdict.is-capped{border-left:4px solid var(--cmp-ink);background:var(--cmp-wash);color:var(--cmp-ink)}.ph-verdict.is-noisy{border-left:4px solid var(--ptr-ink);background:var(--ptr-wash);color:var(--ptr-ink)}.ph-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ph-table th,.ph-table td{border:1px solid var(--line);padding:4px 10px;font-size:var(--fs-sm);text-align:left}.ph-table th{background:var(--paper-2);font-weight:600}.ph-table tr.is-target td{background:var(--accent-wash);font-weight:600}.ph-table tr.is-over td{color:var(--ptr-ink)}.stage-frame svg.ph-svg{display:block;width:100%;max-width:880px;height:auto;margin-inline:auto}.ph-gridline{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.ph-bit-label{font:600 12px var(--font-mono);fill:var(--ink-2)}.ph-tick{font:500 11px var(--font-body);fill:var(--ink-3)}.ph-row-name{font:600 13px var(--font-body);fill:var(--ink-3)}.ph-row-count{font:500 11px var(--font-mono);fill:var(--ink-3)}.ph-stroke{fill:none;stroke:var(--ink-3);stroke-width:1.6}.ph-leadin{stroke:var(--accent);stroke-width:1.4;stroke-dasharray:4 3}.ph-middot{fill:var(--accent);stroke:var(--ink);stroke-width:.8}.ph-wave.is-active .ph-row-name{fill:var(--ink)}.ph-wave.is-active .ph-row-count{fill:var(--accent-ink);font-weight:600}.ph-wave.is-active .ph-stroke{stroke:var(--ink);stroke-width:2.2}.ph-note{margin:0;font-size:var(--fs-sm);color:var(--ink-2);line-height:1.8}.ph-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.ph-tabs button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm);border-radius:0}.ph-tabs button.is-active{background:var(--set-wash);border-color:var(--set-line);font-weight:600}.ph-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ph-chips button{min-height:36px;padding:0 var(--sp-3);border:1px solid var(--line-2);background:var(--paper);font-size:var(--fs-sm);border-radius:0}@media(max-width:640px){.ph-cards{grid-template-columns:minmax(0,1fr)}}.sidebar{--rail-w: 68px;--rail-open: 288px;position:relative;width:var(--rail-w);padding:var(--sp-3) var(--sp-2);overflow:hidden;border-right:1px solid var(--line);background:var(--paper-2);transition:width var(--motion-normal) var(--ease);isolation:isolate}.sidebar.is-open{width:var(--rail-open)}.sidebar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(220px circle at var(--mx, 50%) var(--my, 0%),#ffffff,transparent 72%);opacity:0;transition:opacity var(--motion-normal) var(--ease);pointer-events:none}.sidebar.is-open:before{opacity:.9}.rail-head{position:relative;z-index:1;display:flex;align-items:center;gap:var(--sp-2);height:40px;margin-bottom:var(--sp-3)}.rail-mark{flex:none;width:52px;height:36px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:var(--r-2);background:var(--ink);color:#fff;font:600 var(--fs-sm) var(--font-mono);letter-spacing:.06em}.rail-title{white-space:nowrap;font-size:var(--fs-sm);font-weight:600;opacity:0;transform:translate(-8px);transition:opacity .14s var(--ease),transform .2s var(--ease)}.rail-pin{margin-left:auto;flex:none;min-height:26px;padding:0 8px;border:1px solid var(--line-2);border-radius:var(--r-1);background:var(--surface);font-size:var(--fs-xs);color:var(--ink-2);white-space:nowrap;opacity:0;transition:opacity .14s var(--ease),background var(--motion-fast),color var(--motion-fast)}.rail-pin:hover{background:var(--paper);color:var(--ink)}.rail-pin.is-on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.sidebar.is-open .rail-title{opacity:1;transform:none;transition-delay:70ms}.sidebar.is-open .rail-pin{opacity:1;transition-delay:.12s}.rail-mark{position:relative;overflow:hidden}.rail-mark:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,#ffffffcc 50%,transparent 65%);transform:translate(-120%)}.sidebar.is-open .rail-mark:after{animation:rail-shine .9s var(--ease) .12s 1}@keyframes rail-shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}.nav-group{position:relative;z-index:1}.nav-group+.nav-group{margin-top:var(--sp-4)}.nav-group h2{display:flex;align-items:center;gap:var(--sp-2);height:20px;margin:0 0 4px;padding:0 8px;font-size:var(--fs-xs);letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase}.nav-group-text{white-space:nowrap;opacity:0;transform:translate(-6px);transition:opacity .14s var(--ease),transform .2s var(--ease)}.nav-group-rule{flex:1;height:1px;background:var(--line);opacity:0;transition:opacity var(--motion-normal) var(--ease)}.sidebar.is-open .nav-group-text{opacity:1;transform:none;transition-delay:60ms}.sidebar.is-open .nav-group-rule{opacity:1;transition-delay:90ms}.nav-link{position:relative;z-index:1;display:flex;align-items:center;gap:var(--sp-3);height:44px;padding:0 8px;margin-bottom:2px;border-radius:var(--r-2);text-decoration:none;color:var(--ink);transform:translate(calc(var(--near, 0) * 4px)) scale(calc(1 + var(--near, 0) * .018));transition:background var(--motion-fast) var(--ease)}.nav-link:hover,.nav-link:focus-visible{background:var(--surface)}.nav-glyph{flex:none;width:52px;height:36px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:var(--r-2);background:var(--surface);font-size:var(--fs-sm);font-weight:600;transform:scale(calc(1 + var(--near, 0) * .16));transition:transform 90ms linear,background var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.nav-link.is-active .nav-glyph{background:var(--ink);border-color:var(--ink);color:#fff}.nav-link.is-active{background:var(--surface);font-weight:600}.nav-text{display:grid;gap:1px;min-width:0;white-space:nowrap;opacity:0;transform:translate(-10px);transition:opacity .14s var(--ease),transform .2s var(--ease)}.sidebar.is-open .nav-text{opacity:1;transform:none;transition-delay:calc(70ms + var(--i, 0) * 24ms)}.nav-title,.nav-note{overflow:hidden;text-overflow:ellipsis}.nav-title{font-size:var(--fs-sm)}.nav-note{color:var(--ink-2);font-size:var(--fs-xs)}.nav-dot{position:absolute;left:0;top:50%;width:3px;height:0;border-radius:0;background:var(--ink);transform:translateY(-50%);transition:height var(--motion-normal) var(--ease)}.nav-link.is-active .nav-dot{height:22px}.rail-foot{position:relative;z-index:1;margin:var(--sp-4) 0 0;padding:0 8px;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;opacity:0;transition:opacity var(--motion-normal) var(--ease)}.sidebar.is-open .rail-foot{opacity:1;transition-delay:.16s}@media(prefers-reduced-motion:reduce){.sidebar,.nav-text,.nav-group-text,.rail-title,.rail-pin,.rail-foot,.nav-glyph,.nav-dot{transition:none!important}.nav-link{transform:none}.sidebar.is-open .rail-mark:after{animation:none}}@media(max-width:640px){.sidebar,.sidebar.is-open{width:100%;padding:var(--sp-3) var(--sp-4);overflow:visible}.sidebar:before{display:none}.rail-head,.rail-foot,.nav-glyph{display:none}.nav-text,.nav-group-text,.nav-group-rule{opacity:1;transform:none;transition:none}.nav-link{height:auto;padding:var(--sp-2) var(--sp-3);transform:none;border-radius:var(--r-2)}.nav-group h2{height:auto;padding:0 var(--sp-3)}}.nav-group.is-ds h2{color:var(--ds)}.nav-group.is-co h2{color:var(--co)}.nav-group.is-os h2{color:var(--os)}.nav-group.is-cn h2{color:var(--cn)}.nav-group.is-ds .nav-link.is-active .nav-glyph{background:var(--ds);border-color:var(--ds);color:#fff}.nav-group.is-co .nav-link.is-active .nav-glyph{background:var(--co);border-color:var(--co);color:#fff}.nav-group.is-os .nav-link.is-active .nav-glyph{background:var(--os);border-color:var(--os);color:#fff}.nav-group.is-cn .nav-link.is-active .nav-glyph{background:var(--cn);border-color:var(--cn);color:#fff}.nav-group.is-ds .nav-dot{background:var(--ds)}.nav-group.is-co .nav-dot{background:var(--co)}.nav-group.is-os .nav-dot{background:var(--os)}.nav-group.is-cn .nav-dot{background:var(--cn)}.sidebar:not(.is-open) .nav-group.is-ds .nav-glyph{border-color:var(--ds-line)}.sidebar:not(.is-open) .nav-group.is-co .nav-glyph{border-color:var(--co-line)}.sidebar:not(.is-open) .nav-group.is-os .nav-glyph{border-color:var(--os-line)}.sidebar:not(.is-open) .nav-group.is-cn .nav-glyph{border-color:var(--cn-line)}a.rail-mark{text-decoration:none;color:#fff}.landing{position:relative;min-height:calc(100vh - 69px);padding:var(--sp-7) var(--sp-5) var(--sp-6);overflow:hidden;counter-reset:grp}.landing-fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.landing-fx:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 92% 62% at 50% 0%,#000 30%,transparent 76%);mask-image:radial-gradient(ellipse 92% 62% at 50% 0%,#000 30%,transparent 76%)}.landing-fx:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 24%),color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%)}.landing>*:not(.landing-fx){position:relative;z-index:1}.landing-hero{max-width:880px;margin:0 auto var(--sp-7)}.landing-eyebrow{margin:0 0 var(--sp-4);font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.22em;color:var(--ink-2);font-weight:600}.landing-title{margin:0 0 var(--sp-3);font-size:clamp(40px,6vw,72px);font-weight:800;line-height:1.04;letter-spacing:-.015em}.landing-num{font-family:var(--font-mono);color:var(--accent-ink);letter-spacing:-.02em}.landing-title .ch{display:inline-block;white-space:pre;animation:title-ch .62s var(--ease) both;animation-delay:var(--d, 0ms)}@keyframes title-ch{0%{opacity:0;transform:translateY(18px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}.landing-sub{margin:0 auto var(--sp-5);max-width:62ch;min-height:1.7em;font-size:var(--fs-lg);color:var(--ink-2)}.landing-caret{display:inline-block;width:8px;height:1.05em;margin-left:4px;background:var(--accent);vertical-align:-.16em;animation:landing-blink 1.05s steps(1) infinite}@keyframes landing-blink{0%,49%{opacity:1}50%,to{opacity:0}}.landing-search{width:100%;display:flex;align-items:center;gap:var(--sp-3);min-height:60px;padding:0 var(--sp-4);background:var(--surface);border:2px solid var(--ink);border-radius:0;box-shadow:6px 6px color-mix(in srgb,var(--ink) 10%,transparent);transition:border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}.landing-search:hover{border-color:var(--accent-ink);box-shadow:6px 6px color-mix(in srgb,var(--accent-ink) 16%,transparent)}.landing-search:focus-within{border-color:var(--accent);box-shadow:6px 6px color-mix(in srgb,var(--accent) 30%,transparent)}.landing-search-glyph{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:0;font-size:var(--fs-xs)}.landing-search-ph{flex:1 1 auto;min-width:0;text-align:left;color:var(--ink-3);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-search-kbd{flex:none;font:var(--fs-xs) var(--font-mono);color:var(--ink-2);border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-1);padding:2px 7px}.landing-cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:46px;padding:0 var(--sp-5);border-radius:0;border:1px solid var(--ink);background:var(--surface);color:var(--ink);font-size:var(--fs-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:transform var(--motion-fast) var(--ease),background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.landing-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,#ffffffb0 50%,transparent 60%);transform:translate(-130%)}.landing-btn:hover:after{animation:card-glare .7s var(--ease) 1}.landing-btn:hover{transform:translateY(-2px)}.landing-btn.is-primary{background:var(--ink);border-color:var(--ink);color:#fff}.landing-btn.is-primary:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.landing-stats{margin:var(--sp-4) 0 0;font:var(--fs-xs) var(--font-mono);letter-spacing:.1em;color:var(--ink-3);font-variant-numeric:tabular-nums}.landing-group{max-width:1120px;margin:0 auto var(--sp-6)}.landing-group-head{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--fs-sm);letter-spacing:.08em;font-weight:600}.landing-group-head:before{counter-increment:grp;content:counter(grp,decimal-leading-zero);font:600 var(--fs-xs) var(--font-mono);color:var(--ink-3);letter-spacing:.1em}.landing-group-dot{width:10px;height:10px;border-radius:0;background:currentColor;flex:none}.landing-group-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);font-weight:400;letter-spacing:.06em}.landing-group-rule{flex:1 1 auto;height:1px;background:var(--line-2)}.landing-group-head.is-ds{color:var(--ds)}.landing-group-head.is-co{color:var(--co)}.landing-group-head.is-os{color:var(--os)}.landing-group-head.is-cn{color:var(--cn)}.landing-group-head.is-ov{color:var(--ink)}.landing-card.is-ov{border-left-color:var(--ink)}.landing-card.is-ov .landing-card-glyph{border-color:var(--line-2);background:var(--paper-2);color:var(--ink)}.landing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--sp-3);counter-reset:mod}.landing-cards .landing-card{animation:card-in .46s var(--ease) both;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes card-in{0%{opacity:0;transform:translateY(14px)}}.landing-card{counter-increment:mod;position:relative;overflow:hidden;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--line-2);border-radius:0;transition:transform var(--motion-fast) var(--ease),border-color var(--motion-fast) var(--ease),box-shadow var(--motion-fast) var(--ease)}.landing-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,#ffffffa8 50%,transparent 58%);transform:translate(-130%)}.landing-card:hover:after{animation:card-glare .65s var(--ease) 1}@keyframes card-glare{to{transform:translate(130%)}}.landing-card:before{content:counter(mod,decimal-leading-zero);font:600 var(--fs-xs)/1.4 var(--font-mono);color:var(--ink-3);letter-spacing:.06em;align-self:start;padding-top:2px}.landing-card:hover{transform:translate(-2px,-2px);border-color:var(--line-2);box-shadow:6px 6px color-mix(in srgb,var(--ink) 12%,transparent)}.landing-card.is-ds{border-left-color:var(--ds)}.landing-card.is-co{border-left-color:var(--co)}.landing-card.is-os{border-left-color:var(--os)}.landing-card.is-cn{border-left-color:var(--cn)}.landing-card-glyph{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;font-family:var(--font-title);font-size:var(--fs-lg);border:1px solid var(--line-2);background:var(--paper-2);color:var(--ink-2)}.landing-card.is-ds .landing-card-glyph{border-color:var(--ds-line);background:var(--ds-wash);color:var(--ds)}.landing-card.is-co .landing-card-glyph{border-color:var(--co-line);background:var(--co-wash);color:var(--co)}.landing-card.is-os .landing-card-glyph{border-color:var(--os-line);background:var(--os-wash);color:var(--os)}.landing-card.is-cn .landing-card-glyph{border-color:var(--cn-line);background:var(--cn-wash);color:var(--cn)}.landing-card-body{min-width:0;display:grid;gap:2px}.landing-card-title{font-family:var(--font-title);font-size:var(--fs-lg);line-height:1.3;font-weight:700}.landing-card-chapter{font-size:var(--fs-xs);color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.06em}.landing-card-summary{margin-top:var(--sp-1);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.landing-card-meta{margin-top:var(--sp-1);font-size:var(--fs-xs);color:var(--ink-3);font-variant-numeric:tabular-nums}.landing-foot{max-width:1120px;margin:var(--sp-6) auto 0;padding-top:var(--sp-5);border-top:2px solid var(--ink);font-size:var(--fs-sm);color:var(--ink-2)}.landing-foot p{margin:0 0 var(--sp-2);max-width:78ch}.landing-foot-note{font-size:var(--fs-xs);color:var(--ink-3)}@media(max-width:640px){.landing{padding:var(--sp-6) var(--sp-4) var(--sp-5)}.landing-cards{grid-template-columns:minmax(0,1fr)}.landing-search{min-height:54px}.landing-search-kbd{display:none}.landing-card{grid-template-columns:auto minmax(0,1fr)}.landing-card:before{display:none}}@media(prefers-reduced-motion:reduce){.landing-caret{animation:none}.landing-card:hover,.landing-btn:hover{transform:none}.landing-title .ch{animation:none}.landing-card:after,.landing-btn:after{display:none}}@supports (animation-timeline: view()){.landing-group{animation:group-in linear both;animation-timeline:view();animation-range:entry 0% entry 22%}@keyframes group-in{0%{opacity:.15;transform:translateY(26px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){.landing-group,.landing-cards .landing-card{animation:none!important}}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:color-mix(in srgb,var(--ink) 42%,transparent);display:flex;justify-content:center;align-items:flex-start;padding:10vh var(--sp-4) var(--sp-4);animation:backdrop-in .16s var(--ease) both}@keyframes backdrop-in{0%{opacity:0}}.palette{width:min(720px,100%);max-height:74vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--ink);border-radius:var(--r-3);box-shadow:12px 12px color-mix(in srgb,var(--ink) 14%,transparent);overflow:hidden;animation:palette-in .22s var(--ease) both}@keyframes palette-in{0%{opacity:0;transform:translateY(-12px) scale(.985)}to{opacity:1;transform:none}}.palette-field{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line)}.palette-glyph{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--r-1);font-size:11px}.palette-input{flex:1 1 auto;min-width:0;border:0;outline:0;background:transparent;font-size:var(--fs-lg)}.palette-input::placeholder{color:var(--ink-3);font-size:var(--fs-sm)}.palette-kbd,.palette-hint kbd{font:var(--fs-xs) var(--font-mono);color:var(--ink-3);border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-1);padding:1px 5px}.palette-list{list-style:none;margin:0;padding:var(--sp-1);overflow-y:auto;flex:1 1 auto}.palette-item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:baseline;text-align:left;border:1px solid transparent;background:transparent;border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);cursor:pointer}.palette-item.is-active{background:var(--ink);border-color:var(--ink)}.palette-item.is-active .palette-title{color:#fff}.palette-item.is-active .palette-detail{color:#b9bec6}.palette-item.is-active .palette-kind{background:transparent;border-color:#4a4f57;color:#d3d7dc}.palette-item.is-active .palette-module{background:transparent;border-color:#4a4f57;color:#fff}.palette-kind{flex:none;font-size:11px;line-height:1.6;padding:0 6px;border-radius:var(--r-1);border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2)}.palette-kind.is-module{border-color:var(--set-line);background:var(--set-wash);color:var(--set-ink)}.palette-kind.is-preset{border-color:var(--mov-line);background:var(--mov-wash);color:var(--mov-ink)}.palette-kind.is-lesson{border-color:var(--cmp-line);background:var(--cmp-wash);color:var(--cmp-ink)}.palette-kind.is-quiz{border-color:var(--ptr-line);background:var(--ptr-wash);color:var(--ptr-ink)}.palette-body{min-width:0;display:grid;gap:2px}.palette-title{font-size:var(--fs-sm);font-weight:600;color:var(--ink);overflow-wrap:anywhere}.palette-detail{font-size:var(--fs-xs);color:var(--ink-2);overflow-wrap:anywhere}.palette-body mark{background:var(--mov-wash);color:var(--mov-ink);font-weight:700;padding:0 1px}.palette-module{flex:none;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:var(--r-1);font-size:var(--fs-xs);background:var(--paper);color:var(--ink-2)}.palette-module.is-ds{color:var(--ds)}.palette-module.is-co{color:var(--co)}.palette-module.is-os{color:var(--os)}.palette-module.is-cn{color:var(--cn)}.palette-empty{padding:var(--sp-4);color:var(--ink-2);font-size:var(--fs-sm)}.palette-foot{margin:0;padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--line);background:var(--paper-2);display:flex;flex-wrap:wrap;gap:var(--sp-3);justify-content:space-between;font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.palette-hint{display:inline-flex;align-items:center;gap:4px}@media(max-width:640px){.palette-backdrop{padding:4vh var(--sp-2) var(--sp-2)}.palette-module{display:none}.palette-item{grid-template-columns:auto minmax(0,1fr)}.palette-hint{display:none}}:root{--paper: #f1f1ef;--paper-2: #e7e7e4;--surface: #ffffff;--ink: #16181b;--ink-2: #43474d;--ink-3: #6f747b;--line: #d7d7d3;--line-2: #bdbdb7;--accent: #e28b00;--accent-ink: #8a5200;--accent-wash: #ffedcd;--cmp-wash: #e3eefc;--cmp-line: #7fa6e6;--cmp-ink: #0b57c2;--mov-wash: #fdeed2;--mov-line: #eab558;--mov-ink: #a05500;--set-wash: #ddf2e8;--set-line: #58bd92;--set-ink: #06714e;--ptr-wash: #fbe4e9;--ptr-line: #ee8ba0;--ptr-ink: #c11f3e;--ds: #06714e;--ds-wash: #ddf2e8;--ds-line: #58bd92;--co: #a05500;--co-wash: #fdeed2;--co-line: #eab558;--os: #6d3fc0;--os-wash: #ebe5f8;--os-line: #b49ce2;--cn: #0c6d94;--cn-wash: #dceef5;--cn-line: #7ab9d2;--focus: #0b57c2;--fs-xs: 14px;--fs-sm: 15px;--fs-body: 17px;--fs-lg: 21px;--fs-xl: 25px;--fs-2xl: 33px;--sp-1: 4px;--sp-2: 8px;--sp-3: 14px;--sp-4: 20px;--sp-5: 28px;--sp-6: 36px;--sp-7: 52px;--r-1: 1px;--r-2: 2px;--r-3: 3px;--sidebar-width: 240px;--code-width: 400px;--code-height: 36rem;--control-height: 44px;--lh-body: 1.75;--lh-code: 1.7;--motion-fast: .14s;--motion-normal: .24s;--ease: cubic-bezier(.22, 1, .36, 1);--font-body: system-ui, -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-title: "Bahnschrift", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "Cascadia Mono", Consolas, "SF Mono", "Menlo", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font:var(--fs-body)/var(--lh-body) var(--font-body)}::selection{background:var(--accent-wash)}button,input,select,textarea{font:inherit;color:inherit}button,select,input[type=checkbox]{cursor:pointer}input[type=range]{accent-color:var(--ink)}input[type=checkbox]{accent-color:var(--accent)}h1,h2,h3{font-family:var(--font-title);line-height:1.25;margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:var(--sp-3);top:-48px;z-index:10;background:var(--ink);color:#fff;padding:var(--sp-2) var(--sp-4);border:1px solid var(--ink);transition:top var(--motion-fast) var(--ease)}.skip-link:focus{top:var(--sp-3)}.app-header{view-transition-name:app-header}.sidebar{view-transition-name:app-sidebar}::view-transition-old(root){animation:vt-out .2s cubic-bezier(.5,0,.75,.4) both}::view-transition-new(root){animation:vt-in .3s var(--ease) both}@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(16px)}}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.app-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);border-bottom:2px solid var(--ink);background:var(--surface)}.brand{font-size:var(--fs-xl);letter-spacing:.01em}.brand a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:10px;position:relative}.brand a:before{content:"";width:13px;height:13px;flex:none;background:var(--ink);box-shadow:4px 4px 0 0 var(--accent)}.brand a:after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-normal) var(--ease)}.brand a:hover:after,.brand a:focus-visible:after{transform:scaleX(1)}.app-layout{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:calc(100vh - 69px)}.workspace{min-width:0;padding:var(--sp-6) var(--sp-5) var(--sp-7)}.module-heading{margin-bottom:var(--sp-4)}.module-heading:before{content:"";display:block;width:72px;height:7px;margin-bottom:var(--sp-3);background:repeating-linear-gradient(-45deg,var(--ink) 0 7px,var(--accent) 7px 14px)}.eyebrow{color:var(--ink-3);font-size:var(--fs-xs);font-family:var(--font-mono);letter-spacing:.16em}.module-summary{max-width:75ch;color:var(--ink-2)}.goals,.source-list{margin:var(--sp-4) 0 0;padding-left:20px;color:var(--ink-2);font-size:var(--fs-body);line-height:1.8}.controls-panel,.step-caption,.lesson{background:var(--surface);border:1px solid var(--line);padding:var(--sp-5)}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4)}.field{display:grid;gap:var(--sp-1);font-size:var(--fs-sm)}.field input,.field select{min-height:var(--control-height);border:1px solid var(--line-2);background:var(--paper);padding:var(--sp-1) var(--sp-2);border-radius:0}.field input:focus,.field select:focus{border-color:var(--ink);outline-offset:0}.field-error{color:#a81d32;font-size:var(--fs-sm)}.preset-row,.metric-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.preset-row button{min-height:36px;background:var(--surface);border:1px solid var(--line-2);border-radius:0}.preset-row button:hover{border-color:var(--ink)}.preset-row button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.interaction-hint{margin:var(--sp-3) 0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--surface);color:var(--ink)}.experiment-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);margin-top:var(--sp-5);align-items:start}.experiment-grid.no-code{grid-template-columns:minmax(0,1fr)}.experiment-main{min-width:0;display:grid;gap:var(--sp-4)}.stage-frame{background:var(--surface);border:1px solid var(--line-2);border-top:3px solid var(--ink);padding:var(--sp-5);overflow-x:auto;overflow-y:hidden}.stage-frame svg{display:block;width:100%;min-width:600px;max-width:960px;height:auto;margin-inline:auto}.experiment-main .stage-frame{animation:stage-in .3s var(--ease) both}@keyframes stage-in{0%{opacity:0;transform:translateY(10px)}}.step-caption{display:grid;gap:var(--sp-2)}.metrics{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-variant-numeric:tabular-nums}.metric{border-bottom:2px solid var(--ink);padding:0 var(--sp-1) var(--sp-1)}.metric b{font-weight:600}.lesson{display:grid;gap:var(--sp-4)}.lesson-section{max-width:80ch}.lesson-section p{white-space:pre-line}.assumptions{color:var(--ink-2);font-size:var(--fs-sm);line-height:1.8}.error-panel{background:var(--surface);border:1px solid #c2313f;border-top:3px solid #c2313f;padding:var(--sp-5)}.error-panel h1{color:#a81d32}.empty-state{color:var(--ink-2)}.playback-bar{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3);background:var(--surface);border:1px solid var(--line)}.playback-actions{display:flex;gap:2px}.playback-actions button{min-width:40px;min-height:var(--control-height);border:1px solid var(--line-2);border-radius:0;background:var(--surface)}.playback-actions button:hover:not(:disabled){border-color:var(--ink)}.playback-actions button:disabled{opacity:.4;cursor:not-allowed}.playback-actions .playback-toggle{font-weight:600;background:var(--ink);border-color:var(--ink);color:#fff}.playback-actions .playback-toggle:hover:not(:disabled){border-color:var(--accent-ink);background:var(--accent-ink)}.playback-settings{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:end}.playback-progress,.playback-speed{display:grid;gap:var(--sp-1);font-size:var(--fs-sm)}.playback-progress-label{display:flex;gap:var(--sp-2);align-items:baseline;font-variant-numeric:tabular-nums}.playback-progress input[type=range]{width:100%;min-width:80px}.playback-speed select{min-height:36px;border:1px solid var(--line-2);border-radius:0;background:var(--surface)}.legend{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-4);font-size:var(--fs-sm)}.legend-item{display:inline-flex;align-items:center;gap:5px}.legend i,.legend-mark{width:17px;height:17px;border:1px solid;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-1);font-size:11px;line-height:1}.compare{color:var(--cmp-ink);background:var(--cmp-wash);border-color:var(--cmp-line)}.move{color:var(--mov-ink);background:var(--mov-wash);border-color:var(--mov-line)}.settled{color:var(--set-ink);background:var(--set-wash);border-color:var(--set-line)}.pointer{color:var(--ptr-ink);background:var(--ptr-wash);border-color:var(--ptr-line)}.code-panel{background:var(--surface);border:1px solid var(--line-2);color:var(--ink);min-width:0}.code-panel>summary{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-weight:600;color:var(--ink)}.code-panel>summary::marker{color:var(--accent-ink)}.code-summary-note{margin-left:var(--sp-2);font:var(--fs-xs) var(--font-mono);color:var(--ink-3);font-weight:400}.code-toolbar{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}.code-summary,.code-hits,.code-explanation,.code-panel-notes{font-size:var(--fs-sm);color:var(--ink-2)}.code-hide-toggle{display:inline-flex;gap:var(--sp-1);align-items:center;font-size:var(--fs-sm);color:var(--ink-2)}.code-viewport{display:flex;gap:var(--sp-2);min-width:0;max-height:var(--code-height);overflow:auto}.code-toolbar button,.code-source button{border:1px solid var(--line-2);background:var(--surface);color:var(--ink);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);font-family:var(--font-mono);border-radius:0}.code-toolbar button:hover,.code-source button:hover{border-color:var(--ink)}.code-list{display:grid;gap:0}.code-line{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--sp-2);padding:0 var(--sp-3);white-space:pre-wrap;overflow-wrap:anywhere;font:var(--fs-sm)/var(--lh-code) var(--font-mono);color:var(--ink)}.code-line>span:first-child,.code-line-number{color:var(--ink-3);text-align:right;-webkit-user-select:none;user-select:none}.code-line[data-active=true]{background:var(--accent-wash);box-shadow:inset 3px 0 var(--accent);color:var(--ink)}.code-line.is-collapsed{min-height:0;padding-top:0;padding-bottom:0}.code-line-tag{display:inline-flex;gap:var(--sp-2);align-items:baseline;font:var(--fs-xs) var(--font-mono);color:var(--accent-ink);background:var(--accent-wash);border:1px solid var(--accent);padding:0 6px}.code-line-tag-note{color:var(--ink-3)}.code-line.is-hidden,.code-line.is-instrumentation-hidden{opacity:.28}.code-unresolved{color:#a81d32;font-size:var(--fs-xs)}@media(max-width:640px){.app-layout,.experiment-grid{grid-template-columns:minmax(0,1fr)}.app-header{align-items:flex-start;flex-direction:column}.workspace{padding:var(--sp-4)}.playback-bar{grid-template-columns:1fr}.controls-grid{grid-template-columns:minmax(0,1fr)}body{overflow-x:hidden}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.quiz-panel{grid-column:1 / -1;margin-top:var(--sp-5);border:1px solid var(--line-2);border-top:3px solid var(--ink);background:var(--surface);padding:var(--sp-5)}.quiz-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}.quiz-head h3{margin:0;font-family:var(--font-title);font-size:var(--fs-lg);display:flex;align-items:baseline;gap:var(--sp-2)}.quiz-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);font-weight:400;letter-spacing:.08em}.quiz-stats{margin:0;font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.quiz-restart{margin-left:auto}.quiz-panel button{border-radius:0}.quiz-question{margin-top:var(--sp-4);border:1px solid var(--line);background:var(--paper);padding:var(--sp-4)}.quiz-prompt{margin:0 0 var(--sp-2);display:flex;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-body);line-height:1.7}.quiz-kind{flex:none;font-size:var(--fs-xs);padding:1px 6px;border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface);font-family:var(--font-mono)}.quiz-kind.is-choice{border-color:var(--cmp-line);color:var(--cmp-ink)}.quiz-kind.is-blank{border-color:var(--mov-line);color:var(--mov-ink)}.quiz-kind.is-judge{border-color:var(--ptr-line);color:var(--ptr-ink)}.quiz-choices{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.quiz-choice{width:100%;text-align:left;border:1px solid var(--line-2);background:var(--surface);border-radius:0}.quiz-choice:hover{border-color:var(--ink)}.quiz-blank{display:flex;gap:var(--sp-2);flex-wrap:wrap}.quiz-blank input{flex:1 1 200px;min-width:0}.quiz-result{margin-top:var(--sp-3);border-left:3px solid var(--line-2);padding:var(--sp-3) var(--sp-4);background:var(--paper);animation:stamp-in .38s ease-out both}@keyframes stamp-in{0%{opacity:0;transform:scale(1.5) rotate(-1.6deg)}55%{opacity:1;transform:scale(.97) rotate(.4deg)}to{opacity:1;transform:scale(1) rotate(0)}}.quiz-result.is-right{border-left-color:var(--set-ink);background:var(--set-wash)}.quiz-result.is-wrong{border-left-color:var(--ptr-ink);background:var(--ptr-wash)}.quiz-verdict{margin:0 0 4px;font-size:var(--fs-sm);font-weight:600;display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}.quiz-expected,.quiz-picked{font-weight:400;font-size:var(--fs-xs);color:var(--ink-2);font-variant-numeric:tabular-nums}.quiz-explain{margin:0;font-size:var(--fs-sm);color:var(--ink);line-height:1.8}.quiz-actions{margin-top:var(--sp-2);display:flex;flex-wrap:wrap;gap:var(--sp-2)}.quiz-actions button{border:1px solid var(--line-2);background:var(--surface);border-radius:0}.quiz-actions button:hover{border-color:var(--ink)}.quiz-done{margin:var(--sp-3) 0 0;font-size:var(--fs-sm);color:var(--set-ink);font-weight:600}.quiz-wrongbook{margin-top:var(--sp-3);border-top:1px solid var(--line);padding-top:var(--sp-3)}.quiz-wrongbook h4{margin:0 0 var(--sp-2);font-family:var(--font-title);font-size:var(--fs-sm);display:flex;align-items:baseline;gap:var(--sp-2)}.quiz-wrongbook ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.quiz-wrongbook li{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:baseline;border:1px solid var(--line);background:var(--surface);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}.quiz-wrong-prompt{flex:1 1 240px;min-width:0}.quiz-wrong-answer{color:var(--ink-2);font-family:var(--font-mono)}.header-tools{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.header-search{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-3);border-radius:0;border:1px solid var(--ink);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);transition:border-color var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.header-search:hover{border-color:var(--accent-ink);color:var(--ink)}.header-search-glyph{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:0;font-size:11px}.header-search kbd{font:var(--fs-xs) var(--font-mono);color:var(--ink-3);border:1px solid var(--line-2);background:var(--paper);border-radius:var(--r-1);padding:1px 5px}details.fold{border:1px solid var(--line-2);background:var(--surface)}details.fold>summary{cursor:pointer;list-style:none;padding:var(--sp-2) var(--sp-3);display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink-2)}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:before{content:"▸";flex:none;color:var(--accent-ink);transition:transform var(--motion-fast) var(--ease)}details.fold>summary:hover{color:var(--ink)}details.fold[open]>summary:before{transform:rotate(90deg)}details.fold[open]{padding-bottom:var(--sp-2)}details.fold[open]>summary{border-bottom:1px dashed var(--line);margin-bottom:var(--sp-3)}.lesson-index{display:block;margin-bottom:var(--sp-1);font:600 var(--fs-xs)/1 var(--font-mono);letter-spacing:.16em;color:var(--ink-3)}.lesson-section.is-target{outline:2px solid var(--accent);outline-offset:var(--sp-3);border-radius:0}.lesson-fold>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-3)}.lesson-fold>summary::-webkit-details-marker{display:none}.lesson-fold>summary h3{font-size:var(--fs-lg)}.lesson-fold>summary:after{content:"展开";margin-left:auto;font:var(--fs-xs) var(--font-body);color:var(--ink-3)}.lesson-fold[open]>summary:after{content:"收起"}.lesson-fold[open]{padding-bottom:var(--sp-3)}.lesson-fold>summary:hover h3{color:var(--accent-ink)}@supports (animation-timeline: view()){.lesson-section,.quiz-panel,.code-panel{animation:reveal-in linear both;animation-timeline:view();animation-range:entry 0% entry 22%}@keyframes reveal-in{0%{opacity:.001;transform:translateY(22px)}to{opacity:1;transform:none}}}@media(prefers-reduced-motion:reduce){.lesson-section,.quiz-panel,.code-panel{animation:none!important}}@media(max-width:640px){.header-search-text{display:none}}

/* ===== sticky-sidebar patch 2026-10-07：侧栏跟随滚动（仅桌面 >640px，窄屏全宽布局不变） =====
   跟随但不卡死：页面下滚时侧栏吸附在视口顶部，随时可切换考点；
   侧栏自身比视口高时可在其内部滚动，最上/最下面的栏目都可达；
   侧栏内部滚到边界后，滚动权按浏览器默认链式交还页面，不会困住滚动。 */
@media(min-width:641px){
  .app-layout{align-items:start}
  .sidebar{position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
  .sidebar:not(.is-open):not(.is-pinned){scrollbar-width:none}
}