.cc { background: var(--color-card); border: 1px solid var(--color-card-border); border-radius: 12px; padding: 1.25rem; margin: 1rem 0; }
.cc-row { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 1rem; }
.cc-field label, .cc fieldset legend { display: block; font-weight: 600; margin-bottom: .4rem; }
.cc-field input, .cc-field select { font: inherit; padding: .45rem .6rem; border: 1px solid var(--color-card-border); border-radius: 8px; background: transparent; color: inherit; width: 6.5rem; }
.cc fieldset { border: 0; padding: 0; margin: 0; }
.cc-digits { display: flex; flex-wrap: wrap; gap: .4rem; }
.cc-digit { font: inherit; font-weight: 600; width: 2.5rem; height: 2.5rem; border: 1px solid var(--color-card-border); border-radius: 8px; background: transparent; color: inherit; cursor: pointer; }
.cc-digit:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.cc-digit[aria-pressed="true"] { background: var(--color-accent); border-color: var(--color-accent); color: #fff; text-decoration: line-through; }
.cc-count { font-weight: 700; margin: 1rem 0 .5rem; }
.cc-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.cc-chips li { border: 1px solid var(--color-card-border); border-radius: 999px; padding: .35rem .85rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.cc-hint { margin: .5rem 0 0; opacity: .8; font-size: .95em; }
.combo-table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.combo-table th, .combo-table td { border: 1px solid var(--color-card-border); padding: .5rem .75rem; text-align: left; vertical-align: top; }
.combo-table th { background: var(--color-card); }
.combo-table tr.unique td { background: color-mix(in srgb, var(--color-accent) 14%, transparent); font-weight: 600; }
