<!-- RUBY-BACKUP · part 354 -->
t', String(CONTINUUM_SPENT));
  }catch(e){}
}
function getContinuumBalance(){ try{ return CONTINUUM_GATHERED - CONTINUUM_SPENT; }catch(e){ return 0; } }
function continuumGathered(){
  CONTINUUM_GATHERED++;
  saveContinuumFlow();
  checkContinuumBalance();
}
function continuumSpent(){
  CONTINUUM_SPENT++;
  saveContinuumFlow();
  checkContinuumBalance();
}
function hasContinuumBalance(){
  /* balance: gathered in flow, spent in kind, pad alive */
  try{
    var padCount = (typeof DESK_PAD!=='undefined' ? DESK_PAD.length : 0);
    return CONTINUUM_GATHERED >= 10 && CONTINUUM_SPENT >= 5 && padCount > 0;
  }catch(e){ return false; }
}
/* at level 2 you hold 100% and 100% — the numbers are never shown */
var LEVEL2_FULL = { inflow: false, outflow: false };
function checkContinuumBalance(){
  try{
    if(hasContinuumBalance() && PLAYER_LEVEL < 2){
      PLAYER_LEVEL = 2;
      LEVEL2_FULL.inflow = true;
      LEVEL2_FULL.outflow = true;
      saveProgress();
      try{
        localStorage.setItem('ruby-level2-full', '1');
      }catch(e){}
      /* no numbers — the state is felt, not displayed */
      try{ codeStatus('continuum balance achieved — 2nd level earned'); }catch(e){}
    }
  }catch(e){}
}
try{
  if(localStorage.getItem('ruby-level2-full')==='1'){
    LEVEL2_FULL.inflow = true;
    LEVEL2_FULL.outflow = true;
  }
}catch(e){}
/* check on load */
setTimeout(function(){ try{ checkContinuumBalance(); }catch(e){} }, 3000);





/* THE PROPHETESS: she knew you would come. She knows when you see her. */
var PROPHETESS_AURA = null;
var LITTLE_GIRL = null;
var FLOWER_GIFT = null;
var BUSY_DAD_SHIP = null;
function buildProphetessScene(){
  try{
    var cc = (typeof getCityCenter==='function' ? getCityCenter() : {x:25, z:-10});
    /* prophetess aura — strange and wonderful */
    if(typeof PROVOLTA_MODEL!=='undefined' && PROVOLTA_MODEL && !PROPHETESS_AURA){
      PROPHETESS_AURA = new THREE.Group();
      /* floating runes */
      for(var i=0; i<8; i++){
        (function(idx){
          var runeGeo = new THREE.OctahedronGeometry(0.12);
          var runeMat = new THREE.MeshBasicMaterial({
            color: 0x00ffff, transparent: true, opacity: 0.8
          });
          var rune = new THREE.Mesh(runeGeo, runeMat);
          var angle = (idx/8) * Math.PI * 2;
          rune.position.set(Math.cos(angle)*1.5, 2.5, Math.sin(angle)*1.5);
          rune.userData.orbitAngle = angle;
          rune.userData.orbitSpeed = 0.5 + Math.random()*0.5;
          PROPHETESS_AURA.add(rune);
        })(i);
      }
      /* soft glow beneath her */
      var glowGeo = new THREE.CircleGeometry(2.0, 24);
      var glowMat = new THREE.MeshBasicMaterial({
        color: 0x00ffff, transparent: true, opacity: 0.15,
        side: THREE.DoubleSide
      });
      var glow = new THREE.Mesh(glowGeo, glowMat);
      glow.rotation.x = -Math.PI/2;
      glow.position.y = 0.05;
      PROPHETESS_AURA.add(glow);
      PROVOLTA_MODEL.add(PROPHETESS_AURA);
      /* orbit the runes */
      setInterval(function(){
        try{
          PROPHETESS_AURA.children.forEach(function(rune){
            if(rune.userData.orbitAngle !== undefined){
              rune.userData.orbitAngle += 0.02 * rune.userData.orbitSpeed;
              var a = rune.userData.orbitAngle;
              rune.position.x = Math.cos(a)*1.5;
              rune.position.z = Math.sin(a)*1.5;
              rune.position.y = 2.5 + Math.sin(Date.now()*0.002 + a)*0.3;
              rune.rotation.y += 0.05;
              rune.rotation.x += 0.03;
            }
          });
        }catch(e){}
      }, 33);
    }
    /* the little girl */
    if(!LITTLE_GIRL){
      LITTLE_GIRL = new THREE.Group();
      var skinMat = new THREE.MeshStandardMaterial({color:0xffcc99, roughness:0.8});
      var dressMat = new THREE.MeshStandardMaterial({color:0xff99cc, roughness:0.9});
      var hairMat = new THREE.MeshStandardMaterial({color:0x664422, roughness:0.9});
      /* body — small */
      var body = new THREE.Mesh(new THREE.CylinderGeometry(0.18, 0.25, 0.5, 10), dressMat);
      body.position.y = 0.45;
      LITTLE_GIRL.add(body);
      /* head */
      var head = new THREE.Mesh(new THREE.SphereGeometry(0.22, 12, 12), skinMat);
      head.position.y = 0.9;
      LITTLE_GIRL.add(head);
      /* hair */
      var hair = new THREE.Mesh(new THREE.SphereGeometry(0.24, 12, 12), hairMat);
      hair.position.set(0, 0.95, -0.05);
      hair.scale.set(1, 0.8, 1);
      LITTLE_GIRL.add(hair);
      /* eyes — looking up at PROVOLTA */
      var eyeMat = new THREE.MeshBasicMaterial({color:0x222222});
      var eyeL = new THREE.Mesh(new THREE.SphereGeometry(0.03, 6, 6), eyeMat);
      eyeL.position.set(-0.08, 0.92, 0.18);
      LITTLE_GIRL.add(eyeL);
      var eyeR = new THREE.Mesh(new THREE.SphereGeometry(0.03, 6, 6), eyeMat);
      eyeR.position.set(0.08, 0.92, 0.18);
      LITTLE_GIRL.add(eyeR);
      /* arms reaching up for the flower */
      var armMat = new THREE.Me