/* Real-only table and sign-grid controls. No changes to existing answer modes. */
.real-visual { margin: 16px 0; padding: 16px; color: #263b3b; background: #f5fbf8; border: 1px solid #bedad2; border-radius: 16px; text-align: left; min-width: 0; }
.real-table-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; border-radius: 10px; }
.real-sign-table { width: 100%; border-collapse: collapse; font-size: 17px; line-height: 1.55; text-align: center; }
.real-sign-table caption { text-align: left; color: #344b48; font-size: 15px; padding: 0 0 10px; }
.real-sign-table th, .real-sign-table td { padding: 11px 14px; border: 1px solid #c9dcd7; min-width: 42px; }
.real-sign-table thead th { background: #e1f1eb; font-weight: 650; }
.real-sign-table tbody th { font-weight: 550; background: #fffdf5; }
.real-target-cell { background: #fff9ed; font-weight: 700; }
.real-blank { display: inline-block; min-width: 1.2em; color: #6a5740; }
.real-row-highlight th, .real-row-highlight td { box-shadow: inset 0 3px #2b7068, inset 0 -3px #2b7068; }
.real-row-marker { display: block; font-size: 13px; font-weight: 600; }
.real-definitions { margin: 10px 0; }
.real-definitions > div { display: grid; grid-template-columns: minmax(32px, auto) minmax(0, 1fr); gap: 12px; margin: 10px 0; }
.real-definitions dt { font-weight: 700; }
.real-definitions dd { margin: 0; line-height: 1.7; overflow-wrap: anywhere; }
.real-formula-lines p { margin: 9px 0; font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.real-domain-members { display: flex; gap: 10px; flex-wrap: wrap; padding: 0; list-style: none; }
.real-domain-members li { border: 1px solid #8fbcb0; padding: 6px 12px; border-radius: 8px; background: #fff; }
.real-visual figcaption { font-size: 14px; line-height: 1.65; margin-top: 12px; }
.real-cell-list { padding: 0; margin: 16px 0 10px; border: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.real-cell-list legend { padding: 0; margin-bottom: 12px; font-size: 17px; font-weight: 650; text-align: left; }
.real-cell-card { display: flex; flex-direction: column; gap: 10px; padding: 14px; border: 1px solid #c2d6d0; border-radius: 12px; background: #fffdf7; min-width: 0; }
.real-cell-card label { display: block; font-size: 16px; line-height: 1.65; font-weight: 550; color: #273d38; overflow-wrap: anywhere; text-align: left; }
.real-cell-card select { box-sizing: border-box; width: 100%; min-height: 50px; padding: 10px 32px 10px 12px; font: inherit; font-size: 17px; color: #243e38; background: #fff; border: 1.5px solid #72998e; border-radius: 8px; }
.real-cell-card select:focus-visible, .real-table-scroll:focus-visible { outline: 3px solid #c33e70; outline-offset: 3px; }
.real-cell-card select:disabled { opacity: 1; color: #40574f; background: #edf2ef; border-color: #9fb8ae; }
.real-draft-summary { font-size: 14px; color: #40574f; margin: 10px 0; text-align: left; }
@media(max-width:600px) { .real-cell-list { grid-template-columns: minmax(0,1fr); } .real-visual { padding: 12px; } .real-sign-table th,.real-sign-table td { padding: 10px 9px; } .real-formula-lines p { font-size: 17px; } }

.real-diagram { display: block; width: 100%; height: auto; overflow: visible; margin: 12px auto; }
.real-data-alternative { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.real-data-alternative p { margin: 6px 0; }
.real-data-alternative ul { margin: 6px 0; padding-inline-start: 22px; }
.real-division-givens p { margin: 8px 0; font-size: 18px; line-height: 1.7; }
.real-division-steps { padding-inline-start: 26px; font-size: 17px; line-height: 1.8; }
.real-division-steps li { margin: 12px 0; }
.real-division-steps strong { color: #2b5f53; }
.real-synthetic,.real-piecewise { width: 100%; border-collapse: collapse; line-height: 1.6; font-size: 17px; }
.real-synthetic caption,.real-piecewise caption { padding: 8px 0; text-align: left; }
.real-synthetic td,.real-synthetic th,.real-piecewise td { padding: 10px; border: 1px solid #bbd6ca; text-align: center; }
.real-synthetic tr:last-child { border-top: 3px solid #4a8877; }
.real-synthetic th { text-align: left; min-width: 125px; font-size: 15px; }
.real-piecewise td { text-align: left; }
@media(max-width:600px){ .real-division-givens p,.real-division-steps { font-size: 17px; } .real-synthetic th { min-width: 95px; } }
