.memory-block {
    margin: 25px 0;
    border-radius: 12px;
    background: white;
    padding: 20px;
    border: 1px solid var(--light-green);
}

.memory-title {
    background-color: var(--light-green);
    color: var(--primary-green);
    padding: 12px;
    font-weight: bold;
    font-size: 1.1em;
    border-radius: 8px;
    margin-bottom: 20px;
    text-align: center;
}

.bit-row {
    margin-bottom: 25px;
    display: flex;
    flex-direction: column;
}

.bit-label {
    display: inline-block;
    padding: 8px 15px;
    background-color: var(--unit-bg);
    border: 1px solid var(--unit-border);
    border-radius: 6px;
    font-weight: bold;
    margin-bottom: 12px;
    font-size: 1rem;
    align-self: flex-start;
}
.byte-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    position: relative;
    padding-top: 25px;
    margin-right: 12px;
}

.byte-group::before {
    content: attr(data-char);
    position: absolute;
    top: 0;
    left: 4px;
    font-size: 0.9em;
    color: var(--primary-green);
    font-weight: bold;
}

.bit-box {
    width: 35px; 
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Courier New', monospace;
    font-size: 1.3rem; 
    font-weight: bold;
    color: var(--text-color); 
    background-color: var(--value-bg);
    border: 1px solid var(--border-default);
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: 0.3s;
}

.bit-one { background-color: var(--accent-yellow); border-color: var(--warning-orange); color: var(--warning-orange); }

.highlight-bool {
    display: inline-block;
    background-color: var(--light-green);
    padding: 8px 15px;
    border-radius: 6px;
    font-weight: bold;
    color: var(--primary-green);
}

.grid-inputs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

@media (max-width: 600px) {
    .bit-box { width: 28px; height: 38px; font-size: 1rem; }
    .grid-inputs { grid-template-columns: repeat(2, 1fr); }
}