#content_sim #ldpc-buildc-lab,
#content_sim #ldpc-buildc-lab * {
    box-sizing: border-box;
    font-family: "Courier New", Courier, monospace;
}

#content_sim #ldpc-buildc-lab {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    padding: 10px;
    background: #05070b;
    color: #e8f2ff;
    border: 1px solid #263244;
}

#content_sim #ldpc-buildc-lab .bc-panel {
    background: #0a1018;
    border: 1px solid #263244;
    padding: 10px;
    margin-bottom: 10px;
}

#content_sim #ldpc-buildc-lab .bc-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 12px;
}

#content_sim #ldpc-buildc-lab .bc-control-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
}

#content_sim #ldpc-buildc-lab label {
    min-width: 92px;
    color: #a9c3e8;
    font-size: 12px;
}

#content_sim #ldpc-buildc-lab select,
#content_sim #ldpc-buildc-lab button {
    font-family: "Courier New", Courier, monospace;
}

#content_sim #ldpc-buildc-lab select {
    flex: 1;
    color: #eef7ff;
    background: #121a25;
    border: 1px solid #33465f;
    padding: 4px 6px;
}

#content_sim #ldpc-buildc-lab .bc-btn {
    border: 1px solid #3d5878;
    color: #f4fbff;
    background: #16243a;
    padding: 5px 8px;
    cursor: pointer;
    min-height: 28px;
}

#content_sim #ldpc-buildc-lab .bc-btn:hover,
#content_sim #ldpc-buildc-lab .bc-btn.active {
    background: #25527a;
    border-color: #5fa8d3;
}

#content_sim #ldpc-buildc-lab .bc-step-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#content_sim #ldpc-buildc-lab .bc-step {
    border: 1px solid #263244;
    color: #9fbee8;
    background: #070b10;
    padding: 5px 7px;
    font-size: 12px;
    cursor: pointer;
}

#content_sim #ldpc-buildc-lab .bc-step.active {
    color: #05070b;
    background: #ffd166;
    border-color: #ffd166;
}

#content_sim #ldpc-buildc-lab .bc-description {
    margin-top: 8px;
    padding: 8px;
    background: #070b10;
    border: 1px solid #263244;
    color: #c7d8ee;
    line-height: 1.45;
    font-size: 12px;
}

#content_sim #ldpc-buildc-lab .bc-stage {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 10px;
}

#content_sim #ldpc-buildc-lab .bc-subtitle {
    color: #9fbee8;
    font-size: 13px;
    margin: 0 0 8px 0;
}

#content_sim #ldpc-buildc-lab .bc-bit-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#content_sim #ldpc-buildc-lab .bc-bit {
    border: 1px solid #33465f;
    background: #101827;
    color: #e8f2ff;
    padding: 6px 8px;
    min-width: 54px;
    text-align: center;
    cursor: pointer;
}

#content_sim #ldpc-buildc-lab .bc-bit.data {
    border-color: #5fa8d3;
    background: #102235;
}

#content_sim #ldpc-buildc-lab .bc-bit.parity.unknown {
    border-color: #ffd166;
    background: #2b250e;
    color: #ffd166;
}

#content_sim #ldpc-buildc-lab .bc-bit.parity.solved {
    border-color: #5ee6a8;
    background: #0f2a20;
    color: #d7ffe8;
}

#content_sim #ldpc-buildc-lab .bc-matrix-wrap {
    overflow-x: auto;
}

#content_sim #ldpc-buildc-lab table {
    border-collapse: collapse;
    width: 100%;
    font-size: 12px;
}

#content_sim #ldpc-buildc-lab th,
#content_sim #ldpc-buildc-lab td {
    border: 1px solid #263244;
    padding: 5px;
    text-align: center;
    color: #e8f2ff;
}

#content_sim #ldpc-buildc-lab th {
    color: #a9c3e8;
    background: #101827;
}

#content_sim #ldpc-buildc-lab td.one {
    background: #12304a;
    color: #9ee6ff;
}

#content_sim #ldpc-buildc-lab td.active {
    outline: 2px solid #ffd166;
    outline-offset: -2px;
}

#content_sim #ldpc-buildc-lab td.split-data {
    background: #14324b;
}

#content_sim #ldpc-buildc-lab td.split-parity {
    background: #2b250e;
}

#content_sim #ldpc-buildc-lab td.one.split-data {
    background: #1c5a80;
}

#content_sim #ldpc-buildc-lab td.one.split-parity {
    background: #6b5712;
}

#content_sim #ldpc-buildc-lab .bc-vector {
    display: flex;
    flex-wrap: nowrap;
    gap: 4px;
    align-items: center;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 12px;
}

#content_sim #ldpc-buildc-lab .bc-cell {
    border: 1px solid #263244;
    min-width: 34px;
    padding: 3px 4px;
    text-align: center;
    background: #070b10;
    line-height: 1.2;
}

#content_sim #ldpc-buildc-lab .bc-cell.data {
    border-color: #5fa8d3;
}

#content_sim #ldpc-buildc-lab .bc-cell.parity {
    border-color: #ffd166;
}

#content_sim #ldpc-buildc-lab .bc-cell.good {
    border-color: #5ee6a8;
    color: #d7ffe8;
}

#content_sim #ldpc-buildc-lab .bc-equation {
    border: 1px solid #263244;
    background: #070b10;
    padding: 8px;
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 1.45;
}

#content_sim #ldpc-buildc-lab .bc-split-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

#content_sim #ldpc-buildc-lab .bc-ok {
    color: #5ee6a8;
}

#content_sim #ldpc-buildc-lab .bc-bad {
    color: #ff7a9a;
}

#content_sim #ldpc-buildc-lab .bc-formula {
    color: #9ee6ff;
    overflow-wrap: anywhere;
}

#content_sim #ldpc-buildc-lab .bc-result {
    color: #ffd166;
}

@media (max-width: 760px) {
    #content_sim #ldpc-buildc-lab .bc-controls,
    #content_sim #ldpc-buildc-lab .bc-stage,
    #content_sim #ldpc-buildc-lab .bc-split-grid {
        grid-template-columns: 1fr;
    }
}
