.wb-layout { display: grid; grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.wb-controls { min-width: 0; }
.wb-controls textarea { line-height: 1.65; resize: vertical; }
.wb-controls .btn { margin-bottom: .25rem; }
[data-bs-theme="dark"] .wb-controls .btn-outline-secondary { color: var(--bs-body-color); border-color: var(--bs-secondary-color); }
[data-bs-theme="dark"] .wb-controls .btn-outline-secondary:hover { background: var(--bs-tertiary-bg); }
.wb-output { min-width: 0; }
.wb-empty { border: 1px dashed var(--bs-border-color); border-radius: .5rem; padding: 3rem 1rem; text-align: center; }
.wb-page { font-family: Arial, "Microsoft YaHei", sans-serif; overflow: visible; padding: 10mm; }
.wb-page .print-notice { display: block; font-size: 7.5pt; line-height: 1.35; margin-top: 10px; padding-top: 6px; border-top: 1px solid #999; color: #444; text-align: left; break-inside: avoid; }
.wb-page .print-notice-line { margin: 0 0 2px; }
.wb-page .tz-sheet-title { overflow-wrap: anywhere; }
.wb-page-label { text-align: right; font-size: 8pt; margin-bottom: .3rem; }
.wb-table { width: calc(100% - 2px); border-collapse: collapse; table-layout: fixed; font-size: 11pt; }
.wb-table th, .wb-table td { border: 1px solid #aaa; padding: .6rem; overflow-wrap: anywhere; vertical-align: top; }
.wb-table th { font-size: 10pt; }
.wb-table th:first-child { width: 30%; }
.wb-word { font-size: 17pt; }
.wb-reading { font-size: 10pt; margin-top: .3rem; }
.wb-writing-space { height: 16mm; margin-top: 3mm; border-bottom: 1px solid #aaa; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(16mm - 1px), #ddd calc(16mm - 1px), #ddd 16mm); }
.wb-answer-space { min-height: 12mm; }
/* Pagination measures this copy at the actual paper width even on a narrow screen. */
.wb-measuring { position: absolute; left: -10000px; top: 0; visibility: hidden; width: 186mm; max-width: none; padding: 0; margin: 0; border: 0; box-shadow: none; }
@media screen and (max-width: 991.98px) { .wb-layout { grid-template-columns: 1fr; } }
@media screen and (max-width: 575.98px) { .wb-page { padding: .75rem; } .wb-table td, .wb-table th { padding: .4rem; } .wb-word { font-size: 15pt; } }
@media print {
    .wb-layout { display: block; }
    .wb-page { padding: 0; overflow: visible; }
    .wb-table tr { break-inside: avoid; }
    .wb-table thead { display: table-header-group; }
    #wbSheets > .wb-empty { display: block; border: 0; }
    .wb-page .print-notice { font-size: 7.5pt; }
}
