.snk{display:grid;grid-template-columns:minmax(0,var(--game-width)) minmax(16rem,22rem);align-items:start;gap:var(--space-6);margin:0 0 var(--space-6);user-select:none;-webkit-user-select:none}.snk .snk-play{min-width:0}.snk .lb.lb-board{margin:0}@media(max-width:859px){.snk{grid-template-columns:minmax(0,var(--game-width))}}.snk .snk-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.snk .snk-scores{display:flex;gap:var(--space-2)}.snk .snk-score{min-width:5rem;margin:0;padding:.375rem var(--space-3);border-radius:var(--radius-md);background:var(--wash);line-height:1.2;text-align:center}.snk .snk-time{min-width:7.25rem}.snk .snk-label{display:block;color:var(--muted);font-size:var(--text-xs);font-weight:650}.snk .snk-score strong{font-size:var(--text-md);font-weight:800;font-variant-numeric:tabular-nums}.snk .button{color:var(--ink);cursor:pointer}.snk .snk-board{position:relative;padding:2.5%;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--lane-games) 20%,var(--surface));touch-action:none}.snk .snk-board:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.snk .snk-field{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-md);background:color-mix(in srgb,var(--lane-games) 8%,var(--surface))}.snk .snk-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--size),1fr);grid-template-rows:repeat(var(--size),1fr)}.snk .snk-grid i{margin:7%;border-radius:30%;background:color-mix(in srgb,var(--lane-games) 14%,var(--surface))}.snk .snk-part,.snk .snk-food{position:absolute;top:0;left:0;width:calc(100% / var(--size));aspect-ratio:1;transform:translate(calc(var(--x) * 100%),calc(var(--y) * 100%))}.snk .snk-part:before{content:"";position:absolute;inset:7%;border-radius:30%;background:color-mix(in srgb,var(--lane-games) 70%,var(--surface))}.snk .snk-part.is-head{z-index:1}.snk .snk-part.is-head:before{inset:2%;border-radius:36%;background:var(--lane-games)}.snk .snk-eyes{position:absolute;inset:0}.snk [data-dir=down] .snk-eyes{transform:rotate(90deg)}.snk [data-dir=left] .snk-eyes{transform:rotate(180deg)}.snk [data-dir=up] .snk-eyes{transform:rotate(-90deg)}.snk .snk-eyes i{position:absolute;right:22%;width:18%;aspect-ratio:1;border-radius:50%;background:var(--surface)}.snk .snk-eyes i:first-child{top:22%}.snk .snk-eyes i:last-child{bottom:22%}.snk .snk-food:before{content:"";position:absolute;inset:24%;border-radius:50%;background:var(--ink);animation:snk-pulse .9s ease-in-out infinite alternate}.snk .snk-food.is-new:before{animation:snk-appear .22s ease-out,snk-pulse .9s ease-in-out .22s infinite alternate}.snk .snk-food[hidden]{display:none}.snk .is-crashed .is-head{animation:snk-shake .38s ease-in-out}.snk .snk-hint{position:absolute;top:22%;right:0;left:0;margin:0;color:var(--ink);font-weight:700;text-align:center;pointer-events:none}.snk .snk-hint[hidden]{display:none}.snk .snk-message{position:absolute;inset:0;z-index:3;display:grid;place-content:center;justify-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 84%,transparent);text-align:center;animation:snk-fade .3s ease both}.snk .snk-message[hidden]{display:none}.snk .snk-message p{margin:0;font-size:var(--text-xl);font-weight:800;letter-spacing:-.02em}.snk .snk-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.snk .snk-controls{display:flex;align-items:center;gap:var(--space-3)}.snk .snk-mode{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:650;cursor:pointer}.snk .snk-mode input{width:1.125rem;height:1.125rem;margin:0;accent-color:var(--lane-games);cursor:inherit}.snk .snk-mode:has(input:disabled){color:var(--muted);cursor:not-allowed}.snk .snk-help{margin:var(--space-3) 0 0;color:var(--muted);font-size:var(--text-sm);text-align:center}@keyframes snk-pulse{0%{transform:scale(.86)}to{transform:scale(1.04)}}@keyframes snk-appear{0%{transform:scale(0)}}@keyframes snk-shake{20%{translate:-6% 0}40%{translate:6% 0}60%{translate:-4% 0}80%{translate:3% 0}}@keyframes snk-fade{0%{opacity:0}}
