/* Codeword solver */
.cd-block { margin: 18px 0 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.cd-block h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 8px; }
.cd-block h3 small { font: 500 14px var(--font-sans); color: var(--muted); }
.cd-cells { display: inline-flex; flex-wrap: wrap; gap: 0; }
.cd-cell { position: relative; display: inline-flex; align-items: flex-end; justify-content: center; width: 38px; height: 40px; border: 1.5px solid #0f172a; margin-left: -1.5px; background: #fff; color: #0f172a; }
.cd-cell:first-child { margin-left: 0; }
.cd-cell sup { position: absolute; top: 2px; left: 3px; font: 600 10px var(--font-sans); color: #475569; }
.cd-cell b { font: 700 19px/1 var(--font-sans); padding-bottom: 5px; }
.cd-fixed { background: #eef2ff; }
.cd-opts { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 14px; margin: 6px 0 10px; padding: 8px 12px; background: var(--bg-subtle); border-radius: var(--radius-sm); }
.cd-list { display: flex; flex-wrap: wrap; gap: 6px 10px; list-style: none; padding: 0; margin: 0; }
.cd-list li { padding: 5px 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--bg-card); font-size: 14px; }
.cd-list small { color: var(--muted); font-size: 12px; }
.cd-w { font-family: var(--font-mono); letter-spacing: .04em; }
.cd-common { font-weight: 700; color: var(--accent); }
@media (max-width: 420px) { .cd-cell { width: 30px; height: 34px; } .cd-cell b { font-size: 16px; } }
