@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Space Grotesk Variable", system-ui, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", monospace}:root[data-theme=signal]{color-scheme:dark;--bg: #0a0c10;--bg-layer: radial-gradient(70rem 46rem at 78% -6rem, rgba(var(--accent-rgb), .07), transparent 60%), radial-gradient(52rem 40rem at 12% 110%, rgba(var(--accent-rgb), .04), transparent 55%);--scanlines: repeating-linear-gradient( 0deg, rgba(255, 255, 255, .022) 0 1px, transparent 1px 3px );--surface: rgba(17, 22, 30, .86);--surface-2: rgba(10, 13, 18, .92);--text: #e8eef6;--text-soft: rgba(232, 238, 246, .68);--text-faint: rgba(232, 238, 246, .42);--line: rgba(232, 238, 246, .1);--line-strong: rgba(232, 238, 246, .22);--shadow-panel: 0 1px 0 rgba(255, 255, 255, .04) inset;--accent: #3fe0ff;--accent-strong: #7deaff;--accent-contrast: #04161c;--accent-rgb: 63, 224, 255;--accent-soft: rgba(var(--accent-rgb), .13);--accent-glow: rgba(var(--accent-rgb), .42);--wordmark-dot: var(--accent);--wordmark-dot-glow: 0 0 8px var(--accent-glow);--tile-bg: #131a23;--tile-line: rgba(232, 238, 246, .06);--tile-text: rgba(226, 236, 248, .74);--tile-struck-bg: #0d1015;--tile-struck-text: rgba(226, 236, 248, .2);--tile-prime-bg: var(--accent);--tile-prime-text: #032028;--tile-prime-glow: 0 0 14px rgba(var(--accent-rgb), .38), 0 0 2px rgba(var(--accent-rgb), .55);--strike-ink: transparent;--ring-ink: transparent;--cursor-color: var(--accent);--cursor-radius: 9px;--cursor-tilt: 0deg;--cursor-glow: 0 0 14px var(--accent-glow), inset 0 0 8px rgba(var(--accent-rgb), .22);--flash-bg: #c2f4ff;--flash-text: #03161c;--flash-glow: 0 0 20px 5px rgba(var(--accent-rgb), .5);--flash-scale: 1.09;--flash-settle: .985;--pop-peak: 1.14;--code-keyword: #4bd7ff;--code-function: #9db8ff;--code-number: #ffcf7d;--code-comment: rgba(232, 238, 246, .38);--code-punct: rgba(232, 238, 246, .55);--code-active-bg: linear-gradient( 90deg, rgba(var(--accent-rgb), .12), rgba(var(--accent-rgb), .03) );--code-active-bar: var(--accent);--btn-shadow: none;--btn-shadow-hover: 0 0 16px rgba(var(--accent-rgb), .35);--btn-lift: none;--btn-press: scale(.97);--chip-tilt: 0deg;--menu-bg: #10151d;--menu-shadow: 0 14px 34px rgba(0, 0, 0, .55);--menu-dur: .15s;--bar-bg: linear-gradient( 180deg, rgba(var(--accent-rgb), .5), rgba(var(--accent-rgb), .12) 62%, rgba(var(--accent-rgb), .2) );--bar-outline: none;--bar-radius: 2px 2px 0 0;--bar-shadow: inset 0 1px 0 rgba(var(--accent-rgb), .6);--bar-dead-opacity: .2;--bar-dead-filter: saturate(.25) brightness(.6);--bar-dead-shift: 3px;--bar-probe-bg: linear-gradient(180deg, var(--accent-strong), rgba(var(--accent-rgb), .45));--bar-probe-shadow: 0 0 16px rgba(var(--accent-rgb), .5);--bar-found-bg: linear-gradient(180deg, var(--accent-strong), var(--accent));--bar-found-shadow: 0 0 18px rgba(var(--accent-rgb), .55);--scratch-ink: transparent;--search-ring-ink: transparent;--level-line: linear-gradient( 90deg, transparent, rgba(var(--accent-rgb), .9) 4%, rgba(var(--accent-rgb), .9) 96%, transparent );--level-glow: 0 0 12px rgba(var(--accent-rgb), .5);--level-ink: transparent;--level-tag-ink: var(--accent);--caret-ink: var(--accent);--caret-glow: drop-shadow(0 0 5px rgba(var(--accent-rgb), .6));--tag-bg: rgba(13, 18, 25, .92);--tag-border: var(--line-strong);--tag-tilt: 0deg;--win-ink: rgba(var(--accent-rgb), .65);--col-bg: linear-gradient( 180deg, rgba(232, 238, 246, .26), rgba(232, 238, 246, .07) 62%, rgba(232, 238, 246, .12) );--col-outline: none;--col-radius: 2px 2px 0 0;--col-shadow: inset 0 1px 0 rgba(232, 238, 246, .32);--col-sorted-bg: linear-gradient( 180deg, rgba(var(--accent-rgb), .55), rgba(var(--accent-rgb), .14) 62%, rgba(var(--accent-rgb), .22) );--col-sorted-shadow: inset 0 1px 0 rgba(var(--accent-rgb), .7), 0 0 12px rgba(var(--accent-rgb), .16);--col-key-bg: linear-gradient(180deg, var(--accent-strong), rgba(var(--accent-rgb), .5));--col-key-shadow: 0 0 20px rgba(var(--accent-rgb), .5), 0 8px 16px rgba(0, 0, 0, .5);--col-key-outline: none;--col-cmp-cap: inset 0 3px 0 var(--accent-strong);--col-cmp-shadow: 0 0 14px rgba(var(--accent-rgb), .3);--band-wash: linear-gradient(180deg, transparent 52%, rgba(var(--accent-rgb), .08));--band-rail-ink: rgba(var(--accent-rgb), .8);--band-rail-glow: 0 0 10px rgba(var(--accent-rgb), .45);--seam-line: linear-gradient( 180deg, transparent, rgba(var(--accent-rgb), .85) 14%, rgba(var(--accent-rgb), .85) 86%, transparent );--seam-glow: 0 0 10px rgba(var(--accent-rgb), .45);--hole-line: 1px dashed rgba(var(--accent-rgb), .55);--hole-bg: rgba(var(--accent-rgb), .05);--guide-line: linear-gradient(90deg, rgba(var(--accent-rgb), .14), rgba(var(--accent-rgb), .9));--guide-glow: 0 0 8px rgba(var(--accent-rgb), .45);--guide-stop-line: linear-gradient(90deg, var(--accent-strong), var(--accent-strong));--guide-tick: var(--accent-strong);--arrow-ink: transparent;--smear-glow: rgba(var(--accent-rgb), .5);--lift: 2.9rem;--socket: 2.4rem;--mcol-bg: linear-gradient( 180deg, rgba(232, 238, 246, .24), rgba(232, 238, 246, .06) 62%, rgba(232, 238, 246, .11) );--mcol-outline: none;--mcol-shadow: inset 0 1px 0 rgba(232, 238, 246, .3);--mcol-a-bg: linear-gradient( 180deg, rgba(var(--accent-rgb), .62), rgba(var(--accent-rgb), .16) 62%, rgba(var(--accent-rgb), .26) );--mcol-a-shadow: inset 0 1px 0 rgba(var(--accent-rgb), .75), 0 0 12px rgba(var(--accent-rgb), .18);--mcol-b-bg: rgba(var(--accent-rgb), .05);--mcol-b-outline: 1.5px solid rgba(var(--accent-rgb), .85);--mcol-b-shadow: 0 0 10px rgba(var(--accent-rgb), .14);--mcol-spent-opacity: .42;--mcol-spent-filter: brightness(.92);--seam-mark-line: 1px dashed rgba(232, 238, 246, .3);--lane-rule: var(--line-strong);--cursor-a-ink: var(--accent-strong);--cursor-b-ink: rgba(var(--accent-rgb), .85);--cursor-w-ink: var(--accent-strong);--cursor-glow-drop: drop-shadow(0 0 5px rgba(var(--accent-rgb), .65));--chute-ink: rgba(var(--accent-rgb), .95);--chute-width: 2px;--chute-dash: none;--chute-drop: drop-shadow(0 0 6px rgba(var(--accent-rgb), .7));--wipe-bg: linear-gradient( 90deg, transparent, rgba(var(--accent-rgb), .28) 45%, rgba(var(--accent-rgb), .5) 50%, rgba(var(--accent-rgb), .28) 55%, transparent );--lane-h: clamp(84px, 12.5vh, 118px);--gap-h: 2.6rem;--ease-move: cubic-bezier(.3, 1.45, .5, 1);--dur-move: .3s;--ease-draw: ease-out;--dur-strike: .48s;--dur-ring: .4s;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--dur-pop: .42s}:root[data-theme=notebook]{color-scheme:light;--bg: #f7f3e9;--bg-layer: repeating-linear-gradient(0deg, rgba(72, 100, 170, .13) 0 1px, transparent 1px 130px), repeating-linear-gradient(90deg, rgba(72, 100, 170, .13) 0 1px, transparent 1px 130px), repeating-linear-gradient(0deg, rgba(72, 100, 170, .065) 0 1px, transparent 1px 26px), repeating-linear-gradient(90deg, rgba(72, 100, 170, .065) 0 1px, transparent 1px 26px);--scanlines: none;--surface: rgba(255, 255, 255, .62);--surface-2: rgba(253, 250, 242, .92);--text: #22304d;--text-soft: rgba(34, 48, 77, .74);--text-faint: rgba(34, 48, 77, .5);--line: rgba(34, 48, 77, .22);--line-strong: rgba(34, 48, 77, .42);--shadow-panel: 2px 3px 0 rgba(34, 48, 77, .08);--accent: #2d55c8;--accent-strong: #1d3f9f;--accent-contrast: #f9f6ee;--accent-rgb: 45, 85, 200;--accent-soft: rgba(var(--accent-rgb), .1);--accent-glow: transparent;--pencil: #d64a3b;--wordmark-dot: var(--pencil);--wordmark-dot-glow: none;--tile-bg: rgba(255, 255, 255, .55);--tile-line: rgba(34, 48, 77, .17);--tile-text: rgba(34, 48, 77, .78);--tile-struck-bg: rgba(255, 255, 255, .28);--tile-struck-text: rgba(34, 48, 77, .3);--tile-prime-bg: rgba(255, 255, 255, .9);--tile-prime-text: #1a2740;--tile-prime-glow: none;--strike-ink: #33416e;--ring-ink: var(--pencil);--cursor-color: var(--pencil);--cursor-radius: 46% 54% 50% 50% / 52% 46% 54% 48%;--cursor-tilt: -1.6deg;--cursor-glow: none;--flash-bg: var(--tile-struck-bg);--flash-text: var(--tile-struck-text);--flash-glow: none;--flash-scale: 1;--flash-settle: 1;--pop-peak: 1.05;--code-keyword: #2d55c8;--code-function: #6d3fae;--code-number: #bb4433;--code-comment: rgba(34, 48, 77, .48);--code-punct: rgba(34, 48, 77, .62);--code-active-bg: linear-gradient(90deg, rgba(255, 213, 74, .42), rgba(255, 213, 74, .16));--code-active-bar: var(--pencil);--btn-shadow: 2px 2px 0 rgba(34, 48, 77, .24);--btn-shadow-hover: 3px 3px 0 rgba(34, 48, 77, .24);--btn-lift: translate(-1px, -1px);--btn-press: translate(1px, 1px);--chip-tilt: -1.2deg;--menu-bg: #fdfaf2;--menu-shadow: 3px 4px 0 rgba(34, 48, 77, .12);--menu-dur: 90ms;--bar-bg: repeating-linear-gradient(-48deg, rgba(34, 48, 77, .34) 0 1px, transparent 1px 3.5px);--bar-outline: 1px solid rgba(34, 48, 77, .5);--bar-radius: 1px 1px 0 0;--bar-shadow: none;--bar-dead-opacity: .3;--bar-dead-filter: none;--bar-dead-shift: 0px;--bar-probe-bg: repeating-linear-gradient( -48deg, rgba(34, 48, 77, .6) 0 1px, transparent 1px 3px );--bar-probe-shadow: none;--bar-found-bg: repeating-linear-gradient( -48deg, rgba(var(--accent-rgb), .72) 0 1px, transparent 1px 3px );--bar-found-shadow: none;--scratch-ink: #33416e;--search-ring-ink: var(--pencil);--level-line: none;--level-glow: none;--level-ink: var(--pencil);--level-tag-ink: var(--pencil);--caret-ink: var(--pencil);--caret-glow: none;--tag-bg: var(--menu-bg);--tag-border: rgba(34, 48, 77, .45);--tag-tilt: -1.2deg;--win-ink: rgba(34, 48, 77, .62);--col-bg: repeating-linear-gradient(-48deg, rgba(34, 48, 77, .3) 0 1px, transparent 1px 3.5px);--col-outline: 1px solid rgba(34, 48, 77, .45);--col-radius: 1px 1px 0 0;--col-shadow: none;--col-sorted-bg: repeating-linear-gradient( -48deg, rgba(var(--accent-rgb), .7) 0 1px, transparent 1px 3px );--col-sorted-shadow: none;--col-key-bg: repeating-linear-gradient( -48deg, rgba(var(--accent-rgb), .85) 0 1.5px, transparent 1.5px 3px );--col-key-shadow: 2px 4px 0 rgba(34, 48, 77, .2);--col-key-outline: 1.5px solid var(--accent-strong);--col-cmp-cap: inset 0 3px 0 var(--pencil);--col-cmp-shadow: none;--band-wash: linear-gradient(180deg, transparent 58%, rgba(var(--accent-rgb), .07));--band-rail-ink: rgba(var(--accent-rgb), .75);--band-rail-glow: none;--seam-line: repeating-linear-gradient(180deg, var(--pencil) 0 6px, transparent 6px 11px);--seam-glow: none;--hole-line: 1px dashed rgba(34, 48, 77, .55);--hole-bg: transparent;--guide-line: repeating-linear-gradient(90deg, var(--pencil) 0 5px, transparent 5px 9px);--guide-glow: none;--guide-stop-line: linear-gradient(90deg, var(--pencil), var(--pencil));--guide-tick: var(--pencil);--arrow-ink: var(--pencil);--smear-glow: transparent;--lift: 2.9rem;--socket: 2.4rem;--mcol-bg: repeating-linear-gradient(-48deg, rgba(34, 48, 77, .28) 0 1px, transparent 1px 3.5px);--mcol-outline: 1px solid rgba(34, 48, 77, .42);--mcol-shadow: none;--mcol-a-bg: repeating-linear-gradient( -48deg, rgba(var(--accent-rgb), .75) 0 1.5px, transparent 1.5px 3.5px );--mcol-a-shadow: none;--mcol-b-bg: transparent;--mcol-b-outline: 1.5px solid var(--accent-strong);--mcol-b-shadow: none;--mcol-spent-opacity: .36;--mcol-spent-filter: none;--seam-mark-line: 1px dashed rgba(34, 48, 77, .45);--lane-rule: var(--line-strong);--cursor-a-ink: var(--accent-strong);--cursor-b-ink: var(--accent-strong);--cursor-w-ink: var(--pencil);--cursor-glow-drop: none;--chute-ink: var(--pencil);--chute-width: 1.6px;--chute-dash: none;--chute-drop: none;--wipe-bg: linear-gradient( 90deg, transparent, rgba(214, 74, 59, .18) 44%, rgba(214, 74, 59, .5) 50%, rgba(214, 74, 59, .18) 56%, transparent );--lane-h: clamp(84px, 12.5vh, 118px);--gap-h: 2.6rem;--ease-move: cubic-bezier(.3, 1, .4, 1);--dur-move: .14s;--ease-draw: cubic-bezier(.5, 0, .4, 1);--dur-strike: .22s;--dur-ring: .32s;--ease-pop: cubic-bezier(.3, 1.3, .6, 1);--dur-pop: .24s}:root[data-theme=signal][data-algo=binary-search]{--accent: #46f0a0;--accent-strong: #8cffc8;--accent-contrast: #032013;--accent-rgb: 70, 240, 160;--code-keyword: #58f2ad}:root[data-theme=notebook][data-algo=binary-search]{--accent: #1e7a4e;--accent-strong: #155f3c;--accent-contrast: #f7faf5;--accent-rgb: 30, 122, 78;--code-keyword: #1e7a4e}:root[data-theme=signal][data-algo=insertion-sort]{--accent: #ff7ad9;--accent-strong: #ffb0e8;--accent-contrast: #2a0620;--accent-rgb: 255, 122, 217;--code-keyword: #ff8ee0}:root[data-theme=notebook][data-algo=insertion-sort]{--accent: #a3246f;--accent-strong: #7d1a55;--accent-contrast: #fdf7fa;--accent-rgb: 163, 36, 111;--code-keyword: #a3246f}:root[data-theme=signal][data-algo=merge-sort]{--accent: #b98cff;--accent-strong: #d6bcff;--accent-contrast: #1b0733;--accent-rgb: 185, 140, 255;--code-keyword: #bf97ff;--code-function: #5cb3f5}:root[data-theme=notebook][data-algo=merge-sort]{--accent: #6a2ec9;--accent-strong: #54219f;--accent-contrast: #faf7ff;--accent-rgb: 106, 46, 201;--code-keyword: #6a2ec9;--code-function: #2b4fa8}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100svh;display:flex;flex-direction:column;font-family:var(--font-display);font-size:16px;color:var(--text);background-color:var(--bg);background-image:var(--bg-layer);background-attachment:fixed}body:after{content:"";position:fixed;inset:0;background:var(--scanlines);pointer-events:none;z-index:40}a{color:var(--text-soft);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[hidden]{display:none!important}.top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;max-width:1200px;width:100%;margin-inline:auto;padding:1.1rem 1.5rem .9rem}.wordmark{font-family:var(--font-display);font-size:1.32rem;font-weight:700;letter-spacing:-.01em;color:var(--text);margin-right:auto}.wordmark:hover{color:var(--text)}.wordmark-dot{color:var(--wordmark-dot);text-shadow:var(--wordmark-dot-glow)}.top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.algo-picker{position:relative}.picker-btn{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-soft);background:transparent;border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;max-width:17rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.picker-btn:hover{border-color:var(--line-strong);color:var(--text)}[data-theme=notebook] .picker-btn{border-radius:5px;background:#ffffff80}.picker-chevron{width:.55rem;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .15s ease}.algo-picker.open .picker-chevron{transform:rotate(180deg)}.picker-list{position:absolute;top:calc(100% + 6px);right:0;z-index:60;width:max-content;min-width:100%;max-width:21rem;margin:0;padding:4px;list-style:none;background:var(--menu-bg);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--menu-shadow);animation:menu-in var(--menu-dur) ease-out}[data-theme=notebook] .picker-list{border-radius:5px}@keyframes menu-in{0%{opacity:0;transform:translateY(-5px)}}.picker-list li{display:flex;align-items:baseline;gap:.6rem;font-family:var(--font-mono);font-size:.78rem;color:var(--text-soft);padding:.5rem .7rem;border-radius:6px;cursor:pointer}[data-theme=notebook] .picker-list li{border-radius:3px}.picker-list .opt-index{font-size:.68rem;color:var(--text-faint)}.picker-list li.active{background:var(--accent-soft);color:var(--text)}.picker-list li[aria-selected=true]{color:var(--accent)}.picker-list li[aria-selected=true] .opt-index{color:var(--accent);opacity:.7}.theme-switch{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.switch-opt{position:relative;display:block}.switch-opt input{position:absolute;inset:0;opacity:0;cursor:pointer}.switch-opt span{display:block;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border-radius:999px;padding:.32rem .72rem;transition:color .15s ease,background-color .15s ease}.switch-opt input:checked+span{color:var(--accent-contrast);background-color:var(--accent)}.switch-opt input:not(:checked):hover+span{color:var(--text-soft)}.switch-opt input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.page{flex:1;display:flex;flex-direction:column}.algo-head{max-width:1200px;width:100%;margin-inline:auto;padding:2.2rem 1.5rem 1.6rem}.eyebrow{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:lowercase;color:var(--text-faint);margin-bottom:.6rem}h1{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,4.2vw,2.6rem);line-height:1.12;letter-spacing:-.015em}[data-theme=notebook] h1{text-decoration:underline;text-decoration-color:#d64a3b8c;text-decoration-thickness:2px;text-underline-offset:9px}.summary{margin-top:.85rem;font-size:.98rem;color:var(--text-soft);max-width:48ch}.refs{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem;font-family:var(--font-mono);font-size:.76rem}.refs a:after{content:" ↗";color:var(--text-faint)}.layout{flex:1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:1.5rem;align-items:start;max-width:1200px;width:100%;margin-inline:auto;padding:0 1.5rem 2.5rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-panel)}[data-theme=notebook] .panel{border-radius:6px}.panel-label{font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.code-panel{background:var(--surface-2);overflow:hidden}.code-panel .panel-label{padding:.8rem 1.1rem;border-bottom:1px solid var(--line);text-transform:none;letter-spacing:.04em}[data-theme=notebook] .code-panel .panel-label{color:var(--text-soft)}.code-pre{overflow-x:auto;padding:.9rem 0;font-family:var(--font-mono);font-size:.84rem;line-height:1.65;tab-size:2;color:var(--text)}.code-line{display:block;padding-inline:1.1rem;white-space:pre;border-left:2px solid transparent}.code-line.active{background:var(--code-active-bg);border-left-color:var(--code-active-bar)}.token.comment{color:var(--code-comment);font-style:italic}.token.keyword{color:var(--code-keyword)}[data-theme=notebook] .token.keyword{font-weight:600}.token.function{color:var(--code-function)}.token.number,.token.boolean{color:var(--code-number)}.token.operator,.token.punctuation{color:var(--code-punct)}.controls{display:flex;flex-wrap:wrap;align-items:end;gap:1rem 1.25rem;padding:1.05rem 1.2rem}.control-fields{display:contents}.field,.speed{display:flex;flex-direction:column;gap:.45rem}.field input,.field select,.speed select{font-family:var(--font-mono);font-size:.95rem;color:var(--text);background-color:transparent;border:1px solid var(--line-strong);border-radius:8px;padding:.5rem .7rem;transition:border-color .15s ease}[data-theme=notebook] .field input,[data-theme=notebook] .field select,[data-theme=notebook] .speed select{background-color:#ffffff8c;border-radius:5px}.field input{width:6.8rem}.field input:focus{outline:none;border-color:var(--accent)}.field select,.speed select{appearance:none;cursor:pointer;padding-right:1.9rem;background-repeat:no-repeat;background-position:right .65rem center;background-size:.55rem}[data-theme=signal] .field select,[data-theme=signal] .speed select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a8b3c2' stroke-width='1.5'/%3E%3C/svg%3E")}[data-theme=notebook] .field select,[data-theme=notebook] .speed select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23566a94' stroke-width='1.5'/%3E%3C/svg%3E")}.buttons{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem}.btn{font-family:var(--font-display);font-size:.88rem;font-weight:500;color:var(--text);background:transparent;border:1px solid var(--line-strong);border-radius:8px;padding:.52rem 1.05rem;cursor:pointer;box-shadow:var(--btn-shadow);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease}[data-theme=notebook] .btn{border-radius:5px;border-color:var(--line-strong);background:#ffffff80}.btn:hover{border-color:var(--text-faint);transform:var(--btn-lift);box-shadow:var(--btn-shadow-hover)}.btn:active{transform:var(--btn-press);box-shadow:var(--btn-shadow)}.btn:disabled{opacity:.4;cursor:default;transform:none;box-shadow:var(--btn-shadow)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:600;min-width:6.4rem}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.grid{position:relative;margin-top:1.25rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:6px}.tile{position:relative;aspect-ratio:1;display:grid;place-items:center;font-family:var(--font-mono);font-size:.8rem;color:var(--tile-text);background:var(--tile-bg);border:1px solid var(--tile-line);border-radius:7px;transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}[data-theme=notebook] .tile{border-radius:3px}.tile-num{position:relative}.tile-strike,.tile-ring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tile-strike path,.tile-ring path{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.tile-strike path{stroke:var(--strike-ink);stroke-width:1.8px}.tile-ring path{stroke:var(--ring-ink);stroke-width:1.7px;opacity:.85}[data-theme=signal] .tile-strike,[data-theme=signal] .tile-ring{visibility:hidden}.tile.cursor .tile-num{color:var(--text)}.tile.struck{background:var(--tile-struck-bg);border-color:transparent;color:var(--tile-struck-text)}.tile.struck .tile-strike path{stroke-dashoffset:0;animation:draw-strike var(--dur-strike) var(--ease-draw)}.tile.prime{background:var(--tile-prime-bg);border-color:transparent;color:var(--tile-prime-text);font-weight:600;box-shadow:var(--tile-prime-glow);animation:prime-pop var(--dur-pop) var(--ease-pop)}[data-theme=notebook] .tile.prime{border-color:var(--tile-line)}.tile.prime .tile-ring path{stroke-dashoffset:0;animation:draw-strike var(--dur-ring) var(--ease-draw)}.tile.flash{animation:strike-flash var(--dur-strike) ease-out}@keyframes draw-strike{0%{stroke-dashoffset:1}}@keyframes strike-flash{0%{background:var(--flash-bg);color:var(--flash-text);box-shadow:var(--flash-glow);transform:scale(var(--flash-scale))}55%{transform:scale(var(--flash-settle))}}@keyframes prime-pop{0%{transform:scale(1)}45%{transform:scale(var(--pop-peak))}to{transform:scale(1)}}.cursor-ring{position:absolute;top:0;left:0;pointer-events:none;z-index:2;transition:transform var(--dur-move) var(--ease-move),width var(--dur-move) var(--ease-move),height var(--dur-move) var(--ease-move)}.cursor-ring:before{content:"";position:absolute;inset:-3px;border:2px solid var(--cursor-color);border-radius:var(--cursor-radius);box-shadow:var(--cursor-glow);transform:rotate(var(--cursor-tilt))}[data-theme=signal] .cursor-ring:before{animation:cursor-breathe 1.7s ease-in-out infinite}@keyframes cursor-breathe{0%,to{box-shadow:0 0 14px var(--accent-glow),inset 0 0 8px rgba(var(--accent-rgb),.22)}50%{box-shadow:0 0 5px rgba(var(--accent-rgb),.2),inset 0 0 3px rgba(var(--accent-rgb),.1)}}.search{position:relative;margin-top:1.25rem}.chart{padding-top:2.9rem}.plot{position:relative;display:flex;align-items:flex-end;gap:2px;height:clamp(170px,23vh,232px)}.plot:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--line-strong)}.bar{position:relative;flex:1 1 0;min-width:0;height:calc(var(--h, 0) * 1%);background:var(--bar-bg);border:var(--bar-outline);border-bottom:none;border-radius:var(--bar-radius);box-shadow:var(--bar-shadow);transform-origin:bottom;animation:bar-rise var(--dur-pop) var(--ease-pop) both;animation-delay:var(--rise-delay, 0ms)}@keyframes bar-rise{0%{transform:scaleY(0)}}.bar.probe{background:var(--bar-probe-bg);box-shadow:var(--bar-probe-shadow)}.bar.dead{opacity:var(--bar-dead-opacity);filter:var(--bar-dead-filter);transform:translateY(var(--bar-dead-shift));animation:bar-die var(--dur-move) var(--ease-move) both;animation-delay:var(--die-delay, 0ms)}@keyframes bar-die{0%{opacity:1;filter:none;transform:none}}.bar.found{background:var(--bar-found-bg);box-shadow:var(--bar-found-shadow);animation:prime-pop var(--dur-pop) var(--ease-pop)}.bar-scratch,.bar-ring{position:absolute;pointer-events:none}.bar-scratch{inset:0;width:100%;height:100%}.bar-ring{top:-14px;left:50%;width:26px;height:26px;transform:translate(-50%)}.bar-scratch path,.bar-ring path{fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.bar-scratch path{stroke:var(--scratch-ink);stroke-width:1.4px;opacity:.7}.bar-ring path{stroke:var(--search-ring-ink);stroke-width:1.7px;opacity:.9}.bar-scratch{visibility:hidden;transition:visibility 0s var(--die-delay, 0ms)}.bar-ring{visibility:hidden}[data-theme=notebook] .bar.dead .bar-scratch,[data-theme=notebook] .bar.found .bar-ring{visibility:visible}.bar.dead .bar-scratch path{stroke-dashoffset:0;animation:draw-strike var(--dur-strike) var(--ease-draw) both;animation-delay:var(--die-delay, 0ms)}.bar.found .bar-ring path{stroke-dashoffset:0;animation:draw-strike var(--dur-ring) var(--ease-draw)}.range-note{position:absolute;left:2px;top:-2.1rem;font-family:var(--font-mono);font-size:.68rem;color:var(--text-faint)}.level{position:absolute;left:0;right:0;bottom:calc(var(--ty, 0) * 1%);height:0;visibility:hidden;pointer-events:none;z-index:3;transition:bottom var(--dur-move) var(--ease-move)}.level.on{visibility:visible}.level.miss{opacity:.45}.level:before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--level-line);box-shadow:var(--level-glow);transform-origin:left}[data-theme=notebook] .level:before{visibility:hidden}.level.on:before{animation:level-in var(--dur-strike) var(--ease-draw) both,level-breathe 2.8s ease-in-out .9s infinite}.level-pencil{position:absolute;left:0;top:-4px;width:100%;height:8px}.level-pencil path{fill:none;stroke:var(--level-ink);stroke-width:2px;stroke-dasharray:13 8;stroke-linecap:round}[data-theme=signal] .level-pencil{visibility:hidden}.level.on .level-pencil{animation:level-clip var(--dur-strike) var(--ease-draw) both}@keyframes level-in{0%{transform:scaleX(0)}}@keyframes level-clip{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes level-breathe{0%,to{opacity:1}50%{opacity:.6}}.level-tag{position:absolute;right:6px;bottom:5px;font-family:var(--font-mono);font-size:.72rem;color:var(--level-tag-ink);background:var(--tag-bg);border:1px solid var(--tag-border);border-radius:4px;padding:.1rem .4rem;transform:rotate(var(--tag-tilt))}.probe-tag{position:absolute;left:clamp(3rem,var(--x, 50%),calc(100% - 3rem));bottom:calc(var(--th, 0) * 1% + 12px);transform:translate(-50%) rotate(var(--tag-tilt));font-family:var(--font-mono);font-size:.74rem;color:var(--text);background:var(--tag-bg);border:1px solid var(--tag-border);border-left:2px solid var(--accent);border-radius:5px;padding:.22rem .5rem;white-space:nowrap;z-index:4;transition:left var(--dur-move) var(--ease-move),bottom var(--dur-move) var(--ease-move)}.probe-tag.hit{border-color:var(--accent);color:var(--accent)}.probe-caret{position:absolute;left:var(--x, 50%);bottom:-1.55rem;width:22px;height:13px;transform:translate(-50%);z-index:4;filter:var(--caret-glow);transition:left var(--dur-move) var(--ease-move)}.probe-caret svg{display:block;width:100%;height:100%}.probe-caret path{fill:none;stroke:var(--caret-ink);stroke-width:2px;stroke-linecap:round}.rail{position:relative;height:2.6rem}.win{position:absolute;top:1.45rem;height:7px;border-inline:2px solid var(--win-ink);border-bottom:2px solid var(--win-ink);transition:left var(--dur-move) var(--ease-move),width var(--dur-move) var(--ease-move)}.win-lo,.win-hi{position:absolute;top:9px;font-family:var(--font-mono);font-size:.62rem;color:var(--text-faint)}.win-lo{left:0}.win-hi{right:0}.win.tight .win-lo,.win.tight .win-hi{display:none}.sort{position:relative;margin-top:1.25rem}.deck{padding-top:4.6rem}.row{position:relative;height:clamp(170px,23vh,232px)}.row:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--line-strong)}.col{position:absolute;bottom:0;z-index:2;width:calc(100% / var(--n, 10) - 4px);height:calc(var(--h, 0) * 1%);background:var(--col-bg);border:var(--col-outline);border-bottom:none;border-radius:var(--col-radius);box-shadow:var(--col-shadow);transform-origin:bottom;animation:bar-rise var(--dur-pop) var(--ease-pop) both;animation-delay:var(--rise-delay, 0ms);transition:left var(--dur-move) var(--ease-move),bottom var(--dur-move) var(--ease-move),box-shadow .2s ease}.col.sorted{background:var(--col-sorted-bg);box-shadow:var(--col-sorted-shadow)}.col.cmp{box-shadow:var(--col-cmp-cap),var(--col-cmp-shadow)}.col.key{bottom:var(--lift);z-index:5;background:var(--col-key-bg);border:var(--col-key-outline);border-bottom:none;box-shadow:var(--col-key-shadow)}.col.placed{animation:prime-pop var(--dur-pop) var(--ease-pop)}.col.shifting{animation:shift-smear var(--dur-move) var(--ease-move)}@keyframes shift-smear{0%{box-shadow:-18px 0 22px -8px var(--smear-glow)}60%{box-shadow:-6px 0 14px -6px var(--smear-glow)}}.col-arrow{position:absolute;top:-15px;left:50%;width:22px;height:12px;transform:translate(-50%);pointer-events:none}.col-arrow path{fill:none;stroke:var(--arrow-ink);stroke-width:1.7px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0}[data-theme=signal] .col-arrow{visibility:hidden}.col.shifting .col-arrow path{animation:arrow-flick var(--dur-strike) var(--ease-draw)}@keyframes arrow-flick{0%{stroke-dashoffset:1;opacity:1}55%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.hole{position:absolute;bottom:0;z-index:1;width:calc(100% / var(--n, 10) - 4px);height:var(--socket);background:var(--hole-bg);border:var(--hole-line);border-bottom:none;border-radius:var(--col-radius);pointer-events:none;transition:left var(--dur-move) var(--ease-move)}.guide{position:absolute;z-index:4;height:3px;margin-bottom:-1px;width:calc(100% / var(--n, 10) - 4px);background:var(--guide-line);box-shadow:var(--guide-glow);pointer-events:none;transition:left var(--dur-move) var(--ease-move),bottom var(--dur-move) var(--ease-move)}.guide:after{content:"";position:absolute;right:-1px;top:-4px;width:3px;height:11px;background:var(--guide-tick)}.guide.stop{background:var(--guide-stop-line)}.key-tag{position:absolute;top:-3.9rem;left:clamp(3rem,var(--x, 50%),calc(100% - 3rem));transform:translate(-50%) rotate(var(--tag-tilt));z-index:6;font-family:var(--font-mono);font-size:.74rem;color:var(--text);background:var(--tag-bg);border:1px solid var(--tag-border);border-left:2px solid var(--accent);border-radius:5px;padding:.22rem .5rem;white-space:nowrap;transition:left var(--dur-move) var(--ease-move)}.band{position:absolute;left:0;top:0;bottom:0;z-index:0;background:var(--band-wash);pointer-events:none;transition:width var(--dur-move) var(--ease-move)}.band:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:var(--band-rail-ink);box-shadow:var(--band-rail-glow)}.seam{position:absolute;top:0;bottom:-6px;z-index:1;width:2px;background:var(--seam-line);box-shadow:var(--seam-glow);pointer-events:none;transition:left var(--dur-move) var(--ease-move)}.legend{position:relative;height:1.9rem;padding-top:.55rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--text-faint);visibility:hidden}.legend.on{visibility:visible}.legend-lo,.legend-hi{position:absolute}.legend-lo{left:0;color:var(--accent)}.legend-hi{right:0}.legend.done .legend-hi{visibility:hidden}.merge{position:relative;margin-top:1.25rem}.lane-cap{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:1.15rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--text-faint)}.merge>.lane-cap:first-child{margin-bottom:.35rem}.merge>.legend{margin-top:.5rem}.lane-cap .keys{display:inline-flex;align-items:center;gap:.3rem;visibility:hidden}.legend.on .keys{visibility:visible}.legend.done .keys{visibility:hidden}.sw{display:inline-block;width:.62rem;height:.62rem;border-radius:2px}.sw+.sw{margin-left:.55rem}.sw-a{background:var(--accent)}.sw-b{background:transparent;border:1.5px solid var(--accent)}.lanes{position:relative}.lane{position:relative;height:var(--lane-h);transition:height var(--dur-move) var(--ease-move)}.lane:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--lane-rule)}.gap{position:relative;height:var(--gap-h);transition:height var(--dur-move) var(--ease-move)}.merge.solo .lane-src{height:calc(2 * var(--lane-h) + var(--gap-h))}.merge.solo .gap,.merge.solo .lane-out{height:0;overflow:hidden}.merge.solo .lane-out:after,.merge.solo .cap-out{visibility:hidden}.mcol{position:absolute;bottom:0;z-index:2;width:calc(100% / var(--n, 10) - 4px);height:calc(var(--h, 0) * 1%);background:var(--mcol-bg);border:var(--mcol-outline);border-bottom:none;border-radius:var(--col-radius);box-shadow:var(--mcol-shadow);transform-origin:bottom}.lane-out .mcol:not(.filled){visibility:hidden}.mcol.run-a,.mcol.from-a,.mcol.sorted{background:var(--mcol-a-bg);box-shadow:var(--mcol-a-shadow)}.mcol.run-b,.mcol.from-b{background:var(--mcol-b-bg);border:var(--mcol-b-outline);border-bottom:none;box-shadow:var(--mcol-b-shadow)}.mcol.spent{opacity:var(--mcol-spent-opacity);filter:var(--mcol-spent-filter)}.mcol.rising{animation:bar-rise var(--dur-pop) var(--ease-pop) both;animation-delay:var(--rise-delay, 0ms)}.mcol.landing{animation:mcol-land var(--dur-pop) var(--ease-pop)}@keyframes mcol-land{0%{transform:translateY(calc(-1 * (var(--lane-h) + var(--gap-h))));opacity:0}}.mcol.settling{animation:mcol-settle var(--dur-pop) var(--ease-pop) both;animation-delay:var(--rise-delay, 0ms)}@keyframes mcol-settle{0%{transform:translateY(calc(var(--lane-h) + var(--gap-h)));opacity:0}}.seams{position:absolute;inset:0;z-index:1;pointer-events:none}.seam-mark{position:absolute;top:0;bottom:-4px;width:0;border-left:var(--seam-mark-line)}.mcursor{position:absolute;z-index:4;width:8px;height:8px;filter:var(--cursor-glow-drop);transition:left var(--dur-move) var(--ease-move)}.mcursor.up{top:5px;transform:translate(-50%) rotate(45deg)}.cur-a{background:var(--cursor-a-ink)}.cur-b{background:transparent;border:1.5px solid var(--cursor-b-ink)}.mcursor.down{bottom:4px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--cursor-w-ink);transform:translate(-50%)}.chute{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}.chute path{fill:none;stroke:var(--chute-ink);stroke-width:var(--chute-width);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;filter:var(--chute-drop)}.chute.on path{animation:chute-draw var(--dur-strike) var(--ease-draw)}@keyframes chute-draw{0%{stroke-dashoffset:1;opacity:1}55%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.wipe{position:absolute;top:0;bottom:0;left:0;z-index:6;width:26%;background:var(--wipe-bg);opacity:0;pointer-events:none}.wipe.on{animation:lane-wipe .64s var(--ease-move)}@keyframes lane-wipe{0%{transform:translate(-110%);opacity:1}to{transform:translate(420%);opacity:0}}.readout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-top:1.1rem;min-height:2.1rem}.status{font-family:var(--font-mono);font-size:.8rem;color:var(--text-soft)}.count-chip{display:inline-block;font-family:var(--font-mono);font-size:.8rem;color:var(--text);border:1px solid var(--line-strong);border-radius:999px;padding:.32rem .85rem;transform:rotate(var(--chip-tilt))}[data-theme=notebook] .count-chip{border-radius:4px}.count-chip.final{animation:chip-stamp var(--dur-pop) var(--ease-pop)}[data-theme=signal] .count-chip.final{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);box-shadow:0 0 12px rgba(var(--accent-rgb),.18)}[data-theme=notebook] .count-chip.final{border:2px solid var(--pencil);color:var(--pencil);font-weight:600}@keyframes chip-stamp{0%{transform:rotate(var(--chip-tilt)) scale(1.25);opacity:0}to{transform:rotate(var(--chip-tilt)) scale(1);opacity:1}}.site-footer{border-top:1px solid var(--line);margin-top:1rem}.site-footer p{max-width:1200px;margin-inline:auto;padding:1.05rem 1.5rem;font-family:var(--font-mono);font-size:.74rem;color:var(--text-faint)}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr)}.viz-pane{order:-1}.grid{grid-template-columns:repeat(auto-fill,minmax(2.2rem,1fr))}.chart{padding-top:2.6rem}.plot{height:clamp(150px,26vh,210px)}.sort{--lift: 2.4rem;--socket: 2rem}.deck{padding-top:4.4rem}.row{height:clamp(150px,26vh,210px)}.key-tag{top:-3.4rem}.merge{--lane-h: clamp(72px, 13.5vh, 104px);--gap-h: 2.2rem}}@media(max-width:560px){.algo-picker{order:3;flex-basis:100%}.picker-btn{width:100%;max-width:none;justify-content:space-between}.algo-head{padding-top:1.6rem}}@media(prefers-reduced-motion:reduce){.tile,.btn,a,.switch-opt span,.picker-btn,.picker-chevron,.cursor-ring,.level,.probe-tag,.probe-caret,.win,.bar-scratch,.col,.hole,.guide,.band,.seam,.key-tag,.mcol,.mcursor,.lane,.gap{transition:none}.tile.flash,.tile.prime,.tile.struck .tile-strike path,.tile.prime .tile-ring path,.count-chip.final,.picker-list,.bar,.bar.dead,.bar.found,.bar.dead .bar-scratch path,.bar.found .bar-ring path,.level.on:before,.level.on .level-pencil,.col,.col.placed,.col.shifting,.col.shifting .col-arrow path,.mcol,.mcol.rising,.mcol.landing,.mcol.settling,.chute.on path,.wipe.on{animation:none}[data-theme=signal] .cursor-ring:before{animation:none}}
