.ox-prime-factorization-in { font-size: 1.4rem; min-height: 56px; }
.ox-prime-factorization-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ox-prime-factorization-big sup { font-size: .55em; }
.ox-prime-factorization-detail h3 { margin: 18px 0 8px; font-size: 1.05rem; }
.ox-prime-factorization-table { display: inline-grid; background: var(--surface); border-radius: var(--r-sm); box-shadow: var(--shadow); padding: 6px 0; min-width: 200px; max-width: 100%; overflow-x: auto; }
.ox-prime-factorization-row { display: grid; grid-template-columns: minmax(90px, 1fr) minmax(60px, auto); }
.ox-prime-factorization-row > span { padding: 4px 14px; }
.ox-prime-factorization-row > span:first-child { text-align: right; border-right: 3px solid var(--accent); }
.ox-prime-factorization-p { color: var(--accent); font-weight: 800; }
.ox-prime-factorization-tree { overflow-x: auto; padding: 8px 0; }
.ox-prime-factorization-node { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; }
.ox-prime-factorization-kids { display: flex; align-items: flex-start; gap: 18px; border-top: 2px solid var(--line); padding-top: 8px; }
.ox-prime-factorization-num { font-weight: 800; padding: 4px 10px; background: var(--surface); border-radius: 10px; box-shadow: var(--shadow); }
.ox-prime-factorization-leaf { display: inline-block; font-weight: 900; color: #fff; background: var(--accent); border-radius: 999px; min-width: 40px; text-align: center; padding: 4px 12px; }
.ox-prime-factorization-divs { line-height: 1.9; overflow-wrap: anywhere; }
