/* Number unit + shared nx- visual framework (also used by the Operations unit). Scoped to both unit roots. */
.nu-unit-number { --nx-main: #1d4ed8; --nx-soft: #dbeafe; --nx-ink: #1e3a8a; --nx-hi: #fde68a; --nx-hi2: #bbf7d0; }
.nu-unit-operations { --nx-main: #b45309; --nx-soft: #ffedd5; --nx-ink: #7c2d12; --nx-hi: #fde68a; --nx-hi2: #bbf7d0; }

.nu-unit-number .nx-title, .nu-unit-operations .nx-title { margin: 0 0 .6rem; font-weight: 800; color: var(--nx-ink); text-align: center; font-size: 17px; }
.nu-unit-number .nx-note, .nu-unit-operations .nx-note { margin: .6rem 0 0; font-size: 15px; line-height: 1.5; text-align: center; }
.nu-unit-number .nx-caption, .nu-unit-operations .nx-caption { margin: 0 0 .7rem; font-size: 17px; line-height: 1.5; text-align: center; }
.nu-unit-number .nx-keys, .nu-unit-operations .nx-keys { margin: .5rem 0 0; font-size: 14px; text-align: center; color: #4b5563; }
.nu-unit-number .nx-blank, .nu-unit-operations .nx-blank { color: #9ca3af; }
.nu-unit-number .nx-frac, .nu-unit-operations .nx-frac { display: inline-flex; flex-direction: column; vertical-align: middle; text-align: center; line-height: 1.1; font-size: max(.9em, 14px); margin: 0 .2em; }
.nu-unit-number .nx-frac > span:first-child, .nu-unit-operations .nx-frac > span:first-child { border-bottom: 2px solid currentColor; padding: 0 .15em .05em; }
.nu-unit-number .nx-frac > span:last-child, .nu-unit-operations .nx-frac > span:last-child { padding: .05em .15em 0; }

/* frames stepper */
.nu-unit-number .nx-frames, .nu-unit-operations .nx-frames { outline-offset: 4px; }
.nu-unit-number .nx-frame, .nu-unit-operations .nx-frame { animation: nx-fade .25s ease; }
@keyframes nx-fade { from { opacity: .2; } to { opacity: 1; } }
.nu-unit-number .nx-controls, .nu-unit-operations .nx-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem; margin-top: 1rem; }
.nu-unit-number .nx-count, .nu-unit-operations .nx-count { font-weight: 800; font-size: 15px; min-width: 6.5rem; text-align: center; }

/* cards */
.nu-unit-number .nx-cards, .nu-unit-operations .nx-cards { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.nu-unit-number .nx-card, .nu-unit-operations .nx-card { display: grid; gap: .2rem; min-width: 4.2rem; padding: .7rem .9rem; border: 2px solid var(--nx-main); border-radius: .8rem; background: #fff; text-align: center; }
.nu-unit-number .nx-card strong, .nu-unit-operations .nx-card strong { font-size: 24px; line-height: 1.2; color: var(--nx-ink); }
.nu-unit-number .nx-card small, .nu-unit-operations .nx-card small { font-size: 14px; }
.nu-unit-number .nx-card.nx-tone-b, .nu-unit-operations .nx-card.nx-tone-b { background: var(--nx-hi); }
.nu-unit-number .nx-card.nx-tone-c, .nu-unit-operations .nx-card.nx-tone-c { background: var(--nx-hi2); }
.nu-unit-number .nx-card.nx-tone-dim, .nu-unit-operations .nx-card.nx-tone-dim { border-style: dashed; opacity: .75; }

/* place-value chart */
.nu-unit-number .nx-chart-wrap, .nu-unit-operations .nx-chart-wrap { overflow-x: auto; }
.nu-unit-number .nx-chart, .nu-unit-operations .nx-chart { border-collapse: separate; border-spacing: 0; margin: 0 auto; background: #fff; border: 2px solid var(--nx-main); border-radius: .8rem; overflow: hidden; }
.nu-unit-number .nx-chart th, .nu-unit-operations .nx-chart th { background: var(--nx-main); color: #fff; font-size: 14px; line-height: 1.25; padding: .5rem .45rem; font-weight: 700; }
.nu-unit-number .nx-chart tbody th, .nu-unit-operations .nx-chart tbody th { background: var(--nx-soft); color: var(--nx-ink); text-align: left; }
.nu-unit-number .nx-chart td, .nu-unit-operations .nx-chart td { font-size: 26px; font-weight: 800; text-align: center; padding: .35rem .6rem; border-top: 1px solid #cbd5e1; min-width: 2.6rem; }
.nu-unit-number .nx-chart td.nx-hi, .nu-unit-operations .nx-chart td.nx-hi { background: var(--nx-hi); }
.nu-unit-number .nx-chart.nx-compact td, .nu-unit-operations .nx-chart.nx-compact td { font-size: 21px; padding: .3rem .4rem; min-width: 2.1rem; }

/* place-value blocks */
.nu-unit-number .nx-blocks, .nu-unit-operations .nx-blocks { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 1rem; }
.nu-unit-number .nx-pv-group, .nu-unit-operations .nx-pv-group { display: grid; gap: .3rem; justify-items: center; padding: .4rem; border-radius: .6rem; }
.nu-unit-number .nx-pv-group.nx-hi, .nu-unit-operations .nx-pv-group.nx-hi { background: var(--nx-hi); }
.nu-unit-number .nx-pv-group small, .nu-unit-operations .nx-pv-group small { font-size: 14px; font-weight: 700; }
.nu-unit-number .nx-pv-row, .nu-unit-operations .nx-pv-row { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: center; align-items: flex-end; max-width: 100%; }
.nu-unit-number .nx-pv, .nu-unit-operations .nx-pv { display: grid; background: #fff; border: 2px solid var(--nx-main); border-radius: 3px; }
.nu-unit-number .nx-pv i, .nu-unit-operations .nx-pv i { border: 1px solid #93c5fd; }
.nu-unit-number .nx-pv-hundreds, .nu-unit-operations .nx-pv-hundreds { width: 62px; height: 62px; grid-template-columns: repeat(10, 1fr); }
.nu-unit-number .nx-pv-tens, .nu-unit-operations .nx-pv-tens { width: 12px; height: 62px; grid-template-rows: repeat(10, 1fr); }
.nu-unit-number .nx-pv-ones, .nu-unit-operations .nx-pv-ones { width: 12px; height: 12px; }
.nu-unit-number .nx-pv-thousands, .nu-unit-operations .nx-pv-thousands { width: 66px; height: 66px; place-items: center; background: var(--nx-soft); font-size: 14px; font-weight: 800; }

/* arrays and dots */
.nu-unit-number .nx-array-fig, .nu-unit-operations .nx-array-fig { margin: 0; display: grid; justify-items: center; gap: .5rem; }
.nu-unit-number .nx-array-fig figcaption, .nu-unit-operations .nx-array-fig figcaption { font-size: 15px; text-align: center; }
.nu-unit-number .nx-array, .nu-unit-operations .nx-array { display: grid; grid-template-columns: repeat(var(--cols), 22px); gap: 6px; max-width: 100%; }
.nu-unit-number .nx-array i, .nu-unit-operations .nx-array i { width: 22px; height: 22px; border-radius: 50%; background: var(--nx-main); }
.nu-unit-number .nx-array i.nx-hi, .nu-unit-operations .nx-array i.nx-hi { background: #f59e0b; }
.nu-unit-number .nx-array i.nx-gap-l, .nu-unit-operations .nx-array i.nx-gap-l { margin-left: 14px; }
.nu-unit-number .nx-array i.nx-gap-t, .nu-unit-operations .nx-array i.nx-gap-t { margin-top: 14px; }
@media (max-width: 480px) { .nu-unit-number .nx-array, .nu-unit-operations .nx-array { grid-template-columns: repeat(var(--cols), 16px); gap: 4px; } .nu-unit-number .nx-array i, .nu-unit-operations .nx-array i { width: 16px; height: 16px; } }
.nu-unit-number .nx-dots, .nu-unit-operations .nx-dots { display: flex; flex-wrap: wrap; gap: 7px; justify-content: center; max-width: 30rem; margin: 0 auto; }
.nu-unit-number .nx-dots i, .nu-unit-operations .nx-dots i { width: 18px; height: 18px; border-radius: 50%; background: var(--nx-main); }
.nu-unit-number .nx-dots i.nx-hi, .nu-unit-operations .nx-dots i.nx-hi { background: #f59e0b; }
.nu-unit-number .nx-dots.nx-scatter, .nu-unit-operations .nx-dots.nx-scatter { position: relative; height: 200px; display: block; }
.nu-unit-number .nx-dots.nx-scatter i, .nu-unit-operations .nx-dots.nx-scatter i { position: absolute; left: calc(var(--x) * 0.94%); top: calc(var(--y) * 0.9%); }
.nu-unit-number .nx-pairs, .nu-unit-operations .nx-pairs { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.nu-unit-number .nx-pair, .nu-unit-operations .nx-pair { display: grid; gap: 4px; padding: 4px; border: 2px solid var(--nx-main); border-radius: 8px; }
.nu-unit-number .nx-pair i, .nu-unit-operations .nx-pair i { width: 18px; height: 18px; border-radius: 50%; background: var(--nx-main); }
.nu-unit-number .nx-pair i.nx-empty, .nu-unit-operations .nx-pair i.nx-empty { background: transparent; border: 2px dashed #9ca3af; }
.nu-unit-number .nx-pair.nx-odd, .nu-unit-operations .nx-pair.nx-odd { border-color: #dc2626; background: #fee2e2; }
.nu-unit-number .nx-groups, .nu-unit-operations .nx-groups { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.nu-unit-number .nx-group, .nu-unit-operations .nx-group { display: grid; grid-template-columns: repeat(5, 16px); gap: 4px; padding: 6px; border: 2px solid var(--nx-main); border-radius: 8px; background: #fff; }
.nu-unit-number .nx-group.nx-hi, .nu-unit-operations .nx-group.nx-hi { background: var(--nx-hi); }
.nu-unit-number .nx-group i, .nu-unit-operations .nx-group i { width: 16px; height: 16px; border-radius: 50%; background: var(--nx-main); }

/* number line */
.nu-unit-number .nx-line, .nu-unit-operations .nx-line { width: 100%; max-width: 40rem; display: block; margin: 0 auto; height: auto; }
.nu-unit-number .nx-line text, .nu-unit-operations .nx-line text { font: 700 30px/1 system-ui, sans-serif; fill: #1f2937; }
.nu-unit-number .nx-line .nx-axis, .nu-unit-operations .nx-line .nx-axis { stroke: #374151; stroke-width: 4; }
.nu-unit-number .nx-line .nx-tick, .nu-unit-operations .nx-line .nx-tick { stroke: #374151; stroke-width: 3; }
.nu-unit-number .nx-line .nx-jump, .nu-unit-operations .nx-line .nx-jump { fill: none; stroke: #b45309; stroke-width: 5; }
.nu-unit-number .nx-line marker path, .nu-unit-operations .nx-line marker path { fill: #b45309; }
.nu-unit-number .nx-line .nx-jump-text, .nu-unit-operations .nx-line .nx-jump-text { fill: #7c2d12; font-size: 30px; }
.nu-unit-number .nx-line .nx-point, .nu-unit-operations .nx-line .nx-point { fill: var(--nx-main); stroke: #fff; stroke-width: 3; }
.nu-unit-number .nx-line .nx-point.nx-tone-b, .nu-unit-operations .nx-line .nx-point.nx-tone-b { fill: #dc2626; }
.nu-unit-number .nx-line .nx-point.nx-tone-c, .nu-unit-operations .nx-line .nx-point.nx-tone-c { fill: #16a34a; }
.nu-unit-number .nx-line .nx-point-text, .nu-unit-operations .nx-line .nx-point-text { fill: var(--nx-ink); }

/* column algorithm */
.nu-unit-number .nx-column, .nu-unit-operations .nx-column { display: grid; justify-items: center; gap: .1rem; font-variant-numeric: tabular-nums; }
.nu-unit-number .nx-col-row, .nu-unit-operations .nx-col-row { display: flex; }
.nu-unit-number .nx-col-cell, .nu-unit-operations .nx-col-cell { width: 2.4rem; text-align: center; font-size: 30px; font-weight: 800; line-height: 1.3; }
.nu-unit-number .nx-col-cell.nx-hi, .nu-unit-operations .nx-col-cell.nx-hi { background: var(--nx-hi); border-radius: .3rem; }
.nu-unit-number .nx-col-op, .nu-unit-operations .nx-col-op { color: var(--nx-main); }
.nu-unit-number .nx-carry .nx-col-cell, .nu-unit-operations .nx-carry .nx-col-cell { font-size: 16px; color: #b91c1c; line-height: 1.2; }
.nu-unit-number .nx-col-result, .nu-unit-operations .nx-col-result { border-top: 3px solid #1f2937; margin-top: .2rem; padding-top: .2rem; }

/* hundred chart */
.nu-unit-number .nx-grid, .nu-unit-operations .nx-grid { display: grid; grid-template-columns: repeat(10, 1fr); gap: 3px; max-width: 30rem; margin: 0 auto; }
.nu-unit-number .nx-grid span, .nu-unit-operations .nx-grid span { display: grid; place-items: center; aspect-ratio: 1; font-size: 14px; font-weight: 700; background: #fff; border: 1px solid #cbd5e1; border-radius: 4px; }
.nu-unit-number .nx-grid span.nx-hi, .nu-unit-operations .nx-grid span.nx-hi { background: var(--nx-hi); border-color: #d97706; }
.nu-unit-number .nx-grid span.nx-hi2, .nu-unit-operations .nx-grid span.nx-hi2 { background: var(--nx-hi2); border-color: #16a34a; }
.nu-unit-number .nx-grid span.nx-hi.nx-hi2, .nu-unit-operations .nx-grid span.nx-hi.nx-hi2 { background: linear-gradient(135deg, var(--nx-hi) 50%, var(--nx-hi2) 50%); }

/* money */
.nu-unit-number .nx-money, .nu-unit-operations .nx-money { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; align-items: center; }
.nu-unit-number .nx-coin, .nu-unit-operations .nx-coin { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; font-size: 15px; font-weight: 800; border: 3px solid #a16207; background: #fde047; }
.nu-unit-number .nx-coin.nx-silver, .nu-unit-operations .nx-coin.nx-silver { border-color: #6b7280; background: #e5e7eb; }
.nu-unit-number .nx-note-money, .nu-unit-operations .nx-note-money { display: grid; place-items: center; width: 86px; height: 46px; border-radius: 6px; font-size: 16px; font-weight: 800; border: 3px solid #0e7490; background: #a5f3fc; }

/* area model */
.nu-unit-number .nx-area-wrap, .nu-unit-operations .nx-area-wrap { overflow-x: auto; }
.nu-unit-number .nx-area, .nu-unit-operations .nx-area { border-collapse: collapse; margin: 0 auto; }
.nu-unit-number .nx-area th, .nu-unit-operations .nx-area th { font-size: 18px; font-weight: 800; padding: .3rem .6rem; color: var(--nx-ink); }
.nu-unit-number .nx-area td, .nu-unit-operations .nx-area td { border: 2px solid var(--nx-main); min-width: 4.5rem; height: 3.6rem; text-align: center; font-size: 22px; font-weight: 800; background: #fff; }
.nu-unit-number .nx-area td.nx-hi, .nu-unit-operations .nx-area td.nx-hi { background: var(--nx-hi); }

/* vertical scale */
.nu-unit-number .nx-vscale, .nu-unit-operations .nx-vscale { display: grid; gap: 2px; max-width: 22rem; margin: 0 auto; }
.nu-unit-number .nx-vrow, .nu-unit-operations .nx-vrow { display: grid; grid-template-columns: 5rem 1fr; align-items: center; min-height: 26px; border-left: 4px solid #374151; padding-left: .5rem; }
.nu-unit-number .nx-vrow.nx-zero, .nu-unit-operations .nx-vrow.nx-zero { border-left-color: #dc2626; background: #f3f4f6; }
.nu-unit-number .nx-vnum, .nu-unit-operations .nx-vnum { font-size: 15px; font-weight: 800; }
.nu-unit-number .nx-vmark b, .nu-unit-operations .nx-vmark b { display: inline-block; padding: 2px 8px; border-radius: 6px; font-size: 14px; background: var(--nx-main); color: #fff; margin-right: 4px; }
.nu-unit-number .nx-vmark b.nx-tone-b, .nu-unit-operations .nx-vmark b.nx-tone-b { background: #dc2626; }
.nu-unit-number .nx-vmark b.nx-tone-c, .nu-unit-operations .nx-vmark b.nx-tone-c { background: #16a34a; }

/* growing pattern */
.nu-unit-number .nx-pattern, .nu-unit-operations .nx-pattern { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; align-items: flex-end; }
.nu-unit-number .nx-stage, .nu-unit-operations .nx-stage { display: grid; gap: .3rem; justify-items: center; }
.nu-unit-number .nx-stage small, .nu-unit-operations .nx-stage small { font-size: 14px; font-weight: 700; text-align: center; }
.nu-unit-number .nx-stage-cells, .nu-unit-operations .nx-stage-cells { display: grid; grid-template-columns: repeat(var(--cols), 20px); gap: 3px; }
.nu-unit-number .nx-square, .nu-unit-operations .nx-square { width: 36px; height: 36px; background: var(--nx-main); border: 1px solid #fff; }
.nu-unit-number .nx-dot, .nu-unit-operations .nx-dot { width: 20px; height: 20px; border-radius: 50%; background: var(--nx-main); }

/* bar model */
.nu-unit-number .nx-bar, .nu-unit-operations .nx-bar { max-width: 28rem; margin: 0 auto; display: grid; gap: 4px; }
.nu-unit-number .nx-bar-whole, .nu-unit-operations .nx-bar-whole { text-align: center; border: 2px solid #1f2937; border-radius: .5rem; padding: .5rem; font-size: 22px; font-weight: 800; background: #fff; }
.nu-unit-number .nx-bar-parts, .nu-unit-operations .nx-bar-parts { display: flex; gap: 4px; }
.nu-unit-number .nx-bar-parts span, .nu-unit-operations .nx-bar-parts span { text-align: center; border-radius: .5rem; padding: .5rem; font-size: 20px; font-weight: 800; background: var(--nx-soft); border: 2px solid var(--nx-main); }
.nu-unit-number .nx-bar-parts span.nx-tone-b, .nu-unit-operations .nx-bar-parts span.nx-tone-b { background: var(--nx-hi); border-color: #d97706; }
.nu-unit-number .nx-bar-parts span.nx-tone-c, .nu-unit-operations .nx-bar-parts span.nx-tone-c { background: var(--nx-hi2); border-color: #16a34a; }

/* list */
.nu-unit-number .nx-list, .nu-unit-operations .nx-list { margin: 0 auto; border-collapse: collapse; background: #fff; }
.nu-unit-number .nx-list th, .nu-unit-operations .nx-list th { text-align: left; padding: .4rem .8rem; font-size: 16px; border-bottom: 1px solid #cbd5e1; }
.nu-unit-number .nx-list td, .nu-unit-operations .nx-list td { text-align: right; padding: .4rem .8rem; font-size: 18px; font-weight: 800; border-bottom: 1px solid #cbd5e1; }

/* algorithm runner */
.nu-unit-number .nx-fields, .nu-unit-operations .nx-fields { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-bottom: .6rem; }
.nu-unit-number .nx-field, .nu-unit-operations .nx-field { display: grid; gap: .2rem; font-size: 14px; font-weight: 700; }
.nu-unit-number .nx-field input, .nu-unit-operations .nx-field input, .nu-unit-number .nx-field select, .nu-unit-operations .nx-field select, .nu-unit-number .nx-predict input, .nu-unit-operations .nx-predict input { min-height: 44px; font-size: 18px; font-family: inherit; padding: .3rem .6rem; border: 2px solid var(--nx-main); border-radius: .5rem; background: #fff; max-width: 14rem; }
.nu-unit-number .nx-steps, .nu-unit-operations .nx-steps { margin: 0; padding-left: 1.4rem; font-size: 16px; line-height: 1.5; background: #fff; border: 2px solid var(--nx-main); border-radius: .8rem; padding: .7rem .7rem .7rem 2rem; }
.nu-unit-number .nx-predict, .nu-unit-operations .nx-predict { display: grid; gap: .3rem; margin-top: .8rem; font-size: 15px; }
.nu-unit-number .nx-predict label, .nu-unit-operations .nx-predict label { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-weight: 700; }
.nu-unit-number .nx-trace, .nu-unit-operations .nx-trace { margin: .8rem 0 0; padding-left: 1.4rem; font-size: 16px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.nu-unit-number .nx-trace li.nx-kept, .nu-unit-operations .nx-trace li.nx-kept { background: var(--nx-hi2); border-radius: .3rem; padding: 0 .3rem; }
.nu-unit-number .nx-summary, .nu-unit-operations .nx-summary { margin: .6rem 0 0; font-weight: 700; font-size: 15px; }

@media (prefers-reduced-motion: reduce) { .nu-unit-number .nx-frame, .nu-unit-operations .nx-frame { animation: none; } }

/* triangle dot stages and half tiles (rational patterns / triangular numbers) */
.nu-unit-number .nx-stage-cells, .nu-unit-operations .nx-stage-cells { --cols: 6; }
.nu-unit-number .nx-tri, .nu-unit-operations .nx-tri { display: grid; gap: 3px; justify-items: center; }
.nu-unit-number .nx-tri-row, .nu-unit-operations .nx-tri-row { display: flex; gap: 3px; }
.nu-unit-number .nx-square.nx-half, .nu-unit-operations .nx-square.nx-half { width: 18px; background: #93c5fd; border-right: 2px dashed var(--nx-main); }

/* phone: place-value charts fit 390px without scrolling */
@media (max-width: 480px) {
  .nu-unit-number .nx-chart th, .nu-unit-operations .nx-chart th { font-size: 14px; padding: .35rem .2rem; hyphens: manual; max-width: 3.6rem; }
  .nu-unit-number .nx-chart tbody th, .nu-unit-operations .nx-chart tbody th { max-width: 3rem; font-size: 14px; }
  .nu-unit-number .nx-chart td, .nu-unit-operations .nx-chart td { font-size: 21px; padding: .25rem .3rem; min-width: 1.9rem; }
  .nu-unit-number .nx-col-cell, .nu-unit-operations .nx-col-cell { width: 2rem; font-size: 26px; }
  .nu-unit-number .nx-area td, .nu-unit-operations .nx-area td { min-width: 3.4rem; height: 3rem; font-size: 19px; }
}

/* Long arrays keep every object visible on a small screen. */
.nu-unit-number .nx-array, .nu-unit-operations .nx-array { width: min(100%, calc(var(--cols) * 28px - 6px)); grid-template-columns: repeat(var(--cols), minmax(0, 1fr)); gap: 4px; }
.nu-unit-number .nx-array i, .nu-unit-operations .nx-array i { width: 100%; max-width: 22px; height: auto; aspect-ratio: 1; }

/* Keep place names within their own columns on narrow screens. */
.nu-unit-number .nx-chart thead th,.nu-unit-operations .nx-chart thead th {overflow-wrap:normal;word-break:normal;white-space:normal;hyphens:manual;}

.nu-unit-number .nx-chart .nx-decimal-point,.nu-unit-operations .nx-chart .nx-decimal-point{min-width:.65rem;width:.65rem;padding:.35rem .12rem;font-size:26px;background:#fef3c7;color:#164951;font-weight:900}

/* Written arithmetic: fixed place columns, progressive results, visible shares. */
.nx-long-product,.nx-short-divide{margin:12px auto;max-width:620px;text-align:center}.nx-long-product table,.nx-short-divide table{border-collapse:collapse;margin:0 auto 16px;font-variant-numeric:tabular-nums}.nx-long-product td,.nx-short-divide td{min-width:2.6rem;height:2.8rem;font-size:30px;font-weight:800;text-align:center}.nx-long-product th,.nx-short-divide th{padding:8px;font-size:14px}.nx-long-product tbody th{font-size:18px}.nx-product-first td,.nx-product-total td{border-top:3px solid #164951}.nx-product-total{color:#0f766e}.nx-long-product figcaption,.nx-short-divide figcaption{line-height:1.7}.nx-divide-start{border-top:3px solid #164951;border-left:3px solid #164951}.nx-divide-end{border-top:3px solid #164951;position:relative}.nx-divide-end sup{position:absolute;left:0;top:1px;font-size:18px;color:#a14b0c}.nx-share{max-width:760px;margin:auto;text-align:center}.nx-share h3,.nx-share h4{margin:0 0 12px;font-size:1rem}.nx-share-pool{padding:16px;border:2px dashed #64748b;border-radius:12px;margin-bottom:18px}.nx-share-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.nx-share-groups>section{padding:14px 5px;background:#fff;border:2px solid #0f766e;border-radius:12px}.nx-share-trade{display:flex;justify-content:center;align-items:center;gap:20px}.nu-unit-operations .nx-share .nx-blocks{gap:12px}.nu-unit-operations .nx-share .nx-pv-tens{width:10px;height:100px}.nu-unit-operations .nx-share .nx-pv-ones{width:10px;height:10px}.nx-share small{font-size:13px}@media(max-width:600px){.nx-share-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-long-product th{padding:7px 5px;font-size:12px}.nx-long-product td{min-width:2.3rem}.nx-short-divide th{padding:6px}.nx-share-trade{gap:14px}}
@media(max-width:600px){.nu-unit-number .nx-chart thead th,.nu-unit-operations .nx-chart thead th{font-size:13px;padding:.35rem .15rem}.nu-unit-number .nx-chart td,.nu-unit-operations .nx-chart td{min-width:1.6rem}}

.nx-pair-animation svg{display:block;width:100%;max-width:600px;margin:auto;overflow:visible}.nx-pair-animation .nx-caption{min-height:3em}.nx-pair-animation label{display:flex;align-items:center;gap:.5rem}.nx-pair-animation select{font:inherit;padding:.65rem;border:1px solid #64867a;border-radius:8px;background:white;min-height:44px}
