/* 直式方格（直式計算練習與數學考卷共用；方框尺寸見 vertical-render.js 的 BOX／DOT_RATIO）
 * 格線、橫線、小數點、除號都用 border 或 SVG 畫：Chrome 列印預設不印背景色，用背景畫的會消失。
 */

/* 每題一個方框：題號與橫式、方格 */
.mv-box { padding: 1.5mm; min-width: 0; }
.mv-lbl { height: 7mm; line-height: 7mm; font-size: 3.6mm; white-space: nowrap; margin-bottom: 5mm; }   /* 下方留 5mm 寫進位、退位（vertical-render.js 的 BOX.label 含這段） */
.mv-no { font-weight: 700; margin-right: .8mm; }
.mv-blank { display: inline-block; width: 16mm; border-bottom: .25mm solid #333; vertical-align: -.6mm; }
.mv-ans { color: #c8102e; font-weight: 700; }
.mv-note { height: 4.5mm; line-height: 4.5mm; font-size: 3mm; color: #555; white-space: nowrap; }

/* 直式方格 */
.mv-grid { border-collapse: collapse; table-layout: fixed; }
.mv-grid td {
    width: var(--cell); min-width: var(--cell); max-width: var(--cell); height: var(--cell);
    padding: 0; box-sizing: border-box; position: relative; overflow: visible;
    text-align: center; vertical-align: middle;
    font: 400 calc(var(--cell) * .62)/1 Arial, "Helvetica Neue", sans-serif;
}
.mv-grid.is-grid td { border: .2mm solid #b9b9b9; }
.mv-grid td.ln { border-top: .55mm solid #222; }
.mv-grid td.op { font-size: calc(var(--cell) * .55); }
.mv-grid td.calc { color: #c8102e; }

/* 小數點：自己一個窄格（寬度＝格子的 0.4 倍，與 vertical-render.js 的 DOT_RATIO 一致），點在窄格中間偏下 */
.mv-grid td.dc {
    width: calc(var(--cell) * .4); min-width: calc(var(--cell) * .4); max-width: calc(var(--cell) * .4);
}
.mv-grid td.has-dot::after {
    content: ''; position: absolute; left: 50%; bottom: calc(var(--cell) * .2);
    width: 0; height: 0; margin-left: -.65mm;
    border: .65mm solid currentColor; border-radius: 50%;
}
.mv-grid td.dot-calc { color: #c8102e; }

/* 答案末尾的 0 與小數點劃掉（依課程手冊的寫法；用 border 畫，列印才看得到） */
.mv-grid td.strike::before {
    content: ''; position: absolute; left: 20%; right: 20%; top: 50%;
    border-top: .35mm solid #c8102e; transform: rotate(-55deg);
}
.mv-grid td.dot-x::before {
    content: ''; position: absolute; left: 50%; bottom: calc(var(--cell) * .2 + .65mm);
    width: 2.8mm; margin-left: -1.4mm; border-top: .3mm solid #c8102e; transform: rotate(-55deg);
}

/* 除號：「)」與被除數上方的橫線一筆畫成（SVG 從除號格往右延伸到最後一欄） */
.mv-grid td.br { padding: 0; }
.mv-div { position: absolute; left: 0; top: 0; overflow: visible; pointer-events: none; }
.mv-div path { fill: none; stroke: #222; stroke-width: .55; stroke-linecap: round; stroke-linejoin: round; }
