.mt-game{font-size:1rem}.mt-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:4px 0 14px}.mt-toolbar>span{flex:1;font-size:.875rem}.mt-layout{display:grid;grid-template-columns:minmax(220px,.85fr) minmax(300px,1.15fr);gap:22px}.mt-scene{height:390px;position:relative;overflow:hidden;background:#e6f1f5 url('/assets/material-01.png') center/cover;border-radius:18px;border:2px solid #264f66}.mt-giraffe{position:absolute;right:-10px;bottom:46px;width:48%;height:85%;object-fit:contain}.mt-height{position:absolute;left:14px;top:12px;z-index:3;display:grid;background:#fffdf4e8;padding:7px 10px;border-radius:9px}.mt-height strong{font-size:1.25rem}.mt-height span{font-size:.875rem}.mt-stack{position:absolute;left:36%;bottom:75px;width:66px;height:270px}.mt-block{position:absolute;width:66px;height:22px;object-fit:fill;left:calc(var(--x)*66px);bottom:calc(var(--level)*22px);filter:drop-shadow(0 1px 1px #0003)}.mt-preview{opacity:.4;outline:1px dashed #264f66}.mt-ground{position:absolute;bottom:68px;left:0;right:0;border-top:3px solid #526642}.mt-builders{position:absolute;bottom:46px;left:10px;display:flex}.mt-mant{width:26px;height:42px;object-fit:contain}.mt-milestone{position:absolute;bottom:4px;left:10px;right:10px;margin:0;text-align:center;font-weight:bold;line-height:1.25;background:#fffdf4e8;padding:5px;border-radius:5px}.mt-camera{position:absolute;left:8px;top:74px;background:#fffdf4e8;font-size:.875rem;padding:4px}.mt-equation{font-size:2rem;text-align:center;margin:10px 0}.mt-equation b{display:inline-block;min-width:45px;border-bottom:3px solid #c49a38;color:#21526c}.mt-answers,.mt-positions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:10px 0}.mt-answers button,.mt-positions button{min-width:44px;min-height:44px;padding:8px}.mt-workers{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin:10px 0}.mt-teams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.mt-team{border:2px dashed #6e8790;border-radius:9px;padding:4px;text-align:center;background:#eff5f5}.mt-team small{font-size:.875rem}.mt-team>div{display:flex;justify-content:center;flex-wrap:wrap;min-height:42px}.mt-empty{display:grid;place-items:center;width:26px;height:42px;border:1px dotted #6e8790;color:#555}.mt-grouping{margin:10px 0}.mt-grouping p{margin:5px 0;text-align:center}.mt-game .instruction{margin:4px 0 10px}.mt-strength{display:grid;gap:5px;margin:12px 0}.mt-strength progress{width:100%;accent-color:#c99d3a}.mt-shove{width:100%;touch-action:none;user-select:none;min-height:52px}.mt-pending{display:flex;align-items:center;gap:20px;justify-content:center}.mt-pending .mt-block{position:static;width:100px;height:34px}.mt-game #mt-status{min-height:3em;margin:12px 0 0;font-weight:bold;color:#264f66}.mt-positions [aria-pressed=true]{background:#cfae50;color:#172d3d}.mt-greeting .mt-giraffe{animation:mt-bow .8s ease-in-out 2}.mt-wobble{animation:mt-wobble 1.8s ease-in-out infinite;transform-origin:bottom}.mt-game button:focus-visible{outline:3px solid #267da1;outline-offset:3px}.mt-game button:disabled{opacity:.5}@keyframes mt-bow{50%{transform:translateY(8px) rotate(-4deg)}}@keyframes mt-wobble{50%{transform:rotate(1deg)}}@media(max-width:650px){.mt-layout{grid-template-columns:1fr;gap:12px}.mt-scene{height:280px}.mt-stack{transform:scale(.7);transform-origin:bottom}.mt-giraffe{right:9%;width:34%}.mt-teams{grid-template-columns:repeat(3,minmax(0,1fr))}.mt-toolbar{margin-bottom:8px}.mt-height{top:8px;left:8px}.mt-game .game-controls{gap:8px}}@media(prefers-reduced-motion:reduce){.mt-game *{animation:none!important}}.quiet .mt-game *{animation:none!important}

.mt-delivery .mt-stack .mt-block:last-child{animation:mt-drop .24s ease-in}.mt-hanging{filter:drop-shadow(0 2px 2px #0003)}@keyframes mt-drop{from{transform:translateY(-44px)}to{transform:translateY(0)}}

/* Space for reading and controls, including delivery and result screens. */
.mt-game{padding:20px 24px 24px}.mt-layout>div{min-width:0}.mt-game #mt-work{padding:8px 12px}.mt-game #mt-work>p{margin:12px 0}.mt-game .game-controls{padding:14px 0}.mt-game #mt-status{padding:8px 12px}.mt-game .instruction{padding:8px 0;min-height:0}.mt-camera{left:auto;right:8px;top:74px;z-index:3}
.mt-balance-scene{--block-width:44px;--block-height:22px}.mt-balance-scene .mt-stack{left:45%;width:var(--block-width)}.mt-balance-scene .mt-stack .mt-block{width:var(--block-width);left:calc(var(--x)*var(--block-width))}.mt-balance-scene .mt-height{left:auto;right:12px}.mt-balance-scene .mt-giraffe{width:32%;right:0}.mt-cliff{position:absolute;left:0;top:105px;width:21%;height:130px;z-index:2}.mt-cliff-art{position:absolute;left:-6%;top:0;width:110%;height:100%;object-fit:fill}.mt-cliff-mants{display:flex;position:absolute;right:24px;bottom:100%;align-items:flex-end}.mt-cliff-mants .mt-mant{width:22px;height:36px}.mt-cliff-block{left:auto;right:-7px;bottom:100%;width:40px;height:22px}.mt-pushing{animation:mt-push .3s ease-in-out infinite}.mt-cliff-mants{transform:rotate(7deg);transform-origin:bottom right}
/* Leave a visible, scattered pile instead of sending the blocks off-screen. */
.mt-tumble .mt-stack .mt-block{transform:translate(var(--scatter),calc(var(--level)*22px + 3px)) rotate(var(--tilt));opacity:1}.mt-tumble.mt-animated .mt-stack .mt-block{animation:mt-collapse 1.05s cubic-bezier(.5,.05,.8,.5) var(--delay) both}@keyframes mt-collapse{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(calc(var(--scatter)*.2),6px) rotate(calc(var(--tilt)*.4))}100%{transform:translate(var(--scatter),calc(var(--level)*22px + 3px)) rotate(var(--tilt))}}@keyframes mt-push{50%{transform:translateX(5px) rotate(15deg)}}
@media(max-width:650px){.mt-game{padding:12px 14px 18px}.mt-game #mt-work{padding:4px}.mt-game #mt-status{padding:8px 4px}.mt-balance-scene{height:330px}.mt-balance-scene .mt-stack{transform:none}.mt-balance-scene .mt-cliff{top:70px;height:120px}.mt-balance-scene .mt-height{left:auto;right:8px}.mt-cliff-mants{right:22px}.mt-cliff-mants .mt-mant{width:18px;height:32px}}

.mt-balance-scene.mt-delivery .mt-stack .mt-block:last-child{animation:mt-throw .38s ease-in}@keyframes mt-throw{from{transform:translate(var(--launch-x),var(--launch-y)) rotate(-8deg)}to{transform:translate(0,0) rotate(0)}}

/* Align feet to the visible grass surface, not the sprite canvas. */
.mt-cliff-mants{bottom:calc(100% - 10px);transform:none}.mt-cliff-block{bottom:calc(100% - 10px)}@keyframes mt-push{50%{transform:translateX(4px)}}
