/* Better mobile/touch behavior */ #stage { touch-action: none; } /* Click ripple FX */ #ripples{ position: fixed; inset: 0; pointer-events: none; z-index: 420; } .click-ripple{ position: absolute; width: 12px; height: 12px; border-radius: 999px; border: 2px solid var(--mood-color); transform: translate(-50%,-50%) scale(0); opacity: 0.9; filter: drop-shadow(0 0 18px var(--mood-color)); animation: ripplePop 900ms ease-out forwards; } @keyframes ripplePop{ to { transform: translate(-50%,-50%) scale(18); opacity: 0; } } /* Photo mode (hide UI chrome for clean screenshots) */ body.photo-mode .glass-panel, body.photo-mode #quickActions, body.photo-mode .hud-info, body.photo-mode .scanlines, body.photo-mode .vignette, body.photo-mode .holo-grid, body.photo-mode #modeBadge{ display: none !important; } /* Reduced motion class (we’ll toggle this from JS too) */ body.reduced-motion .holo-grid, body.reduced-motion .star, body.reduced-motion .particle, body.reduced-motion .sprite-float, body.reduced-motion .aura-outer, body.reduced-motion .aura-inner, body.reduced-motion .core-housing, body.reduced-motion .core-inner-ring, body.reduced-motion .core-energy, body.reduced-motion .pump-chamber, body.reduced-motion .proc-line, body.reduced-motion .mem-cell, body.reduced-motion .coolant-line, body.reduced-motion .circuit-node, body.reduced-motion .mouth-bar, body.reduced-motion .shoulder-gem, body.reduced-motion .palm-core{ animation: none !important; }
ENTITY
MOOD
(β€’_β€’)
NEUTRAL
Observing...
ACTIVITY
NEEDS
⚑ ENERGY75%
πŸ’¬ SOCIAL50%
😴 BORED20%
πŸ” CURIOUS60%
πŸƒ DATA30%
GOALS
COMPLETED: 0
CELLULAR
GEN: 0
ALIVE: 0
PINGS: 0
STATS
XP0/100
THREAT0%
PSYCHE
β—ˆ SPRITE v22
CYBERNETIC
Click any part!
● ACTIVE
CYCLES: 0
UPTIME: 0:00
β—ˆ ACHIEVEMENT β—ˆ
β—ˆ INTERFACE
DATA FEED
Feed data to help the entity learn and evolve.