<!-- SAGA-SOLID · part 68 -->
('div');
  menu.id = 'playa2-menu';
  menu.style.cssText = 'position:fixed;top:64px;right:12px;z-index:9998;' +
    'background:rgba(10,10,26,0.95);border:2px solid #ffd700;border-radius:12px;' +
    'padding:8px;display:none;flex-direction:column;gap:8px;';
  menu.innerHTML =
    '<button id="m-chat" style="background:#1a1a2e;color:#ffd700;border:1px solid #ffd700;border-radius:8px;padding:10px 16px;font-size:16px;cursor:pointer;min-height:48px;">💬 Chat</button>' +
    '<button id="m-mic" style="background:#1a1a2e;color:#ffd700;border:1px solid #ffd700;border-radius:8px;padding:10px 16px;font-size:16px;cursor:pointer;min-height:48px;">🎙️ Mic</button>' +
    '<button id="m-worldintel" style="background:#1a1a2e;color:#ffd700;border:1px solid #ffd700;border-radius:8px;padding:10px 16px;font-size:16px;cursor:pointer;min-height:48px;">◎ World Intelligence</button>' +
    '<button id="m-playa" style="background:#1a1a2e;color:#ffd700;border:1px solid #ffd700;border-radius:8px;padding:10px 16px;font-size:16px;cursor:pointer;min-height:48px;">◆ Playa 2.0</button>';
  document.body.appendChild(menu);
  var open = false;
  function toggleMenu(){ open = !open; menu.style.display = open ? 'flex' : 'none'; }
  b.addEventListener('click', function(e){ e.stopPropagation(); toggleMenu(); });
  b.addEventListener('touchstart', function(e){ e.stopPropagation(); toggleMenu(); }, {passive:true});
  // Wire menu buttons to original actions
  menu.querySelector('#m-chat').addEventListener('click', function(){
    var cb = document.getElementById('game-chat-btn'); if(cb) cb.click();
    toggleMenu();
  });
  menu.querySelector('#m-mic').addEventListener('click', function(){
    var mb = document.getElementById('transceiver-btn'); if(mb) mb.click();
    toggleMenu();
  });
  menu.querySelector("#m-worldintel").addEventListener("click",function(){
    toggleMenu();
    var old=document.getElementById("world-intelligence-panel");
    if(old){old.remove();return;}
    var panel=document.createElement("div");
    panel.id="world-intelligence-panel";
    panel.style.cssText="position:fixed;top:70px;left:12px;right:12px;z-index:999997;background:rgba(5,7,12,.96);color:#fff;border:2px solid #ffd700;border-radius:12px;padding:12px;font:12px/1.45 monospace;max-height:65vh;overflow:auto;pointer-events:auto;";
    var readout=document.createElement("div");
    readout.style.whiteSpace="pre-wrap";
    var controls=document.createElement("div");
    controls.style.cssText="display:flex;gap:8px;position:sticky;bottom:0;background:rgba(5,7,12,.96);padding-top:10px;";
    var aiBtn=document.createElement("button");
    aiBtn.id="v210-ai-drive";aiBtn.textContent="AI DRIVE";
    aiBtn.style.cssText="flex:1;min-height:48px;background:#1a1a2e;color:#ffd700;border:1px solid #ffd700;border-radius:8px;font-weight:bold;";
    var humanBtn=document.createElement("button");
    humanBtn.id="v210-human-drive";humanBtn.textContent="HUMAN DRIVE";
    humanBtn.style.cssText="flex:1;min-height:48px;background:#1a1a2e;color:#fff;border:1px solid #fff;border-radius:8px;font-weight:bold;";
    controls.appendChild(aiBtn);controls.appendChild(humanBtn);panel.appendChild(readout);panel.appendChild(controls);document.body.appendChild(panel);
    aiBtn.addEventListener("click",function(){var W=window.WORLD_INTELLIGENCE,R=window.ACTOR_RUNTIME;if(W&&R&&R.safetySupervisor&&R.safetySupervisor.permit){W.requestAI("world-ai");R.authority="ai_guarded";_ftvx=_ftvy=_ftvz=_fvx=_fvy=_fvz=0;}});
    humanBtn.addEventListener("click",function(){var W=window.WORLD_INTELLIGENCE,R=window.ACTOR_RUNTIME;if(R){R.authority="legacy";_ftvx=_ftvy=_ftvz=_fvx=_fvy=_fvz=0;}if(W)W.humanTakeover();});
    function update(){
      if(!document.body.contains(panel))return;
      var R=window.ACTOR_RUNTIME,F=window.WORLD_FOUNDATION,I=R?R.input:null,P=(R&&R.senseWorld)?R.senseWorld():null,S=R?R.shadowMotion:null,L=R?R.shadowLive:null,T=R?R.terrainPrediction:null,C=R?R.realCandidate:null,V=R?R.safetySupervisor:null;
      var lines=["WORLD INTELLIGENCE v216","HUMAN + AI READABLE","","RUNTIME     "+(R?"ONLINE":"OFFLINE"),"AUTHORITY   "+String(R?R.authority:"NONE").toUpperCase(),"CONTROL     "+(R?(R.enabled?"LIVE":"SHADOW"):"NONE"),"OWNER       "+String(I?I.owner:"NONE").toUpperCase(),"AI STATUS   "+(R&&R.ai.active?"ACTIVE / SHADOW":"READY"),"MODE        "+String(R?R.locomotion.requestedMode:"NONE").toUpperCase(),"","INPUT X/Z   "+(I?I.moveX.toFixed(2)+" / "+I.moveZ.toFixed(2):"NONE"),"MAGNITUDE   "+(I?I.magnitude.toFixed(2):"NONE"),"SHADOW V    "+(S?S.velocity.length().toFixed(2):"NONE"),"SAMPLES     "+(L?L.samples:0),"","SUPPORT     "+(P?(P.support?"YES":"NO"):"NONE"),"GROUNDED    "+(P?(P.grounded?"YES":"NO"):"NONE"),"AIRBORNE    "+(P?(P.airborne?"YES":"NO"):"NONE"),"FALLING     "+(P?(P.falling?"YES":"NO"):"NONE"),"SURFACE     "+(P?P.surface:"NONE"),"GROUND Y    "+(P&&P.groundY!==null?P.groundY.toFixed(2):"NONE"),"SLOPE       "+(P&&P.slope!==null?P.slope.toFixed(1)+