#gameScreen .game .playmat.mj-zoom-mat,.playmat.mj-zoom-mat{display:block;min-width:0;align-self:start}
.mj-zoom-viewport{position:relative;isolation:isolate;width:100%;overflow:hidden;padding:12px 8px;touch-action:none;overscroll-behavior:contain;border-radius:10px}
.mj-zoom-viewport #board{transform-origin:center center;margin-left:auto;margin-right:auto;will-change:transform}
.mj-zoom-viewport.mj-zoom-enlarged{cursor:grab}
.mj-zoom-viewport.mj-zoom-enlarged:active{cursor:grabbing}
.mj-zoom-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:8px auto 0;color:#ffe7ac;font:13px system-ui;touch-action:manipulation}
.mj-zoom-controls button{min-width:44px;min-height:44px;padding:6px 12px;border:1px solid #c7a75e;border-radius:10px;background:linear-gradient(#20563b,#082e21);color:#ffe7ac;font:600 23px system-ui;box-shadow:0 2px 4px #0005}
.mj-zoom-controls button:disabled{opacity:.4;cursor:default}
.mj-zoom-controls button:focus-visible{outline:3px solid #fff0bd;outline-offset:2px}
.mj-zoom-controls output{min-width:49px;text-align:center;font-variant-numeric:tabular-nums}
.mj-zoom-controls .mj-zoom-reset{font-size:12px;font-weight:500}
@media(max-width:350px){.mj-zoom-controls{gap:4px}.mj-zoom-controls button{padding:6px 9px}}
@media(orientation:landscape){html.fullview #gameScreen .mj-zoom-viewport #board{width:min(100%,calc((100dvh - 160px)*var(--mj-board-ratio,1.05)))}}
