:root{--ink: #1b1b19;--muted: #6a6862;--line: #dcd9cf;--panel: #fffefb;--field: #fbfaf6;--chip: #f0eee6;--page: #f4f2ec;--glow: rgba(24, 95, 165, .07);--sheen: rgba(255, 255, 255, .9);--accent: #185fa5;--accent-ink: #ffffff;--warn: #854f0b;--warn-line: #ef9f27;--warn-page: #faeeda;accent-color:var(--accent);color-scheme:light}:root[data-theme=dark]{--ink: #e7e5de;--muted: #b2afa4;--line: #37362f;--panel: #1c1c1a;--field: #171715;--chip: #23231f;--page: #131312;--glow: rgba(127, 179, 234, .08);--sheen: rgba(255, 255, 255, .05);--accent: #7fb3ea;--accent-ink: #10202f;--warn: #e5b25c;--warn-line: #7a5211;--warn-page: #2a2113;color-scheme:dark}.top{position:relative;margin-bottom:22px;text-align:center}.theme{position:absolute;top:50%;right:0;transform:translateY(-50%);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;padding:0;cursor:pointer}.theme:active:not(:disabled){transform:translateY(-50%)}*{box-sizing:border-box}.hidden{display:none}::selection{background:var(--accent);color:var(--accent-ink)}::placeholder{color:var(--muted);opacity:.75}body{margin:0 auto;padding:26px 22px 72px;max-width:1320px;background:radial-gradient(1100px 540px at 50% -8%,var(--glow),transparent 62%),var(--page);color:var(--ink);font:14px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}code{font:12px ui-monospace,SF Mono,Consolas,monospace;background:var(--chip);padding:1px 4px;border-radius:4px}h1{font-size:26px;font-weight:600;margin:0;padding-bottom:2px;letter-spacing:-.025em;background:linear-gradient(90deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.top:after{content:"";display:block;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:12px auto 0}.note{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);color:var(--muted);border-radius:12px;padding:10px 14px;margin-bottom:16px;font-size:13px;transition:border-color .15s,background .15s,color .15s}.note.bad{border-color:var(--warn-line);border-left:3px solid var(--warn-line);background:var(--warn-page);color:var(--warn)}.note.hidden{display:none}.grid{display:grid;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:18px;align-items:start}@media(max-width:900px){.grid{grid-template-columns:1fr}}@media(min-width:901px){.grid{align-items:stretch}.grid>div{display:flex;flex-direction:column}.panel.grow{display:flex;flex-direction:column;flex:1}.panel.grow>:not(.answers):not(.cases){flex:none}.panel.grow .answers,.panel.grow .cases{flex:1 1 0;min-height:210px;max-height:none}.panel.grow .actions{padding-top:14px}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 16px 18px;box-shadow:inset 0 1px 0 var(--sheen),0 1px 2px #1c1c1a0a;transition:box-shadow .15s,border-color .15s,transform .15s;animation:panelIn .45s ease both}@keyframes panelIn{0%{opacity:0;transform:translateY(5px)}}.panel:nth-of-type(2){animation-delay:.05s}.panel:hover{border-color:color-mix(in srgb,var(--line) 60%,var(--accent));box-shadow:inset 0 1px 0 var(--sheen),0 4px 14px #1c1c1a12;transform:translateY(-1px)}.panel+.panel{margin-top:16px}h2{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid var(--line)}h2:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--accent);margin-right:8px;vertical-align:middle;transform:translateY(-1px)}.subhead{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.subhead:before{content:"";display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--accent);margin-right:7px;vertical-align:middle;transform:translateY(-1px)}label{display:block;margin:14px 0 5px;color:var(--muted);font-size:12.5px}label:first-of-type{margin-top:0}select,input,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink);font:inherit}#definition{flex:1 1 auto;min-height:140px}textarea{resize:vertical;font:13px/1.55 ui-monospace,SF Mono,Consolas,monospace}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}option{background:var(--panel);color:var(--ink)}option:hover{background:color-mix(in srgb,var(--accent) 24%,var(--panel))}option:checked{background:color-mix(in srgb,var(--accent) 42%,var(--panel));font-weight:600}.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-top:14px}.row label{margin-top:0}@media(max-width:560px){.row{grid-template-columns:1fr}}.check{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:13px;margin-top:8px}.check input{width:auto;padding:0;border:none;margin:0}.check label{margin:0}.saver{display:flex;align-items:center;gap:8px;margin-top:14px}.saver.hidden{display:none}.saver>input,.saver>select{flex:1;min-width:0}.saver>button{flex:0 0 auto;padding:8px 12px}.hint{color:var(--muted);font-size:12px;line-height:1.5;margin-top:10px}.tip{position:relative;display:inline-grid;place-items:center;width:16px;height:16px;margin-left:6px;font:700 11px/1 system-ui,sans-serif;font-style:normal;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--panel));border-radius:50%;cursor:help}label:has(.tip){display:inline-flex;align-items:center}.tipbox{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;width:16em;padding:8px 10px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #0000002e;font:400 12.5px/1.55 system-ui,sans-serif;text-align:left;text-transform:none;white-space:pre-line;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .15s,transform .15s,visibility .15s}.tipbox.up{top:auto;bottom:calc(100% + 8px);transform:translateY(3px)}.tip:hover .tipbox,.tip:focus-visible .tipbox{opacity:1;visibility:visible;transform:none}button{padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .12s,color .12s,background .12s}button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #185fa547}button.primary:hover:not(:disabled){color:var(--accent-ink);opacity:.92;box-shadow:0 2px 7px #185fa552}button.primary:active:not(:disabled){transform:translateY(1px);box-shadow:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.actions{display:flex;gap:8px;margin-top:14px}.actions>button{flex:1}.actions+.hint{margin-top:14px}@keyframes fade{0%{opacity:0}}.progress{height:240px;overflow:auto}:is(.progress,.answers):empty:not(.hidden){display:flex;align-items:center;justify-content:center}:is(.progress,.answers):empty:before{color:var(--muted);font-size:12px}.progress:empty:before{content:"No tables yet."}.stage{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--field);animation:fade .25s ease both}.stage+.stage{margin-top:10px}.stage>header{display:flex;align-items:center;gap:8px;padding:7px 11px;background:var(--chip);font-size:12px}.stage .num{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:0 1px 1px #0000002e}.stage .title{font-weight:500}.stage .meta{margin-left:auto;color:var(--muted);font:11.5px ui-monospace,Consolas,monospace}.stage .rows{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 14px;padding:7px 11px 9px}.rec{display:contents;font:11.5px/1.5 ui-monospace,SF Mono,Consolas,monospace;animation:fade .2s ease both}.rec>span{padding:1px 0}.rec .solo{grid-column:1 / -1}.rec .lead{color:var(--muted)}.rec .name{color:var(--ink);word-break:break-word}@media(max-width:620px){.stage .rows{grid-template-columns:1fr;gap:0}.rec>span{padding:0}.rec .name{color:var(--muted)}}.summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px;margin-bottom:12px}.summary:empty{display:none}.summary div{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:7px 10px;background:var(--field);transition:transform .12s,box-shadow .12s}.summary div:hover{transform:translateY(-1px);box-shadow:0 2px 6px #1c1c1a12}.summary span{display:block;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.summary strong{display:block;font-weight:550;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}pre{margin:0;font:11.5px/1.55 ui-monospace,SF Mono,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.answers{max-height:320px;overflow:auto;background:var(--field);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px;padding:10px 12px}.answers:empty:before{content:"No solutions yet."}.more{color:var(--muted);font-size:12px;margin-top:6px;min-height:1.55em}.cases{max-height:320px;overflow:auto;background:var(--field);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:10px}.case-table{width:100%;border-collapse:collapse;font:11.5px/1.5 ui-monospace,SF Mono,Consolas,monospace}.case-table th{position:sticky;top:0;z-index:1;padding:6px 8px;background:var(--chip);color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--line)}.case-table td{padding:5px 8px;vertical-align:top;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.case-table tr:last-child td{border-bottom:none}.case-table tr.bad td{color:var(--warn)}.case-num{width:1%;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.case-scramble{max-width:15em;color:var(--muted);word-break:break-word}.case-best{width:1%;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.case-algs{color:var(--ink);white-space:pre-line;word-break:break-word}:is(.progress,.answers,.cases){scrollbar-width:thin;scrollbar-color:var(--line) transparent}:is(.progress,.answers,.cases)::-webkit-scrollbar{width:9px;height:9px}:is(.progress,.answers,.cases)::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px;border:2px solid var(--panel)}:is(.progress,.answers,.cases)::-webkit-scrollbar-track{background:transparent}input[type=number]{font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}@media(prefers-reduced-motion:reduce){.panel,.stage,.rec{animation:none;transition:none}button,.summary div{transition:none}button.primary:active:not(:disabled),.summary div:hover,.panel:hover{transform:none}}.footer{margin-top:34px;padding-top:22px;color:var(--muted);text-align:center}.footer-rule{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.credits{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 1.2em;margin:0;padding:12px 0 0;list-style:none;font-size:12.5px}.credits a{color:var(--muted);text-decoration:none;transition:color .15s}.credits a:hover{color:var(--accent)}
