/* ── consumption_rate_inverse2_5（残りの量から消費の速さを逆算しよう、単元仕様書 v1.2）── */
/* 画面：問題文の下に記録の表、答えの欄（名前・欄・単位）、回答案内、テンキー、こたえるボタン（§5-3・§7 画面表示）。 */
.cri-main{display:flex;flex-direction:column;align-items:center;margin:4px 0 6px;max-width:100%}
.cri-table{border-collapse:collapse;max-width:100%;background:#fff;color:#0f172a;font-variant-numeric:tabular-nums}
.cri-table th,.cri-table td{border:2px solid #334155;padding:6px 12px;font-size:1.1rem;text-align:center;white-space:nowrap}
.cri-table thead th{background:#e2e8f0;font-weight:700}
.cri-table-c th{background:#e2e8f0;font-weight:700;text-align:left}
.cri-table td{font-weight:700;min-width:4.5em}
.cri-fields{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:6px auto 2px}
.cri-field-label{font-weight:700;font-size:1.1rem}
.cri-input{width:5.5em;max-width:40vw;min-height:44px;font-size:1.4rem;padding:4px 8px;border:3px solid #1d4ed8;background:#eff6ff;border-radius:10px;text-align:center;font-family:inherit;box-sizing:border-box}
.cri-input:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
.cri-input:disabled{background:#f8fafc;color:#111827;opacity:1;border-color:#94a3b8}
.cri-input.cri-input-ok{border:3px solid #15803d;background:#dcfce7}
.cri-input.cri-input-ng{border:3px dashed #b91c1c;background:#fff1f2}
.cri-unit{font-size:1.3rem;font-weight:700;color:#111827;min-width:1.5em}
.cri-guide{margin:6px auto 4px;font-weight:700;text-align:center;max-width:32em}
.cri-msg{margin:2px auto 0;color:#b91c1c;font-weight:700;font-size:1rem;text-align:center;max-width:32em}
.cri-msg:empty{display:none}
.feedback.has-text.cri-feedback{height:auto;min-height:40px;padding:4px 0;text-align:center;line-height:1.45}
.cri-correct{margin:2px 0 6px;font-weight:700;font-size:1rem}
.cri-expl-text{margin:4px 0 6px;overflow-wrap:anywhere;font-size:1rem}
.cri-lesson-q{font-weight:700}
#page-quiz.active:has(.cri-main) #hint-area .kp-card{display:flex;align-items:flex-start;gap:8px}
#page-quiz.active:has(.cri-main) #hint-area .kp-head{margin-bottom:0;flex:none}
#page-quiz.active:has(.cri-main) #hint-area .kp-title:empty{display:none}
#page-quiz.active:has(.cri-main) #hint-area .kp-body{flex:1;min-width:0;padding-left:0;overflow-wrap:anywhere}
/* 360 CSS px幅でも表全体を横スクロールなしで収める（§7。CRI-14）。 */
@media (max-width:420px){
  .cri-table th,.cri-table td{padding:5px 7px;font-size:1rem}
  .cri-table td{min-width:3.5em}
}

/* 印刷：A4横・2列×5段・1ページ（§7。用紙の余白10mm、本文277×190mm、列134mm・列の間6mm、各問の領域26mm）。 */
.cri-pr-page{width:277mm;height:190mm;box-sizing:border-box;display:flex;flex-direction:column;padding:0;margin:0 auto 8mm;overflow:hidden;background:#fff;color:#000;font-family:'Atkinson Hyperlegible','BIZ UDPGothic','Yu Gothic','Meiryo',sans-serif}
.cri-pr-head{display:flex;flex-direction:column;flex:none;box-sizing:border-box;width:274mm}
.cri-pr-title{box-sizing:border-box;margin:0;height:9mm;font-size:14.3pt;font-weight:700;line-height:7.8mm;text-align:center;white-space:nowrap;padding:0;border:1.5pt solid #666;background:#ffffcc;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.cri-pr-instruction{margin:0 0 1.5mm;font-size:12.6pt;line-height:5mm}
.cri-pr-problems{display:grid;grid-template-columns:134mm 134mm;column-gap:6mm;flex:none;height:130mm}
.cri-pr-col{display:flex;flex-direction:column}
.cri-pr-cell{box-sizing:border-box;height:26mm;overflow:hidden;display:flex;flex-direction:column}
.cri-pr-q{margin:0;height:5.5mm;font-size:12.6pt;line-height:5.5mm;white-space:nowrap}
.cri-pr-num{font-weight:700}
.cri-pr-l2{display:flex;align-items:center;gap:4mm;margin-top:0.8mm}
.cri-pr-table{border-collapse:collapse;font-size:12.6pt;font-variant-numeric:tabular-nums}
.cri-pr-table th,.cri-pr-table td{border:0.35mm solid #333;padding:0 2mm;height:5mm;line-height:4.6mm;white-space:nowrap;text-align:center;font-weight:400}
.cri-pr-table-c th{text-align:left}
.cri-pr-table td{min-width:12mm}
.cri-pr-ansline{margin:0;display:flex;align-items:center;gap:2mm;font-size:12.6pt;white-space:nowrap}
.cri-pr-field{font-weight:700}
.cri-pr-box{display:inline-block;box-sizing:border-box;width:14mm;height:7mm;border:0.35mm solid #333}
.cri-pr-unit{font-weight:700}
.cri-pr-answers{flex:none;box-sizing:border-box}
.cri-pr-dashed{box-sizing:content-box;display:block;height:0;margin:0 0 1mm;padding:0;border:0;border-top:2pt dashed #aaa}
.cri-pr-answers-title{font-weight:700;font-size:12.6pt;height:6mm;line-height:6mm}
.cri-pr-answer-line{display:flex;font-size:10.2pt;line-height:4.6mm;height:4.6mm;white-space:nowrap}
.cri-pr-ans{display:inline-block;width:18mm}
.cri-app-pdf-page .cri-pr-page{box-shadow:none;margin:0}

#pr-sheet[data-unit="consumption_rate_inverse2_5"]{width:277mm;max-width:none;padding:0;margin:calc(12px + 10mm) auto;background:transparent;box-shadow:none}
#pr-sheet[data-unit="consumption_rate_inverse2_5"]>:not(#pr-problems){display:none!important}
#pr-sheet[data-unit="consumption_rate_inverse2_5"]>#pr-problems{display:block}
/* 画面のプレビューでは、用紙の余白10mmを白い縁で見せる（印刷の寸法は変えない）。 */
#pr-sheet[data-unit="consumption_rate_inverse2_5"] .cri-pr-page{box-shadow:0 0 0 10mm #fff,0 0 4px 10mm rgba(0,0,0,.12);margin-bottom:calc(8mm + 10mm)}
@media print{
  #page-print #pr-sheet[data-unit="consumption_rate_inverse2_5"]{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;box-shadow:none!important}
  #page-print #pr-sheet[data-unit="consumption_rate_inverse2_5"]>:not(#pr-problems){display:none!important}
  #page-print #pr-sheet[data-unit="consumption_rate_inverse2_5"]>#pr-problems{display:block!important}
  #page-print #pr-sheet[data-unit="consumption_rate_inverse2_5"] .cri-pr-page{display:flex!important;margin:0!important;box-shadow:none!important;break-after:auto;page-break-after:auto}
}
