.sd-lens{margin:12px 0;padding:10px;border:2px solid var(--color-ink,#1e293b);border-radius:12px;background:var(--color-well,#fff);font-size:.8rem}
.sd-lens button,.sd-lens select{min-height:44px;min-width:44px;border:2px solid var(--color-ink,#1e293b);border-radius:8px;background:var(--color-paper-2,#f1f5f9);color:var(--color-ink,#1e293b);font-weight:700;font-size:.8rem;font-family:inherit;padding:6px 10px;touch-action:manipulation}
.sd-lens button:disabled{opacity:.45;cursor:not-allowed}
.sd-lens button:focus-visible,.sd-lens select:focus-visible{outline:3px solid var(--color-focus,#2563eb);outline-offset:2px}
.sd-lens-drawer[hidden]{display:none}
.sd-lens-drawer>p{margin:10px 0;line-height:1.5}
.sd-lens-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.sd-lens-controls select{width:100%;max-width:100%}
.sd-lens-progress{font-weight:700}
.sd-lens-grid{display:grid;grid-template-columns:58px minmax(44px,1fr) minmax(44px,1fr);gap:6px;text-align:center;align-items:center}
.sd-lens-column{font-weight:700}
.sd-lens button.sd-lens-cell{height:54px;aspect-ratio:auto;padding:0;font-size:30px;line-height:1;background:#fff}
.sd-lens-cell.found::after,.sd-lens-cell.hint::after{animation:none}
.sd-lens button.sd-lens-cell.found{background:#f0fdf4;border-color:#22c55e}
.sd-lens button.sd-lens-cell.miss{background:#fee2e2;border-color:#ef4444}
@media(prefers-reduced-motion:reduce){.sd-lens *{animation:none!important;transition:none!important}}
