.combinatorics-lab {
    background: #fff;
    border: 1px solid rgba(17, 24, 39, .1);
    border-radius: 18px;
    box-shadow: 0 12px 32px rgba(17, 24, 39, .06);
    padding: clamp(22px, 4vw, 38px);
}
.combinatorics-lab__head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}
.combinatorics-lab__head h2 { margin: 5px 0 8px; }
.combinatorics-lab__badge {
    background: #eef2ff;
    border-radius: 999px;
    color: #33409c;
    font-size: .78rem;
    font-weight: 800;
    padding: 7px 10px;
    white-space: nowrap;
}
.combinatorics-lab__workspace {
    background: #f8f9fd;
    border: 1px solid rgba(89, 104, 216, .14);
    border-radius: 16px;
    margin-top: 20px;
    padding: 20px;
}
.combinatorics-lab__controls {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.combinatorics-lab__field { display: grid; gap: 6px; }
.combinatorics-lab__field span { color: #172033; font-size: .9rem; font-weight: 700; }
.combinatorics-lab input,
.combinatorics-lab select {
    background: #fff;
    border: 1px solid rgba(17,24,39,.18);
    border-radius: 10px;
    min-height: 44px;
    padding: 8px 10px;
    width: 100%;
}
.combinatorics-lab button {
    background: #5968d8;
    border: 0;
    border-radius: 11px;
    color: #fff;
    cursor: pointer;
    font-weight: 800;
    min-height: 44px;
    padding: 10px 16px;
}
.combinatorics-lab button:focus-visible,
.combinatorics-lab input:focus-visible,
.combinatorics-lab select:focus-visible {
    outline: 3px solid rgba(89,104,216,.24);
    outline-offset: 2px;
}
.combinatorics-lab__result {
    min-height: 52px;
    margin-top: 16px;
}
.combinatorics-lab__result-card {
    background: #f5f7ff;
    border-left: 5px solid #5968d8;
    border-radius: 12px;
    padding: 16px 18px;
}
.combinatorics-lab__big {
    color: #172033;
    display: block;
    font-size: clamp(1.5rem, 4vw, 2.2rem);
    font-weight: 900;
    margin: 5px 0;
}
.combinatorics-lab__chips,
.combinatorics-lab__sequence,
.combinatorics-lab__stars {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}
.combinatorics-lab__chip,
.combinatorics-lab__star,
.combinatorics-lab__bar {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(89,104,216,.24);
    border-radius: 10px;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 7px 10px;
}
.combinatorics-lab__bar { border-color: rgba(183,121,31,.35); color: #8b5e16; }
.combinatorics-lab__tree {
    display: grid;
    gap: 7px;
    margin-top: 14px;
}
.combinatorics-lab__tree-row {
    background: #fff;
    border-radius: 9px;
    padding: 9px 11px;
}
.combinatorics-lab__decision {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}
.combinatorics-lab__decision strong { color: #33409c; }
.combinatorics-lab__outcomes {
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(auto-fit, minmax(56px, 1fr));
    margin-top: 12px;
}
.combinatorics-lab__outcome {
    background: #fff;
    border: 1px solid rgba(17,24,39,.1);
    border-radius: 8px;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    padding: 7px;
    text-align: center;
}
.combinatorics-lab__outcome--hit {
    background: #edf8f1;
    border-color: rgba(47,133,90,.28);
}
@media (max-width: 640px) {
    .combinatorics-lab__head { display: block; }
    .combinatorics-lab__badge { display: inline-block; margin-top: 8px; }
    .combinatorics-lab__workspace { padding: 15px; }
    .combinatorics-lab__controls { grid-template-columns: 1fr; }
}
