.practice { margin: 24px 0; padding: 24px; background: var(--panel); border: 1px solid var(--line); }
.practice-heading { display: flex; justify-content: space-between; align-items: start; gap: 16px; }
.practice-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 20px 0 8px; }
.practice-controls label { margin: 0; }
.practice select { font: inherit; color: var(--ink); background: var(--inset); border: 1px solid var(--line); border-radius: 4px; min-height: 44px; padding: 8px 12px; }
.practice-stats { display: flex; flex-wrap: wrap; gap: 12px 32px; font-variant-numeric: tabular-nums; margin-top: 20px; }
#practice-probability { color: var(--signal); }
.practice-distribution { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 24px; margin: 24px 0; }
.practice-candidate { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 8px; font: 13px/1.5 Consolas, monospace; font-variant-numeric: tabular-nums; }
.practice-candidate label { grid-column: 1; margin: 0; }
.practice-candidate progress { grid-row: 2; grid-column: 1 / 3; }
.practice-candidate span { grid-row: 1; grid-column: 2; color: var(--muted); }
.practice-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
@media(max-width:720px) { .practice { padding: 20px; } .practice-heading { flex-direction: column; } .practice-distribution { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .practice-comparison { grid-template-columns: 1fr; gap: 16px; } }
