@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Orbitron:wght@400;700;900&display=swap');

:root{
  --bg:#0a0a22;
  --panel:#12103a;
  --panel2:#1c1a50;
  --border:#3a3a7a;
  --border2:#4a4a9a;
  --cyan:#00ffee;
  --cyan-dim:#00ffee66;
  --pink:#ff44cc;
  --pink-dim:#ff44cc66;
  --purple:#aa44ff;
  --purple-dim:#aa44ff66;
  --text:#d8d8f0;
  --dim:#7878b8;
  --danger:#ff3366;
  --danger-dim:#ff336644;
  --success:#44ff88;
  /* Screen background (dark by default, overridden in light themes) */
  --screen-bg: radial-gradient(ellipse at 50% 45%,#161a36 0%,#0d1027 60%,#0b0b1b 100%);
  --terminal-bg: linear-gradient(180deg,#1a1a46,#080818);
  --twin-bg: linear-gradient(180deg,#252542,#33334e);
  --device-bg: linear-gradient(180deg,var(--panel),#08081a);
  --overlay-scanline: rgba(0,255,238,.015);
  --screen-border: #4a4a9a;
  --terminal-border: #4a4a9a;
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

html,body{
  width:100%;height:100%;
  background:var(--bg);
  font-family:'Share Tech Mono',monospace;
  color:var(--text);
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:flex-start;
}

body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 80% 40% at 50% 0%,#0a003018,transparent),
    radial-gradient(ellipse 60% 60% at 50% 100%,#00003318,transparent),
    repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,255,.006) 2px,rgba(0,255,255,.006) 4px);
}

.device{
  position:relative;
  width:100%;max-width:420px;height:auto;
  background:var(--device-bg);
  border-left:1px solid var(--cyan)22;border-right:1px solid var(--cyan)22;
  display:flex;flex-direction:column;
  z-index:1;
  overflow:hidden;
}

.scan{
  position:absolute;inset:0;pointer-events:none;z-index:50;
  background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.06) 1px,rgba(0,0,0,.06) 2px);
}

/* HEADER */
.header{
  text-align:center;padding:14px 12px 8px;position:relative;z-index:10;
  border-bottom:1px solid var(--cyan)33;
}
.header h1{
  font-family:'Orbitron',monospace;font-size:1.2em;font-weight:900;
  background:linear-gradient(90deg,var(--cyan),var(--pink),var(--purple),var(--cyan));
  background-size:300% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:titleShift 6s linear infinite;letter-spacing:4px;
}
.header p{
  color:var(--dim);font-size:.6em;margin-top:4px;letter-spacing:3px;text-transform:uppercase;
}
@keyframes titleShift{0%{background-position:0% center}100%{background-position:300% center}}

.header-info{
  display:flex;justify-content:space-between;align-items:center;
  padding:6px 4px 0;margin-top:4px;gap:2px;
}
.header-info .hi-name{font-family:'Orbitron',monospace;font-size:.7em;color:var(--cyan);letter-spacing:2px;text-shadow:0 0 6px var(--cyan)66}
.header-info .hi-stage{font-size:.58em;color:var(--text);letter-spacing:2px}
.header-info .hi-gen{font-size:.55em;color:var(--purple);letter-spacing:1px;text-shadow:0 0 6px var(--purple)66}
.header-info .hi-age{font-size:.52em;color:var(--text);letter-spacing:2px}

/* MAIN STAGE */
.main-stage{
  display:flex;flex-direction:row;
  gap:6px;padding:8px 10px;flex:1;min-height:0;
  align-items:stretch;
}
.mid-col{
  display:flex;flex-direction:column;
  gap:0;flex:1;min-width:0;
  justify-content:center;align-items:center;
}

/* ICON COLUMNS */
.icon-col{
  display:flex;flex-direction:column;gap:6px;align-items:center;
  justify-content:center;flex-shrink:0;
}

.icon-btn{
  width:44px;height:44px;
  background:var(--panel2);
  border:1px solid var(--border);border-radius:10px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;cursor:pointer;transition:all .2s ease;
  position:relative;
}
.icon-btn:active{transform:scale(.92);}
.icon-btn:hover{border-color:var(--cyan-dim);box-shadow:0 0 10px var(--cyan-dim);}
.icon-btn.selected{
  border-color:var(--cyan);
  box-shadow:0 0 12px var(--cyan)88, inset 0 0 10px var(--cyan)18;
  background:linear-gradient(145deg,#0a1a2a,#060e18);
  position:relative;
}
.icon-btn.selected::after{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:10px;
  border:1px solid var(--cyan);
  box-shadow:0 0 8px var(--cyan)66;
  pointer-events:none;
  animation:selectedPulse 1.5s ease-in-out infinite;
}
@keyframes selectedPulse{
  0%,100%{opacity:1;box-shadow:0 0 8px var(--cyan)66;}
  50%{opacity:.6;box-shadow:0 0 16px var(--cyan)aa;}
}

.icon-btn .sym{
  font-size:1.1em;line-height:1;
  filter:drop-shadow(0 0 4px currentColor);
}
.icon-btn .lbl{
  font-size:.42em;letter-spacing:1px;text-transform:uppercase;
  color:var(--text);
}
.icon-btn.selected .lbl{color:var(--cyan);text-shadow:0 0 8px var(--cyan), 0 0 16px var(--cyan)66;}

.icon-btn.cyan   {color:var(--cyan);}
.icon-btn.pink   {color:var(--pink);}
.icon-btn.purple {color:var(--purple);}
.icon-btn.green  {color:var(--success);}
.icon-btn.orange {color:#ffaa33;}
.icon-btn.blue   {color:#3388ff;}
.icon-btn.yellow {color:#ffee44;}
.icon-btn.red    {color:var(--danger);}
.icon-btn.white  {color:var(--text);}
.icon-btn.teal   {color:var(--cyan);}

/* SCREEN */
.screen-wrap{
  flex:1;display:flex;flex-direction:column;align-items:center;
  position:relative;min-width:0;
}

.pet-screen{
  width:100%;aspect-ratio:1/1;max-width:100%;flex-shrink:1;min-height:0;
  background:var(--screen-bg, radial-gradient(ellipse at 50% 45%,#05081a 0%,#080c24 60%,#0a0a1a 100%));
  border:2px solid var(--screen-border, #4a4a9a);border-radius:20px;
  position:relative;overflow:hidden;
  box-shadow:
    inset 0 0 40px rgba(0,255,238,.06),
    0 0 24px rgba(0,255,238,.08),
    0 0 0 1px rgba(0,255,238,.1);
  display:flex;align-items:center;justify-content:center;
}

.pet-screen::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,255,238,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(170,68,255,.05) 1px,transparent 1px);
  background-size:24px 24px;
}

.corner{
  position:absolute;width:10px;height:10px;border-color:#00ffee;border-style:solid;opacity:.5;z-index:5;
}
.corner.tl{top:6px;left:6px;border-width:2px 0 0 2px;border-radius:4px 0 0 0;}
.corner.tr{top:6px;right:6px;border-width:2px 2px 0 0;border-radius:0 4px 0 0;}
.corner.bl{bottom:6px;left:6px;border-width:0 0 2px 2px;border-radius:0 0 0 4px;}
.corner.br{bottom:6px;right:6px;border-width:0 2px 2px 0;border-radius:0 0 4px 0;}

.pet-container{
  position:relative;width:100%;max-width:200px;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  z-index: 5;
}
.pet-mover{
  display:flex;align-items:center;justify-content:center;
  will-change:transform;
}

/* STATUS SCREEN */
.status-screen{
  width:100%;height:100%;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:14px;gap:10px;
  font-family:'Share Tech Mono',monospace;
  position:relative;
}
.status-header{
  font-family:'Orbitron',monospace;
  font-size:.85em;letter-spacing:3px;
  color:var(--cyan);text-shadow:0 0 10px var(--cyan);
  margin-bottom:6px;
}
.stat-page{
  display:flex;flex-direction:column;
  align-items:center;gap:8px;
  width:100%;
}
.stat-title{
  font-family:'Orbitron',monospace;
  font-size:.9em;letter-spacing:2px;
}
.status-footer{
  font-size:.46em;
  color:#ffffff;
  letter-spacing:1px;
  text-align:center;
  font-family:'Share Tech Mono',monospace;
  white-space:nowrap;
}
.stat-face{
  font-size:3.4em;line-height:1;
  width:72px;height:72px;
  display:flex;align-items:center;justify-content:center;
  border:2px solid;border-radius:50%;
  text-shadow:0 0 14px currentColor;
}
.stat-big{
  font-family:'Orbitron',monospace;
  font-size:2.2em;font-weight:700;
  text-shadow:0 0 14px currentColor;
}
.stat-label{
  font-size:.6em;letter-spacing:2px;
  margin-bottom:2px;
}
.stat-bar-bg{
  width:80%;height:10px;
  background:rgba(255,255,255,.1);
  border-radius:5px;overflow:hidden;
}
.stat-bar-fill{
  height:100%;border-radius:5px;
  transition:width .3s;
}
.stat-sub{
  font-size:.55em;letter-spacing:1px;
}
.stat-alert{
  font-size:.6em;color:#ff003c;
  text-shadow:0 0 10px #ff003c;
  margin-top:6px;text-align:center;
}
.stat-footer{
  font-size:.55em;color:var(--dim);
  letter-spacing:2px;margin-top:6px;
}

/* FOOD MENU */
.food-page{
  display:flex;flex-direction:column;
  align-items:center;gap:8px;
  width:100%;
}
.food-icon{
  font-size:3em;line-height:1;
  margin:8px 0 2px;
  animation:foodPulse 2s ease-in-out infinite;
}
@keyframes foodPulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.08);opacity:.85}
}
.food-name{
  font-family:'Orbitron',monospace;
  font-size:.75em;letter-spacing:2px;
}
.food-dots{
  display:flex;gap:5px;justify-content:center;
  margin-top:4px;flex-wrap:wrap;max-width:90%;
}

/* STATS DOTS */
.stats-mini{display:none!important;}
.stat-dot{flex:1;height:2px;border-radius:2px;background:var(--border);overflow:hidden;}
.stat-dot.sdot-row{background:none;display:flex;gap:1px;align-items:stretch;}
.sdot-b{flex:1;border-radius:1px;transition:background .4s,box-shadow .4s;}
.stat-dot-fill{height:100%;border-radius:2px;transition:width .5s ease}

/* CIRCUIT CONNECTOR */
.circuit-connector{
  width:100%;height:10px;position:relative;
  display:flex;justify-content:center;align-items:center;
  flex-shrink:0;z-index:2;
}
.circuit-cable{display:flex;gap:7px;justify-content:center;align-items:center;}
.circuit-cable .tr{
  width:1.5px;height:10px;border-radius:1px;
  background:linear-gradient(180deg,#00ffee88,#00ffee44,#00ffee88);
  position:relative;
}
.circuit-cable .tr::before,.circuit-cable .tr::after{
  content:'';position:absolute;left:50%;transform:translateX(-50%);
  width:5px;height:5px;border-radius:50%;background:#00ffee;
  box-shadow:0 0 6px #00ffee,0 0 12px #00ffee55;
}
.circuit-cable .tr::before{top:-3px;}
.circuit-cable .tr::after{bottom:-3px;}
.circuit-cable .tr:nth-child(2){animation:nodePulse 2s ease-in-out infinite}
.circuit-cable .tr:nth-child(3){animation:nodePulse 2s ease-in-out infinite .3s}
@keyframes nodePulse{0%,100%{opacity:.6}50%{opacity:1}}

/* TERMINAL PANEL */
.needs-panel{
  width:100%;margin:0 auto;
  background:var(--terminal-bg, linear-gradient(180deg,#0c0c28,#080818));
  border:1px solid var(--terminal-border, #4a4a9a);border-radius:10px;
  padding:10px 12px;position:relative;
  box-shadow:
    inset 0 0 20px rgba(0,255,238,.04),
    0 0 0 1px rgba(0,255,238,.06);
  min-height:52px;
}
.needs-panel::before{
  content:'';position:absolute;inset:0;border-radius:10px;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,238,.015) 2px,rgba(0,255,238,.015) 3px);
}
.needs-header{
  display:flex;justify-content:flex-start;align-items:center;
  margin-bottom:4px;
}
.needs-header span{
  font-size:.5em;letter-spacing:3px;color:#00ffee;
  text-transform:uppercase;opacity:.7;
}
.needs-text{
  font-size:.75em;color:#00ffee;line-height:1.6;
  height:3.2em;overflow:hidden;word-break:break-word;
  text-shadow:0 0 8px #00ffee66;
  font-family:'Share Tech Mono',monospace;
  transition:color .5s ease, text-shadow .5s ease;
}
.needs-panel{transition:border-color .5s ease, box-shadow .5s ease, background .5s ease;}
@keyframes emergencyBlink{0%,49%{opacity:1}50%,100%{opacity:.4}}
.needs-text .cursor{
  display:inline-block;animation:cursorBlink .6s step-end infinite;
  color:var(--cyan);margin-left:1px;font-size:.9em;vertical-align:baseline;
}
@keyframes cursorBlink{0%,100%{opacity:1}50%{opacity:0}}

/* NAVIGATION */
.nav-pad{
  display:flex;justify-content:center;align-items:center;gap:8px;
  padding:10px 16px 8px;flex-shrink:0;
}
.nav-btn{
  height:42px;border-radius:10px;border:1px solid var(--border2);
  background:var(--panel2);
  color:var(--text);font-family:'Share Tech Mono',monospace;
  font-size:.85em;cursor:pointer;transition:all .2s;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
.nav-btn:active{transform:translateY(1px) scale(.97);}
.nav-btn.dir{width:48px;font-size:1.2em;color:var(--cyan);}
.nav-btn.esc{width:60px;color:var(--danger);border-color:var(--danger-dim);font-size:.7em;letter-spacing:1px;}
.nav-btn.esc:hover{box-shadow:0 0 10px var(--danger-dim);border-color:var(--danger);}
.nav-btn.enter{width:76px;color:var(--cyan);border-color:var(--cyan-dim);font-size:.7em;letter-spacing:1px;}
.nav-btn.enter:hover{box-shadow:0 0 10px var(--cyan-dim);border-color:var(--cyan);}

/* BOTTOM ACTIONS */
.bottom-actions{display:flex;gap:6px;padding:0 10px 10px;flex-shrink:0;}
.action-btn{
  flex:1;min-width:0;padding:6px 4px;border-radius:10px;border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);font-family:'Orbitron',monospace;
  font-size:.52em;letter-spacing:1.5px;text-transform:uppercase;
  cursor:pointer;transition:all .2s;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;
}
.action-btn .abtn-icon{font-size:1.4em;line-height:1;}
.action-btn .abtn-lbl{font-size:1em;line-height:1;}
.action-btn:hover{color:var(--cyan);border-color:var(--cyan-dim);box-shadow:0 0 10px var(--cyan-dim);}
.action-btn:active{transform:scale(.97);}

/* TWIN TERMINALS */
.twin-terminals{display:flex;gap:8px;padding:0 8px 10px;flex-shrink:0;}
.twin-term{
  flex:1;
  background:var(--terminal-bg, linear-gradient(180deg,#0c0c28,#080818));
  border:1px solid var(--terminal-border, #4a4a9a);border-radius:10px;
  padding:8px;position:relative;overflow:hidden;
  box-shadow:inset 0 0 16px rgba(0,255,238,.03);
}
.twin-term::before{
  content:'';position:absolute;inset:0;border-radius:10px;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,238,.015) 2px,rgba(0,255,238,.015) 3px);
}
.twin-term-header{font-size:.5em;letter-spacing:2.5px;color:#00ffee;opacity:.7;text-transform:uppercase;margin-bottom:4px;}
@keyframes droneBatPulse{
  0%,100%{border-color:#ff003c66;box-shadow:0 0 6px #ff003c44,inset 0 0 6px #ff003c0a;}
  50%{border-color:#ff003ccc;box-shadow:0 0 18px #ff003c88,inset 0 0 12px #ff003c22;}
}
.drone-bat-empty{animation:droneBatPulse .9s ease-in-out infinite!important;}
@keyframes antivirusPulse{
  0%,100%{border-color:#ff003c66;box-shadow:0 0 6px #ff003c44,inset 0 0 6px #ff003c0a;}
  50%{border-color:#ff003ccc;box-shadow:0 0 18px #ff003c88,inset 0 0 12px #ff003c22;}
}
.antivirus-alert{}
@keyframes dronePulse{
  0%,100%{border-color:#00ffee66;box-shadow:0 0 6px #00ffee44,inset 0 0 6px #00ffee0a;}
  50%{border-color:#00ffeecc;box-shadow:0 0 18px #00ffee88,inset 0 0 12px #00ffee22;}
}
.drone-alert{ }
@keyframes trendPulse{
  0%,100%{border-color:#aa44ff44;box-shadow:inset 0 0 16px rgba(0,255,238,.03),0 0 6px #aa44ff22;}
  50%{border-color:#aa44ffaa;box-shadow:inset 0 0 16px rgba(170,68,255,.08),0 0 14px #aa44ff55;}
}
#termTrend.no-dna{animation:trendPulse 2.5s ease-in-out infinite;}
.twin-term-body{display:flex;align-items:center;gap:6px;}
.coin-icon{flex-shrink:0;opacity:.9;}
.coin-value{
  font-family:'Orbitron',monospace;font-size:.9em;font-weight:700;
  color:#00ffee;text-shadow:0 0 8px #00ffee66;letter-spacing:1px;
}
.evo-body{flex-direction:column;align-items:flex-start;gap:3px;}
.evo-countdown{
  font-family:'Orbitron',monospace;font-size:.85em;font-weight:700;
  color:#aa44ff;text-shadow:0 0 8px #aa44ff66;letter-spacing:1px;
}
.evo-label{font-size:.5em;letter-spacing:1.5px;color:#7878b8;text-transform:uppercase;}

/* FOOTER */
.footer{
  text-align:center;padding:8px;font-size:.5em;color:var(--dim);letter-spacing:2px;
  border-top:1px solid var(--cyan)22;flex-shrink:0;
}

/* INFO TOOLTIP */
.info-btn{
  position:absolute;top:5px;right:6px;
  width:14px;height:14px;border-radius:50%;
  border:1px solid var(--cyan-dim);background:transparent;
  color:var(--dim);font-family:'Share Tech Mono',monospace;
  font-size:.5em;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;z-index:10;line-height:1;padding:0;
}
.info-btn:hover{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 6px var(--cyan-dim);}
.info-tooltip{
  position:fixed;
  background:var(--panel2);
  border:1px solid var(--cyan-dim);border-radius:12px;
  padding:14px 16px;
  font-family:'Share Tech Mono',monospace;font-size:.72em;
  color:var(--text);line-height:1.9;letter-spacing:.5px;
  z-index:999;max-width:min(260px, calc(100vw - 20px));
  box-shadow:0 0 24px rgba(0,255,238,.12);
  pointer-events:auto;opacity:0;cursor:pointer;
  transform:translateY(4px);transition:opacity .2s ease, transform .2s ease;
  /* Nunca ultrapassar a tela */
  max-height:calc(100vh - 80px);overflow-y:auto;
}
.info-tooltip.show{opacity:1;transform:translateY(0);}
.info-tooltip .tt-title{
  font-family:'Orbitron',monospace;font-size:.9em;
  color:var(--cyan);letter-spacing:2px;margin-bottom:6px;
  display:block;text-shadow:0 0 8px var(--cyan)66;
}

/* OVERLAYS */
.welcome-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.welcome-box{
  max-width:340px;width:100%;
  background:var(--panel2);
  border:1px solid var(--cyan)66;border-radius:20px;
  padding:32px 24px;text-align:center;position:relative;overflow:hidden;
  box-shadow:0 0 40px rgba(0,255,238,.06);
}
.welcome-box::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--cyan)aa,transparent);
}
.welcome-title{font-family:'Orbitron',monospace;font-size:1.5em;color:var(--cyan);letter-spacing:6px;margin-bottom:8px;text-shadow:0 0 16px var(--cyan)88;font-weight:900;}
.welcome-sub{font-size:.75em;color:var(--purple);letter-spacing:3px;margin-bottom:20px}
.welcome-text{font-size:.82em;color:var(--text);line-height:2.2;letter-spacing:1px;margin-bottom:24px;}
.welcome-text span{color:var(--cyan)}
.welcome-ovo{margin:0 auto 20px;width:130px;height:130px;display:flex;align-items:center;justify-content:center;}
.btn-welcome{
  padding:12px 28px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
  color:#000;border:none;border-radius:10px;
  font-family:'Orbitron',monospace;font-weight:700;
  font-size:.75em;letter-spacing:3px;cursor:pointer;transition:all .3s;
}
.btn-welcome:hover{transform:scale(1.04);box-shadow:0 0 24px var(--cyan)66}

.death-overlay{
  position:fixed;inset:0;z-index:300;
  background:#0c0000ee;
  display:none;align-items:center;justify-content:center;padding:24px;
}
.death-overlay.show{display:flex}
.death-box{
  max-width:320px;width:100%;
  background:linear-gradient(145deg,#1a0808,#0c0c2a);
  border:1px solid #ff003c99;border-radius:20px;
  padding:28px 24px;text-align:center;
  box-shadow:0 0 40px rgba(255,0,60,.06);
}
.death-icon{font-size:3.5rem;margin-bottom:12px;text-shadow:0 0 30px #ff003c}
.death-title{font-family:'Orbitron',monospace;font-size:1.1em;color:#ff003c;letter-spacing:4px;margin-bottom:12px;text-shadow:0 0 14px #ff003c;}
.death-desc{font-size:.7em;color:#ffaaab;line-height:1.6;margin-bottom:24px}
.death-btn{
  padding:10px 16px;background:transparent;border:1px solid #ff003c;color:#ff003c;border-radius:10px;
  font-family:'Orbitron',monospace;font-weight:700;font-size:.65em;letter-spacing:2px;cursor:pointer;transition:all .3s;
  white-space:nowrap;min-width:0;flex:1;text-align:center;
}
.death-btn:hover{background:#ff003c22;box-shadow:0 0 20px #ff003c}

.action-panel{
  position:fixed;inset:0;z-index:150;
  background:rgba(0,0,0,.5);
  display:none;align-items:flex-end;justify-content:center;padding-bottom:16px;
}
.action-panel.show{display:flex}
.action-box{
  width:100%;max-width:380px;
  background:var(--panel2);
  border:1px solid var(--border);border-top:1px solid var(--cyan)66;
  border-radius:20px 20px 0 0;padding:20px 16px 24px;
}
.action-title{
  font-family:'Orbitron',monospace;font-size:.85em;
  color:var(--cyan);letter-spacing:3px;margin-bottom:14px;text-align:center;
  text-shadow:0 0 10px var(--cyan)66;
}
.action-items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.action-item{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:12px 16px;cursor:pointer;text-align:center;transition:all .2s;min-width:90px;
}
.action-item:hover{border-color:var(--cyan)66;background:var(--panel2);box-shadow:0 0 12px var(--cyan)22}
.action-item .a-icon{font-size:1.4em;display:block;margin-bottom:4px}
.action-item .a-name{font-size:.6em;color:var(--dim);letter-spacing:1px;font-weight:700}
.action-item .a-desc{font-size:.5em;color:var(--purple);margin-top:3px}
.action-close{
  margin-top:14px;width:100%;padding:10px;
  background:none;border:1px solid var(--border);border-radius:8px;
  color:var(--dim);font-family:'Share Tech Mono',monospace;
  font-size:.65em;letter-spacing:2px;cursor:pointer;transition:all .2s;
}
.action-close:hover{border-color:var(--pink)66;color:var(--pink);box-shadow:0 0 12px var(--pink)22}

.diary-overlay{
  position:fixed;inset:0;z-index:180;
  background:rgba(0,0,0,.55);
  display:none;flex-direction:column;align-items:center;padding:16px;overflow-y:auto;
}
.diary-overlay.show{display:flex}
.diary-box{
  width:100%;max-width:360px;
  background:var(--panel2);
  border:1px solid var(--border2);border-radius:16px;padding:24px;
  box-shadow:0 4px 32px rgba(0,0,0,.18), 0 0 0 1px var(--border);
}
.diary-title{
  font-family:'Orbitron',monospace;font-size:.85em;
  color:var(--cyan);letter-spacing:3px;margin-bottom:14px;text-align:center;
  text-shadow:0 0 10px var(--cyan)66;
}
.diary-entry{font-size:.65em;color:var(--text);line-height:2;border-bottom:1px solid var(--cyan)22;padding:8px 0;letter-spacing:1px;}
.diary-entry .d-time{color:var(--dim);font-size:.85em}
.diary-entry .d-msg{color:var(--text)}
.diary-close{
  margin-top:14px;width:100%;padding:10px;
  background:rgba(0,255,238,.06);border:1px solid var(--cyan-dim);border-radius:8px;
  color:var(--cyan);font-family:'Share Tech Mono',monospace;font-size:.65em;cursor:pointer;transition:all .2s;
  letter-spacing:2px;
}
.diary-close:hover{background:rgba(0,255,238,.12);border-color:var(--cyan);box-shadow:0 0 16px var(--cyan)44}

/* LANGUAGE BUTTON + PICKER */
.lang-btn{
  position:absolute;top:12px;left:14px;z-index:10;
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  background:rgba(0,255,238,.03);border:1px solid rgba(0,255,238,.3);border-radius:8px;
  color:var(--cyan);font-size:1.1em;line-height:1;
  cursor:pointer;box-shadow:0 0 10px rgba(0,255,238,.2);transition:all .3s;
}
.lang-btn:hover{border-color:rgba(0,255,238,.8);box-shadow:0 0 16px rgba(0,255,238,.6);transform:scale(1.05)}
.lang-option{
  display:flex;align-items:center;gap:10px;width:100%;
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:10px 14px;color:var(--text);font-family:'Share Tech Mono',monospace;
  font-size:.65em;letter-spacing:.5px;cursor:pointer;transition:all .2s;text-align:left;
}
.lang-option .lang-flag{font-size:1.3em;line-height:1}
.lang-option:hover{border-color:var(--cyan-dim);background:var(--panel2);box-shadow:0 0 10px var(--cyan-dim)}
.lang-option.active{border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 10px var(--cyan-dim)}

/* EGG */
.hatch-flash{
  position:fixed;inset:0;z-index:300;
  background:radial-gradient(ellipse at 50% 50%,#ffcc44,#ff8800,transparent);
  opacity:0;pointer-events:none;animation:hatchFlash .8s ease-out forwards;
}
.egg-countdown{
  position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);
  font-family:'Orbitron',monospace;font-size:.65em;
  color:#ffcc44;letter-spacing:2px;white-space:nowrap;text-shadow:0 0 6px #ffcc4488;
}

/* CREATURE KEYFRAMES */
@keyframes floatA{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes floatB{0%,100%{transform:translateX(0) rotate(0deg)}50%{transform:translateX(8px) rotate(.6deg)}}
@keyframes floatC{0%,100%{transform:translateY(0) scaleX(1)}50%{transform:translateY(-9px) scaleX(.97)}}
@keyframes blinkBoth{0%,88%,100%{transform:scaleY(1)}92%,96%{transform:scaleY(.06)}}
@keyframes lookAround{0%,100%{transform:translate(0,0)}20%{transform:translate(2px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}
@keyframes lookSide{0%,100%{transform:translate(0,0)}30%{transform:translate(3px,0)}70%{transform:translate(-2px,0)}}
@keyframes lookDown{0%,100%{transform:translate(0,0)}40%{transform:translate(-1px,2px)}70%{transform:translate(1px,2px)}}
@keyframes morphBlob{0%,100%{border-radius:55% 45% 50% 50%/50% 50% 55% 45%}33%{border-radius:45% 55% 55% 45%/55% 45% 50% 50%}66%{border-radius:50% 50% 45% 55%/45% 55% 50% 50%}}
@keyframes pulsaGlow{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}
@keyframes tentWave{0%,100%{transform:rotate(var(--ta,0deg))}50%{transform:rotate(var(--tb,4deg))}}
@keyframes cristalPulse{0%,100%{transform:scaleY(1);opacity:.7}50%{transform:scaleY(1.35);opacity:1}}
@keyframes dripDown{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.4)}}
@keyframes antPulse{0%,100%{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.4)}}
@keyframes nebbRing{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes starPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.6)}}
@keyframes mycoSpo{0%{opacity:1;transform:translate(0,0)}100%{opacity:0;transform:translate(var(--sx,4px),var(--sy,-38px))}}
@keyframes ashFloat{0%{opacity:.8;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--ax,6px),var(--ay,-30px)) scale(.3)}}
@keyframes escamaPulse{0%,100%{opacity:.3}50%{opacity:.7}}
@keyframes filWave{0%,100%{transform:rotate(var(--ta,-4deg)) scaleY(1)}33%{transform:rotate(var(--tb,6deg)) scaleY(1.1)}66%{transform:rotate(var(--tc,-2deg)) scaleY(.95)}}
@keyframes labareda{0%,100%{transform:scaleY(1) skewX(0deg);opacity:.8}50%{transform:scaleY(1.35) skewX(var(--sk,4deg));opacity:1}}
@keyframes nadadeira{0%,100%{transform:rotate(var(--na,0deg))}50%{transform:rotate(var(--nb,8deg))}}
@keyframes kidBounce{0%,100%{transform:translateY(0) scaleX(1)}40%{transform:translateY(-8px) scaleX(.97)}60%{transform:translateY(-6px) scaleX(1.02)}}
@keyframes headWobble{0%,100%{transform:translateX(-50%) translateY(0px) rotate(0deg)}25%{transform:translateX(-50%) translateY(-3px) rotate(.4deg)}50%{transform:translateX(-50%) translateY(-1px) rotate(0deg)}75%{transform:translateX(-50%) translateY(2px) rotate(-.3deg)}}
@keyframes headWobbleSad{0%,100%{transform:translateX(-50%) translateY(0px) rotate(0deg)}40%{transform:translateX(-50%) translateY(2px) rotate(-.5deg)}70%{transform:translateX(-50%) translateY(1px) rotate(.3deg)}}
@keyframes zzzFloat{0%,100%{transform:translateX(-30%) translateY(0px);opacity:.7}50%{transform:translateX(-20%) translateY(-5px);opacity:.4}}
@keyframes partFloat{0%{opacity:.9;transform:translate(0,0)}50%{opacity:.4;transform:translate(var(--fx,5px),var(--fy,-20px))}100%{opacity:0;transform:translate(0,0)}}
@keyframes orbitDot{0%{transform:rotate(0deg) translateX(52px) rotate(0deg)}100%{transform:rotate(360deg) translateX(52px) rotate(-360deg)}}
@keyframes spinAura{0%{transform:translate(-50%,-50%) rotate(0deg)}100%{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes eggRock{0%,100%{transform:rotate(-3deg) translateY(0px)}25%{transform:rotate(2deg) translateY(-3px)}50%{transform:rotate(-1deg) translateY(-1px)}75%{transform:rotate(3deg) translateY(-2px)}}
@keyframes eggFloat{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-10px) rotate(.5deg)}}
@keyframes morphEgg{0%,100%{border-radius:50% 50% 48% 48%/54% 54% 46% 46%}33%{border-radius:48% 52% 52% 48%/56% 48% 52% 44%}66%{border-radius:52% 48% 46% 54%/48% 56% 44% 52%}}
@keyframes coreGlow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}
@keyframes wingBeat{0%,100%{transform:rotate(var(--wa,0deg)) scaleX(1)}50%{transform:rotate(var(--wb,6deg)) scaleX(.88)}}
@keyframes membraneFlap{0%,100%{transform:rotate(var(--ma,0deg)) scaleX(1)}50%{transform:rotate(var(--mb,12deg)) scaleX(.92)}}
@keyframes clawRip{0%,100%{transform:rotate(var(--ca,0deg)) scaleX(1)}30%{transform:rotate(var(--cb,8deg)) scaleX(1.12)}70%{transform:rotate(var(--cc,-6deg)) scaleX(.95)}}
@keyframes vineTwist{0%,100%{transform:rotate(var(--va,0deg)) scaleY(1)}30%{transform:rotate(var(--vb,10deg)) scaleY(1.1)}70%{transform:rotate(var(--vc,-8deg)) scaleY(.95)}}
@keyframes bobChain{0%,100%{transform:translateY(0)}50%{transform:translateY(var(--by,-8px))}}
@keyframes tailLash{0%,100%{transform:rotate(var(--ta,0deg))}20%{transform:rotate(var(--tb,16deg))}60%{transform:rotate(var(--tc,-12deg))}}
@keyframes rayRadiate{0%,100%{opacity:.4;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.35)}}
@keyframes runeHumm{0%,100%{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-3px) scale(1.06);opacity:1}}
@keyframes chaosThrash{0%,100%{transform:rotate(var(--qa,0deg)) scaleX(1)}15%{transform:rotate(var(--qb,20deg)) scaleX(.88)}40%{transform:rotate(var(--qc,-14deg)) scaleX(1.08)}70%{transform:rotate(var(--qd,10deg)) scaleX(.95)}}
@keyframes auraRing{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.7;transform:scale(1.06)}}
@keyframes spinSlow{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes eggShake1{0%,100%{transform:rotate(-4deg)}25%{transform:rotate(4deg)}50%{transform:rotate(-3deg) translateX(-2px)}75%{transform:rotate(3deg) translateX(2px)}}
@keyframes eggShake2{0%,100%{transform:rotate(-7deg) translateX(-3px)}25%{transform:rotate(7deg) translateX(3px)}50%{transform:rotate(-5deg) translateY(-2px)}75%{transform:rotate(5deg) translateY(2px)}}
@keyframes eggShake3{0%,100%{transform:rotate(-10deg) translateX(-4px)}20%{transform:rotate(10deg) translateX(4px)}40%{transform:rotate(-8deg) translateY(-3px)}60%{transform:rotate(8deg) translateX(-4px)}80%{transform:rotate(-10deg) translateY(3px)}}
@keyframes hatchFlash{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes larvaIn{0%{opacity:0;transform:scale(.3) translateY(20px)}60%{opacity:1;transform:scale(1.1) translateY(-4px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes spinSlow{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes spinFast{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
@keyframes energyFill{0%{height:50%;opacity:.7}100%{height:72%;opacity:1}}
/* Boost visibility of NPC sprites due to dark default colors */
#battle-npc-sprite .cr-root {
  filter: brightness(1.7) saturate(1.8) drop-shadow(0 0 12px rgba(255,255,255,0.15)) !important;
}
/* Boost main pet and tree on dark backgrounds */
#petStageEl .cr-root {
  filter: brightness(1.4) saturate(1.3);
}
#treeContent .cr-root {
  filter: brightness(1.35) saturate(1.25);
}

.cr-root{position:relative;display:inline-flex;flex-direction:column;align-items:center}
.cr-aura{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0;mix-blend-mode:screen;}
.cr-corpo{position:relative;z-index:2;width:72px;height:72px;display:flex;align-items:center;justify-content:center}
.cr-cabeca{position:absolute;bottom:68%;left:50%;transform:translateX(-50%);z-index:3;width:56px;height:48px;display:flex;align-items:flex-start;justify-content:center;overflow:visible;animation:headWobble 3.7s ease-in-out infinite}
.cr-olhos{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:4}
.cr-apend{position:absolute;top:100%;left:50%;transform:translateX(-50%);display:flex;gap:4px;align-items:flex-start;z-index:2}
.cr-corpo,.cr-cabeca,.cr-apend{}
.cr-olho{width:14px;height:16px;border-radius:50%;position:relative;overflow:hidden}
.cr-pupila{position:absolute;width:6px;height:7px;border-radius:50%;top:4px;left:4px}
.cr-brilho{position:absolute;width:3px;height:3px;background:#ffffffcc;border-radius:50%;top:2px;left:2px;z-index:5}
.cr-kid .cr-corpo{width:50px;height:50px}
.cr-kid .cr-cabeca{width:72px;height:64px;bottom:52%}
.cr-kid .cr-olhos{bottom:18px;gap:16px}
.cr-kid .cr-olho{width:19px;height:22px}
.cr-kid .cr-pupila{width:8px;height:9px;top:7px;left:6px}
.cr-kid .cr-apend{gap:2px;transform:translateX(-50%) scale(.6);transform-origin:top center}
.cr-sad .cr-olho::before{content:'';position:absolute;width:12px;height:2.5px;border-radius:2px;top:-7px;left:50%;z-index:10;box-shadow:0 0 6px var(--eye-color,#fff8)}
.cr-sad .cr-olho:first-child::before{transform:translateX(-50%) rotate(22deg)}
.cr-sad .cr-olho:last-child::before{transform:translateX(-50%) rotate(-22deg)}
.cr-sad .cr-pupila{top:8px!important;animation:lookDown 4s ease-in-out infinite!important}
.cr-sad .cr-cabeca::after{content:'';position:absolute;width:14px;height:7px;border-top:2px solid var(--eye-color,#fff8);border-radius:50% 50% 0 0/100% 100% 0 0;bottom:6px;left:50%;transform:translateX(-50%);opacity:.55;z-index:10}
.cr-sad.cr-root{animation-duration:6s!important}
.cr-sad .cr-cabeca{animation:headWobbleSad 5s ease-in-out infinite!important}
.cr-sleep .cr-olho{transform:scaleY(0.08)!important;animation:none!important;transition:transform .4s ease}
.cr-sleep .cr-pupila,.cr-sleep .cr-brilho{opacity:0!important}
.cr-sleep .cr-cabeca::before,.cr-sleep .cr-corpo::before{content:'z z z';position:absolute;top:-22px;left:50%;transform:translateX(-30%);font-size:9px;letter-spacing:3px;color:var(--eye-color,#aaaaff);opacity:.7;animation:zzzFloat 2.5s ease-in-out infinite;z-index:10;white-space:nowrap;pointer-events:none}
.cr-sleep.cr-root{animation:kidBounce 6s ease-in-out infinite!important}

@keyframes ghostFloat{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}
@keyframes haloGlow{0%,100%{border-color:#ffdd55;box-shadow:0 0 6px #ffdd55aa,0 0 16px #ffdd5544;}50%{border-color:#ffffff;box-shadow:0 0 10px #ffffffcc,0 0 24px #ffffff55,0 0 40px #ffdd5533;}}
.cr-ghost .cr-corpo>div,.cr-ghost .cr-cabeca>div,.cr-ghost .cr-apend>div{filter:saturate(0) brightness(4)!important;opacity:.65!important}
.cr-ghost .cr-aura{opacity:0!important}
.cr-ghost .cr-olho{transform:scaleY(0.07)!important;animation:none!important;filter:saturate(0) brightness(4)!important;opacity:.3!important}
.cr-ghost .cr-pupila,.cr-ghost .cr-brilho{opacity:0!important}
.cr-ghost .cr-corpo::before{content:none}
.cr-ghost .cr-cabeca::before{content:'';position:absolute;width:52px;height:52px;top:-70px;left:50%;transform:translateX(-50%) scaleY(0.28);border-radius:50%;border:3px solid #ffdd55;background:transparent;animation:haloGlow 2s ease-in-out infinite;pointer-events:none;z-index:10}
.cr-ghost.cr-root{animation:ghostFloat 4s ease-in-out infinite!important}
.cr-ghost [style*="pulsaGlow"]{animation:none!important}
.cr-ghost [style*="cristalPulse"]{animation:none!important}
.cr-ghost [style*="antPulse"]{animation:none!important}
.cr-ghost [style*="starPulse"]{animation:none!important}
.cr-ghost [style*="nebbRing"]{animation:none!important}
.cr-ghost [style*="coreGlow"]{animation:none!important}

.cr-diseased{animation:sickTremor .35s ease-in-out infinite !important;}
.cr-diseased .cr-aura>div:first-child{background:radial-gradient(ellipse,#39ff1422,transparent 70%) !important;border-color:#39ff14 !important;animation:toxicPulse 1.8s ease-in-out infinite !important;}
.cr-diseased .cr-olhos .cr-olho:first-child,
.cr-diseased.cr-larva .cr-olhos .cr-olho:first-child,
.cr-diseased.cr-kid .cr-olhos .cr-olho:first-child,
.cr-diseased.cr-adult .cr-olhos .cr-olho:first-child{overflow:visible!important;position:relative!important;background:#39ff14!important;box-shadow:0 0 12px #39ff14!important;animation:dollEye 0.7s step-end infinite!important;}
.cr-diseased .cr-olhos .cr-olho:first-child .cr-pupila,
.cr-diseased.cr-larva .cr-olhos .cr-olho:first-child .cr-pupila,
.cr-diseased.cr-kid .cr-olhos .cr-olho:first-child .cr-pupila,
.cr-diseased.cr-adult .cr-olhos .cr-olho:first-child .cr-pupila,
.cr-diseased .cr-olhos .cr-olho:first-child .cr-brilho,
.cr-diseased.cr-larva .cr-olhos .cr-olho:first-child .cr-brilho,
.cr-diseased.cr-kid .cr-olhos .cr-olho:first-child .cr-brilho,
.cr-diseased.cr-adult .cr-olhos .cr-olho:first-child .cr-brilho{display:none!important;}

@media(max-height:700px){
  .icon-btn{width:38px;height:38px;}
  .icon-btn .sym{font-size:.9em;}
  .icon-btn .lbl{font-size:.38em}
  .icon-col{gap:4px}
  .nav-btn{height:36px;font-size:.8em;}
  .nav-btn.dir{width:42px;font-size:1em;}
  .nav-btn.esc{width:52px;font-size:.65em;}
  .nav-btn.enter{width:64px;font-size:.65em;}
  .nav-pad{gap:5px;padding:6px 10px}
  .bottom-actions{padding:0 8px 8px;gap:5px;}
  .main-stage{gap:3px;padding:4px 6px}
}
@media(max-width:380px){
  .icon-btn{width:38px;height:38px;}
  .icon-btn .sym{font-size:.9em;}
  .icon-btn .lbl{font-size:.38em}
  .icon-col{gap:3px}
  .main-stage{gap:3px;padding:4px 3px}
  .header h1{font-size:1em}
}

/* WATER GLASS */
.water-glass{position:absolute;right:14px;bottom:14px;z-index:20;pointer-events:none;display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .35s ease,transform .35s ease;transform:translateY(10px);}
.water-glass.show{opacity:1;transform:translateY(0)}
.water-glass-body{position:relative;display:flex;align-items:center}
.water-glass-outline{width:24px;height:36px;border:2px solid #39ff14;border-radius:3px;position:relative;overflow:hidden;box-shadow:0 0 12px #39ff1466,inset 0 0 8px #39ff1466;background:rgba(0,10,5,.3);}
.water-glass-fill{position:absolute;bottom:2px;left:2px;right:2px;height:calc(100% - 4px);background:linear-gradient(180deg,#39ff1433,#39ff1488,#39ff14aa);border-radius:0 0 2px 2px;transition:height .35s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 0 6px #39ff14;}
.water-glass-handle{width:7px;height:10px;border:2px solid #39ff14;border-left:none;border-radius:0 3px 3px 0;box-shadow:0 0 6px #39ff1466;margin-left:-1px;}
.water-glass-label{font-size:5px;color:#39ff14;letter-spacing:1.5px;opacity:.7;margin-top:2px;font-family:'Share Tech Mono',monospace;}
.drink-particle{position:absolute;border-radius:50%;background:#39ff14;box-shadow:0 0 6px #39ff14;pointer-events:none;z-index:25;transition:all .5s ease-out;}

/* EAT ITEM */
.eat-item{position:absolute;left:14px;bottom:14px;z-index:20;pointer-events:none;display:flex;flex-direction:column;align-items:center;opacity:0;transition:opacity .35s ease,transform .35s ease;transform:translateY(10px);}
.eat-item.show{opacity:1;transform:translateY(0)}
.eat-item-icon{font-size:2.2em;line-height:1;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.eat-item-icon-html{font-size:initial;line-height:initial}
.eat-item-icon-html>div{transform:scale(0.65);transform-origin:bottom left}
.eat-item-name{font-size:5px;letter-spacing:1.5px;opacity:.5;margin-top:2px;font-family:'Share Tech Mono',monospace;}
.eat-particle{position:absolute;border-radius:50%;pointer-events:none;z-index:25;transition:all .5s ease-out;}

/* LIGHT / TEMP OVERLAYS */
.light-overlay{position:absolute;inset:0;z-index:12;background:radial-gradient(ellipse at 50% 50%,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0.95) 100%);pointer-events:none;transition:opacity .8s ease;opacity:0;}
.light-overlay.on{opacity:1}
.temp-overlay{position:absolute;inset:0;z-index:11;pointer-events:none;transition:opacity .8s ease;opacity:0;}
.temp-overlay.cold{opacity:1;background:radial-gradient(ellipse at 50% 50%, rgba(0,150,255,0.12), rgba(0,50,200,0.05));}
.temp-overlay.hot{opacity:1;background:radial-gradient(ellipse at 50% 50%, rgba(255,60,0,0.12), rgba(200,30,0,0.05));}
.pet-container.shake-cold{animation:shakeCold .12s ease-in-out infinite!important}
.pet-container.shake-hot{animation:shakeHot .25s ease-in-out infinite!important}
@keyframes shakeCold{0%,100%{transform:translateX(0)}25%{transform:translateX(-1.2px)}75%{transform:translateX(1.2px)}}
@keyframes shakeHot{0%,100%{transform:translateX(0)}30%{transform:translateX(0.6px)}70%{transform:translateX(-0.6px)}}
@keyframes snowFall{0%{transform:translateY(-10px) translateX(0px) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:.8}100%{transform:translateY(180px) translateX(var(--sx,8px)) rotate(360deg);opacity:0}}
@keyframes heatRise{0%{transform:translateY(180px) translateX(0px) scaleX(1);opacity:0}10%{opacity:.7}50%{transform:translateY(90px) translateX(var(--hx,6px)) scaleX(1.3);opacity:.5}90%{opacity:.2}100%{transform:translateY(-10px) translateX(var(--hx2,-4px)) scaleX(.8);opacity:0}}
@keyframes heatWave{0%,100%{transform:scaleX(1) translateX(0)}50%{transform:scaleX(1.15) translateX(3px)}}
.temp-particle{position:absolute;pointer-events:none;z-index:13;}
.ac-switch-warning{font-size:.5em;letter-spacing:2px;margin-top:4px;text-align:center;}

/* POOP */
.poop-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible;}
.poop-item{position:absolute;width:44px;height:48px;bottom:0;animation:poopPop .35s cubic-bezier(.34,1.56,.64,1) both;}
.poop-aura{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:40px;height:16px;border-radius:50%;background:rgba(57,255,20,0.06);box-shadow:0 0 20px rgba(57,255,20,0.08);animation:poopAuraPulse 2s ease-in-out infinite;}
.poop-base{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:28px;height:12px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%, #d4aa20, #3a2800 85%);border:1px solid #c8a00088;box-shadow:0 0 10px #c8a00033, inset 0 -2px 4px rgba(0,0,0,0.4);}
.poop-mid{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);width:20px;height:10px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%, #c8a000, #3a2800 85%);border:1px solid #c8a00077;box-shadow:0 0 8px #c8a00022, inset 0 -2px 3px rgba(0,0,0,0.3);}
.poop-tip{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:10px;height:8px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%, #b89400, #2a1a00 85%);border:1px solid #c8a00066;box-shadow:0 0 6px #c8a00022;}
.poop-stink{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:20px;height:18px;pointer-events:none;}
.poop-stink::before,.poop-stink::after{content:'';position:absolute;width:2px;height:8px;border-radius:2px;background:rgba(57,255,20,0.35);box-shadow:0 0 6px rgba(57,255,20,0.25);animation:stinkFloat 1.6s ease-out infinite;}
.poop-stink::before{left:2px;animation-delay:0s;}
.poop-stink::after{right:2px;animation-delay:0.6s;}
@keyframes poopPop{0%{transform:scale(0) translateY(8px);opacity:0}70%{transform:scale(1.1) translateY(-1px);opacity:1}100%{transform:scale(1) translateY(0);opacity:1}}
@keyframes poopAuraPulse{0%,100%{opacity:0.5;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.12)}}
@keyframes stinkFloat{0%{opacity:0;transform:translateY(0) scaleX(1)}30%{opacity:0.7;transform:translateY(-4px) scaleX(0.8)}100%{opacity:0;transform:translateY(-14px) scaleX(0.4)}}

/* PETTING */
.pet-container{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.hearts-container{position:absolute;inset:0;pointer-events:none;z-index:15;overflow:hidden}
.heart-particle{position:absolute;font-size:13px;animation:heartFloat 1.8s ease-out forwards;pointer-events:none;filter:drop-shadow(0 0 4px currentColor)}
@keyframes heartFloat{0%{opacity:1;transform:translateY(0) scale(.6) rotate(0deg)}40%{opacity:1;transform:translateY(-24px) scale(1.1) rotate(8deg)}100%{opacity:0;transform:translateY(-60px) scale(.4) rotate(-5deg)}}
.cr-happy .cr-olho::after{content:'✦';position:absolute;font-size:7px;top:-4px;right:-4px;color:#ff4488;animation:starPulse .5s ease-in-out infinite;text-shadow:0 0 6px #ff4488}
.cr-happy .cr-cabeca{animation:headWobbleHappy 2s ease-in-out infinite!important}
.cr-happy.cr-root{animation:kidBounce 2.2s ease-in-out infinite!important}
@keyframes headWobbleHappy{0%,100%{transform:translateX(-50%) translateY(0) rotate(0deg)}25%{transform:translateX(-50%) translateY(-5px) rotate(1deg)}50%{transform:translateX(-50%) translateY(-1px) rotate(0deg)}75%{transform:translateX(-50%) translateY(3px) rotate(-.8deg)}}

/* LABORATÓRIO */
.lab-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;padding:24px;}
.lab-overlay.show{display:flex}
.lab-box{max-width:340px;width:100%;background:var(--panel2);border:1px solid var(--purple)77;border-radius:20px;padding:28px 24px;text-align:center;position:relative;overflow:hidden;box-shadow:0 0 40px rgba(170,68,255,.06);}
.lab-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple)aa,transparent);}
.lab-box::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(170,68,255,.015) 2px,rgba(170,68,255,.015) 3px);}
.lab-title-main{font-family:'Orbitron',monospace;font-size:.9em;color:var(--purple);letter-spacing:4px;margin-bottom:6px;text-shadow:0 0 14px var(--purple);}
.lab-subtitle{font-size:.55em;color:var(--dim);letter-spacing:3px;margin-bottom:20px}
.lab-dna{display:flex;justify-content:center;align-items:center;gap:3px;margin-bottom:18px;height:32px;}
.lab-dna-bar{width:3px;border-radius:2px;background:var(--purple);box-shadow:0 0 6px var(--purple);animation:dnaPulse 1.2s ease-in-out infinite;}
@keyframes dnaPulse{0%,100%{transform:scaleY(1);opacity:.5}50%{transform:scaleY(1.8);opacity:1}}
.lab-btn-main{width:100%;padding:16px;margin-bottom:10px;background:var(--panel);border:1px solid var(--purple)66;border-radius:12px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;text-align:left;}
.lab-btn-main:hover{border-color:var(--purple);box-shadow:0 0 20px var(--purple-dim);background:var(--panel2);}
.lab-btn-main:active{transform:scale(.98)}
.lab-btn-main .lbm-icon{width:48px;height:48px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.5em;}
.lab-btn-main .lbm-text{flex:1}
.lab-btn-main .lbm-name{font-family:'Orbitron',monospace;font-size:.7em;color:var(--cyan);letter-spacing:2px;display:block;margin-bottom:4px;text-shadow:0 0 8px var(--cyan)66;}
.lab-btn-main .lbm-desc{font-size:.52em;color:var(--dim);letter-spacing:1px;line-height:1.5;}
.lab-btn-main .lbm-arrow{font-size:.75em;color:var(--purple-dim);flex-shrink:0;}
.lab-close{margin-top:8px;width:100%;padding:10px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:.65em;letter-spacing:2px;cursor:pointer;transition:all .2s;}
.lab-close:hover{border-color:var(--pink)66;color:var(--pink);box-shadow:0 0 12px var(--pink)22}
.lab-btn-egg{border-color:#00ffee44 !important;margin-bottom:10px;}
.lab-btn-egg:hover{border-color:#00ffee !important;box-shadow:0 0 20px #00ffee22 !important;}
.lab-cross-group{width:100%;background:var(--panel);border:1px solid #aa44ff44;border-radius:12px;padding:16px;margin-bottom:10px;box-sizing:border-box;transition:border-color .2s;}
.lab-cross-group:hover{border-color:#aa44ff88;}
.lab-cross-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;background:linear-gradient(145deg,#aa44ff18,#aa44ff08);border:1px solid #aa44ff55;border-radius:10px;cursor:pointer;transition:all .2s;min-height:80px;}
.lab-cross-btn:hover{background:linear-gradient(145deg,#aa44ff28,#aa44ff12);border-color:#aa44ff99;box-shadow:0 0 16px #aa44ff33;}
.lab-cross-btn:active{transform:scale(.97);}
.lab-btn-card{flex:1;background:var(--panel);border:1px solid var(--purple);border-radius:10px;padding:8px 10px;position:relative;overflow:hidden;box-shadow:0 0 16px var(--purple-dim),inset 0 0 16px rgba(170,68,255,.06);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;}
.lab-btn-card:hover{border-color:var(--purple);box-shadow:0 0 24px var(--purple-dim),inset 0 0 20px rgba(170,68,255,.1);background:var(--panel2);}
.lab-btn-card:active{transform:scale(.97);}
.lab-btn-card .lab-sym{font-size:1.2em;filter:drop-shadow(0 0 6px var(--purple));}
.lab-btn-card .lab-title{font-family:'Orbitron',monospace;font-size:.6em;font-weight:700;color:var(--purple);letter-spacing:2px;text-shadow:0 0 10px var(--purple);}
.lab-btn-card .lab-sub{font-size:.45em;color:var(--dim);letter-spacing:1.5px;text-transform:uppercase;}
.lab-btn-card .lab-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.6em;color:var(--purple-dim);text-shadow:0 0 8px var(--purple);}

/* CRUZAMENTO */
.cross-overlay{position:fixed;inset:0;z-index:210;background:rgba(0,0,0,.65);display:none;flex-direction:column;align-items:center;justify-content:center;padding:20px;}
.cross-overlay.show{display:flex}
.cross-box{max-width:360px;width:100%;background:var(--panel2);border:1px solid var(--purple)66;border-radius:20px;padding:24px;position:relative;overflow:hidden;box-shadow:0 0 40px rgba(170,68,255,.06);}
.cross-title{font-family:'Orbitron',monospace;font-size:.85em;color:var(--purple);letter-spacing:3px;margin-bottom:6px;text-align:center;text-shadow:0 0 14px var(--purple);}
.cross-sub{font-size:.55em;color:var(--dim);letter-spacing:2px;text-align:center;margin-bottom:16px}
.cross-partners{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;}
.cross-partner{background:var(--panel);border:1px solid var(--border2);border-radius:14px;padding:10px 6px 12px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;overflow:visible;}
.cross-partner:hover{border-color:var(--purple)66;box-shadow:0 0 16px var(--purple-dim)}
.cross-partner.selected{border-color:var(--purple);box-shadow:0 0 20px var(--purple)55;background:var(--panel2);}
.cross-partner-premium{border-color:#ffcc4444 !important;}
.cross-partner-premium:hover{border-color:#ffcc4488 !important;box-shadow:0 0 16px #ffcc4422 !important;}
.cross-partner-premium.selected{border-color:#ffcc44 !important;box-shadow:0 0 20px #ffcc4455 !important;}
.cross-partner .cp-name{font-family:'Orbitron',monospace;font-size:.42em;color:var(--text);letter-spacing:1px;text-align:center;width:100%;}
.cross-partner.selected .cp-name{color:var(--purple);text-shadow:0 0 6px var(--purple)66}
.cross-partner .cp-canvas{width:100%;height:100px;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;}
.cross-confirm{width:100%;padding:14px;background:linear-gradient(90deg,var(--purple),#7722cc);border:none;border-radius:12px;font-family:'Orbitron',monospace;font-weight:700;font-size:.7em;letter-spacing:3px;color:#000;cursor:pointer;transition:all .2s;margin-bottom:8px;}
.cross-confirm:hover{transform:scale(1.02);box-shadow:0 0 24px var(--purple)66}
.cross-confirm:disabled{opacity:.4;cursor:not-allowed;transform:none}
.cross-close{width:100%;padding:10px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--dim);font-family:'Share Tech Mono',monospace;font-size:.65em;letter-spacing:2px;cursor:pointer;transition:all .2s;}
.cross-close:hover{border-color:var(--pink)66;color:var(--pink);box-shadow:0 0 12px var(--pink)22}

/* ANIMAÇÕES DE EVOLUÇÃO */
@keyframes diskSlideIn{0%{transform:translateY(60px) scale(.8);opacity:0}60%{transform:translateY(-6px) scale(1.04);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}
@keyframes diskSlideOut{0%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(-80px) scale(.7);opacity:0}}
@keyframes diskShake{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-3deg)}40%{transform:rotate(3deg)}60%{transform:rotate(-2deg)}80%{transform:rotate(2deg)}}
@keyframes boxAppear{0%{transform:scale(0) rotate(-8deg);opacity:0}60%{transform:scale(1.06) rotate(2deg);opacity:1}100%{transform:scale(1) rotate(0deg);opacity:1}}
@keyframes boxDisintegrate{0%{transform:scale(1);opacity:1;filter:brightness(1)}30%{transform:scale(1.08);filter:brightness(2)}100%{transform:scale(2.5);opacity:0;filter:brightness(3)}}
@keyframes petWalkIn{0%{transform:translateX(-80px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes petWalkIn2{0%{transform:translateX(80px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes heartBeat{0%,100%{transform:scale(1)}50%{transform:scale(1.3)}}
@keyframes dnaStrand{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
@keyframes glitch{0%,100%{opacity:1}92%{opacity:1}93%{opacity:.7;transform:translateX(1px)}94%{opacity:1;transform:none}}

/* DOENÇAS */
@keyframes sickTremor{0%,100%{transform:translate(0,0) rotate(0deg)}20%{transform:translate(-1.5px,1px) rotate(-.4deg)}40%{transform:translate(1px,-1px) rotate(.3deg)}60%{transform:translate(-1px,1.5px) rotate(-.3deg)}80%{transform:translate(1.5px,-0.5px) rotate(.4deg)}}
@keyframes toxicPulse{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes dirtFly{0%{transform:rotate(0deg) translateX(var(--fly-r, 44px)) rotate(0deg) scaleX(1);}49%{transform:rotate(179deg) translateX(var(--fly-r, 44px)) rotate(-179deg) scaleX(1);}50%{transform:rotate(180deg) translateX(var(--fly-r, 44px)) rotate(-180deg) scaleX(-1);}100%{transform:rotate(360deg) translateX(var(--fly-r, 44px)) rotate(-360deg) scaleX(-1);}}
@keyframes stinkRise{0%{transform:translateY(0px) translateX(0px) scaleX(1);opacity:0;}15%{opacity:0.8;}50%{transform:translateY(-22px) translateX(var(--stink-x, 4px)) scaleX(1.2);opacity:0.5;}85%{opacity:0.2;}100%{transform:translateY(-44px) translateX(var(--stink-x2, -3px)) scaleX(0.7);opacity:0;}}
@keyframes dirtAura{0%,100%{opacity:0.18;transform:translate(-50%,-50%) scale(1);}50%{opacity:0.42;transform:translate(-50%,-50%) scale(1.12);}}
@keyframes dollEye{0%{transform:scaleY(0.05)}10%{transform:scaleY(1)}15%{transform:scaleY(0.05)}25%{transform:scaleY(0.4)}35%{transform:scaleY(0.05)}55%{transform:scaleY(1)}65%{transform:scaleY(0.2)}70%{transform:scaleY(1)}80%{transform:scaleY(0.05)}90%{transform:scaleY(0.8)}95%{transform:scaleY(0.05)}100%{transform:scaleY(0.05)}}

/* SOCIAL */
.social-spinner{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px;}
@keyframes spin{to{transform:rotate(360deg)}}

::-webkit-scrollbar{width:0;height:0;}

/* ALBINO — cristal shyne */
.cr-albino .cr-olho .cr-pupila {
  background: #ee2244 !important;
  box-shadow: 0 0 8px #ee2244aa !important;
}
.cr-albino .cr-olho {
  box-shadow: 0 0 20px #ee2244aa !important;
}

/* Companion — todas as animações CSS em fase diferente do pet principal */
#petMover .cr-olho:first-child  { animation-delay: 0s   !important; }
#petMover .cr-olho:last-child   { animation-delay: 0s   !important; }
#companionMover .cr-olho:first-child { animation-delay: -3.7s !important; }
#companionMover .cr-olho:last-child  { animation-delay: -3.7s !important; }
#companionMover .cr-root {
  animation-delay: -2.1s !important;
}
#companionMover .cr-cabeca {
  animation-delay: -1.4s !important;
}
#companionMover .cr-aura {
  animation-delay: -4.3s !important;
}
#companionMover .cr-coracao {
  animation-delay: -0.9s !important;
}
}
#companionMover .cr-root {
  animation: none !important;
}
#companionMover .cr-olho {
  animation-delay: 0s !important;
}

/* ── EVO BUTTONS 2x2 ── */
.evo-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.evo-btn{
  padding:18px 10px;font-family:'Orbitron',monospace;font-size:.7em;font-weight:900;
  letter-spacing:.8px;text-align:center;border-radius:14px;cursor:pointer;border:none;
  position:relative;overflow:hidden;transition:transform .15s,opacity .15s;
}
.evo-btn:active{transform:scale(.96)}
.evo-btn:disabled{opacity:.3;cursor:not-allowed;transform:none;animation:none!important}
.evo-btn::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);pointer-events:none}
.evo-btn-icon{display:block;font-size:1.9em;line-height:1;margin-bottom:6px}
.evo-btn-sub{display:block;font-size:.78em;opacity:.65;font-weight:400;letter-spacing:1.5px;margin-top:4px}

.evo-btn-1{background:linear-gradient(135deg,#1a0060,#6600cc,#aa00ff);color:#fff;border:1px solid #9900ff88;animation:bp1 2s ease-in-out infinite}
.evo-btn-2{background:linear-gradient(135deg,#001428,#003366,#0066cc);color:#fff;border:1px solid #0088ff88;animation:bp2 2.5s ease-in-out infinite}
.evo-btn-3{background:linear-gradient(135deg,#2a0a00,#aa3300,#ff6600);color:#fff;border:1px solid #ff660088;animation:bp3 2.2s ease-in-out infinite}
.evo-btn-4{background:linear-gradient(135deg,#1a0028,#5c0088,#cc44ff);color:#fff;border:1px solid #cc44ff88;animation:bp4 1.8s ease-in-out infinite}
.evo-btn-5{background:linear-gradient(135deg,#001a2a,#003355,#0077aa);color:#fff;border:1px solid #66d9ff88;animation:bp5 2s ease-in-out infinite}
.evo-btn-6{background:linear-gradient(135deg,#0d0018,#220044,#6600cc);color:#fff;border:1px solid #8800ff88;animation:bp6 2.3s ease-in-out infinite}
.evo-btn-7{background:linear-gradient(135deg,#001a0a,#003322,#006644);color:#fff;border:1px solid #00ff8888;animation:bp7 1.9s ease-in-out infinite}
.evo-btn-8{background:linear-gradient(135deg,#001a2a,#003344,#0088aa);color:#fff;border:1px solid #00ffff88;animation:bp8 2.1s ease-in-out infinite}
.evo-btn-9{background:linear-gradient(135deg,#1a1600,#554400,#aa8800);color:#fff;border:1px solid #ffdd8888;animation:bp9 2.4s ease-in-out infinite}
.evo-btn-10{background:linear-gradient(135deg,#001a1a,#002244,#004466);color:#fff;border:1px solid #00ffff88;animation:bp10 2.2s ease-in-out infinite}

@keyframes bp1{0%,100%{box-shadow:0 0 14px #7700ff55,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #aa00ffaa,0 0 50px #7700ff33,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp2{0%,100%{box-shadow:0 0 14px #0055ff55,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #0088ffaa,0 0 50px #0055ff33,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp3{0%,100%{box-shadow:0 0 14px #ff440055,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #ff6600aa,0 0 50px #ff440033,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp4{0%,100%{box-shadow:0 0 14px #8800cc55,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #cc44ffaa,0 0 50px #8800cc33,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp5{0%,100%{box-shadow:0 0 14px #0066aa55,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #66d9ffaa,0 0 50px #0066aa33,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp6{0%,100%{box-shadow:0 0 14px #55009955,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #8800ffaa,0 0 50px #55009933,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp7{0%,100%{box-shadow:0 0 14px #00884455,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #00ff88aa,0 0 50px #00884433,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp8{0%,100%{box-shadow:0 0 14px #aa220055,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #ff3300aa,0 0 50px #aa220033,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp9{0%,100%{box-shadow:0 0 14px #88660055,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #ffdd88aa,0 0 50px #88660033,0 3px 14px rgba(0,0,0,.6)}}
@keyframes bp10{0%,100%{box-shadow:0 0 14px #00885555,0 3px 14px rgba(0,0,0,.6)}50%{box-shadow:0 0 28px #00ffccaa,0 0 50px #00885533,0 3px 14px rgba(0,0,0,.6)}}

/* ── ANIMATION KEYFRAMES ── */
@keyframes partBurst{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(0)}}
@keyframes partImplode{0%{opacity:.9;transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(0)}}
@keyframes ringOut{0%{transform:translate(-50%,-50%) scale(.15);opacity:1;border-width:6px}100%{transform:translate(-50%,-50%) scale(2.5);opacity:0;border-width:1px}}
@keyframes ringIn{0%{transform:translate(-50%,-50%) scale(2.5);opacity:0;border-width:1px}100%{transform:translate(-50%,-50%) scale(.1);opacity:.85;border-width:5px}}
@keyframes dnaA{0%{transform:rotateY(0deg) rotateX(68deg)}100%{transform:rotateY(360deg) rotateX(68deg)}}
@keyframes dnaB{0%{transform:rotateY(120deg) rotateX(68deg)}100%{transform:rotateY(480deg) rotateX(68deg)}}
@keyframes dnaC{0%{transform:rotateY(240deg) rotateX(68deg)}100%{transform:rotateY(600deg) rotateX(68deg)}}
@keyframes scanH{0%{top:2%;opacity:0}8%{opacity:.9}92%{opacity:.9}100%{top:96%;opacity:0}}
@keyframes scanV{0%{left:2%;opacity:0}8%{opacity:.9}92%{opacity:.9}100%{left:96%;opacity:0}}
@keyframes dataUp{0%{transform:translateY(0);opacity:1}100%{transform:translateY(-220px);opacity:0}}
@keyframes boltFlash{0%,100%{opacity:0}15%,40%,60%{opacity:1}28%,52%,72%{opacity:0}}
@keyframes chargeIn{0%{transform:translate(-50%,-50%) scale(2.8);opacity:0;border-width:1px}100%{transform:translate(-50%,-50%) scale(.1);opacity:.9;border-width:6px}}
@keyframes xtalShatter{0%{transform:scale(1);opacity:1}20%{transform:scale(1.18) rotate(3deg);opacity:1}65%{transform:scale(.6) rotate(-9deg);opacity:.3}100%{transform:scale(3);opacity:0}}
@keyframes shardFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(0deg) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) rotate(var(--sr)) scale(0)}}
@keyframes newIn{0%{opacity:0;transform:scale(.15) rotate(-15deg);filter:brightness(8)}55%{opacity:1;transform:scale(1.12) rotate(2deg);filter:brightness(1.8)}80%{transform:scale(.97) rotate(-1deg);filter:brightness(1)}100%{opacity:1;transform:scale(1) rotate(0);filter:brightness(1)}}
@keyframes disint{0%{opacity:1;filter:blur(0)}55%{opacity:.45;filter:blur(4px) brightness(2.5)}100%{opacity:0;filter:blur(14px) brightness(5)}}
@keyframes orbitDot{0%{transform:rotate(0deg) translateX(var(--or)) rotate(0deg)}100%{transform:rotate(360deg) translateX(var(--or)) rotate(-360deg)}}
@keyframes glitchH{0%,100%{clip-path:inset(0 0 100% 0)}10%{clip-path:inset(10% 0 80% 0)}20%{clip-path:inset(40% 0 50% 0)}30%{clip-path:inset(60% 0 20% 0)}40%{clip-path:inset(0 0 60% 0)}50%{clip-path:inset(80% 0 5% 0)}60%{clip-path:inset(25% 0 70% 0)}70%{clip-path:inset(55% 0 35% 0)}80%{clip-path:inset(0 0 90% 0)}90%{clip-path:inset(30% 0 55% 0)}}
@keyframes matrixDrop{0%{transform:translateY(-100%);opacity:1}100%{transform:translateY(100vh);opacity:.3}}
@keyframes virusSwarm{0%{transform:translate(var(--vx),var(--vy)) scale(1);opacity:1}100%{transform:translate(calc(var(--vx) * .05),calc(var(--vy) * .05)) scale(.1);opacity:0}}
@keyframes pixelBuild{0%{opacity:0;transform:scale(0) rotate(90deg)}60%{opacity:1;transform:scale(1.1) rotate(-3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes loadBar{0%{width:0}100%{width:100%}}
@keyframes solarFlare{0%{transform:scaleX(0) rotate(var(--fa));transform-origin:left center;opacity:1}100%{transform:scaleX(1) rotate(var(--fa));transform-origin:left center;opacity:0}}
@keyframes gravityRing{0%{transform:translate(-50%,-50%) scale(var(--gs));opacity:.7}100%{transform:translate(-50%,-50%) scale(.05);opacity:0}}
@keyframes novaRing{0%{transform:translate(-50%,-50%) scale(0);opacity:1;border-width:8px}100%{transform:translate(-50%,-50%) scale(4);opacity:0;border-width:.5px}}
@keyframes cosmicDrift{0%{opacity:.8;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(0)}}
@keyframes sysFlicker{0%,100%{opacity:1}15%,35%{opacity:.1}25%,45%{opacity:.8}55%{opacity:.3}70%{opacity:1}}
@keyframes rebootBar{0%{width:0}100%{width:100%}}
@keyframes hexFloat{0%,100%{transform:translate(var(--hx),var(--hy)) scale(1);opacity:.8}50%{transform:translate(calc(var(--hx)*1.1),calc(var(--hy)*.8)) scale(1.1);opacity:.4}}
@keyframes eegScan{0%{transform:translateX(-110%);opacity:1}100%{transform:translateX(220%);opacity:.6}}
@keyframes flameTongue{0%{transform:scaleY(0) translateY(0);opacity:1;transform-origin:bottom center}80%{opacity:.6}100%{transform:scaleY(1) translateY(-50px);opacity:0;transform-origin:bottom center}}
@keyframes sacredPillar{0%{transform:scaleY(0);transform-origin:top center;opacity:0}30%{opacity:1}100%{transform:scaleY(1);transform-origin:top center;opacity:.9}}