/* M04 focused puzzle boards: responsive, light/dark inherited via existing math-page variables. */
body[data-oc-math-page] #play[data-oc-math] .m04-row{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 0 6px}
body[data-oc-math-page] #play[data-oc-math] .m04-tile{display:flex;min-width:0;max-width:84px;flex:1;position:relative}
body[data-oc-math-page] #play[data-oc-math] .m04-tile input{display:block;width:100%;min-width:0;text-align:center;padding:8px 0!important;font-weight:750;font-size:clamp(.9rem,2.8vw,1.2rem);border:1px solid var(--ml-line);background:var(--ml-surface);color:var(--ml-ink);border-radius:6px;min-height:48px}
body[data-oc-math-page] #play[data-oc-math] .m04-tile input:read-only{background:var(--ml-soft);border-style:dashed;opacity:1}
body[data-oc-math-page] #play[data-oc-math] .m04-tile input:focus-visible{outline:3px solid var(--ml-focus);outline-offset:1px}
body[data-oc-math-page] #play[data-oc-math] .m04-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-oc-math-page] #play[data-oc-math] .m04-square{width:min(100%,370px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 auto}
body[data-oc-math-page] #play[data-oc-math] .m04-square .m04-tile{max-width:none}
body[data-oc-math-page] #play[data-oc-math] .m04-square input{height:68px;font-size:1.35rem}
body[data-oc-math-page] #play[data-oc-math] .m04-label{margin:8px 0 12px!important;font-size:.95rem!important;color:var(--ml-ink)!important}
body[data-oc-math-page] #play[data-oc-math] .m04-footnote{font-size:.87rem!important;color:var(--ml-copy)!important;margin:12px 0!important}
body[data-oc-math-page] #play[data-oc-math] .m04-scroller{max-width:100%;overflow-x:auto;padding:2px}
body[data-oc-math-page] #play[data-oc-math] .m04-sum{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr)) minmax(55px,70px);gap:6px;max-width:540px;min-width:275px}
body[data-oc-math-page] #play[data-oc-math] .m04-pick{min-width:0;min-height:61px!important;border:2px solid var(--ml-line)!important;border-radius:8px!important;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--ml-surface)!important;color:var(--ml-ink)!important;padding:5px!important}
body[data-oc-math-page] #play[data-oc-math] .m04-pick span{font-weight:800;color:inherit!important;font-size:1.2rem}
body[data-oc-math-page] #play[data-oc-math] .m04-pick small{color:inherit!important;font-size:.7rem}
body[data-oc-math-page] #play[data-oc-math] .m04-pick.chosen{background:var(--ml-blue)!important;border-color:var(--ml-blue)!important;color:var(--ml-blue-ink)!important}
body[data-oc-math-page] #play[data-oc-math] .m04-total{display:flex;align-items:center;justify-content:center;border:1px solid var(--ml-line);border-radius:6px;background:var(--ml-soft);color:var(--ml-ink);font-weight:700;font-size:.94rem}
body[data-oc-math-page] #play[data-oc-math] .m04-equation{text-align:center;font-size:clamp(1.45rem,4vw,2rem)!important;letter-spacing:.045em;font-variant-numeric:tabular-nums;color:var(--ml-ink)!important;font-weight:750;margin:12px auto}
body[data-oc-math-page] #play[data-oc-math] .m04-equation>div{display:inline-block;text-align:right;line-height:1.35;white-space:pre}
body[data-oc-math-page] #play[data-oc-math] .m04-equation hr{border:none;border-top:2px solid var(--ml-ink);margin:4px 0}
body[data-oc-math-page] #play[data-oc-math] .m04-plus{color:var(--ml-focus)}
body[data-oc-math-page] #play[data-oc-math] .m04-letters{display:flex;flex-wrap:wrap;gap:8px}
body[data-oc-math-page] #play[data-oc-math] .m04-letters label{display:flex;flex-direction:column;gap:4px;align-items:center;flex:1 1 65px;max-width:110px;color:var(--ml-ink)}
body[data-oc-math-page] #play[data-oc-math] .m04-letters input{max-width:100%;text-align:center;min-height:44px;background:var(--ml-surface);color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:6px}
body[data-oc-math-page] #play[data-oc-math] .m04-letters input:read-only{background:var(--ml-soft);font-weight:750}
body[data-oc-math-page] #play[data-oc-math] .m04-bounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-oc-math-page] #play[data-oc-math] .m04-bounds label{display:flex;flex-direction:column;gap:6px;color:var(--ml-ink);font-weight:650}
body[data-oc-math-page] #play[data-oc-math] .m04-bounds input{width:100%;min-width:0;min-height:46px;background:var(--ml-surface);color:var(--ml-ink);border:1px solid var(--ml-line);border-radius:7px;padding:9px}
body[data-oc-math-page] #play[data-oc-math] :is(.m04-bounds input,.m04-letters input):focus-visible{outline:3px solid var(--ml-focus);outline-offset:2px}
@media(max-width:370px){body[data-oc-math-page] #play[data-oc-math] .m04-tile input{font-size:.85rem;padding:7px 0!important}body[data-oc-math-page] #play[data-oc-math] .m04-row{gap:4px}body[data-oc-math-page] #play[data-oc-math] .m04-bounds{grid-template-columns:1fr}}
