/* Daily Word Search */
.ws-theme { font: 800 18px var(--display); text-align: center; flex: 1; }
.ws-board { position: relative; width: min(100%, 560px); margin: 8px auto 0; padding: 10px; border-radius: 22px; background: var(--glass-strong); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); touch-action: none; }
.ws-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(var(--n), 1fr); user-select: none; -webkit-user-select: none; }
.ws-cell { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; font: 800 clamp(13px, 3.6vw, 22px) var(--display); color: var(--text); cursor: pointer; border-radius: 50%; transition: transform .1s, color .2s; }
.ws-cell.sel { background: rgba(245, 197, 66, .55); transform: scale(1.12); }
.ws-cell.found { color: var(--text); }
.ws-marks { position: absolute; inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); z-index: 0; pointer-events: none; }
.ws-marks line.fresh { animation: ws-draw .45s ease-out; }
@keyframes ws-draw { from { stroke-width: 0; } }
.ws-words { list-style: none; padding: 0; margin: 14px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 600px; }
.ws-words li { padding: 6px 12px; border-radius: 999px; font-weight: 800; font-size: 14px; letter-spacing: .03em; background: var(--chip); border: 1px solid var(--glass-edge); }
.ws-words li.got { text-decoration: line-through; opacity: .5; }
