:root{--ivory:#f7f1e8;--paper:#fffdfc;--ink:#24313d;--muted:#52636b;--sage:#44755d;--blue:#415a77;--line:#ddd1c4;--token:#aebdc5;--focus:#1769aa;--token-size:32px}html,body{max-width:100%;overflow-x:clip}.average-problem-page{background:var(--ivory);color:var(--ink)}.average-problem-page .tool-heading h1{max-width:1000px!important;text-wrap:balance}.average-problem-page.workbench-tool-detail .tool-heading .lead{color:#596563!important}.stage-paused{grid-column:1/-1;margin:24px 0;padding:24px;border:1px dashed #84939b;border-radius:14px;text-align:center;color:var(--muted);background:#f9f7f2}.average-problem-page [hidden]{display:none!important}.average-problem-page button,.average-problem-page input{min-height:44px}.average-problem-page .strip-button{height:auto!important;min-height:44px!important}.ap-main{width:min(1360px,calc(100% - 32px));margin:auto;padding:28px 0 96px}.tool-heading{margin-bottom:20px}.ap-lab{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:18px;align-items:start;background:var(--ivory)}.stage,.control-panel{background:var(--paper);border:1px solid #d8d0c5;border-radius:22px;box-shadow:0 12px 30px #33414d12}.stage{padding:20px}.control-panel{padding:18px;position:sticky;top:14px}.stage-head,.problem-card{display:flex;justify-content:space-between;gap:16px;align-items:center}.stage-head h2,.stage-head p,#labTitle,#phaseLabel{color:var(--ink)!important;text-shadow:none!important}.stage-kicker,.problem-card p{margin:0;color:var(--muted)!important}.problem-card{padding:14px 16px;margin:14px 0;background:#f2eee7;border-radius:14px}.token-workbench{min-height:470px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:14px}.groups-zone,.pool-zone{border:1px dashed #8da0ad;border-radius:18px;padding:14px}.zone-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.zone-head p,.pool-zone p{margin:0;color:var(--muted)}.group-grid{display:grid;grid-template-columns:repeat(var(--group-count,3),minmax(110px,1fr));gap:10px;margin-top:14px}.group-tray{min-height:286px;padding:10px;border:2px solid #84939b;border-radius:16px;background:#f9f7f2;color:var(--ink);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;overflow:visible}.group-tray strong{font-size:1rem}.group-tray small{color:var(--muted)}.group-tray[data-selected="true"]{outline:3px solid var(--focus);outline-offset:3px;transform:translateY(-2px)}.group-tray[data-target="true"]{border-style:dashed}.group-tray:disabled{opacity:.72}.token-grid{display:grid;grid-template-columns:repeat(2,var(--token-size));grid-auto-rows:var(--token-size);gap:6px;justify-content:center;margin-top:12px;min-height:184px}.token{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 3px 5px #33414d22}.token.is-selected{outline:3px solid var(--focus);outline-offset:2px;transform:translateY(-4px)}.target-slot{display:block;width:var(--token-size);height:var(--token-size);border:2px dashed var(--blue);border-radius:50%;margin:4px auto 0}.pool-zone{display:flex;flex-direction:column;justify-content:space-between;background:#f4f0e9}.pool-stack{min-height:220px;display:grid;grid-template-columns:repeat(4,var(--token-size));grid-auto-rows:18px;align-content:end;justify-content:center;padding:12px;border:2px solid #84939b;border-radius:15px;background:#fffdfa}.division-wheel{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.division-wheel span{width:48px;height:48px;border:8px solid #c7d1d4;border-radius:50%;background:#728892}.solve-panel{margin-top:14px}.solve-panel>div{padding:14px;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,.quantity-grid small,.parameter-head small{display:block;min-height:20px;color:#7c3e31}.revealed-values{margin-top:14px;padding:16px;border:2px solid #6f846f;border-radius:16px;background:#e7eee5}.revealed-values:focus{outline:3px solid var(--focus);outline-offset:3px}.revealed-values p{margin:6px 0}.recent-step{margin:14px 0 0}.case-grid{display:grid;gap:8px}.case-grid button{text-align:left;padding:10px}.case-grid button[aria-pressed="true"]{outline:3px solid #52735e;outline-offset:2px}.parameter-head{margin-top:14px}.parameter-head label,.quantity-grid label{display:block}.parameter-head input,.quantity-grid input{width:100%;box-sizing:border-box;padding:0 9px}.quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.configuration-error{min-height:22px;color:#7c3e31}.primary-action{width:100%;background:var(--ink);color:#fff;font-weight:700}.control-panel>button:not(.primary-action){width:100%;margin-top:8px}.secondary-actions,.view-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.state-note,.grade-boundary{line-height:1.55}.grade-boundary{padding-top:12px;border-top:1px solid var(--line)}button:focus-visible,input:focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important}.ap-lab.is-classroom{position:relative;grid-template-columns:minmax(0,1fr) 338px;padding:20px;background:var(--ivory);min-height:calc(100vh - 40px)}.ap-lab.is-classroom .stage,.ap-lab.is-classroom .control-panel{box-shadow:none}.ap-lab:fullscreen{width:100vw;height:100vh;box-sizing:border-box;padding:20px;overflow:auto;background:var(--ivory);grid-template-columns:minmax(0,1fr) 338px}.ap-lab:fullscreen .stage,.ap-lab:fullscreen .control-panel{background:var(--paper)}
@media(max-width:900px){:root{--token-size:28px}.ap-main{width:min(100% - 20px,900px)}.ap-lab{grid-template-columns:minmax(0,1fr) 276px;gap:12px}.stage,.control-panel{padding:14px}.token-workbench{grid-template-columns:1fr}.pool-zone{min-height:250px}.group-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.group-tray{min-height:250px}.ap-lab.is-classroom,.ap-lab:fullscreen{grid-template-columns:minmax(0,1fr) 276px}}
@media(max-width:620px){:root{--token-size:34px}.ap-main{width:calc(100% - 16px);padding-top:18px}.tool-heading h1{font-size:2rem}.ap-lab,.ap-lab.is-classroom,.ap-lab:fullscreen{grid-template-columns:1fr;padding:0}.control-panel{position:static}.stage{padding:12px}.stage-head,.problem-card,.zone-head{align-items:flex-start;flex-direction:column}.token-workbench{min-height:0}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-tray{min-height:286px}.group-tray:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc((100% - 10px)/2)}.pool-zone{min-height:290px}.solve-panel>div>div{flex-wrap:wrap}.solve-panel input{width:100%}.solve-panel button{width:100%}.quantity-grid{grid-template-columns:1fr 1fr}.resource-strip{max-width:calc(100% - 16px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.group-tray[data-selected="true"],.token.is-selected{transform:none}}
