*{margin:0;padding:0;box-sizing:border-box}
html,body{background:#000;overflow-x:hidden}
body{height:10000vh}
canvas#c{display:none}
.ctx-menu{
  position:fixed;z-index:1000;background:rgba(0,0,0,0.9);
  border:1px solid rgba(255,255,255,0.2);border-radius:4px;
  font-family:'Courier New',monospace;font-size:14px;color:#fff;
  padding:4px 0;min-width:140px;
}
.ctx-menu div{padding:6px 16px;cursor:pointer}
.ctx-menu div:hover{background:rgba(255,255,255,0.15)}
#auth-overlay{
  position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;
  background:rgba(0,0,0,0.7);display:flex;align-items:center;justify-content:center;
}
#auth-box{
  background:rgba(0,0,0,0.95);border:1px solid rgba(255,255,255,0.2);
  border-radius:8px;padding:32px;font-family:'Courier New',monospace;color:#fff;
  display:flex;flex-direction:column;gap:12px;min-width:280px;
}
#auth-box h2{font-size:16px;margin:0}
#auth-box input{
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.3);
  border-radius:4px;padding:8px 12px;color:#fff;font-family:inherit;font-size:14px;
}
#auth-box button{
  background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.3);
  border-radius:4px;padding:8px;color:#fff;cursor:pointer;font-family:inherit;
}
#auth-box button:hover{background:rgba(255,255,255,0.25)}
#auth-err{color:#f66;font-size:12px;min-height:16px}
