:root{--ivory:#f7f1e8;--paper:#fffdfc;--ink:#24313d;--muted:#52636b;--sage:#44755d;--blue:#415a77;--line:#ddd1c4;--token:#aebdc5;--focus:#1769aa;--cell-count:5;--token-size:22px}html,body{max-width:100%;overflow-x:clip}.fraction-word-problem-page{background:var(--ivory);color:var(--ink)}.fraction-word-problem-page [hidden]{display:none!important}.fraction-word-problem-page button,.fraction-word-problem-page input{min-height:44px}.fwp-main{width:min(1360px,calc(100% - 32px));margin:auto;padding:28px 0 96px}.tool-heading h1{max-width:1040px!important}.fwp-lab{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:18px;align-items:start}.stage,.control-panel{background:var(--paper);border:1px solid #d8d0c5;border-radius:22px;box-shadow:0 12px 30px #33414d12}.stage{padding:20px;min-width:0}.control-panel{padding:18px;position:sticky;top:14px}.stage-head,.problem-card{display:flex;justify-content:space-between;gap:16px;align-items:center}.stage-kicker{color:var(--muted)}.problem-card{padding:14px 16px;margin:14px 0;background:#f2eee7;border-radius:14px}.problem-card p{margin:0}.correspondence-board{width:min(880px,100%);margin:auto;padding:10px 0 18px;display:grid;gap:8px;position:relative}.unit-card,.whole-anchor,.known-ticket,.fraction-anchor{border:2px solid #718797;border-radius:12px;background:#f8faf9;color:var(--ink);padding:8px}.unit-card{width:100%;background:#e8eef1;font-weight:800}.whole-anchor{width:100%;border-style:dashed}.fraction-track,.quantity-mat{display:grid;grid-template-columns:repeat(var(--cell-count),minmax(0,1fr));gap:0;width:100%}.fraction-cell{min-width:44px;height:58px;border:2px solid #718797;border-right-width:0;background:#fbfaf7;color:var(--ink)}.fraction-cell:first-child{border-radius:12px 0 0 12px}.fraction-cell:last-child{border-right-width:2px;border-radius:0 12px 12px 0}.fraction-cell.is-open{background:#f2f5f3}.fraction-cell.is-selected{background:repeating-linear-gradient(135deg,#dce7e0 0 7px,#edf2ee 7px 14px);box-shadow:inset 0 -6px var(--sage)}.fraction-brace{text-align:left;border-bottom:3px solid var(--sage);padding:3px 8px;color:#365c49;font-weight:700}.fraction-anchor{justify-self:start;width:max(44px,var(--fraction-width,40%));border-style:dashed}.known-ticket{justify-self:center;min-width:160px;background:#eef2f4;font-weight:800}.quantity-column{min-width:0;min-height:246px;border:1px solid #c8d0d2;border-right:0;padding:5px;display:flex;flex-direction:column-reverse;align-items:center;gap:2px;background:#faf9f5}.quantity-column:last-child{border-right:1px solid #c8d0d2}.token{display:block;width:var(--token-size);height:var(--token-size);box-sizing:border-box;border:2px solid #697e89;border-radius:50%;background:linear-gradient(145deg,#c7d2d7,#9fb1ba);box-shadow:inset 0 2px #ffffff99,0 2px 3px #33414d22}.token[data-provenance="extension"]{outline:1px dashed #40596f;outline-offset:-4px}.count-clip{display:block;border:2px solid var(--sage);border-radius:4px;width:26px;height:8px;margin-bottom:2px}.solve-panel>div{padding:14px;margin-top:12px;border:1px solid var(--line);border-radius:14px}.solve-panel>div>div{display:flex;gap:8px;margin-top:8px}.solve-panel input{width:min(180px,45%);padding:0 10px}.solve-panel small,.parameter-grid small{display:block;min-height:20px;color:#7c3e31}.evidence{margin-top:14px;padding:16px;border:2px solid #6f846f;border-radius:16px;background:#e7eee5}.evidence:focus{outline:3px solid var(--focus);outline-offset:3px}.case-grid{display:grid;gap:8px}.case-grid button{text-align:left;padding:9px}.case-grid button[aria-pressed="true"]{outline:3px solid var(--sage);outline-offset:2px}fieldset{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:10px}fieldset label{display:flex;align-items:center;gap:7px;min-height:44px}.parameter-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parameter-grid label{display:block}.parameter-grid input{width:100%;box-sizing:border-box;padding:0 9px}.known-field{grid-column:1/-1}.configuration-error{min-height:42px;color:#7c3e31}.primary-action{width:100%;background:var(--ink);color:#fff;font-weight:700}.secondary-actions,.view-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.grade-boundary{padding-top:12px;border-top:1px solid var(--line);line-height:1.55}button:focus-visible,input:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}.fwp-lab.is-classroom,.fwp-lab:fullscreen{padding:20px;background:var(--ivory);grid-template-columns:minmax(0,1fr) 338px}.fwp-lab:fullscreen{width:100vw;height:100vh;box-sizing:border-box;overflow:auto}.fwp-lab:fullscreen .stage,.fwp-lab:fullscreen .control-panel{background:var(--paper)}
@media(max-width:900px){:root{--token-size:19px}.fwp-main{width:min(100% - 20px,900px)}.fwp-lab{grid-template-columns:minmax(430px,1fr) 276px;gap:12px}.stage,.control-panel{padding:12px}.fwp-lab.is-classroom,.fwp-lab:fullscreen{grid-template-columns:minmax(430px,1fr) 276px}}
@media(max-width:620px){:root{--token-size:17px}.fwp-main{width:calc(100% - 16px);padding-top:18px}.tool-heading h1{font-size:2rem}.fwp-lab,.fwp-lab.is-classroom,.fwp-lab:fullscreen{grid-template-columns:1fr;padding:0}.stage{padding:8px}.control-panel{position:static}.stage-head,.problem-card{align-items:flex-start;flex-direction:column}.correspondence-board{min-width:352px}.fraction-cell{min-width:44px}.quantity-column{padding:3px;min-height:224px}.solve-panel>div>div{flex-wrap:wrap}.solve-panel input,.solve-panel button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.stage-head h2,.stage-head p,#labTitle,#phaseLabel{color:var(--ink)!important;text-shadow:none!important}
#phaseLabel{display:none}
.fraction-word-problem-page .strip-button{height:auto!important;min-height:44px!important}
