.grp { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.grp .btn[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.scores { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.box { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 6px 12px; display: flex; flex-direction: column; }
.box .lbl { font-size: 12px; color: var(--muted); }
.box strong { font-size: 22px; font-variant-numeric: tabular-nums; line-height: 1.3; }
.msg { margin: 6px 2px 10px; min-height: 3em; font-weight: 700; font-size: 16px; }

.slots { display: flex; justify-content: center; gap: 10px; margin: 4px 0 12px; }
.slot { width: 56px; height: 68px; border-radius: 12px; border: 2px dashed var(--line); background: var(--bg2); display: grid; place-items: center; font-size: 34px; font-weight: 800; font-variant-numeric: tabular-nums; }
.slot.fill { border-style: solid; border-color: var(--accent); background: var(--card2); }

.keypad { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 10px; }
.key { min-height: 52px; font-size: 22px; font-weight: 800; border-radius: 12px; border: 1px solid var(--line); background: var(--card2); color: var(--text); cursor: pointer; font-family: inherit; }
.key:hover { border-color: var(--accent); }
.key[aria-disabled="true"] { opacity: .35; cursor: default; text-decoration: line-through; }
.actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 6px 0 14px; }
.actions .btn { padding: 8px 2px; font-size: 14px; }

.hist-title { font-size: 16px; margin: 6px 0 6px; color: var(--muted); }
.hist { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 6px; }
.hist li { display: flex; align-items: center; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; min-height: 44px; }
.hist .no { color: var(--muted); width: 2.2em; font-variant-numeric: tabular-nums; }
.hist .g { font-size: 22px; font-weight: 800; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
.hist .r { margin-left: auto; font-weight: 700; text-align: right; }
.hist .r.out { color: #FFB3A3; }
.hist .r.hit { color: var(--accent); }
