.game-art--ball-sort,.ball-sort-preview{--art-text: var(--sketch-ink, #3d403a);--art-muted: var(--sketch-muted, #6d7464);--art-focus: #456f73;--bs-ball: clamp(34px, calc((100vw - 32px)/4 - 24px) , 46px);color:var(--sketch-ink, #3d403a);background-color:var(--sketch-paper, #fafafa);background-image:var( --sketch-grid, repeating-linear-gradient( to bottom, transparent 0 21px, rgb(61 61 61 / 7%) 21px 22px ) )}.game-art--ball-sort{position:relative}@media(min-width:1024px){.game-art--ball-sort{--bs-ball: clamp(46px, 5.2vw, 66px)}}.ball-sort-preview{--bs-ball: 30px}:is(.game-art--ball-sort,.ball-sort-preview){--bs-slot: calc(var(--bs-ball) + 4px);--bs-tube-w: calc(var(--bs-ball) + 16px);--bs-cell: calc(var(--bs-ball) + 44px)}.game-art--ball-sort .ball-sort-board{padding:4px 0 12px;max-width:calc(var(--bs-cols-phone, 4) * var(--bs-cell))}@media(min-width:1024px){.game-art--ball-sort .ball-sort-board{padding:16px 0}}@media(min-width:640px){.game-art--ball-sort .ball-sort-board{max-width:calc(var(--bs-cols, 4) * var(--bs-cell))}}.game-art--ball-sort .bs-tube-button{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;padding:calc(var(--bs-slot) + 6px) 0 0;border:0;background:none;color:inherit;cursor:pointer;outline:none;touch-action:manipulation}.game-art--ball-sort .bs-tube-button:disabled{cursor:default}.game-art--ball-sort .bs-tube-button:focus-visible{z-index:1;border-radius:14px;outline:3px solid var(--art-focus);outline-offset:2px}:is(.game-art--ball-sort,.ball-sort-preview) .bs-tube{--lift: calc( (var(--bs-rows, 4) - var(--bs-fill, 0)) * var(--bs-slot) + var(--bs-ball) + 8px );position:relative;display:block;flex:none;width:var(--bs-tube-w);height:calc(var(--bs-rows, 4) * var(--bs-slot) + 22px)}:is(.game-art--ball-sort,.ball-sort-preview) .bs-glass{position:absolute;inset:0 2px;border:0;border-right:1.75px solid var(--sketch-ink, #3d403a);border-bottom:1.75px solid var(--sketch-ink, #3d403a);border-left:1.75px solid var(--sketch-ink, #3d403a);border-radius:0 0 16px 16px;background:none;transition:border-color .16s ease}:is(.game-art--ball-sort,.ball-sort-preview) .bs-balls{position:absolute;left:0;right:0;bottom:8px;display:flex;flex-direction:column-reverse;align-items:center}:is(.game-art--ball-sort,.ball-sort-preview) .bs-slot{display:flex;align-items:center;justify-content:center;width:100%;height:var(--bs-slot)}:is(.game-art--ball-sort,.ball-sort-preview) .bs-shine{position:absolute;inset:4px 5.5px 3.5px;pointer-events:none}:is(.game-art--ball-sort,.ball-sort-preview) .bs-shine:before{content:"";position:absolute;inset:0;border-right:1px solid rgb(61 64 58 / 17%);border-bottom:1px solid rgb(61 64 58 / 17%);border-left:1px solid rgb(61 64 58 / 17%);border-radius:0 0 12.5px 12.5px}:is(.game-art--ball-sort,.ball-sort-preview) .bs-base{position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--bs-tube-w) + 4px);height:28px;margin-top:4px;border:1px solid rgb(61 64 58 / 72%);border-radius:2px;background:var(--sketch-paper, #fafafa)}.bs-number{font-family:var(--font-mono);font-size:var(--art-fs-label);font-weight:500;line-height:1;font-variant-numeric:tabular-nums;color:var(--sketch-muted, #6d7464)}.game-art--ball-sort .bs-status{display:block;min-height:24px;font-family:var(--font-sans);font-size:var(--art-fs-body);font-weight:400;line-height:1.5;color:var(--art-text)}.game-art--ball-sort .bs-tube-button:hover:not(:disabled) .bs-tube:not([data-selected]) .bs-glass{border-color:#648993}.game-art--ball-sort .bs-tube[data-selected] .bs-glass{border-color:#456f73;border-width:0 2.5px 2.5px;outline:none}.game-art--ball-sort .bs-tube[data-selected] .bs-shine,.game-art--ball-sort .bs-tube-button[data-legal-target] .bs-shine{inset:4px 6.5px 4.5px}.game-art--ball-sort .bs-tube[data-selected] .bs-shine:before,.game-art--ball-sort .bs-tube-button[data-legal-target] .bs-shine:before{border-radius:0 0 11.5px 11.5px}.game-art--ball-sort .bs-tube-button[data-legal-target]:before{content:"↓";position:absolute;top:0;left:50%;display:grid;width:24px;height:var(--bs-slot);place-items:center;color:#456f73;font-size:var(--art-fs-value);font-weight:700;line-height:1;pointer-events:none;transform:translate(-50%)}.game-art--ball-sort .bs-tube-button[data-legal-target] .bs-glass{border-color:#648993;border-style:dashed;border-width:0 2.5px 2.5px;outline:none}.game-art--ball-sort .bs-tube-button[aria-pressed=true] .bs-number{color:#456f73;font-weight:700}:is(.game-art--ball-sort,.ball-sort-preview) .ball-sort-orb{position:relative;display:grid;flex:none;place-items:center;width:var(--bs-ball);height:var(--bs-ball)}:is(.game-art--ball-sort,.ball-sort-preview) .ball-sort-relief{position:relative;display:block;width:100%;height:100%;overflow:visible}.game-art--ball-sort .ball-sort-orb{transition:transform .19s cubic-bezier(.3,1.5,.5,1)}.game-art--ball-sort .ball-sort-orb.is-lifted{z-index:3;transform:translateY(calc(var(--lift) * -1))}.game-art--ball-sort .ball-sort-orb[data-landing]{z-index:6;animation:bs-land .4s both}@keyframes bs-land{0%{transform:translate(var(--fx, 0),var(--fy, 0));animation-timing-function:cubic-bezier(.4,0,.2,1)}38%{transform:translateY(calc(var(--lift) * -1));animation-timing-function:cubic-bezier(.5,0,1,.6)}70%{transform:translate(0);animation-timing-function:ease-out}84%{transform:translateY(-6px);animation-timing-function:ease-in}to{transform:translate(0)}}.game-art--ball-sort .bs-tube[data-shake]{animation:bs-shake .34s ease-in-out}@keyframes bs-shake{0%,to{transform:translate(0)}18%{transform:translate(-6px) rotate(-1.5deg)}38%{transform:translate(6px) rotate(1.5deg)}58%{transform:translate(-4px) rotate(-1deg)}78%{transform:translate(3px) rotate(.6deg)}}.game-art--ball-sort .bs-stopper{position:absolute;z-index:4;top:-13px;left:0;right:0;height:15px;border:1px solid var(--sketch-ink, #3d403a);border-radius:3px;background:var(--sketch-paper, #fafafa);animation:bs-stopper .36s cubic-bezier(.3,1.6,.5,1) .12s both}.game-art--ball-sort .bs-stopper:before{content:"";position:absolute;top:2px;left:50%;width:7px;height:4px;margin-left:-3.5px;border-bottom:1.5px solid #456f73;border-left:1.5px solid #456f73;transform:rotate(-45deg)}@keyframes bs-stopper{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}.game-art--ball-sort .bs-win{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#fafafad1;animation:bs-win-fade .38s ease-out .65s both}.game-art--ball-sort .bs-win-card{min-width:240px;max-width:320px;padding:20px 24px 22px;border:1.5px solid var(--sketch-ink, #3d403a);border-radius:3px;background:var(--sketch-paper, #fafafa);color:var(--sketch-ink, #3d403a);text-align:center;animation:bs-win-pop .48s cubic-bezier(.3,1.5,.5,1) .65s both}@keyframes bs-win-fade{0%{opacity:0}}@keyframes bs-win-pop{0%{opacity:0;transform:translateY(14px) scale(.92)}}.game-art--ball-sort .bs-win-title{margin:0;font-family:var(--font-sans);font-size:var(--art-fs-title);font-weight:600;line-height:1.2;color:var(--art-text)}.game-art--ball-sort .bs-win-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0;padding:10px 0;border-block:1px solid rgb(61 64 58 / 34%)}.game-art--ball-sort .bs-win-stats dt{font-family:var(--font-sans);font-size:var(--art-fs-label);font-weight:500;line-height:1.35;color:var(--art-muted)}.game-art--ball-sort .bs-win-stats dd{margin:2px 0 0;font-family:var(--font-mono);font-size:var(--art-fs-value);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--art-text)}.game-art--ball-sort .bs-win-badge{display:inline-block;margin-top:10px;padding:2px 10px;border:1px solid #c1a460;border-radius:2px;background:#f3eddf;color:var(--sketch-ink, #3d403a);font-family:var(--font-sans);font-size:var(--art-fs-label);font-weight:600;line-height:1.35}.game-art--ball-sort .bs-win-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}.game-art--ball-sort .bs-win-actions button{font-family:var(--font-sans);font-size:var(--art-fs-action);font-weight:600;line-height:1.2;border:1px solid var(--sketch-ink, #3d403a);border-radius:2px;background:var(--sketch-ink, #3d403a);color:var(--sketch-paper, #fafafa)}.game-art--ball-sort .bs-win-actions button:hover:not(:disabled){background:#6d7464}.game-art--ball-sort .bs-win-actions button+button{border-color:var(--sketch-ink, #3d403a);background:var(--sketch-paper, #fafafa);color:var(--sketch-ink, #3d403a)}.game-art--ball-sort .bs-win-actions button+button:hover:not(:disabled){background:var(--sketch-ground)}@media(min-width:1024px){.game-art--ball-sort .bs-win{place-items:end center;padding:0 16px 28px;background:none;pointer-events:none}.game-art--ball-sort .bs-win-card{display:flex;align-items:center;gap:22px;min-width:0;max-width:none;padding:10px 12px 10px 24px;border-radius:3px;pointer-events:auto}.game-art--ball-sort .bs-win-stats{display:flex;gap:22px;margin:0;padding:0 22px;border-block:0;border-inline:1px solid rgb(61 64 58 / 34%)}.game-art--ball-sort .bs-win-badge{margin:0}.game-art--ball-sort .bs-win-actions{flex-wrap:nowrap;margin:0}}@media(prefers-reduced-motion:reduce){.game-art--ball-sort .ball-sort-orb,.game-art--ball-sort .ball-sort-orb[data-landing],.game-art--ball-sort .bs-glass,.game-art--ball-sort .bs-tube[data-shake],.game-art--ball-sort .bs-stopper,.game-art--ball-sort .bs-win,.game-art--ball-sort .bs-win-card{animation:none;transition:none}}.ball-sort-preview{display:flex;justify-content:center;padding:28px 0 14px;--bs-rows: 3}.ball-sort-preview .bs-preview-cell{display:flex;flex-direction:column;align-items:center;width:var(--bs-cell);padding-top:calc(var(--bs-slot) / 2)}
