/* M07 Web game additions. Reuse core .oc-math-lab framework and CSS variables. */
#play[data-oc-m07] .m07-note{font-size:.93rem;line-height:1.6;margin:12px 0;color:var(--ml-copy)}
#play[data-oc-m07] .m07-tasks{display:grid;gap:15px}
#play[data-oc-m07] .m07-panel,#play[data-oc-m07] .m07-repeat-task{border:1px solid var(--ml-line);background:var(--ml-surface);border-radius:12px;padding:16px;min-width:0}
#play[data-oc-m07] .m07-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--ml-line);margin-bottom:12px}
#play[data-oc-m07] .m07-header span{font-size:.93rem;color:var(--ml-copy)}
#play[data-oc-m07] label{font-weight:650;display:grid;gap:6px;min-width:0}
#play[data-oc-m07] input[type=text]{width:100%;min-width:0;max-width:100%;border:1px solid var(--ml-line);border-radius:9px;background:var(--ml-surface);color:var(--ml-ink);min-height:44px;padding:10px 12px;font:inherit;font-size:1rem}
#play[data-oc-m07] :is(input,button,select):focus-visible{outline:3px solid #0b83d3;outline-offset:2px}
#play[data-oc-m07] input:disabled{opacity:.85}
#play[data-oc-m07] .m07-recipe-grid{display:grid;gap:9px}
#play[data-oc-m07] .m07-recipe-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.75fr);gap:14px;align-items:center;padding:8px 0;border-bottom:1px solid var(--ml-line)}
#play[data-oc-m07] .m07-recipe-row:last-child{border:0}
#play[data-oc-m07] .m07-recipe-row>div{display:grid;gap:4px}
#play[data-oc-m07] .m07-recipe-row>div span{font-size:.9rem;color:var(--ml-copy)}
#play[data-oc-m07] .m07-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--ml-line)}
#play[data-oc-m07] .m07-table{width:100%;border-collapse:collapse;color:var(--ml-ink);min-width:270px}
#play[data-oc-m07] .m07-table th,#play[data-oc-m07] .m07-table td{border-bottom:1px solid var(--ml-line);text-align:center;padding:11px}
#play[data-oc-m07] .m07-table th{background:var(--ml-soft);font-weight:700}
#play[data-oc-m07] .m07-table td{font-size:1.1rem;font-weight:650}
#play[data-oc-m07] .m07-table input{max-width:150px;text-align:center}
#play[data-oc-m07] .m07-vendors{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr));gap:10px;border:0;padding:0;margin:14px 0}
#play[data-oc-m07] .m07-vendors legend{font-weight:700;margin-bottom:9px}
#play[data-oc-m07] .m07-vendor{display:flex;flex-direction:row;align-items:center;gap:12px;cursor:pointer;border:1px solid var(--ml-line);border-radius:12px;padding:14px;background:var(--ml-surface)}
#play[data-oc-m07] .m07-vendor.chosen{outline:2px solid #1687d4}
#play[data-oc-m07] .m07-vendor input{accent-color:#1687d4;flex:0 0 auto;width:18px;height:18px}
#play[data-oc-m07] .m07-vendor span{display:grid;gap:5px}
#play[data-oc-m07] .m07-vendor small{color:var(--ml-copy);font-size:.85rem}
#play[data-oc-m07] .m07-market-total{max-width:360px;margin:14px 0}
#play[data-oc-m07] .m07-repeat-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.65fr);gap:16px;align-items:center}
#play[data-oc-m07] .m07-repeat-task small{color:var(--ml-copy)}
#play[data-oc-m07] .m07-big{font-size:clamp(1.5rem,5vw,2.6rem);font-weight:800;margin:12px 0;letter-spacing:.02em}
#play[data-oc-m07] .m07-recur{text-decoration:overline;text-decoration-thickness:2px;text-decoration-color:#167bd1}
#play[data-oc-m07] .m07-frac-fields{width:min(100%,170px);display:grid;gap:4px;justify-self:center}
#play[data-oc-m07] .m07-frac-fields label{font-size:.81rem}
#play[data-oc-m07] .m07-frac-rule{height:2px;background:var(--ml-ink);margin:1px 0}
#play[data-oc-m07] .m07-share-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;margin:14px 0}
#play[data-oc-m07] .m07-panel p{line-height:1.6;margin:12px 0}
@media(max-width:560px){#play[data-oc-m07] .m07-recipe-row{grid-template-columns:minmax(0,1fr)}#play[data-oc-m07] .m07-repeat-task{grid-template-columns:minmax(0,1fr)}#play[data-oc-m07] .m07-frac-fields{justify-self:start}#play[data-oc-m07] .m07-panel{padding:12px}#play[data-oc-m07] .m07-table th,#play[data-oc-m07] .m07-table td{padding:6px}}
