<!-- RUBY-BACKUP · part 163 -->
adding:0 10px;';
      /* continuum — no numbers, just a bar */
      var cont = document.createElement('div');
      cont.style.cssText = 'margin-bottom:8px;';
      cont.innerHTML = '<div style="color:#00ffff;font-size:12px;margin-bottom:4px;">CONTINUUM</div>'
        + '<div style="height:12px;background:rgba(0,255,255,0.1);border-radius:6px;overflow:hidden;">'
        + '<div id="solid-cont-bar" style="height:100%;width:50%;background:#00ffff;border-radius:6px;transition:width 0.5s;"></div></div>';
      bars.appendChild(cont);
      /* obligation — no numbers */
      var obl = document.createElement('div');
      obl.innerHTML = '<div style="color:#ffd700;font-size:12px;margin-bottom:4px;">OBLIGATION</div>'
        + '<div style="height:12px;background:rgba(255,215,0,0.1);border-radius:6px;overflow:hidden;">'
        + '<div id="solid-obl-bar" style="height:100%;width:0%;background:#ffd700;border-radius:6px;transition:width 0.5s;"></div></div>';
      bars.appendChild(obl);
      content.appendChild(bars);
      updateSolidBars();
    }else if(tab==='tasks'){
      var tasks = document.createElement('div');
      tasks.style.cssText = 'color:#fff;font-size:14px;line-height:1.8;';
      try{
        if(typeof PROVOLTA_OBJECTIVES!=='undefined'){
          PROVOLTA_OBJECTIVES.forEach(function(o){
            var d = document.createElement('div');
            d.textContent = (o.done ? '✅ ' : '⭕ ') + o.name;
            d.style.color = o.done ? '#888' : '#fff';
            tasks.appendChild(d);
          });
        }else{
          tasks.textContent = 'No tasks yet. Meet her.';
        }
      }catch(e){}
      content.appendChild(tasks);
    }
  }catch(e){}
}
function updateSolidBars(){
  try{
    var cb = document.getElementById('solid-cont-bar');
    if(cb && typeof getContinuumBalance==='function'){
      var bal = getContinuumBalance();
      var pct = Math.min(100, Math.max(0, 50 + bal*5));
      cb.style.width = pct + '%';
    }
    var ob = document.getElementById('solid-obl-bar');
    if(ob && typeof OBLIGATION_PAID!=='undefined' && typeof OBLIGATION_TOTAL!=='undefined'){
      var pct2 = (OBLIGATION_PAID / OBLIGATION_TOTAL) * 100;
      ob.style.width = pct2 + '%';
    }
  }catch(e){}
}
setInterval(function(){ try{ if(SOLID_PANEL_TAB==='bars') updateSolidBars(); }catch(e){} }, 2000);
/* build it */
setTimeout(function(){ try{ buildSolidPanel(); }catch(e){} }, 3000);

/* 20 THINGS TO DO — the map is full */
var MAP_POIS = [
  {x:0, z:0, name:'Home', color:'#ffd700'},
  {x:25, z:-10, name:'The City', color:'#00ffff'},
  {x:-30, z:20, name:'Far Docks', color:'#ff9900'},
  {x:15, z:30, name:"Carver's Hollow", color:'#ff66aa'},
  {x:-20, z:-25, name:'Continuum Well', color:'#9900ff'},
  {x:40, z:15, name:'Warp Gate', color:'#00ff99'},
  {x:-15, z:40, name:'Shipwright', color:'#ff6600'},
  {x:30, z:-30, name:'The Garden', color:'#66ff66'},
  {x:-40, z:-10, name:'Observatory', color:'#6699ff'},
  {x:10, z:-40, name:'The Market', color:'#ffcc00'},
  {x:-35, z:35, name:'Library', color:'#cc99ff'},
  {x:45, z:-5, name:'The Forge', color:'#ff3300'},
  {x:-10, z:-15, name:'Stone Garden', color:'#999999'},
  {x:20, z:45, name:'Echo Caves', color:'#6666ff'},
  {x:-45, z:5, name:'Sky Bridge', color:'#99ccff'},
  {x:35, z:35, name:'Burden Road', color:'#cc6600'},
  {x:0, z:-35, name:'Quiet Place', color:'#ffffff'},
  {x:-25, z:10, name:'Workshop', color:'#ff9966'},
  {x:50, z:25, name:'Star Chart', color:'#ffff99'},
  {x:-50, z:-30, name:'Threshold', color:'#ff00ff'}
];
/* FUTURE STYLE MAP — holomap + waypoints */
var HOLOMAP_ON = false;
var holomapCanvas = null;
window._mapAutoOpen = false; /* King chooses when map opens */
function toggleMap(){
  try{
    if(!holomapCanvas){
      holomapCanvas = document.createElement('canvas');
      holomapCanvas.width = 200; holomapCanvas.height = 200;
      holomapCanvas.style.cssText = 'position:fixed;top:70px;right:10px;z-index:9999;border:1px solid #00ffff;background:rgba(0,20,30,0.7);border-radius:8px;width:200px;height:200px;';
      document.body.appendChild(holomapCanvas);
      holomapCanvas.onclick = function(){ toggleHolomapExpand(); };
    }
    HOLOMAP_ON = !HOLOMAP_ON;
    holomapCanvas.style.display = HOLOMAP_ON ? 'block' : 'none';
    if(HOLOMAP_ON && typeof drawHolomap==='function') drawHolomap();
    try{ if(typeof codeStatus==='function') codeStatus(HOLOMAP_ON ? 'map open' : 'map closed'); }catch(e){}
  }catch(e){}
}
/* PERMANENT MAP — auto-loads at start, always available */
function ensurePermanentMap(){
  try{
    if(!HOLOMAP_ON && window._mapAutoOpen !== false){
      HOLOMAP_ON = true;
      if(!holomapCanvas){
        holomapCanvas = document.createElement('canvas');
        holomapCanvas.width = 200; holomapCanvas.height = 200;
        holomapCanvas.style.cssText = 'position:fixed;top:70px;right:10px;z-index:9999;border:1px solid #00ffff;background:rgba(0,20,30,0.7);border-radius:8px;';
        document.body.appe