/* v1.7. Every selector belongs to this unit; screen and paper have separate geometry. */
#page-quiz:has(.nls-answer) .question-card{padding:14px}
#page-quiz:has(.nls-answer) #question-text{font-size:1.05rem;line-height:1.55;overflow-wrap:anywhere}
.nls-answer{width:100%;max-width:600px;margin:auto}
.nls-answer .nls-svg{margin:6px 0 14px}
.nls-answer .answer-area{display:flex;flex-direction:column;gap:6px}
.nls-answer label{font-size:1rem}
.nls-answer input{max-width:160px;min-height:48px;box-sizing:border-box}
#page-quiz:has(.nls-answer) #submit-btn,#page-quiz:has(.nls-answer) #hint-btn,#page-quiz:has(.nls-answer) #tts-btn{min-width:44px;min-height:44px}
@media(max-width:640px){
 /* Keep every keypad row reachable without a fixed submit button covering it. */
 #page-quiz:has(.nls-answer) #submit-bar{position:static!important;box-shadow:none;border-top:0;padding:8px 14px calc(8px + env(safe-area-inset-bottom,0px))}
 #page-quiz:has(.nls-answer) .quiz-page{padding-bottom:12px}
}
#page-print:has(#pr-sheet[data-unit="number_line_subtraction2_1"]){max-width:100%;overflow-x:auto;padding:8px;box-sizing:border-box}
#page-print #pr-sheet[data-unit="number_line_subtraction2_1"]{width:297mm;min-width:297mm;max-width:none;height:210mm;box-sizing:border-box;padding:6mm;margin:12px 0;transform:none;background:#fff;color:#000}
#page-print #pr-sheet[data-unit="number_line_subtraction2_1"]>:not(#pr-problems){display:none!important}
#page-print #pr-sheet[data-unit="number_line_subtraction2_1"]>#pr-problems{display:block!important;margin:0;padding:0}
.nls-print-page{width:285mm;height:193mm;font-family:Arial,'BIZ UDPGothic',sans-serif;font-size:13.1pt;font-weight:400;line-height:1.15;box-sizing:border-box;color:#000;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.nls-print-page *{box-sizing:border-box}
/* CP-08b: use the spare paper height for the title and handwriting fields. */
.nls-print-page h1{height:9mm;margin:0 0 2mm;padding:0;border:1.5pt solid #666;background:#ffffcc;text-align:center;font-size:14pt;font-weight:700;line-height:calc(9mm - 3pt)}
.nls-print-fields{height:9mm;display:flex;align-items:end;gap:1mm;font-size:12.5pt;white-space:nowrap}
.nls-print-field{display:flex;gap:.5mm;align-items:end}
.nls-print-field-line{display:block;width:15mm;height:8mm;border-bottom:.2mm solid #333}
.nls-print-name{flex:1}
.nls-print-name .nls-print-field-line{flex:1;min-width:160mm}
.nls-print-solid{height:.5mm;border:0;border-top:.3mm solid #666;margin:1mm 0 1.5mm}
.nls-print-page .nls-print-instruction{height:7mm;margin:0;padding:0;font-size:13.1pt;line-height:7mm;white-space:nowrap}
.nls-print-problems{display:grid;grid-template-columns:140mm 140mm;gap:5mm;height:125mm}
.nls-print-col{display:block;min-width:0}
.nls-print-question{height:25mm;break-inside:avoid;page-break-inside:avoid;padding:0 0 3mm;margin:0;overflow:visible}
.nls-print-page .nls-print-prompt{height:6mm;font-size:13.1pt;line-height:6mm;margin:0;padding:0;white-space:nowrap}
.nls-print-row{display:flex;align-items:start;gap:2mm;height:15mm;margin-top:1mm}
.nls-print-row .nls-svg{width:108mm!important;height:15mm!important;flex-shrink:0;margin:0!important}
.nls-print-entry{width:25mm;font-size:10.1pt;display:flex;align-items:center;flex-direction:column;gap:0;height:14mm;white-space:nowrap}
.nls-print-entry>span:first-child{height:4mm;line-height:4mm}
.nls-print-box{display:block;width:18mm;height:10mm;border:.3mm solid #333}
.nls-print-answers{height:38mm;border-top:.3mm dashed #555}
.nls-print-answers h2{height:7.7mm;margin:0;font-size:12.6pt;line-height:7.7mm;font-weight:700}
.nls-print-answer-cols{display:grid;grid-template-columns:140mm 140mm;gap:5mm}
.nls-print-answer{height:6mm;font-size:12.6pt;line-height:6mm;margin:0}
@media print{
 #page-print:has(#pr-sheet[data-unit="number_line_subtraction2_1"]){display:block!important;overflow:visible!important;padding:0!important;margin:0!important}
 #page-print #pr-sheet[data-unit="number_line_subtraction2_1"]{width:285mm!important;min-width:0!important;max-width:none!important;height:198mm!important;padding:0!important;margin:0!important;transform:none!important;box-shadow:none!important}
 #page-print #pr-sheet[data-unit="number_line_subtraction2_1"]>:not(#pr-problems){display:none!important}
 #page-print #pr-sheet[data-unit="number_line_subtraction2_1"]>#pr-problems{display:block!important}
 #page-print #pr-sheet[data-unit="number_line_subtraction2_1"] .nls-print-page{display:block!important;break-after:auto;page-break-after:auto}
}
