*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.code-block{background:#0d1117;border-radius:8px;margin:16px 0;overflow:hidden}.code-block-header{color:#d6deeb;background:#161b22;border-bottom:1px solid #30363d;justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;display:flex}.code-block pre{color:#d6deeb;margin:0;padding:16px;font-family:JetBrains Mono,Consolas,Menlo,monospace;font-size:13.5px;line-height:1.65;overflow-x:auto}.tok-keyword{color:#c792ea}.tok-string{color:#ecc48d}.tok-number{color:#f78c6c}.tok-comment{color:#6a737d;font-style:italic}.tok-type{color:#82aaff}.algo-bars{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;align-items:flex-end;gap:3px;height:300px;padding:16px 8px 8px;display:flex}.algo-bar{background:#1677ff;border-radius:4px 4px 0 0;flex:1;min-width:6px;transition:height .12s,background .12s;position:relative}.algo-bar .bar-value{color:#999;white-space:nowrap;font-size:10px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.algo-bar.is-compare{background:#faad14}.algo-bar.is-swap{background:#ff4d4f}.algo-bar.is-overwrite{background:#722ed1}.algo-bar.is-sorted{background:#52c41a}.step-note{color:#444;background:#f6f8fa;border-left:3px solid #1677ff;border-radius:4px;min-height:40px;margin-top:12px;padding:8px 14px}.search-grid{background:#e8e8e8;border-radius:8px;gap:2px;width:fit-content;max-width:100%;padding:2px;display:grid}.grid-cell{cursor:pointer;background:#fff;border-radius:3px;width:28px;height:28px;transition:background .1s}.grid-cell:hover{outline:2px solid #1677ff}.grid-cell.is-wall{background:#34495e}.grid-cell.is-visited{background:#a6d3ff}.grid-cell.is-frontier{background:#ffc53d}.grid-cell.is-path{background:#52c41a}.grid-cell.is-start,.grid-cell.is-end{color:#fff;cursor:default;background:#722ed1;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.timeline{border-bottom:2px solid #d9d9d9;padding:12px 0 28px;position:relative}.timeline-row{align-items:center;height:26px;margin:6px 0;display:flex;position:relative}.timeline-label{color:#555;flex-shrink:0;width:28px;font-weight:700}.timeline-track{flex:1;height:100%;position:relative}.timeline-bar{color:#333;text-align:center;white-space:nowrap;background:#91caff;border-radius:4px;height:22px;font-size:11px;line-height:22px;transition:background .2s;position:absolute;top:2px;overflow:hidden}.timeline-bar.is-chosen{color:#fff;background:#52c41a}.timeline-bar.is-current-ok{color:#fff;background:#faad14}.timeline-bar.is-current-bad{color:#fff;background:#ff4d4f}.timeline-axis{height:24px;margin-top:4px;position:relative}.timeline-tick{color:#999;font-size:11px;position:absolute;transform:translate(-50%)}.dp-table{border:1px solid #e8e8e8;border-radius:8px;max-width:100%;display:inline-block;overflow:auto}.dp-row{display:flex}.dp-cell{background:#fff;border:1px solid #f0f0f0;justify-content:center;align-items:center;width:52px;height:40px;font-family:Consolas,monospace;font-size:13px;display:flex}.dp-cell.is-head{color:#666;background:#fafafa;font-weight:700}.dp-cell.is-filled{background:#e6f4ff}.dp-cell.is-dep{background:#fff7e6}.dp-cell.is-current{color:#fff;background:#faad14;font-weight:700}.viz-bars{background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;align-items:flex-end;gap:4px;height:220px;padding:26px 8px 8px;display:flex}.viz-bar{background:#1677ff;border-radius:4px 4px 0 0;flex:1;min-width:14px;transition:background .15s;position:relative}.viz-bar .bar-value{color:#999;font-size:10px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.viz-bar .bar-tag{color:#666;white-space:nowrap;font-size:10px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}.viz-bar.is-lo{background:#bae0ff}.viz-bar.is-mid{background:#faad14}.viz-bar.is-found{background:#52c41a}.viz-bar.is-out{background:#d9d9d9}.viz-bar.is-filled{background:#52c41a}.viz-bar.is-current{background:#faad14}.coin-chip{color:#5a3c00;background:#faad14;border-radius:50%;justify-content:center;align-items:center;margin:4px;font-weight:700;animation:.25s pop;display:inline-flex}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}
