#word-search-progress{display:block;flex-shrink:0;width:min(100%,420px);text-align:center;font-size:12px;line-height:1.4;font-weight:800;color:var(--theme-color);font-variant-numeric:tabular-nums}
.word-search-words{flex-shrink:0;min-height:16px;align-content:flex-start}
.word-search-grid.disabled{opacity:1}
.word-search-grid .word-search-cell{transition:none;letter-spacing:0}
.word-search-grid .word-search-cell.preview{border-color:var(--theme-color);background:color-mix(in srgb,var(--theme-color) 32%,#0a0f14)}
.word-search-grid .ws-discovered{animation:ws-letter-wave 180ms ease-out both;animation-delay:calc(var(--ws-step,0)*35ms)}
.word-search-words span.ws-word-discovered{background:linear-gradient(110deg,#fff 30%,var(--found-colour,var(--theme-color)) 50%,#fff 70%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none;animation:ws-word-sweep 340ms ease-out}
.ws-progress-pop{animation:ws-progress-pop 240ms ease-out}
@keyframes ws-letter-wave{0%{transform:translateY(-3px);filter:brightness(1.18)}65%{transform:translateY(.5px);filter:brightness(1.04)}100%{transform:translateY(0);filter:brightness(1)}}
@keyframes ws-word-sweep{from{background-position:100% 0}to{background-position:0% 0}}
@keyframes ws-progress-pop{0%,100%{filter:brightness(1)}45%{filter:brightness(1.4)}}
@media(prefers-reduced-motion:reduce){
 .word-search-grid .ws-discovered,.word-search-words span.ws-word-discovered,.ws-progress-pop{animation:none}
 .word-search-words span.ws-word-discovered{background:none;-webkit-text-fill-color:currentColor;text-decoration:line-through}
}
