.lu-board{--rows:7;--cols:7;--wall:#2a313c;--wall-text:#fff;--wall-done:#9aa3b0;--lit:#fff4c2;width:min(100%,560px);aspect-ratio:var(--cols) / var(--rows);grid-template-columns:repeat(var(--cols), 1fr);grid-template-rows:repeat(var(--rows), 1fr);border:2px solid var(--line-strong);background:var(--panel);-webkit-user-select:none;user-select:none;border-radius:4px;margin:0 auto;display:grid;overflow:hidden;container-type:inline-size}@media (prefers-color-scheme:dark){.lu-board{--wall:#07090c;--wall-text:#e3e7ee;--wall-done:#5d6675;--lit:#3d3619}}.lu-cell{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;min-height:0;font-size:calc(100cqw / var(--cols) * .5);color:var(--text);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;padding:0;font-weight:700;line-height:1;display:flex;overflow:hidden}.lu-cell:hover{border-color:var(--border);background:var(--accent-softer)}.lu-cell.last-col{border-right:0}.lu-cell.last-row{border-bottom:0}.lu-cell.lit,.lu-cell.lit:hover{background:var(--lit)}.lu-cell.dot{color:var(--muted);font-size:calc(100cqw / var(--cols) * .6)}.lu-cell.bulb{font-size:calc(100cqw / var(--cols) * .55)}.lu-cell.bad,.lu-cell.bad:hover{background:var(--error-soft);box-shadow:inset 0 0 0 2px var(--error)}.lu-cell.wall{background:var(--wall);color:var(--wall-text);border-color:var(--wall);cursor:default}.lu-cell.wall.ok{color:var(--wall-done)}.lu-cell.wall.bad{background:var(--wall);color:var(--error);box-shadow:inset 0 0 0 2px var(--error)}.lu-board.solved{border-color:var(--ok)}.lu-board.solved .lu-cell.lit{background:var(--ok-soft)}
