.ws-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 16px; align-items: start; margin-top: 12px; }
@media (max-width: 820px) { .ws-layout { grid-template-columns: 1fr; } }
.setup { margin-bottom: 14px; }
.hud { display: flex; justify-content: space-around; text-align: center; margin-bottom: 14px; padding: 12px; }
.hud .k { display: block; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--brand-deep); font-weight: 600; }
.hud .v { font-family: Chango, Georgia, serif; font-size: 1.7rem; font-variant-numeric: tabular-nums; }
.hud .v.low { color: #b3261e; }
.grid-wrap { padding: 14px; }
.grid { display: grid; gap: 2px; width: min(100%, 560px); margin: 0 auto; touch-action: none; user-select: none; -webkit-user-select: none; }
.cell { aspect-ratio: 1; display: grid; place-items: center; font-weight: 600; font-size: clamp(.8rem, 2.6vw, 1.35rem);
  background: #f6fdf6; border-radius: 8px; cursor: pointer; transition: background .08s; }
.cell.sel { background: var(--brand); color: #fff; }
.cell.hit { background: rgba(25,193,85,.28); color: var(--brand-deep); }
.cell.hit.sel { background: var(--brand); color: #fff; }
.grid.over .cell { cursor: default; }
.words { list-style: none; margin: 0 0 12px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; }
.words li { font-weight: 600; letter-spacing: .06em; }
.words li.done { text-decoration: line-through; color: var(--brand-deep); opacity: .6; }
.words li.missed { color: #b3261e; }
