.ls-board{display:grid;grid-template-columns:repeat(var(--n),1fr);aspect-ratio:1;border:3px solid var(--primary-30);border-radius:var(--radius-md);overflow:hidden;background:var(--primary-30);gap:1px;touch-action:manipulation}.ls-cell{position:relative;padding:0;border:0;border-radius:0;background:var(--color-surface);font:600 clamp(1.4rem,7vw,2.2rem) var(--font-head);color:var(--primary-20);cursor:pointer;min-height:var(--tap)}.ls-cell.box-r{box-shadow:2px 0 0 var(--primary-30)}.ls-cell.box-b{box-shadow:0 2px 0 var(--primary-30)}.ls-cell.box-r.box-b{box-shadow:2px 0 0 var(--primary-30),0 2px 0 var(--primary-30)}.ls-cell.is-clue{background:var(--color-surface-muted);color:var(--color-text);cursor:default}.ls-cell.is-peer{background:var(--primary-95)}.ls-cell.is-clue.is-peer{background:var(--primary-90)}.ls-cell.is-same{background:var(--secondary-90)}.ls-cell.is-sel{background:var(--secondary-80);outline:3px solid var(--color-action);outline-offset:-3px;z-index:1}.ls-cell.is-wrong{color:var(--tertiary-40);background:repeating-linear-gradient(45deg,var(--tertiary-95),var(--tertiary-95) 6px,var(--color-surface) 6px,var(--color-surface) 12px)}.ls-pad{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.ls-pad .btn{flex:1 1 3rem;min-width:var(--tap);min-height:3rem;padding-inline:0;font-size:1.25rem;touch-action:manipulation}.ls-pad .btn:disabled{opacity:0.4}