<!-- SOLID-PLAYTIME · part 203 -->
){
    fetch('/api/version',{cache:'no-store'}).then(function(r){return r.json();}).then(function(d){
      var cur=String(d.build||'0');
      var saved=null;
      try{ saved=sessionStorage.getItem(KEY); }catch(e){}
      if(saved && saved!==cur){
        try{ sessionStorage.setItem(KEY,cur); }catch(e){}
        location.reload();
      }else{
        try{ sessionStorage.setItem(KEY,cur); }catch(e){}
      }
    }).catch(function(){});
  }
  if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',check);}else{check();}
  window.addEventListener('pageshow',function(e){ if(e.persisted){ check(); } });
  setInterval(check, 15000);
})();
</script></head>
  <body>
  <button id="solid-refresh" style="position:fixed;top:8px;left:8px;z-index:99999;background:rgba(0,0,0,0.6);color:#ffd700;border:1px solid #ffd700;border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer;" onclick="(function(){try{sessionStorage.removeItem('pt-build-v1');}catch(e){}location.reload();})();">↻</button>
    <div
      data-generated-space-root=""
      data-generated-space-slug="solid-the-seven-nightmares-2"
    ></div>
  <div id="traveler-gate" style="display:none;position:fixed;inset:0;z-index:9999;background:rgba(2,2,5,.96);align-items:center;justify-content:center;text-align:center;font-family:system-ui,-apple-system,sans-serif;">
      <div style="max-width:88vw;padding:24px;">
        <div style="color:#8a8a93;letter-spacing:.35em;font-size:12px;margin-bottom:16px;">ISLAND SIGNAL</div>
        <div style="color:#f2f2f5;font-size:30px;font-weight:800;letter-spacing:.1em;margin-bottom:10px;">WHO ARE YOU?</div>
        <div style="color:#b9b9c2;font-size:15px;">No color? Here is your color.</div>
        <div id="traveler-swatch" style="width:110px;height:110px;border-radius:50%;margin:24px auto;background:#74f5ff;"></div>
        <div id="traveler-hex" style="color:#8a8a93;font-size:13px;letter-spacing:.25em;margin-bottom:28px;"></div>
        <button id="traveler-continue" style="font-size:17px;font-weight:700;letter-spacing:.25em;padding:15px 46px;background:transparent;color:#f2f2f5;border:2px solid #f2f2f5;border-radius:999px;cursor:pointer;">CONTINUE</button>
      </div>
    </div>
<script>
/*__TOUCH_GUARD__*/
(function(){
"use strict";
/* King's law 2026-09-28: the iOS long-press magnifier loupe is dead.
   Capture-phase, non-passive touchstart/touchmove + preventDefault on
   hold-to-press surfaces kills Safari's loupe, callout, double-tap zoom
   and scroll before they start. The game's own pointer handlers are
   unaffected (pointerdown/up fire regardless of touchstart's default).
   Tap-buttons (JUMP, ATTACK, FLY, FLY HIGHER/LOWER, ENTER, SKY, CHEST,
   pause) are deliberately untouched: they rely on click synthesis,
   which a touchstart preventDefault would break. */
function isHoldControl(el){
  if(!el || !el.closest) return false;
  if(el.closest('.world-stage,.joystick')) return true;
  var b = el.closest('button');
  if(!b || b.disabled) return false;
  var label = (b.getAttribute('aria-label') || '').trim().toLowerCase();
  return label === 'run' || label === 'vision' || label === 'hold hero vision';
}
function kill(e){ if(isHoldControl(e.target)) e.preventDefault(); }
document.addEventListener('touchstart', kill, {capture:true, passive:false});
document.addEventListener('touchmove', kill, {capture:true, passive:false});
})();
</script>
<script>
(function(){
var hues=[0,90,180,270];
var idx=0;
var btn=document.getElementById('solid-color');
if(btn){
btn.addEventListener('click',function(){
idx=(idx+1)%hues.length;
var c=document.querySelector('#solid-playtime canvas, canvas');
if(c)c.style.filter='hue-rotate('+hues[idx]+'deg)';
btn.textContent=['COLOR','TEAL','VIOLET','GOLD'][idx];
});
}
})();
</script>
</body>
</html>


