.algorithm-demo{--demo-ink:#18283e;--demo-blue:#2459be;--demo-green:#087b55;color:var(--demo-ink);background:#fff;border:1px solid #dce3ec;border-radius:18px;margin:28px 0;padding:24px;font-size:14px;line-height:1.5;overflow:hidden;box-shadow:0 4px 20px #18283e05}.algorithm-demo .algorithm-demo-header{margin-bottom:22px}.algorithm-demo .algorithm-demo-eyebrow{color:#596c84;letter-spacing:.09em;font-size:11px;font-weight:700}.algorithm-demo .algorithm-demo-header h3{color:var(--demo-ink);border:0;margin:6px 0 5px;padding:0;font-size:21px;font-weight:700}.algorithm-demo .algorithm-demo-header p{color:#53647b;margin:0;font-size:14px}.algorithm-demo .algorithm-demo-cells{flex-wrap:wrap;gap:7px;padding:12px 0;display:flex}.algorithm-demo .algorithm-demo-grid{gap:8px;max-width:390px;margin:0 auto;display:grid}.algorithm-demo .algorithm-demo-cell{font-variant-numeric:tabular-nums;background:#f6f8fb;border:1px solid #dce3ec;border-radius:9px;flex-direction:column;flex:1 0 42px;justify-content:center;align-items:center;min-width:42px;max-width:80px;min-height:62px;transition:background-color .18s,border-color .18s;display:flex}.algorithm-demo .algorithm-demo-grid .algorithm-demo-cell{min-width:0;max-width:none}.algorithm-demo .algorithm-demo-cell>span{font-family:ui-monospace,SFMono-Regular,monospace;font-size:20px;font-weight:650}.algorithm-demo .algorithm-demo-cell small{color:#5e6f85;font-size:10px}.algorithm-demo .is-active{color:#fff;background:#2459be;border-color:#2459be}.algorithm-demo .algorithm-demo-cell.is-active small{color:#e6f2ee}.algorithm-demo .is-visited{background:#eaf1ff;border-color:#9eb8e8}.algorithm-demo .is-answer{color:#075e40;background:#e1f6eb;border-color:#4bb18b}.algorithm-demo .is-muted{color:#7b8798;background:#fafbfd;border-style:dashed}.algorithm-demo .is-blocked{color:#fff;background:#3d4c60;border-color:#3d4c60}.algorithm-demo .algorithm-demo-cell.is-blocked small{color:#dde5f0}.algorithm-demo .algorithm-demo-legend{color:#53647b;flex-wrap:wrap;gap:12px;margin:9px 0 17px;font-size:11px;display:flex}.algorithm-demo .algorithm-demo-legend span{align-items:center;gap:5px;display:inline-flex}.algorithm-demo .algorithm-demo-legend i{border-style:solid;border-width:1px;border-radius:3px;width:9px;height:9px;display:inline-block}.algorithm-demo .algorithm-demo-queue{background:#f6f8fb;border-radius:9px;margin-bottom:14px;padding:10px 12px;font-size:12px}.algorithm-demo .algorithm-demo-queue>div{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.algorithm-demo .algorithm-demo-queue span{background:#fff;border:1px solid #dce3ec;border-radius:5px;padding:3px 6px;font-family:ui-monospace,monospace}.algorithm-demo .algorithm-demo-stats{flex-wrap:wrap;gap:12px 28px;margin:12px 0;display:flex}.algorithm-demo .algorithm-demo-stats dt{color:#5e6f85;font-size:11px}.algorithm-demo .algorithm-demo-stats dd{margin:2px 0 0;font:600 16px ui-monospace,monospace}.algorithm-demo .algorithm-demo-caption{color:#253b5b;background:#f3f6fc;border-left:3px solid #7398d8;border-radius:0 8px 8px 0;min-height:70px;margin:18px 0;padding:12px 14px;font-size:14px}.algorithm-demo .algorithm-demo-caption.is-complete{color:#0a6044;background:#effaf4;border-color:#36a777}.algorithm-demo .algorithm-demo-controls{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.algorithm-demo .algorithm-demo-controls button{color:#283e5b;cursor:pointer;background:#fff;border:1px solid #d8e1ed;border-radius:8px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:600}.algorithm-demo .algorithm-demo-controls button:hover:not(:disabled){background:#f0f4fb}.algorithm-demo .algorithm-demo-controls button.algorithm-demo-play{background:var(--demo-blue);color:#fff;border-color:var(--demo-blue)}.algorithm-demo .algorithm-demo-controls button.algorithm-demo-play:hover:not(:disabled){color:#fff;background:#18479f}.algorithm-demo .algorithm-demo-controls button:disabled{opacity:.4;cursor:default}.algorithm-demo :is(button,select,input):focus-visible{outline-offset:3px;outline:3px solid #6c9deb}.algorithm-demo .algorithm-demo-controls label{color:#53647b;align-items:center;gap:5px;margin-left:auto;font-size:12px;display:inline-flex}.algorithm-demo select{color:#283e5b;background:#fff;border:1px solid #d8e1ed;border-radius:7px;padding:7px 3px;font-size:12px}.algorithm-demo .algorithm-demo-timeline{color:#5e6f85;align-items:center;gap:14px;margin:18px 0;font-size:11px;display:flex}.algorithm-demo .algorithm-demo-timeline span{white-space:nowrap}.algorithm-demo .algorithm-demo-timeline input{min-width:0;accent-color:var(--demo-blue);flex:1;height:20px}.algorithm-demo .algorithm-demo-invariant{color:#53647b;border-top:1px solid #e5eaf1;flex-direction:column;gap:4px;margin:0;padding-top:14px;font-size:12px;display:flex}.algorithm-demo .algorithm-demo-invariant strong{color:#283e5b;font-size:11px}@media (max-width:560px){.algorithm-demo{border-radius:13px;padding:16px}.algorithm-demo .algorithm-demo-header h3{font-size:18px}.algorithm-demo .algorithm-demo-cell{flex-basis:34px;min-width:34px;min-height:55px}.algorithm-demo .algorithm-demo-controls button{min-height:40px;padding:8px 9px}.algorithm-demo .algorithm-demo-caption{min-height:100px}}@media (prefers-reduced-motion:reduce){.algorithm-demo .algorithm-demo-cell{transition:none}}.algorithm-demo .algorithm-demo-grid.is-dense{gap:5px;max-width:460px}.algorithm-demo .algorithm-demo-grid.is-dense .algorithm-demo-cell{border-radius:7px;min-height:46px}.algorithm-demo .algorithm-demo-grid.is-dense .algorithm-demo-cell>span{font-size:16px}.algorithm-demo .algorithm-demo-graph{width:100%;max-width:560px;max-height:340px;margin:4px auto 14px;font-family:ui-monospace,SFMono-Regular,monospace;display:block;overflow:visible}.algorithm-demo .algorithm-demo-edge line{stroke:#b6c3d4;stroke-width:.6px;transition:stroke .18s}.algorithm-demo .algorithm-demo-edge polygon{fill:#b6c3d4;transition:fill .18s}.algorithm-demo .algorithm-demo-edge text{fill:#53647b;paint-order:stroke;stroke:#fff;stroke-width:1.4px;font-size:3.2px;font-weight:600}.algorithm-demo .algorithm-demo-edge.is-active line{stroke:#2459be;stroke-width:1.1px}.algorithm-demo .algorithm-demo-edge.is-active polygon{fill:#2459be}.algorithm-demo .algorithm-demo-edge.is-visited line{stroke:#7398d8;stroke-width:.9px}.algorithm-demo .algorithm-demo-edge.is-visited polygon{fill:#7398d8}.algorithm-demo .algorithm-demo-edge.is-answer line{stroke:#36a777;stroke-width:1.2px}.algorithm-demo .algorithm-demo-edge.is-answer polygon{fill:#36a777}.algorithm-demo .algorithm-demo-edge.is-muted line{stroke:#d3dbe6;stroke-dasharray:1.2 1.2}.algorithm-demo .algorithm-demo-edge.is-muted polygon{fill:#d3dbe6}.algorithm-demo .algorithm-demo-node circle{fill:#f6f8fb;stroke:#8a9bb2;stroke-width:.6px;transition:fill .18s,stroke .18s}.algorithm-demo .algorithm-demo-node text{fill:#18283e;font-size:3.6px;font-weight:700}.algorithm-demo .algorithm-demo-node .algorithm-demo-note{fill:#53647b;paint-order:stroke;stroke:#fff;stroke-width:1.2px;font-size:2.9px;font-weight:600}.algorithm-demo .algorithm-demo-node.is-visited circle{fill:#eaf1ff;stroke:#7398d8}.algorithm-demo .algorithm-demo-node.is-active circle{fill:#2459be;stroke:#2459be}.algorithm-demo .algorithm-demo-node.is-active text{fill:#fff}.algorithm-demo .algorithm-demo-node.is-active .algorithm-demo-note{fill:#2459be}.algorithm-demo .algorithm-demo-node.is-answer circle{fill:#e1f6eb;stroke:#36a777;stroke-width:.9px}.algorithm-demo .algorithm-demo-node.is-answer text{fill:#075e40}.algorithm-demo .algorithm-demo-node.is-blocked circle{fill:#fdecec;stroke:#c24b4b;stroke-width:.9px}.algorithm-demo .algorithm-demo-node.is-blocked text{fill:#9b2c2c}.algorithm-demo .algorithm-demo-edge.is-blocked line{stroke:#c24b4b;stroke-width:.9px;stroke-dasharray:1.6 1}.algorithm-demo .algorithm-demo-edge.is-blocked polygon{fill:#c24b4b}@media (prefers-reduced-motion:reduce){.algorithm-demo :is(.algorithm-demo-edge line,.algorithm-demo-edge polygon,.algorithm-demo-node circle){transition:none}}.algorithm-demo .algorithm-demo-grid.is-wide{max-width:none}.algorithm-demo .algorithm-demo-grid .algorithm-demo-cell small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.algorithm-demo .algorithm-demo-cell.is-long>span{overflow-wrap:anywhere;text-align:center;max-width:100%;font-size:14px}.algorithm-demo .algorithm-demo-presets{flex-wrap:wrap;gap:7px;margin:-8px 0 12px;display:flex}.algorithm-demo .algorithm-demo-presets button{color:#283e5b;cursor:pointer;background:#fff;border:1px solid #d8e1ed;border-radius:8px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:600}.algorithm-demo .algorithm-demo-presets button:hover{color:#2459be;border-color:#2459be}.algorithm-demo .algorithm-demo-input{margin:-8px 0 16px;font-size:13px}.algorithm-demo .algorithm-demo-input summary{cursor:pointer;color:#2459be;width:fit-content;font-weight:600}.algorithm-demo .algorithm-demo-input form{flex-direction:column;gap:6px;margin-top:10px;display:flex}.algorithm-demo .algorithm-demo-input label{color:#53647b;font-size:12px}.algorithm-demo .algorithm-demo-input form>div{flex-wrap:wrap;gap:7px;display:flex}.algorithm-demo .algorithm-demo-input input{color:#18283e;background:#fff;border:1px solid #c9d4e3;border-radius:8px;flex:220px;min-width:0;min-height:36px;padding:6px 10px;font:13px ui-monospace,SFMono-Regular,monospace}.algorithm-demo .algorithm-demo-input input[aria-invalid=true]{border-color:#c24b4b}.algorithm-demo .algorithm-demo-input button{color:#283e5b;cursor:pointer;background:#fff;border:1px solid #d8e1ed;border-radius:8px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:600}.algorithm-demo .algorithm-demo-input button[type=submit]{color:#fff;background:#2459be;border-color:#2459be}.algorithm-demo .algorithm-demo-error{color:#b42318;margin:0;font-size:12px}.algorithm-demo button.algorithm-demo-cell{font:inherit;color:inherit;cursor:pointer;padding:0}.algorithm-demo button.algorithm-demo-cell[aria-disabled=true]{cursor:default}.algorithm-demo button.algorithm-demo-cell:not([aria-disabled=true]):hover{border-color:#2459be;box-shadow:0 0 0 2px #2459be33}.algorithm-demo .algorithm-demo-node[role=button]{cursor:pointer;outline:none}.algorithm-demo .algorithm-demo-node[role=button][aria-disabled=true]{cursor:default}.algorithm-demo .algorithm-demo-node[role=button]:not([aria-disabled=true]):hover circle{stroke:#6c9deb;stroke-width:1.4px}.algorithm-demo .algorithm-demo-node[role=button]:focus-visible circle{stroke:#6c9deb;stroke-width:1.4px}.algorithm-demo .algorithm-demo-controls button[aria-pressed=true]:not(.algorithm-demo-play){color:#18479f;background:#eaf1ff;border-color:#2459be}.algorithm-demo .algorithm-demo-guess{color:#283e5b;margin:14px 0 0;font-size:13px}.algorithm-demo .algorithm-demo-guess p{margin:0 0 6px}.algorithm-demo .algorithm-demo-guess .is-right{color:#075e40}.algorithm-demo .algorithm-demo-guess .is-wrong{color:#9b2c2c}.algorithm-demo .algorithm-demo-score{color:#283e5b;font-variant-numeric:tabular-nums;background:#eef3fa;border-radius:99px;margin-left:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}@media screen{.dark .algorithm-demo{--demo-ink:#ccdef7;color:var(--demo-ink);background:#191919;border:1px solid #2b3037;box-shadow:0 4px 20px #18283e05}.dark .algorithm-demo .algorithm-demo-eyebrow{color:#b0c2d8}.dark .algorithm-demo .algorithm-demo-header h3{color:var(--demo-ink);border:0}.dark .algorithm-demo .algorithm-demo-header p{color:#b4c4da}.dark .algorithm-demo .algorithm-demo-cell{background:#141617;border:1px solid #2b3037}.dark .algorithm-demo .algorithm-demo-cell small{color:#b0c0d5}.dark .algorithm-demo .is-active{color:#fff;background:#2459be;border-color:#2459be}.dark .algorithm-demo .algorithm-demo-cell.is-active small{color:#e7f2ee}.dark .algorithm-demo .is-visited{background:#0e1219;border-color:#9eb8e8}.dark .algorithm-demo .is-answer{color:#9ddbbc;background:#08140f;border-color:#4bb18b}.dark .algorithm-demo .is-muted{color:#a7b2c1;background:#171718;border-style:dashed}.dark .algorithm-demo .is-blocked{color:#fff;background:#3d4c60;border-color:#3d4c60}.dark .algorithm-demo .algorithm-demo-cell.is-blocked small{color:#dee5ee}.dark .algorithm-demo .algorithm-demo-legend{color:#b4c4da}.dark .algorithm-demo .algorithm-demo-legend i{border-style:solid;border-width:1px}.dark .algorithm-demo .algorithm-demo-queue{background:#141617}.dark .algorithm-demo .algorithm-demo-queue span{background:#191919;border:1px solid #2b3037}.dark .algorithm-demo .algorithm-demo-stats dt{color:#b0c0d5}.dark .algorithm-demo .algorithm-demo-caption{color:#bed5f7;background:#131418;border-left:3px solid #7398d8}.dark .algorithm-demo .algorithm-demo-caption.is-complete{color:#9cdabd;background:#111713;border-color:#36a777}.dark .algorithm-demo .algorithm-demo-controls button{color:#bed4f3;background:#191919;border:1px solid #2a313a}.dark .algorithm-demo .algorithm-demo-controls button:hover:not(:disabled){background:#111317}.dark .algorithm-demo .algorithm-demo-controls button.algorithm-demo-play{background:var(--demo-blue);color:#fff;border-color:var(--demo-blue)}.dark .algorithm-demo .algorithm-demo-controls button.algorithm-demo-play:hover:not(:disabled){color:#fff;background:#18479f}.dark .algorithm-demo :is(button,select,input):focus-visible{outline:3px solid #6c9deb}.dark .algorithm-demo .algorithm-demo-controls label{color:#b4c4da}.dark .algorithm-demo select{color:#bed4f3;background:#191919;border:1px solid #2a313a}.dark .algorithm-demo .algorithm-demo-timeline{color:#b0c0d5}.dark .algorithm-demo .algorithm-demo-timeline input{accent-color:var(--demo-blue)}.dark .algorithm-demo .algorithm-demo-invariant{color:#b4c4da;border-top:1px solid #2a2d33}.dark .algorithm-demo .algorithm-demo-invariant strong{color:#bed4f3}.dark .algorithm-demo .algorithm-demo-edge line{stroke:#333e4b}.dark .algorithm-demo .algorithm-demo-edge text{fill:#b4c4da;stroke:#252525}.dark .algorithm-demo .algorithm-demo-edge.is-active line{stroke:#2459be}.dark .algorithm-demo .algorithm-demo-edge.is-active polygon{fill:#2459be}.dark .algorithm-demo .algorithm-demo-edge.is-visited line{stroke:#7398d8}.dark .algorithm-demo .algorithm-demo-edge.is-visited polygon{fill:#7398d8}.dark .algorithm-demo .algorithm-demo-edge.is-answer line{stroke:#36a777}.dark .algorithm-demo .algorithm-demo-edge.is-answer polygon{fill:#36a777}.dark .algorithm-demo .algorithm-demo-edge.is-muted line{stroke:#2d343c}.dark .algorithm-demo .algorithm-demo-node circle{fill:#141617;stroke:#8a9bb2}.dark .algorithm-demo .algorithm-demo-node text{fill:#ccdef7}.dark .algorithm-demo .algorithm-demo-node .algorithm-demo-note{fill:#b4c4da;stroke:#252525}.dark .algorithm-demo .algorithm-demo-node.is-visited circle{fill:#0e1219;stroke:#7398d8}.dark .algorithm-demo .algorithm-demo-node.is-active circle{fill:#2459be;stroke:#2459be}.dark .algorithm-demo .algorithm-demo-node.is-answer circle{fill:#08140f;stroke:#36a777}.dark .algorithm-demo .algorithm-demo-node.is-blocked circle{fill:#180f0f;stroke:#c24b4b}.dark .algorithm-demo .algorithm-demo-edge.is-blocked line{stroke:#c24b4b}.dark .algorithm-demo .algorithm-demo-edge.is-blocked polygon{fill:#c24b4b}.dark .algorithm-demo .algorithm-demo-presets button{color:#bed4f3;background:#191919;border:1px solid #2a313a}.dark .algorithm-demo .algorithm-demo-presets button:hover{color:#a5c4fd;border-color:#2459be}.dark .algorithm-demo .algorithm-demo-input summary{color:#a5c4fd}.dark .algorithm-demo .algorithm-demo-input label{color:#b4c4da}.dark .algorithm-demo .algorithm-demo-input input{color:#ccdef7;background:#191919;border:1px solid #2e3742}.dark .algorithm-demo .algorithm-demo-input input[aria-invalid=true]{border-color:#c24b4b}.dark .algorithm-demo .algorithm-demo-input button{color:#bed4f3;background:#191919;border:1px solid #2a313a}.dark .algorithm-demo .algorithm-demo-input button[type=submit]{color:#fff;background:#2459be;border-color:#2459be}.dark .algorithm-demo .algorithm-demo-error{color:#fea99c}.dark .algorithm-demo button.algorithm-demo-cell{color:inherit}.dark .algorithm-demo button.algorithm-demo-cell:not([aria-disabled=true]):hover{border-color:#2459be;box-shadow:0 0 0 2px #2459be33}.dark .algorithm-demo .algorithm-demo-node[role=button]{outline:none}.dark .algorithm-demo .algorithm-demo-node[role=button]:not([aria-disabled=true]):hover circle{stroke:#6c9deb}.dark .algorithm-demo .algorithm-demo-node[role=button]:focus-visible circle{stroke:#6c9deb}.dark .algorithm-demo .algorithm-demo-controls button[aria-pressed=true]:not(.algorithm-demo-play){color:#b1ccfb;background:#0e1219;border-color:#2459be}.dark .algorithm-demo .algorithm-demo-guess{color:#bed4f3}.dark .algorithm-demo .algorithm-demo-guess .is-right{color:#9ddbbc}.dark .algorithm-demo .algorithm-demo-guess .is-wrong{color:#fcb0a9}.dark .algorithm-demo .algorithm-demo-score{color:#bed4f3;background:#101317}}
