.sinks{flex-direction:column;align-items:center;gap:10px;padding:6px 14px 10px;display:flex}.boxes{justify-content:center;gap:9px;display:flex}.box{width:var(--box-size,60px);height:var(--box-size,60px);background:linear-gradient(160deg, var(--box,#444) 0%, var(--box-edge,#222) 100%);box-shadow:inset 0 1px 0 #ffffff47, 0 2px 5px var(--shadow);border-radius:13px;justify-content:center;align-items:center;gap:5px;padding:7px;transition:transform .18s cubic-bezier(.3,1.3,.5,1);display:flex}.box.is-closed{background:var(--glass);box-shadow:none;opacity:.35}.hole{aspect-ratio:1;background:#00000052;border-radius:50%;place-items:center;width:25%;display:grid;box-shadow:inset 0 1px 2px #00000080}.hole.is-filled{background:radial-gradient(circle at 34% 28%,#f2f5fb 0%,#b9c3d4 100%);animation:.28s cubic-bezier(.3,1.5,.5,1) both hole-pop;box-shadow:inset 0 -1px 2px #0000004d,0 0 0 1px #0003}.hole.is-filled .screw-slot:before,.hole.is-filled .screw-slot:after{box-shadow:none;background:#00000057}@keyframes hole-pop{0%{transform:scale(.4)}}.box-complete{animation:.34s both box-clear}@keyframes box-clear{40%{transform:scale(1.12)}to{transform:scale(1)}}.queue{min-height:var(--queue-chip,18px);justify-content:center;align-items:center;gap:6px;display:flex}.queue[hidden]{display:none}.queue-chip{width:var(--queue-chip,18px);height:var(--queue-chip,18px);background:radial-gradient(circle at 34% 30%, var(--head) 0%, var(--head-edge) 100%);box-shadow:0 1px 2px var(--shadow);opacity:calc(1 - var(--queue-rank,0) * .22);transform:scale(calc(1 - var(--queue-rank,0) * .08));border-radius:50%;place-items:center;display:grid}.queue-chip.is-unknown{background:var(--glass);box-shadow:none;opacity:.3;transform:scale(.6)}.queue .screw-glyph,.queue .screw-slot{transform:scale(.7)}.tray{background:var(--glass);border-radius:999px;justify-content:center;gap:7px;padding:5px 9px;transition:background .2s,box-shadow .2s;display:flex}.tray.is-critical{background:color-mix(in srgb, var(--danger) 22%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--danger) 45%, transparent)}.tray.is-overflowed{animation:.42s ease-in-out 2 both tray-overflow}@keyframes tray-overflow{0%,to{background:color-mix(in srgb, var(--danger) 22%, transparent);transform:translate(0)}25%{transform:translate(-5px)}50%{background:color-mix(in srgb, var(--danger) 62%, transparent)}75%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.tray.is-overflowed{background:color-mix(in srgb, var(--danger) 62%, transparent);animation:none}}.tray-slot{width:var(--tray-slot,24px);height:var(--tray-slot,24px);background:#00000042;border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 1px 2px #0006}.tray-slot.is-filled{background:radial-gradient(circle at 34% 30%, var(--head) 0%, var(--head-edge) 100%);box-shadow:inset 0 -1px 2px #0000004d, 0 1px 2px var(--shadow);animation:.28s cubic-bezier(.3,1.5,.5,1) both hole-pop}.structure{width:calc(var(--cell,34px) * var(--grid-w,8));height:calc(var(--cell,34px) * var(--grid-h,10));isolation:isolate;margin:auto;position:relative}.structure.is-celebrating{animation:.7s both structure-cheer}@keyframes structure-cheer{40%{transform:scale(1.04)rotate(-1.5deg)}}.plate{left:calc(var(--px) * var(--cell,34px));top:calc(var(--py) * var(--cell,34px));width:calc(var(--pw) * var(--cell,34px));height:calc(var(--ph) * var(--cell,34px));background:linear-gradient(150deg, var(--plate-a) 0%, var(--plate-b) 100%);border-radius:9px;position:absolute;box-shadow:inset 0 0 0 1.5px #ffffff38,inset 0 -3px 6px #00000047,0 4px 10px #0308128c}.plate[data-tone="0"]{--plate-a:#5d6c88;--plate-b:#3e4a60}.plate[data-tone="1"]{--plate-a:#8492ac;--plate-b:#63718b}.plate[data-tone="2"]{--plate-a:#6d7c98;--plate-b:#4d5a72}.plate[data-tone="3"]{--plate-a:#9aa7c0;--plate-b:#77849e}:root[data-theme=light] .plate[data-tone="0"]{--plate-a:#cdd6e6;--plate-b:#aab6cc}:root[data-theme=light] .plate[data-tone="1"]{--plate-a:#d8e0ee;--plate-b:#b7c2d6}:root[data-theme=light] .plate[data-tone="2"]{--plate-a:#c3ccdf;--plate-b:#a1aec6}:root[data-theme=light] .plate[data-tone="3"]{--plate-a:#e0e7f2;--plate-b:#c0cadd}.plate.is-falling{pointer-events:none;animation:.46s cubic-bezier(.5,0,.75,.4) both plate-fall}@keyframes plate-fall{to{transform:translate(var(--fall-drift,0), 120vh) rotate(var(--fall-spin,25deg));opacity:0}}.plate.is-down{display:none}.screw{left:calc((var(--sx) + .5) * var(--cell,34px));top:calc((var(--sy) + .5) * var(--cell,34px));width:var(--screw-size,26px);height:var(--screw-size,26px);margin-left:calc(var(--screw-size,26px) / -2);margin-top:calc(var(--screw-size,26px) / -2);background:radial-gradient(circle at 34% 28%, var(--head,#ccc) 0%, var(--head-edge,#888) 100%);border-radius:50%;place-items:center;padding:0;transition:transform .14s;display:grid;position:absolute;box-shadow:inset 0 -1px 2px #00000052,0 1px 3px #0006}.screw:active:not(:disabled){transform:scale(.86)}.screw.is-buried{pointer-events:none}.screw.is-gone{display:none}.screw-slot{width:56%;height:56%;position:relative}.screw-slot:before,.screw-slot:after{content:"";background:#0000006b;border-radius:2px;margin:auto;position:absolute;inset:0;box-shadow:0 1px #fff3}.screw-slot:before{width:100%;height:2.5px}.screw-slot:after{width:2.5px;height:100%}.screw-glyph{fill:#ffffffe0;filter:drop-shadow(0 1px 1px #00000059);width:58%;height:58%}.screw.is-rejected{animation:.32s ease-in-out both screw-shake}@keyframes screw-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)rotate(-12deg)}60%{transform:translate(4px)rotate(12deg)}}.screw.is-hinted{animation:.7s ease-in-out 2 both screw-hint}@keyframes screw-hint{50%{box-shadow:0 0 0 4px var(--accent-soft), 0 0 0 2px var(--accent), 0 1px 3px #0006;transform:scale(1.16)}}.screw-flight{z-index:40;background:radial-gradient(circle at 34% 28%, var(--head) 0%, var(--head-edge) 100%);pointer-events:none;border-radius:50%;transition:transform .34s cubic-bezier(.4,0,.5,1),opacity .34s;position:fixed;box-shadow:0 2px 8px #00000073}.board-note{color:var(--text-dim);place-items:center;font-size:.86rem;display:grid}.win-title,.lose-title{text-align:center;margin:0 0 6px;font-size:1.6rem}.lose-title{color:var(--danger)}
