/* We Distribute, Yet Things Multiply — chapter-specific additions only.
   Shared tokens, layout and components come from lessons/shared/class8-maths.css (loaded first). */
.dm-sofar{font-family:var(--serif);font-size:19px;color:var(--dm-cream);font-weight:600;letter-spacing:.06em}
.dm-steps tr:last-child .dm-sofar{color:var(--dm-hl)}
.dm-col-add{display:inline-grid;grid-template-columns:repeat(5,1.3em);font-family:var(--serif);font-size:24px;text-align:center;background:var(--dm-deep);padding:10px 22px;border-radius:10px;color:var(--dm-cream);margin:8px 0}
.dm-col-add .dm-rule{border-top:2px solid var(--dm-cream);margin-top:4px;padding-top:2px;color:var(--dm-hl);font-weight:700}

/* Calendar (textbook figure and live explorer) */
.dm-cal{border-collapse:collapse;margin:14px auto;font-family:var(--serif);font-size:17px;background:#fff;color:var(--dm-ink)}
.dm-cal caption{background:#D4AE3C;color:#fff;font-weight:700;padding:6px;font-size:18px;border:1.5px solid #333;border-bottom:0}
.dm-cal th,.dm-cal td{border:1px solid #333;width:44px;height:36px;text-align:center;padding:0}
.dm-cal th{font-weight:700;font-size:15px}
.dm-cal .dm-in{position:relative}
.dm-cal .dm-4{box-shadow:inset 3px 3px 0 #D22}.dm-cal .dm-5{box-shadow:inset -3px 3px 0 #D22}.dm-cal .dm-11{box-shadow:inset 3px -3px 0 #D22}.dm-cal .dm-12{box-shadow:inset -3px -3px 0 #D22}
.dm-hint-grid{border-collapse:collapse;margin:6px auto 4px;font-family:var(--serif);font-size:18px}
.dm-hint-grid td{border:1.5px solid #333;padding:6px 16px;text-align:center;min-width:90px}
.dm-hint-grid-lg{background:var(--dm-paper);color:var(--dm-ink);font-size:21px}
.dm-cal-wrap{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center;justify-content:center}
.dm-cal-live td{width:48px;height:44px}
.dm-cal-live button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:44px;cursor:pointer;font:inherit}
.dm-cal-live button:hover{background:#FFF1BF}
.dm-cal-live button:focus-visible{outline:3px solid #1E7B63;outline-offset:-3px}
.dm-cal-live span{color:#8A9793}
.dm-cal-live td.tl,.dm-cal-live td.br{background:#BDE9D8}
.dm-cal-live td.tr,.dm-cal-live td.bl{background:#FFE39A}
.dm-cal-live td.tl span,.dm-cal-live td.tr span,.dm-cal-live td.bl span,.dm-cal-live td.br span{color:var(--dm-ink)}
.dm-cal-live td.tl,.dm-cal-live td.tr,.dm-cal-live td.bl,.dm-cal-live td.br{font-weight:700}
.dm-cal-out{font-family:var(--serif);font-size:21px;min-width:200px}
.dm-cal-out p{margin:6px 0;display:flex;align-items:center;gap:10px}
.dm-sw{display:inline-block;width:16px;height:16px;border-radius:4px}
.sw1{background:#BDE9D8}.sw2{background:#FFE39A}
.dm-cal-diff{border-top:2px solid var(--dm-border);padding-top:8px;color:var(--dm-hl)}

/* ---- Full chapter additions ---- */
.dm-tb-note{font-family:var(--sans);font-size:13px;font-weight:600;color:#6F6A55;margin:4px 0 8px}
.dm-tb-note::before{content:"Note · ";color:#8A6A12}
.dm-tb-rows{margin:6px 0 12px;text-align:center}
.dm-tb-rows p{margin:4px 0}
.dm-tb-options{display:flex;flex-wrap:wrap;gap:6px 22px;margin:6px 0 10px}
.dm-tb-options span{white-space:nowrap}
.dm-tb-cap{text-align:center;font-style:italic;font-size:.85em;margin:-6px 0 4px}
.dm-fig-xs{max-width:100%}
.dm-fig.dm-fig-wide{max-width:460px}
.dm-fig.dm-natural{width:auto;height:auto;max-width:100%}
.dm-fig-row .dm-fig.dm-natural{max-height:none}
.dm-fig-row{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:flex-end;justify-content:center}
.dm-fig-row .dm-fig{margin:10px 0;width:auto;max-width:100%;height:auto;max-height:230px}
.dm-mm-card{display:flex;gap:12px;align-items:flex-start;border:1.5px solid #D4A53A;border-radius:14px;padding:12px 16px;margin:12px 0 4px;max-width:340px;background:#fff}
.dm-mm-card p{margin:2px 0}
.dm-mm-n{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1.5px solid #333;font-family:var(--sans);font-size:14px;font-weight:700}
.dm-mg-wrap{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;margin:12px 0}
.dm-mg{border-collapse:collapse;font-family:var(--sans);font-size:13px;text-align:center}
.dm-mg th,.dm-mg td{border:1px solid #333;width:28px;height:24px;padding:0}
.dm-mg th{background:#F5E36B;font-weight:700}
.dm-mg .dm-mg-x{background:#E6A9D2}
.dm-mg td.dm-mg-f.t{border-top:2.5px solid #C22}.dm-mg td.dm-mg-f.b{border-bottom:2.5px solid #C22}.dm-mg td.dm-mg-f.l{border-left:2.5px solid #C22}.dm-mg td.dm-mg-f.r{border-right:2.5px solid #C22}
.dm-mg-side{display:flex;flex-direction:column;gap:12px}
.dm-mg-frame{border-collapse:collapse;font-size:15px}
.dm-mg-frame td{border:1px solid #333;width:52px;height:34px;text-align:center}
.dm-coladd{border-collapse:collapse;margin:10px 0;font-family:var(--serif);font-size:20px}
.dm-coladd td{padding:2px 9px;text-align:center;white-space:nowrap}
.dm-coladd.it td{font-size:17px}
.dm-coladd tr.sum td{border-top:2px solid currentColor}
.dm-explain .dm-coladd{background:var(--dm-deep);color:var(--dm-cream);border-radius:10px}
.dm-explain .dm-coladd tr.sum td{color:var(--dm-hl);font-weight:700;border-top-color:var(--dm-cream)}
.dm-grid-table td:first-child,.dm-grid-table th{font-family:var(--serif)}
.dm-grid-table td{font-family:var(--serif);font-size:18px}
.dm-answer-grid{background:var(--dm-paper);color:var(--dm-ink);margin:8px 0}
.dm-answer-grid td{padding:6px 10px;font-size:17px;min-width:0}

@media (max-width:600px){
  .dm-cal th,.dm-cal td{width:40px}
  .dm-cal-live td{width:42px}
  .dm-sofar{font-size:17px;letter-spacing:.03em}
  .dm-mg th,.dm-mg td{width:25px;height:22px;font-size:12px}
  .dm-mg-side{flex-direction:row}
  .dm-mg-frame td{width:44px;height:30px;font-size:13px}
  .dm-coladd{font-size:18px}
}
