select { font:inherit; color:var(--text); background:var(--panel); border:1px solid var(--line); border-radius:8px; padding:6px; }
.grid { --n:12; display:grid; grid-template-columns:repeat(var(--n), 1fr); width:min(560px, 96vw); background:#0b1220; border:2px solid var(--line); border-radius:10px; padding:4px; touch-action:none; user-select:none; -webkit-user-select:none; }
.cell { aspect-ratio:1; display:flex; align-items:center; justify-content:center; font:700 clamp(.75rem, 3.4vw, 1.25rem) ui-monospace, Menlo, monospace; border-radius:6px; color:#cbd5e1; cursor:pointer; }
.cell.sel { background:#38bdf8; color:#06202e; } .cell.found { background:#14532d; color:#bbf7d0; } .cell.hint { outline:2px dashed #fbbf24; }
.words { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px 14px; justify-content:center; max-width:560px; } .words li { text-transform:uppercase; letter-spacing:.06em; font-weight:600; } .words li.done { text-decoration:line-through; color:var(--muted); }

/* Paper puzzle and marker colors from the cover. */
.grid { background:#f9f4e8; border:3px solid #d7c6aa; padding:8px; box-shadow:0 13px 26px rgba(67,49,28,.18); }
.grid .cell { color:#263c4d; }
.grid .cell:hover { background:#e7dfc8; }
.grid .cell.sel { background:#f6ae84; color:#5b2b1e; }
.grid .cell.found { background:#b7e9d5; color:#175e50; }
.grid .cell.hint { outline-color:#dc874a; }
.words li { padding:3px 7px; border:1px solid var(--line); border-radius:6px; background:var(--panel); color:var(--text); }
