.sd-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:start}
.sd-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));width:min(100%,480px);aspect-ratio:1;margin:0 auto;border:2px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--ink);gap:1px}
.sd-cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;background:var(--surface);color:var(--accent);font:600 clamp(16px,4.6vw,26px) var(--mono);touch-action:manipulation}
/* Thicker lines between the 3x3 boxes. */
.sd-cell:nth-child(9n+3),.sd-cell:nth-child(9n+6){border-right:2px solid var(--ink)}
.sd-cell:nth-child(n+19):nth-child(-n+27),.sd-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--ink)}
.sd-cell.given{color:var(--ink);font-weight:800}
.sd-cell.peer{background:var(--paper)}
.sd-cell.same{background:var(--accent-soft)}
.sd-cell.selected{background:#f6d9c8}
.sd-cell.conflict,.sd-cell.wrong{color:#c0392b;background:#fbe3df}
.sd-cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:1}
.sd-notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:1px}
.sd-notes span{display:grid;place-items:center;font:500 clamp(7px,1.6vw,10px) var(--mono);color:var(--muted)}
.sd-side{display:flex;flex-direction:column;gap:12px}
.sd-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sd-pad button{display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:700 22px var(--mono);color:var(--ink)}
.sd-pad button small{font:500 10px var(--mono);color:var(--muted)}
.sd-pad button:hover:not(:disabled){border-color:var(--accent)}
.sd-pad button.done{opacity:.35}
.sd-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sd-tools .secondary-button{padding:6px 4px;min-height:42px;font-size:13px}
#note-mode[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.sd-check{margin-top:4px}
.sd-hint{margin:0;font-size:12px;color:var(--muted)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .sd-cell.selected{background:#5a3a2a}:root:not([data-theme="light"]) .sd-cell.conflict,:root:not([data-theme="light"]) .sd-cell.wrong{background:#4a2420;color:#f07a6c}}
@media(max-width:820px){
  .sd-layout{grid-template-columns:1fr;gap:16px}
  .sd-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
  .sd-pad button{height:50px;font-size:18px}
  .sd-hint{display:none}
}
