<!-- RUBY-BACKUP · part 31 -->
0px;margin:4px 0;';
      pr.innerHTML =
        '<div style="color:#ffd700;font-size:13px;margin-bottom:6px;font-style:italic;">'+cd.code+' \u2014 type '+(cd.arg||'value')+':</div>'
        +'<div style="display:flex;gap:8px;">'
        +'<input id="cps-argin" type="text" placeholder="'+(cd.arg||'...')+'" '
        +'style="flex:1;background:#000;color:#ffd700;border:1px solid #8a6a1c;border-radius:8px;'
        +'padding:10px;font-size:16px;font-family:Georgia,serif;"/>'
        +'<button id="cps-arggo" style="background:#d8a920;color:#000;border:none;border-radius:8px;'
        +'padding:10px 18px;font-size:16px;font-weight:bold;">GO</button></div>';
      rowEl.parentNode.insertBefore(pr, rowEl.nextSibling);
      var inp = document.getElementById('cps-argin');
      var go = document.getElementById('cps-arggo');
      function fire(){
        try{
          var v = inp.value.trim();
          var full = cd.code + (v ? ' ' + v : '');
          closeScroll();
          setTimeout(function(){ runCode(full); }, 320);
        }catch(e){}
      }
      function tapGo(e){ try{ e.preventDefault(); e.stopPropagation(); }catch(x){} fire(); }
      go.addEventListener('touchstart', tapGo, {passive:false});
      go.addEventListener('mousedown', tapGo);
      inp.addEventListener('keydown', function(e){ if(e.key==='Enter') fire(); });
      setTimeout(function(){ try{ inp.focus(); }catch(e){} }, 100);
      // Scroll the prompt into view
      try{ pr.scrollIntoView({block:'nearest'}); }catch(e){}
    }catch(e){}
  }

  function openScroll(){
    if(scrollOpen){ closeScroll(); return; }
    closeScroll();
    try{
      var totalRows = 0;
      for(var s=0;s<SECTIONS.length;s++) totalRows += SECTIONS[s].codes.length;
      var el = document.createElement('div');
      el.id = 'codePyramidScroll';
      var mw = Math.min(340, window.innerWidth - 16);
      var mh = Math.min(window.innerHeight - 120, 520);
      el.style.cssText = 'position:fixed;left:50%;top:60px;transform:translateX(-50%);width:'+mw+'px;'
        +'z-index:30001;background:rgba(10,8,4,0.97);border:2px solid #d8a920;border-radius:16px;'
        +'box-shadow:0 0 32px rgba(216,169,32,0.45);overflow:hidden;'
        +'max-height:0px;transition:max-height 0.3s linear;';
      var html = '<div style="padding:12px 14px 8px 14px;color:#ffd700;font-family:Georgia,serif;'
        +'font-size:14px;letter-spacing:3px;border-bottom:1px solid #8a6a1c;'
        +'display:flex;justify-content:space-between;align-items:center;">'
        +'<span>\u25B2 CODE PYRAMID</span>'
        +'<span><span id="cps-install" style="font-size:11px;letter-spacing:1px;padding:6px 10px;margin-right:6px;'
        +'border:1px solid #8a6a1c;border-radius:8px;cursor:pointer;color:#8a6a1c;">INSTALL</span>'
        +'<span id="cps-x" style="font-size:20px;padding:4px 10px;cursor:pointer;">\u2715</span></span></div>'
        +'<div style="overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:'+(mh-60)+'px;padding:6px;">';
      for(var i=0;i<SECTIONS.length;i++){
        var sec = SECTIONS[i];
        html += '<div style="padding:10px 10px 4px 10px;color:#d8a920;font-family:Georgia,serif;'
          +'font-size:12px;letter-spacing:4px;border-bottom:1px solid rgba(138,106,28,0.4);">'
          +sec.ic+' '+sec.title+'</div>';
        for(var j=0;j<sec.codes.length;j++){
          var cd = sec.codes[j];
          html += '<div class="cps-row" data-sec="'+i+'" data-idx="'+j+'" '
            +'style="display:flex;align-items:center;gap:12px;'
            +'padding:10px;margin:2px 0;border-radius:10px;cursor:pointer;'
            +'color:#ffd700;font-family:Georgia,serif;font-size:15px;'
            +'-webkit-tap-highlight-color:transparent;">'
            +'<span style="font-size:15px;color:#d8a920;min-width:24px;text-align:center;">\u25B8</span>'
            +'<span><span>'+cd.code+(cd.arg?' <span style="color:#8a6a1c;font-size:12px;">&lt;'+cd.arg+'&gt;</span>':'')+'</span>'
            +'<span style="display:block;font-size:11px;color:#8a6a1c;font-style:italic;">'+cd.why+'</span></span></div>';
        }
      }
      html += '</div>';
      el.innerHTML = html;
      var st = document.createElement('style');
      st.textContent = '.cps-row:active{background:rgba(216,169,32,0.25);}';
      el.appendChild(st);
      document.body.appendChild(el);
      scrollEl = el; scrollOpen = true;
      // Close button
      var xBtn = document.getElementById('cps-x');
      function doX(e){ try{ if(e){ e.preventDefault(); e.stopPropagation(); } }catch(x){} closeScroll(); }
      if(xBtn){ xBtn.addEventListener('touchstart', doX, {passive:false}); xBtn.addEventListener('mousedown', doX); }
      // INSTALL toggle
      var installBtn = document.getElementById('cps-install');
      var installMode = false;
      function paintInstall(){
        try{
          if(!installBtn) return;
          if(installMode){
            installBtn.style.color = '#000'; installBtn