/* Cross Sums: dark clue squares split corner to corner, white squares to fill. */
#cs-grid { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: 3px; width: min(100%, 470px); margin: 6px auto 0; padding: 10px; border-radius: 22px; background: var(--glass-strong); border: 1px solid var(--glass-edge); box-shadow: var(--glass-shadow); }
#cs-grid .lt-cell { border-radius: 8px; }
#cs-grid .lt-v { font-size: clamp(16px, 4.6vw, 26px); }
.cs-block { aspect-ratio: 1; border-radius: 8px; background: linear-gradient(160deg, #3B2A5C, #241838); position: relative; overflow: hidden; }
:root[data-theme="dark"] .cs-block { background: linear-gradient(160deg, #5A3D8F, #3A2466); }
.cs-block.clue::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top right, transparent calc(50% - 1px), rgba(255,255,255,.35) 50%, transparent calc(50% + 1px)); }
.cs-across, .cs-down { position: absolute; font: 800 clamp(9px, 2.5vw, 13px) var(--body); color: #F1E6FF; line-height: 1; }
.cs-across { top: 12%; right: 10%; }
.cs-down { bottom: 12%; left: 10%; }
.cs-across.on, .cs-down.on { color: #FFD964; }
.cs-across.bad, .cs-down.bad { color: #FF8A8D; }
#cs-pad .lt-key { width: 44px; height: 48px; }
