:root{color:#f3f5f7;background:#0e1013;color-scheme:dark;font-family:Avenir Next,Segoe UI,sans-serif;line-height:1.45}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 5.5rem)}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:radial-gradient(900px 420px at 0% -10%,rgba(233,220,0,.08),transparent 55%),radial-gradient(800px 380px at 100% 0%,rgba(1,143,214,.1),transparent 50%),#0e1013}body,button,input,select{font:inherit}#root{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:max(32px,env(safe-area-inset-top,0px)) 0 calc(80px + env(safe-area-inset-bottom,0px))}.top h1{margin:0;font-size:3rem;letter-spacing:-.04em;font-weight:650}.eyebrow{margin:0 0 4px;color:#a8b0ba;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}.lede{max-width:62ch;color:#d5dbe3;margin:8px 0 0}.legend{margin-top:22px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,#ffffff14,#ffffff08);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff2e}.legend summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-weight:600;list-style:none}.legend summary::-webkit-details-marker{display:none}.legend summary:after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid #a8b0ba;border-bottom:2px solid #a8b0ba;transform:translateY(-2px) rotate(45deg);flex:none}.legend[open] summary:after{transform:translateY(2px) rotate(225deg)}.legend:not([open])>:not(summary){display:none}.legend ul{margin:10px 0 0;padding-left:18px;color:#d5dbe3}.legend li+li{margin-top:6px}.swatches{display:flex;gap:8px}.swatches span{position:relative;overflow:hidden;width:22px;height:22px;border-radius:7px;box-shadow:0 0 0 1px #00000059}.swatches span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2'/%3E%3CfeGaussianBlur stdDeviation='0.4'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E") center / 22px 22px;mix-blend-mode:soft-light;opacity:.4;pointer-events:none}.jump{position:sticky;top:env(safe-area-inset-top,0px);z-index:3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;margin-top:8px;background:#0e1013f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.jump-scroll{display:flex;flex-wrap:wrap;gap:8px}.jump-group{display:inline-flex;align-items:center;gap:0;min-height:44px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:999px;padding:0 14px 0 0;background:#ffffff0a}.jump-check{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;cursor:pointer}.jump-group a{display:inline-flex;align-items:center;align-self:stretch;min-height:44px;color:inherit;text-decoration:none}.jump input{accent-color:var(--accent);width:20px;height:20px;margin:0}.group{margin-top:12px}.group h2{margin:18px 0 12px;color:var(--accent);font-size:1.4rem;letter-spacing:-.03em}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.card{padding:16px;border-radius:20px;background:linear-gradient(180deg,#ffffff13,#ffffff08);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff29;border-top:3px solid var(--accent)}.card-head{display:flex;justify-content:space-between;gap:8px 12px;align-items:baseline;flex-wrap:wrap}.card-head h3{margin:0;font-size:1.15rem}.bar,.hold{margin:0;color:var(--accent);font-weight:600}.diagram{width:min(100%,220px);height:auto;margin:12px 0;background:#101216;border-radius:18px;padding:10px}.moves{margin:0;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:.98rem;letter-spacing:-.01em;overflow-wrap:break-word}.main-alg{display:grid;gap:6px;margin-bottom:12px}.empty{color:#a8b0ba}.cta,button{border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#f3f5f7;border-radius:999px;min-height:44px;padding:10px 14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.cta{width:100%}@media (hover: hover) and (pointer: fine){button:hover,.jump-group:hover{background:#ffffff1f}}button:active:not(:disabled),.jump-group:active,.legend summary:active{background:#ffffff29}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #FFFF3D;outline-offset:2px}button:disabled{opacity:.55;cursor:default}.panel{margin-top:12px;display:grid;gap:12px}.alt,.alg-form,.confirm{padding-top:12px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:8px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.alg-form label,.check{display:grid;gap:4px;color:#a8b0ba;font-size:.86rem}.alg-form input,.alg-form select{width:100%;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#101318;color:#f3f5f7;padding:10px 12px;font-size:16px}.alg-form .check{grid-template-columns:44px 1fr;align-items:center;min-height:44px;color:#f3f5f7;font-size:16px}.alg-form .check input{width:22px;height:22px;min-height:0;align-self:center;justify-self:center}.warn{margin:0;color:#e6b15a}.banner{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#d24b4b29;border:1px solid rgba(210,75,75,.45)}a,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (max-width: 900px){.jump{flex-wrap:nowrap;gap:8px;margin-inline:-16px;padding:8px 16px}.jump-scroll{flex:1;flex-wrap:nowrap;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}.jump-scroll::-webkit-scrollbar{display:none}.jump-group{scroll-snap-align:start}.jump>button{flex:none}.diagram{display:block;width:min(100%,280px);margin:14px auto}.moves{font-size:1.05rem;line-height:1.45}.legend{padding:4px 14px 4px 16px}.legend[open]{padding-bottom:14px}.legend[open] summary{margin-bottom:8px}}@media (min-width: 901px){.legend summary:after{margin-left:10px}}@media (max-width: 640px){#root{padding-top:max(20px,env(safe-area-inset-top,0px));padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}.top h1{font-size:2.4rem}}
