:root{--ivory:#f7f1e8;--paper:#fffdfc;--ink:#24313d;--muted:#52636b;--sage:#6f846f;--leaf:#aebdc5;--line:#6f7f88;--focus:#1f5f8b;--leaf-w:76px;--leaf-h:124px}html,body{max-width:100%;overflow-x:clip}.difference-multiple-page{background:var(--ivory);color:var(--ink)}.difference-multiple-page button,.difference-multiple-page input{min-height:44px}.dm-main{width:min(1360px,calc(100% - 32px));margin:auto;padding:28px 0 96px}.tool-heading{margin-bottom:20px}.dm-lab{display:grid;grid-template-columns:minmax(0,1fr) 338px;gap:18px;align-items:start;background:var(--ivory)}.stage,.control-panel{background:var(--paper);color:var(--ink);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}.fan-workbench{min-height:430px;display:grid;grid-template-columns:180px minmax(330px,1fr) 210px;gap:14px;align-items:center}.fan-workbench>div{border:1px dashed #8b999f;border-radius:18px;padding:12px;min-height:300px}.turntable{position:relative;width:330px;height:330px;margin:auto}.axis{position:absolute;left:50%;top:50%;width:38px;height:38px;border-radius:50%;background:#788891;border:7px solid #dde4e6;transform:translate(-50%,-50%);z-index:8}.leaf{width:var(--leaf-w);height:var(--leaf-h);min-width:var(--leaf-w);min-height:var(--leaf-h);border:2px solid var(--line);background:linear-gradient(135deg,#c7d2d6,var(--leaf));color:var(--ink);box-shadow:inset 0 0 0 3px #ffffff55;border-radius:42% 58% 48% 52%;font-weight:800;line-height:1.2;touch-action:manipulation}.leaf:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.turn-leaf{position:absolute;left:127px;top:20px;transform-origin:38px 145px;transition:transform .16s ease;z-index:2}.turn-leaf[data-index="0"]{transform:rotate(0deg)}.turn-leaf[data-index="1"]{transform:rotate(60deg)}.turn-leaf[data-index="2"]{transform:rotate(120deg)}.turn-leaf[data-index="3"]{transform:rotate(180deg)}.turn-leaf[data-index="4"]{transform:rotate(240deg)}.turn-leaf[data-index="5"]{transform:rotate(300deg)}.turn-leaf:not(:disabled){z-index:6}.turn-leaf[data-status="parked"]{opacity:.35;pointer-events:none}.reference-leaf{display:block;margin:24px auto 0}.pending-zone #pendingTray{display:grid;grid-template-columns:repeat(2,var(--leaf-w));justify-content:center;gap:8px;min-height:132px}.pending-zone .leaf{position:static!important;transform:none!important}.value-slot,.ticket-slot{min-height:48px;width:100%;margin-top:10px}.solve-panel>div{padding:12px;background:#f4f1eb;border-radius:12px;margin:10px 0}.solve-panel div>div{display:grid;grid-template-columns:1fr auto;gap:8px}.solve-panel input,.parameter-grid input{min-height:44px;width:100%}.solve-panel button,.control-panel button{min-height:44px}.case-grid,.parameter-grid{display:grid;gap:8px}.case-grid button{text-align:left}.case-grid button[aria-pressed="true"],#classroomAction[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--sage)}.primary-action{width:100%;background:var(--ink);color:white;border-radius:12px}.secondary-actions,.view-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.revealed-values{min-height:180px;padding:18px;background:#e8efe7;border:2px solid var(--sage);border-radius:16px}.revealed-values p{margin:6px 0}.recent-step,.state-note,.grade-boundary{line-height:1.6}.dm-lab.is-classroom{grid-template-columns:minmax(0,1fr) 220px}.dm-lab.is-classroom .control-panel{padding:12px}.dm-lab.is-classroom .fan-workbench{grid-template-columns:220px minmax(400px,1fr) 250px}.dm-lab:fullscreen{width:100vw;height:100vh;min-height:100vh;padding:18px;overflow:auto;background:var(--ivory);box-sizing:border-box}.dm-lab:fullscreen .stage,.dm-lab:fullscreen .control-panel{min-height:calc(100vh - 36px)}
@media(max-width:900px) and (min-width:721px){:root{--leaf-w:64px;--leaf-h:104px}.dm-lab{grid-template-columns:minmax(0,1fr) 276px}.fan-workbench{grid-template-columns:120px minmax(270px,1fr)}.pending-zone{grid-column:1/-1;min-height:150px!important}.turntable{width:280px;height:280px}.turn-leaf{left:108px;top:14px;transform-origin:32px 126px}.dm-lab.is-classroom .fan-workbench{grid-template-columns:160px minmax(300px,1fr)}}
@media(max-width:720px){:root{--leaf-w:66px;--leaf-h:108px}.dm-main{width:min(100% - 20px,390px);padding-top:14px}.dm-lab{grid-template-columns:1fr}.stage{padding:12px}.control-panel{position:static}.fan-workbench,.dm-lab.is-classroom .fan-workbench{grid-template-columns:1fr;min-height:0}.fan-workbench>div{min-height:0}.turntable{width:300px;height:300px}.turn-leaf{left:117px;top:14px;transform-origin:33px 136px}.pending-zone #pendingTray{min-height:116px;grid-template-columns:repeat(3,var(--leaf-w))}.stage-head,.problem-card{align-items:flex-start;flex-direction:column}.solve-panel div>div{grid-template-columns:1fr}.solve-panel button{width:100%}.dm-lab:fullscreen{padding:10px}.dm-lab:fullscreen .stage,.dm-lab:fullscreen .control-panel{min-height:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.difference-multiple-page button,.difference-multiple-page input{min-height:44px!important}
.turn-leaf{transform:none!important;transform-origin:center!important}.turn-leaf[data-index="0"]{left:calc(50% - var(--leaf-w)/2);top:0}.turn-leaf[data-index="1"]{left:auto;right:0;top:18%}.turn-leaf[data-index="2"]{left:auto;right:0;top:auto;bottom:0}.turn-leaf[data-index="3"]{left:calc(50% - var(--leaf-w)/2);top:auto;bottom:0}.turn-leaf[data-index="4"]{left:0;top:auto;bottom:0}.turn-leaf[data-index="5"]{left:0;top:18%}
