*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#000}
body{
  font-family:"Courier New",monospace;
  cursor:crosshair;
  -webkit-tap-highlight-color:transparent;
}

/* Canvas a pantalla completa: lluvia Matrix + rostro de luz */
#matrix{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:1;
}

/* Marca GEOVASS */
.brand{
  position:fixed;
  left:50%;
  bottom:210px;
  transform:translateX(-50%);
  z-index:3;
  color:#00ff5a;
  font-weight:700;
  font-size:clamp(2.2rem,12vw,8rem);
  letter-spacing:clamp(.3rem,2vw,1.5rem);
  text-shadow:0 0 8px #00ff5a,0 0 22px rgba(0,255,90,.7),0 0 48px rgba(0,255,90,.4);
  animation:flicker 4s linear infinite;
  pointer-events:none;
  white-space:nowrap;
}
@keyframes flicker{
  0%,19%,21%,23%,80%,100%{opacity:1}
  20%,22%{opacity:.55}
  82%{opacity:.7}
}

/* Consola de contención de seguridad — fondo negro para que resalte */
.console{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:min(680px,92vw);
  z-index:4;
  background:rgba(0,0,0,.85);
  border:1px solid rgba(0,255,90,.35);
  border-radius:8px;
  box-shadow:0 0 26px rgba(0,255,90,.18);
  pointer-events:none;
  overflow:hidden;
}
.console-bar{
  display:flex;align-items:center;gap:8px;
  padding:6px 12px;
  background:rgba(0,255,90,.08);
  border-bottom:1px solid rgba(0,255,90,.2);
  color:#7dffb0;
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
}
.console-bar .dot{
  width:8px;height:8px;border-radius:50%;
  background:#ff3b3b;box-shadow:0 0 8px #ff3b3b;
  animation:blink 1.2s steps(1) infinite;
}
.console-log{
  padding:10px 12px 4px;
  min-height:92px;
  display:flex;flex-direction:column;justify-content:flex-end;
  font-size:.8rem;line-height:1.5;
}
.console-log .ln{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ln.sec{color:#00ff5a}
.ln.warn{color:#ffd23f}
.ln.err{color:#ff6a4d}
.ln.crit{color:#ff3b3b;font-weight:700}
.console-prompt{
  padding:4px 12px 10px;
  color:#00ff5a;font-size:.82rem;white-space:nowrap;
}
#seccmd{color:#cfffe0}
.caret{
  display:inline-block;
  width:.55em;height:1.05em;
  background:#00ff5a;
  margin-left:.15em;
  vertical-align:-.18em;
  animation:blink 1s steps(1) infinite;
}
@keyframes blink{50%{opacity:0}}

@media (max-width:600px){
  .brand{bottom:188px;}
  .console-log{font-size:.72rem;min-height:84px}
  .console-prompt{font-size:.74rem}
}
@media (prefers-reduced-motion:reduce){
  .brand{animation:none}
}
