.algorithm-workbench{--aw-accent:#35b7d8;--aw-green:#62c68a;--aw-orange:#e0a458;--aw-purple:#b28bff;--aw-surface:#171c22;--aw-panel:#1d242c;--aw-line:#2b343f;--aw-line-strong:#3a4653;width:100%;min-width:0;margin-bottom:22px;overflow:hidden;border:1px solid var(--aw-line);border-radius:8px;background:var(--aw-surface)}.avl-rotation-details{padding:14px 16px;border:1px solid var(--aw-line);border-radius:10px;background:var(--aw-panel);font-size:.9rem;line-height:1.7}.avl-rotation-details header{display:flex;flex-wrap:wrap;gap:8px 20px}.avl-rotation-details header span,.avl-rotation-details p{color:var(--muted)}.avl-rotation-details p{margin:8px 0 0}.avl-rotation-details ol{padding-left:22px}.avl-rotation-details__roles{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}.tree-stage__node .avl-node-metrics{font-size:2.7px;fill:var(--muted)}.avl-operation-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border-block:1px solid var(--aw-line)}.avl-operation-bar label{display:flex;align-items:center;gap:8px}.avl-operation-bar input{width:100px;padding:8px;background:var(--aw-panel);color:var(--text);border:1px solid var(--aw-line);border-radius:6px}.avl-operation-bar small{color:var(--muted)}.avl-example-buttons{display:flex;flex-wrap:wrap;gap:8px}.avl-example-buttons button{padding:8px 12px}.forest-stage{min-width:0}.forest-stage,.forest-stage>details>div{display:grid;grid-gap:8px;gap:8px}.forest-stage h4,.forest-stage p{margin:0}.forest-stage__heading{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline}.forest-stage__heading span{color:var(--muted);font-size:.85rem}.forest-stage__scroll{overflow:auto;max-width:100%;border:1px solid var(--aw-line);border-radius:10px;background:var(--aw-panel)}.forest-stage__scroll svg{display:block;margin:auto}.forest-stage__node circle{fill:var(--aw-panel);stroke:#287dbb;stroke-width:2}.forest-stage__node text{fill:var(--text);font-size:16px}.forest-stage__node.is-selected circle{fill:color-mix(in srgb,#3b82f6 15%,var(--aw-panel))}.forest-stage__node.is-current circle{stroke:#c98613;stroke-width:4}.forest-stage__node .forest-stage__weight{font-size:12px;fill:var(--muted)}.forest-stage__edge line{stroke:var(--muted);stroke-width:2}.forest-stage__edge.is-active line{stroke:#c98613;stroke-width:3}.forest-stage__edge text{fill:var(--text);font-size:13px;paint-order:stroke;stroke:var(--aw-panel);stroke-width:4px}.forest-stage__table{overflow:auto}.forest-stage__table table{border-collapse:collapse;width:100%;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.forest-stage__table td,.forest-stage__table th{border:1px solid var(--aw-line);padding:8px 12px;min-width:40px}.forest-stage__table .is-changed{background:color-mix(in srgb,#3b82f6 20%,var(--aw-panel));font-weight:700}.forest-stage__queries,.forest-stage__queue,.forest-stage__status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.9rem}.forest-stage__queries h4{width:100%}.forest-stage__queries span,.forest-stage__queue span{border:1px solid var(--aw-line);border-radius:6px;padding:6px 10px}.algorithm-navigation{margin:24px 0;padding-top:18px;border-top:1px solid var(--border,#cbd5e1)}.algorithm-navigation__heading{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.9rem;color:var(--muted)}.algorithm-navigation__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.algorithm-navigation__links>*{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 18px;min-width:0;min-height:82px;border:1px solid var(--border,#cbd5e1);border-radius:10px;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.algorithm-navigation__links small,.algorithm-navigation__links span{font-size:.82rem;color:var(--muted)}.algorithm-navigation__links strong{font-size:1rem}.algorithm-navigation__links a:hover{border-color:#3b82f6;background:color-mix(in srgb,#3b82f6 6%,transparent)}.algorithm-navigation__links a:focus-visible{outline:2px solid #3b82f6;outline-offset:3px}.algorithm-navigation__links [aria-disabled]{opacity:.5}@media (max-width:700px){.algorithm-navigation__links{grid-template-columns:repeat(2,minmax(0,1fr))}.algorithm-navigation__links>*{padding:12px}}.algorithm-workbench__inputs--structured{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.aw-field--wide{min-width:220px}.aw-field--check{flex-direction:row;align-items:center;gap:8px;min-height:40px}.aw-field--check input[type=checkbox]{width:20px;height:20px;accent-color:var(--aw-accent)}.dp-stage,.graph-stage,.tree-stage{display:grid;grid-gap:14px;gap:14px;width:100%;min-width:0}.graph-stage__scroll,.tree-stage__scroll{width:100%;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior:contain}.graph-stage svg,.tree-stage svg{display:block;width:100%;height:440px}.tree-stage__edge{stroke:var(--aw-line-strong);stroke-width:1.2}.tree-stage__edge.is-visited-path{stroke:var(--aw-green);stroke-width:2.2;stroke-dasharray:5 3}.tree-stage__edge.is-subtree{stroke:var(--aw-accent)}.tree-stage__node circle{fill:var(--aw-panel);stroke:var(--aw-accent);stroke-width:1.4}.tree-stage__node text{fill:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:4.5px;text-anchor:middle}.tree-stage__node.is-visited circle{fill:rgba(98,198,138,.16);stroke:var(--aw-green)}.tree-stage__node.is-current circle{fill:rgba(224,164,88,.3);stroke:var(--aw-orange);stroke-width:2.6}.tree-stage__node.is-rotation-before circle{stroke-dasharray:2 1}.tree-stage__node.is-rotation-after circle{stroke:var(--aw-purple);stroke-width:2.6}.graph-stage__panels,.tree-stage__state{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:.78rem}.graph-stage__panel,.graph-stage__panels>*,.tree-stage__state>*{min-width:0;margin:0;padding:8px 10px;border-left:3px solid var(--aw-accent);border-radius:0 6px 6px 0;background:var(--aw-panel);overflow-wrap:anywhere}.tree-stage__codes{width:250px;max-width:100%}.dp-stage__candidates h3,.graph-stage__panel h3,.tree-stage__codes h3{margin:0 0 6px;color:var(--muted);font-size:.75rem}.tree-stage__code-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.graph-stage__edge line{stroke:color-mix(in srgb,var(--text) 72%,var(--aw-panel));stroke-width:1.6}.graph-stage__edge text{fill:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:3.2px;text-anchor:middle;paint-order:stroke;stroke:var(--aw-surface);stroke-width:1px}.graph-stage__edge.is-active line{stroke:var(--aw-orange);stroke-width:2.4;stroke-dasharray:4 2}.graph-stage__edge.is-path line,.graph-stage__edge.is-selected line{stroke:var(--aw-green);stroke-width:2.5}.graph-stage__edge.is-critical line{stroke:#dc2626;stroke-width:2.8;stroke-dasharray:2 1}.graph-stage__vertex circle{fill:var(--aw-panel);stroke:var(--aw-accent);stroke-width:1.4}.graph-stage__vertex text{fill:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:4px;font-weight:700;text-anchor:middle}.graph-stage__vertex.is-active circle{fill:rgba(224,164,88,.3);stroke:var(--aw-orange);stroke-width:2.5}.graph-stage__vertex.is-visited circle{stroke:var(--aw-green)}.graph-stage__vertex.is-frontier circle{stroke-dasharray:2 1}.graph-stage__vertex.is-path circle{fill:rgba(98,198,138,.2)}.graph-stage__legend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 10px;border-block:1px solid var(--aw-line);color:var(--muted);font-size:.72rem}.graph-stage__legend span:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid var(--aw-accent);border-radius:3px;vertical-align:-2px}.graph-stage__legend .is-active:before{border-color:var(--aw-orange)}.graph-stage__legend .is-selected:before,.graph-stage__legend .is-visited:before{border-color:var(--aw-green)}.graph-stage__legend .is-frontier:before{border-style:dashed}.graph-stage__legend .is-critical:before{border-color:#ff8585}.graph-stage__matrix{display:grid;grid-gap:4px;gap:4px;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.graph-stage__matrix-row{display:flex;flex-wrap:wrap;gap:4px}.graph-stage__matrix-row span{min-width:44px;padding:3px 6px;border:1px solid var(--aw-line);border-radius:4px;background:var(--aw-panel);text-align:center}.dp-stage__status{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding:10px 12px;border-left:3px solid var(--aw-orange);border-radius:0 6px 6px 0;background:var(--aw-panel)}.dp-stage__status>*{min-width:0;overflow-wrap:anywhere}.dp-stage__formula{color:var(--aw-accent)}.dp-stage__scroll{width:100%;max-width:100%;max-height:440px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--aw-line);border-radius:6px}.dp-stage__scroll:focus-visible{outline:2px solid var(--aw-orange);outline-offset:2px}.dp-stage__table{width:max-content;min-width:100%;border-collapse:collapse}.dp-stage__table th{min-width:58px;height:38px;padding:6px 8px;background:#12171d;color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}.dp-stage__cell,.dp-stage__table th{border:1px solid var(--aw-line);text-align:center}.dp-stage__cell{width:58px;height:48px;padding:0;background:var(--aw-panel);font-family:ui-monospace,Cascadia Code,Consolas,monospace}.dp-stage__cell.is-source{box-shadow:inset 0 0 0 2px var(--aw-accent)}.dp-stage__cell.is-candidate{border-style:dashed}.dp-stage__cell.is-active{background:rgba(224,164,88,.25);box-shadow:inset 0 0 0 3px var(--aw-orange);font-weight:800}.dp-stage__cell.is-traceback{border-bottom:4px solid var(--aw-green)}.dp-stage__cell.is-chosen{border-left:4px solid var(--aw-purple)}.dp-stage__candidates{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.dp-stage__candidates span{padding:6px 8px;border:1px solid var(--aw-line-strong);border-radius:5px;background:var(--aw-panel);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.75rem}.dp-stage__result{display:grid;grid-gap:4px;gap:4px;max-height:180px;margin:0;overflow:auto;color:var(--text);font-size:.78rem}.dp-stage__result p{margin:0;padding:7px 9px;border-left:3px solid var(--aw-green);border-radius:0 5px 5px 0;background:var(--aw-panel)}@media (max-width:720px){.graph-stage svg,.tree-stage svg{height:320px}.dp-stage__status{align-items:stretch;flex-direction:column}}@media (max-width:480px){.aw-field--custom,.aw-field--wide{min-width:0}.graph-stage svg,.tree-stage svg{min-width:520px;height:300px}.dp-stage__table{min-width:420px}}.algorithm-workbench__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--aw-line)}.algorithm-workbench__header h2{margin:0 0 4px;font-size:1.05rem;line-height:1.35;letter-spacing:0}.algorithm-workbench__header p{margin:0;font-size:.85rem}.algorithm-workbench__badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:28px;padding:2px 9px;border:1px solid rgba(53,183,216,.45);border-radius:6px;background:rgba(53,183,216,.1);color:var(--aw-accent);font-size:.75rem;font-weight:700;white-space:nowrap}.algorithm-workbench__controls{padding:10px 16px;border-bottom:1px solid var(--aw-line)}.algorithm-workbench__inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px;align-items:end}.algorithm-workbench__configuration{gap:8px;align-items:flex-end}.algorithm-workbench__configuration>.algorithm-workbench__inputs,.algorithm-workbench__configuration>.avl-operation-bar,.algorithm-workbench__configuration>.quick-settings{display:contents}.algorithm-workbench__configuration .aw-field{flex:1 1 140px;min-width:0;max-width:100%}.algorithm-workbench__configuration .aw-field--custom,.algorithm-workbench__configuration .aw-field--wide{flex:2 1 240px}.algorithm-workbench__configuration .aw-field--size,.algorithm-workbench__configuration .aw-field--speed,.algorithm-workbench__configuration .aw-field--target{flex:0 1 100px}.algorithm-workbench__configuration .aw-field--actions{flex:0 1 auto}.algorithm-workbench__configuration details{flex-basis:100%}.algorithm-workbench__configuration textarea{box-sizing:border-box;min-width:0;max-width:100%}.algorithm-model-notes{min-width:0;margin:8px 0;color:var(--muted);font-size:.85rem}.algorithm-model-notes>summary{cursor:pointer}.algorithm-model-notes p{margin:6px 0}.aw-field{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:.75rem;font-weight:600}.aw-field,.aw-field>output,.aw-field>span{min-width:0}.aw-field input,.aw-field select{box-sizing:border-box;min-width:0;max-width:100%;width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--aw-line-strong);border-radius:6px;background:#12171d;color:var(--text);font:inherit;font-size:.875rem;outline:none}.aw-field input:focus,.aw-field select:focus{border-color:var(--aw-accent)}.aw-field input[type=range]{min-height:34px;padding:0;accent-color:var(--aw-accent)}.aw-field--target input{border-color:rgba(224,164,88,.65);color:var(--aw-orange);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-weight:700}.aw-field--custom{min-width:210px}.aw-field__input-group{display:flex;min-width:0}.aw-field__input-group input{min-width:0;flex:1 1;border-radius:6px 0 0 6px}.aw-field__input-group .aw-button{border-radius:0 6px 6px 0}.aw-field--actions{flex-direction:row;flex-wrap:wrap;gap:8px}.aw-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid var(--aw-line-strong);border-radius:6px;background:var(--aw-panel);color:var(--text);font:inherit;font-size:.82rem;font-weight:700;white-space:nowrap;cursor:pointer}.aw-button:hover{border-color:var(--aw-accent);color:var(--aw-accent)}.aw-button--secondary{background:transparent}.algorithm-workbench__error{margin:10px 0 0;color:#ff8585;font-size:.8rem}.algorithm-workbench__playback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--aw-line)}.algorithm-workbench__transport{display:flex;align-items:center;gap:6px}.aw-icon-button{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--aw-line-strong);border-radius:6px;background:var(--aw-panel);color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.aw-icon-button:hover:not(:disabled){border-color:var(--aw-accent);color:var(--aw-accent)}.aw-icon-button--primary{width:46px;height:46px;border-color:var(--aw-accent);background:var(--aw-accent);color:#071117}.aw-icon-button:disabled{cursor:not-allowed;opacity:.42}.aw-field--progress{min-width:0;flex:0 1 240px;max-width:240px}.aw-field--progress input{min-height:34px;padding:0;accent-color:var(--aw-accent)}.aw-field--speed{min-width:92px}.algorithm-stage{min-height:0;padding:10px 16px 14px}.algorithm-stage__empty{min-height:260px;display:grid;place-items:center;color:var(--muted);text-align:center}.algorithm-stage__message{min-height:1.35em;margin:0 0 8px;color:var(--text);font-size:.9rem;overflow-wrap:anywhere}.algorithm-stage__structured-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start}.algorithm-stage__structured-code,.algorithm-stage__structured-visual{min-width:0}.algorithm-stage__structured-code{max-height:520px;overflow:auto;background:transparent}.algorithm-stage__body{display:grid;grid-gap:8px;gap:8px;min-width:0}.algorithm-stage__structured-grid--critical{grid-template-columns:minmax(0,1fr)}.algorithm-stage__structured-grid--critical .algorithm-stage__structured-code code{white-space:pre-wrap;font-size:.8rem;line-height:1.6}.aoe-input-help{color:var(--muted);font-size:.85rem;line-height:1.65;margin:6px 0 12px}.critical-mode-switch{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.critical-mode-switch button{padding:8px 14px;min-height:40px;border:1px solid var(--aw-line);border-radius:6px;background:var(--aw-panel);color:var(--text);cursor:pointer}.critical-mode-switch button[aria-pressed=true]{background:color-mix(in srgb,#3b82f6 18%,var(--aw-panel));border-color:#3b82f6;font-weight:600}.critical-mode-switch small{color:var(--muted)}.algorithm-stage__structured-grid--cpm{grid-template-columns:minmax(0,1fr)}.algorithm-stage__structured-grid--cpm .algorithm-stage__structured-code{max-height:300px}.cpm-stage{min-width:0}.cpm-comparison{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:16px;gap:16px;align-items:stretch}.cpm-comparison__aoe,.cpm-comparison__network{min-width:0;display:flex;flex-direction:column;border:1px solid var(--aw-line);border-radius:12px;background:var(--aw-panel);overflow:hidden}.cpm-comparison__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:14px 18px;border-bottom:1px solid var(--aw-line);background:color-mix(in srgb,var(--text) 3%,var(--aw-panel))}.cpm-comparison__heading h3{margin:0;font-size:1rem}.cpm-comparison__aoe p,.cpm-comparison__heading span{color:var(--muted);font-size:.8rem;line-height:1.5}.cpm-comparison__aoe p{margin:0;padding:10px 16px;text-align:center;border-top:1px solid var(--aw-line)}.cpm-comparison__aoe .graph-stage{flex:1 1;align-content:center;padding:12px;box-sizing:border-box;gap:6px}.cpm-comparison__aoe .graph-stage svg{width:100%;height:280px}.cpm-comparison__aoe .graph-stage__legend{justify-content:center;margin:0}.cpm-comparison__aoe .graph-stage__edge text{font-size:3.3px}.cpm-stage__toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px}.cpm-stage__keys,.cpm-stage__toolbar>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.cpm-stage__toolbar strong{font-size:1rem}.cpm-stage__toolbar span,.cpm-stage__toolbar summary{font-size:.82rem;color:var(--muted)}.cpm-stage__keys>span:first-child{color:#2563eb}.cpm-stage__keys>span:nth-child(2){color:#dc2626}.cpm-stage__toolbar details{position:relative}.cpm-stage__toolbar summary{cursor:pointer;padding:6px 10px;border:1px solid var(--aw-line);border-radius:6px}.cpm-stage__toolbar details>div{position:absolute;right:0;z-index:3;width:min(380px,76vw);padding:14px;border:1px solid var(--aw-line);border-radius:8px;background:var(--aw-panel);box-shadow:0 6px 20px #0002;font-size:.85rem;line-height:1.8}.cpm-stage__focus{min-height:24px;padding:8px 0 12px;font-size:.85rem;color:var(--muted)}.cpm-stage__focus strong{color:var(--text)}.algorithm-stage__structured-grid--cpm .algorithm-stage__structured-code code{font-size:.9rem;line-height:1.7}@media (max-width:1100px){.cpm-comparison{grid-template-columns:minmax(0,1fr)}.cpm-comparison__aoe .graph-stage{max-width:400px;align-self:center}}.cpm-stage__fields,.cpm-stage__legend{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.88rem;line-height:1.6;margin-bottom:6px}.cpm-stage__fields,.cpm-stage__legend span{color:var(--muted)}.cpm-stage__scroll{flex:1 1;display:flex;align-items:center;min-height:330px;max-width:100%;overflow:auto;background:var(--aw-panel)}.cpm-stage__canvas{position:relative;flex:0 0 auto;margin:auto}.cpm-stage__canvas>svg{position:absolute;inset:0;pointer-events:none}.cpm-stage__edge{stroke:color-mix(in srgb,var(--text) 72%,var(--aw-panel));stroke-width:2;fill:none;stroke-linejoin:round}.cpm-stage__edge-halo{stroke:var(--aw-panel);stroke-width:7;fill:none;stroke-linejoin:round}.cpm-route.is-dimmed{opacity:.12}.cpm-stage__edge.is-focused{stroke-width:3}.cpm-activity.is-dimmed{opacity:.4}.cpm-activity[role=button]{cursor:pointer}.cpm-activity.is-focused,.cpm-activity:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.cpm-stage__edge.is-critical{stroke:#dc2626;stroke-width:3}.cpm-stage__edge.is-current{stroke:#3b82f6;stroke-width:3}.cpm-activity{position:absolute;display:grid;grid-template-rows:1fr 1fr 1fr;border:1.5px solid var(--muted);background:var(--aw-panel);color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;box-sizing:border-box}.cpm-activity.is-critical{border:2px solid #dc2626}.cpm-activity.is-current{outline:3px solid #3b82f6;outline-offset:2px}.cpm-activity__values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:1.05rem}.cpm-activity__values>span{display:grid;place-items:center;min-width:0}.cpm-activity__values>span+span{border-left:1px solid var(--aw-line)}.cpm-activity__values>.is-current-field{background:color-mix(in srgb,#3b82f6 24%,var(--aw-panel));font-weight:700}.cpm-activity h4{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.95rem;margin:0;border-block:1px solid var(--muted)}.cpm-activity h4 span{font-weight:400;font-size:.82rem}.cpm-activity h4 small{font-size:.7rem}.cpm-boundary{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px solid var(--muted);border-radius:50%;background:var(--aw-panel);color:var(--text);box-sizing:border-box}.cpm-boundary span{font-size:.8rem}.critical-results{display:grid;grid-gap:10px;gap:10px;min-width:0;margin:0}.critical-results h3,.critical-results h4,.critical-results p{margin:0}.critical-results h3,.critical-results h4{font-size:1rem;line-height:1.5}.critical-results__intro{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px}.critical-results__intro>span{color:var(--muted);font-size:.88rem}.critical-results__card{min-width:0}.critical-results__card h4{margin-bottom:7px}.critical-results__card h4 small{margin-left:12px;color:var(--muted);font-size:.85rem;font-weight:400}.critical-results__scroll{overflow-x:auto;width:100%;max-width:1000px}.critical-results table{width:100%;border-collapse:collapse;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.4;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--aw-panel)}.critical-results td,.critical-results th{min-width:72px;padding:8px 12px;text-align:center;border:1px solid color-mix(in srgb,var(--text) 35%,var(--aw-panel));white-space:nowrap}.critical-results tr>:first-child{width:80px}.critical-results thead th{background:color-mix(in srgb,var(--text) 4%,var(--aw-panel))}.critical-results tbody th{font-style:italic}.critical-results thead th>span{display:inline-block;padding:0 3px;border:2px solid transparent;border-radius:50%}.critical-results thead th>.critical-results__ring{border-color:#dc2626}.critical-results .is-current{background:color-mix(in srgb,#3b82f6 20%,var(--aw-panel))}.critical-results__summary{font-size:.95rem;line-height:1.5;overflow-wrap:anywhere}.critical-results__details{color:var(--muted);font-size:.88rem;line-height:1.6}.critical-results__details summary{width:-moz-fit-content;width:fit-content;cursor:pointer;padding:2px 0}.critical-results__details p{margin-top:6px}.critical-results__details ul{margin:6px 0 0;padding-left:20px}@media (max-width:1000px){.algorithm-stage__structured-grid--critical{grid-template-columns:minmax(0,1fr)}.algorithm-stage__structured-grid--critical .algorithm-stage__structured-code{max-height:420px}}@media (max-width:560px){.critical-results__card h4 small{display:block;margin-left:0}.critical-results td,.critical-results th{min-width:58px;padding:7px 9px}}.algorithm-stage__body--search{gap:14px}.algorithm-stage__scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior:contain}.algorithm-bars{display:flex;align-items:flex-end;gap:clamp(4px,1vw,10px);min-width:max-content;height:260px;padding:28px 4px 0;border-bottom:1px solid var(--aw-line)}.algorithm-bar-track{width:clamp(28px,5vw,52px);height:100%;display:grid;grid-template-rows:1fr 24px;align-items:end;text-align:center}.algorithm-bar{position:relative;height:var(--bar-height);min-height:5px;border:1px solid rgba(53,183,216,.65);border-radius:4px 4px 0 0;background:rgba(53,183,216,.24);transition:height .18s ease,background-color .18s ease,border-color .18s ease}.algorithm-bar.is-in-range{background:rgba(53,183,216,.36)}.algorithm-bar.is-active{border-color:var(--aw-orange);background:rgba(224,164,88,.72)}.algorithm-bar.is-pivot{border-color:var(--aw-purple);background:rgba(178,139,255,.66)}.algorithm-bar.is-sorted{border-color:var(--aw-green);background:rgba(98,198,138,.58)}.algorithm-bar__value{position:absolute;top:-22px;left:50%;transform:translateX(-50%);color:var(--text);font-size:.8rem}.algorithm-bar__index,.algorithm-bar__value{font-family:ui-monospace,Cascadia Code,Consolas,monospace}.algorithm-bar__index{align-self:end;color:var(--muted);font-size:.72rem}.algorithm-heap-wrap{width:100%;min-width:0}.algorithm-heap-wrap svg{display:block;width:100%;height:240px;overflow:visible}.algorithm-heap-wrap line{stroke:var(--aw-line-strong);stroke-width:.8}.algorithm-heap-node circle{fill:var(--aw-panel);stroke:var(--aw-accent);stroke-width:.9}.algorithm-heap-node text{fill:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:4px;text-anchor:middle}.algorithm-heap-node.is-active circle{fill:var(--aw-orange);stroke:var(--aw-orange)}.algorithm-heap-node.is-pivot circle{fill:var(--aw-purple);stroke:var(--aw-purple)}.algorithm-heap-node.is-sorted circle{fill:rgba(98,198,138,.45);stroke:var(--aw-green)}.algorithm-stage__extra{min-width:0;padding-top:10px;border-top:1px solid var(--aw-line)}.algorithm-stage__extra h3{margin:0 0 8px;color:var(--muted);font-size:.75rem;font-weight:700}.algorithm-array-row{display:flex;align-items:stretch;gap:6px;min-width:max-content}.algorithm-array-cell{width:50px;min-height:48px;display:grid;grid-template-rows:1fr 18px;place-items:center;padding:3px;border:1px solid var(--aw-line-strong);border-radius:5px;background:var(--aw-panel);color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.86rem}.algorithm-array-cell small{color:var(--muted);font-size:.68rem}.algorithm-array-cell.is-active{border-color:var(--aw-orange);background:rgba(224,164,88,.24)}.algorithm-array-cell.is-in-range{box-shadow:inset 0 -3px 0 var(--aw-accent)}.algorithm-array-cell.is-discarded{opacity:.38;text-decoration:line-through}.algorithm-array-cell.is-sorted{border-color:var(--aw-green);background:rgba(98,198,138,.18)}.algorithm-frequency-grid{display:flex;flex-wrap:wrap;gap:6px}.counting-phases{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.counting-phases button{border:1px solid var(--aw-line-strong);border-radius:6px;padding:8px 12px;background:var(--aw-panel);color:var(--text);cursor:pointer}.counting-phases button[aria-current=page],.counting-phases button[aria-current=step]{border-color:var(--aw-accent);background:color-mix(in srgb,var(--aw-accent) 15%,var(--aw-panel))}.operation-playback{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.operation-playback label{display:grid;grid-gap:6px;gap:6px;min-width:0}.operation-playback label:has(input){flex:0 1 240px;min-width:140px;max-width:240px}.operation-playback input{width:100%}.operation-history{padding:8px 16px}.rb-stage__legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.85rem;color:var(--muted)}.rb-stage__visual{min-width:0}.rb-edge{stroke:var(--muted);stroke-width:2}.rb-edge.is-path{stroke:#d58a15;stroke-width:3}.rb-nil line{stroke:var(--muted);stroke-dasharray:3 3}.rb-nil text{fill:var(--muted);font-size:10px;text-anchor:middle}.rb-node text{fill:#fff;font-size:16px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.rb-node .rb-node__color{font-size:9px;font-weight:400}.rb-focus{fill:none;stroke:#d58a15;stroke-width:3}.rb-repair rect{fill:none;stroke:#d58a15;stroke-width:2}.rb-empty,.rb-repair text{fill:var(--text);font-size:12px;text-anchor:middle}.rb-stage__explanation{padding:10px 12px;border-left:3px solid var(--aw-accent);background:var(--aw-panel)}.rb-rule-card{padding:14px;margin-bottom:14px;border:1px solid var(--aw-line-strong);border-left:4px solid var(--aw-accent);border-radius:6px;background:var(--aw-panel)}.rb-rule-card h3{margin:0 0 8px;font-size:1rem}.rb-rule-card p,.rb-rules p{font-size:.9rem;line-height:1.65;margin:8px 0}.rb-rules{margin-top:18px;border-top:1px solid var(--aw-line-strong);padding-top:14px}.rb-rules h2{font-size:1.2rem;margin:0 0 10px}.rb-rules__groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;margin-top:14px;align-items:start}.rb-rules summary{cursor:pointer;font-weight:700;padding:10px 0}.rb-rules__table-scroll{overflow-x:auto}.rb-rules table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.6;table-layout:fixed}.rb-rules td,.rb-rules th{padding:9px;border:1px solid var(--aw-line-strong);vertical-align:top;text-align:left;overflow-wrap:anywhere}.rb-rules th span{display:block;margin-top:5px;font-weight:400}.rb-rules tr[aria-current=step]{background:color-mix(in srgb,var(--aw-accent) 16%,var(--aw-panel));outline:2px solid var(--aw-accent);outline-offset:-2px}@media(max-width:1100px){.rb-rules__groups{grid-template-columns:1fr}}.counting-stage{min-width:0}.counting-stage,.counting-stage>details>div{display:grid;grid-gap:8px;gap:8px}.counting-stage__row{min-width:0}.counting-stage h3{font-size:1rem;margin:0 0 10px}.counting-stage p{font-size:.9rem;line-height:1.65;margin:8px 0;color:var(--muted)}.counting-stage .algorithm-array-cell{width:64px;grid-template-rows:28px 20px 20px;flex-shrink:0}.counting-stage .algorithm-array-cell strong{font-size:1.1rem}.counting-stage .algorithm-array-cell small{font-size:.72rem}.counting-stage__table{border-collapse:collapse;width:max-content;min-width:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.counting-stage__table td,.counting-stage__table th{border:1px solid var(--aw-line-strong);padding:9px 14px;text-align:center;white-space:nowrap}.counting-stage__table th{background:var(--aw-panel)}.counting-stage__table .is-active{background:color-mix(in srgb,var(--aw-orange) 24%,var(--aw-panel))}.counting-stage__row details{margin-top:8px}.counting-stage__row summary{cursor:pointer;color:var(--muted);font-size:.85rem}.counting-stage__stability{border-left:3px solid var(--aw-accent);padding-left:12px}.algorithm-frequency-cell{width:42px;min-height:48px;display:grid;grid-template-rows:26px 1fr;overflow:hidden;border:1px solid var(--aw-line);border-radius:5px;background:var(--aw-panel);text-align:center}.algorithm-frequency-cell strong{display:grid;place-items:center;background:rgba(98,198,138,.16);color:var(--aw-green)}.algorithm-frequency-cell span{color:var(--muted);font-size:.7rem}.algorithm-bucket-grid{display:grid;grid-template-columns:repeat(10,minmax(54px,1fr));grid-gap:6px;gap:6px;min-width:680px}.algorithm-bucket{min-height:92px;overflow:hidden;border:1px solid var(--aw-line);border-radius:5px;background:var(--aw-panel)}.algorithm-bucket>strong{display:block;padding:5px;background:var(--aw-panel);color:var(--aw-purple);text-align:center}.algorithm-bucket__values{display:grid;grid-gap:4px;gap:4px;justify-items:center;padding:6px;color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem}.search-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:82px;overflow:hidden;border:1px solid var(--aw-line);border-radius:6px;background:var(--aw-panel)}.search-status>div{min-width:0;display:grid;align-content:center;grid-gap:2px;gap:2px;padding:10px 12px;border-right:1px solid var(--aw-line)}.search-status>div:last-child{border-right:0}.search-status span{color:var(--muted);font-size:.72rem}.search-status strong{min-width:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:1.1rem;overflow-wrap:anywhere}.search-status__target{border-left:4px solid var(--aw-orange);background:rgba(224,164,88,.09)}.search-status__target strong{color:var(--aw-orange);font-size:1.8rem;line-height:1}.search-status.is-found .search-status__result{background:rgba(98,198,138,.12)}.search-status.is-found .search-status__result strong{color:var(--aw-green)}.search-status.is-not-found .search-status__result strong{color:#ff8585}.search-range-guide{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-left:3px solid var(--aw-accent);border-radius:0 6px 6px 0;background:rgba(53,183,216,.09);color:var(--text);font-size:.82rem;overflow-wrap:anywhere}.search-range-guide strong{color:var(--aw-accent);font-family:ui-monospace,Cascadia Code,Consolas,monospace}.search-block-index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:6px;gap:6px;margin-bottom:10px}.search-block-index{display:grid;grid-gap:2px;gap:2px;min-height:70px;padding:8px;border:1px solid var(--aw-line);border-top:3px solid var(--muted);border-radius:5px;background:var(--aw-panel)}.search-block-index small,.search-block-index span{color:var(--muted);font-size:.7rem}.search-block-index strong{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.82rem}.search-block-index.is-checking{border-top-color:var(--aw-orange)}.search-block-index.is-candidate{border-top-color:var(--aw-green);background:rgba(98,198,138,.1)}.search-block-index.is-discarded{opacity:.42}.search-block-groups{display:grid;grid-gap:8px;gap:8px}.search-block{min-width:0;padding:8px;border:1px solid var(--aw-line);border-radius:5px}.search-block>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.7rem}.search-block.is-candidate{border-color:var(--aw-green)}.search-block.is-discarded{opacity:.45}.algorithm-bst-canvas svg{display:block;width:100%;min-width:360px;height:280px}.search-tree__edge{stroke:var(--aw-line-strong);stroke-width:1.2}.search-tree__edge.is-path{stroke:var(--aw-green);stroke-width:2.2;stroke-dasharray:6 3}.search-tree__node circle{fill:var(--aw-panel);stroke:var(--aw-accent);stroke-width:1.4}.search-tree__node text{fill:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:5px;text-anchor:middle}.search-tree__node.is-path circle{fill:rgba(98,198,138,.18);stroke:var(--aw-green)}.search-tree__node.is-active circle{fill:var(--aw-orange);stroke:var(--aw-orange);stroke-width:2.2}.search-tree__node.is-active text{fill:#071117;font-weight:800}.search-hash-formula{margin:0 0 8px;padding:8px 10px;border-left:3px solid var(--aw-purple);border-radius:0 5px 5px 0;background:rgba(178,139,255,.09);color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem}.search-hash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));grid-gap:6px;gap:6px}.search-hash-slot{min-height:68px;display:grid;grid-template-rows:22px 1fr;overflow:hidden;border:1px solid var(--aw-line);border-radius:5px;background:var(--aw-panel);text-align:center}.search-hash-slot span{place-items:center;background:#12171d;color:var(--muted);font-size:.72rem}.search-hash-slot span,.search-hash-slot strong{display:grid;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.search-hash-slot strong{place-items:center}.search-hash-slot.is-visited{border-color:var(--aw-accent)}.search-hash-slot.is-collision{box-shadow:inset 0 -3px 0 var(--aw-purple)}.search-hash-slot.is-active{border-color:var(--aw-orange);background:rgba(224,164,88,.18)}.search-hash-slot.is-empty strong{color:var(--muted);font-weight:400}.search-probe-trail{margin:10px 0 0;color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere}.algorithm-stage__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--aw-line)}.algorithm-stage__stats div{min-width:0;padding:8px;border:1px solid var(--aw-line);border-radius:5px;background:var(--aw-panel)}.algorithm-stage__stats dt{color:var(--muted);font-size:.7rem}.algorithm-stage__stats dd{margin:2px 0 0;color:var(--aw-green);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:1rem;font-weight:700}.algorithm-workbench--placeholder{min-height:220px;display:grid;place-items:center}.algorithm-workbench__placeholder{width:100%;padding:32px 18px;text-align:center}.algorithm-workbench__placeholder h2{margin:0 0 6px;font-size:1rem}.algorithm-workbench__placeholder p{margin:0;color:var(--muted)}@media (max-width:720px){.algorithm-stage__structured-grid{grid-template-columns:1fr}.algorithm-stage__structured-code{max-height:none}.algorithm-workbench__playback{grid-template-columns:1fr}.algorithm-workbench__transport{justify-content:center}.aw-field--progress{order:-1}.algorithm-stage__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.algorithm-stage,.algorithm-workbench__controls,.algorithm-workbench__header{padding-left:12px;padding-right:12px}.algorithm-workbench__inputs{grid-template-columns:1fr}.aw-field--actions,.aw-field--custom{min-width:0}.aw-field--actions .aw-button{flex:1 1}.aw-icon-button{width:44px;height:44px}.aw-icon-button--primary{width:48px;height:48px}.algorithm-workbench__transport{gap:4px}.algorithm-bars{height:230px}.search-status{grid-template-columns:repeat(2,minmax(0,1fr))}.search-status__target{grid-column:1/-1;min-height:68px}.search-status>div:last-child,.search-status>div:nth-child(2){border-top:1px solid var(--aw-line)}.algorithm-bst-canvas svg{min-width:320px;height:250px}}.algorithm-prediction-toggle{padding:8px 16px;border-bottom:1px solid var(--line)}.algorithm-prediction-toggle>summary{cursor:pointer;font-size:.85rem;color:var(--accent)}.algorithm-prediction-toggle .bubble-prediction{margin:8px 0 0;padding:10px}.quick-settings{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.quick-settings label{display:flex;gap:6px;align-items:center}.quick-settings select{min-height:36px}.quick-guide{border:1px solid var(--line);background:var(--surface-2);padding:10px;border-radius:8px;font-size:.84rem}.quick-guide p{margin:6px 0 0;color:var(--muted)}.quick-guide__current,.quick-guide__parts{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.quick-guide__parts{margin-top:8px}.quick-guide__parts span{padding:4px 8px;border-radius:4px;border:1px solid var(--line)}.quick-left{border-left:4px solid #2383c5!important}.quick-right{border-left:4px solid #8e60b6!important}.quick-pivot{border-left:4px solid #b97611!important}.algorithm-bar.is-quick-left{background:color-mix(in srgb,#2383c5 40%,var(--surface-2));border-color:#2383c5}.algorithm-bar.is-quick-right{background:color-mix(in srgb,#8e60b6 40%,var(--surface-2));border-color:#8e60b6}.algorithm-bar.is-pivot{outline:3px solid #b97611;outline-offset:2px}.search-asl{margin:10px 0;padding:10px;border:1px solid var(--line);background:var(--surface-2);border-radius:8px}.search-asl__values{display:flex;flex-wrap:wrap;gap:12px}.search-asl__values>div{flex:1 1 160px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.search-asl__values strong{color:var(--accent);font-size:1.2rem}.search-asl__values small{color:var(--muted)}.search-asl details{margin-top:8px;font-size:.84rem}.search-asl__cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:10px;gap:10px}.search-asl__cases h4{margin:6px 0}.search-asl__cases div div{display:flex;flex-wrap:wrap;gap:6px}.search-asl__cases span{padding:3px 5px;background:var(--surface);border:1px solid var(--line);border-radius:4px}.binary-decision{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:10px;min-width:0}.binary-decision header{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.binary-decision header span,.binary-decision small{color:var(--text-muted);font-size:12px}.binary-decision__scroll{overflow:auto;max-width:100%}.binary-decision svg{display:block;max-width:none;margin:auto}.binary-decision circle,.binary-decision line,.binary-decision rect{stroke:var(--border-strong,#8493a8);stroke-width:1.5}.binary-decision circle,.binary-decision rect{fill:var(--surface,#fff)}.binary-decision text{fill:var(--text);text-anchor:middle;font-size:11px}.binary-decision .binary-decision__index{font-size:10px;fill:var(--text-muted)}.binary-decision .is-visited circle,.binary-decision .is-visited line,.binary-decision .is-visited rect{stroke:var(--accent);stroke-width:2.5}.binary-decision .is-current circle,.binary-decision .is-current rect{fill:#fff2d7;stroke:#b56e12;stroke-width:3}.binary-decision .is-current text{fill:#6a4006}.foundation-tree-scroll{max-width:100%;overflow:auto;min-width:0}.foundation-tree-scroll svg{display:block;margin:auto;max-width:none;color:var(--muted)}.foundation-tree-scroll line,.foundation-tree-scroll path:not(marker path){stroke:var(--muted);stroke-width:1.6;fill:none}.foundation-tree-scroll .is-thread{stroke:var(--accent);stroke-dasharray:5 4}.foundation-tree-scroll circle{fill:var(--surface);stroke:var(--accent);stroke-width:2}.foundation-tree-scroll text{fill:var(--text);font-size:14px;text-anchor:middle}.foundation-tree-scroll .node-tags{font-size:10px;fill:var(--muted)}.foundation-tree-scroll .is-active circle{stroke:#b77716;fill:color-mix(in srgb,#d69829 20%,var(--surface));stroke-width:3}