/* NODE ZERO — Terminal CTF (sección de códigos promo). Verde fósforo sobre negro,
   monoespaciada. Sin CDNs: usa Space Mono local (css/fonts.css). */
:root{
  --grn:#54ff8f;      /* verde fósforo terminal */
  --grn-dim:#2f9c5c;
  --lime:#CCFF00;     /* verde de marca (acentos) */
  --amber:#ffcc33;
  --red:#ff4d5e;
  --bg:#050805;
  --panel:#0a0f0a;
  --mono:'Space Mono','Consolas','SF Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:var(--bg);
  color:var(--grn);
  font-family:var(--mono);
  font-size:15px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
/* barra superior con marca y salida a la tienda */
.tbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;border-bottom:1px solid #143d22;
  background:linear-gradient(#0a140c,#070b07);
}
.tbar .brand{font-weight:700;letter-spacing:.14em;color:var(--lime);text-decoration:none;font-size:14px}
.tbar .brand b{color:var(--grn)}
.tbar a.back{color:var(--grn-dim);text-decoration:none;font-size:12.5px;border:1px solid #1c5233;padding:6px 12px;border-radius:6px}
.tbar a.back:hover{color:var(--bg);background:var(--grn)}

/* contenedor tipo ventana */
.wrap{max-width:1000px;margin:0 auto;padding:18px 16px 40px}
.window{
  border:1px solid #1c5233;border-radius:10px;overflow:hidden;
  background:var(--panel);box-shadow:0 0 0 1px #050d07,0 24px 60px rgba(0,0,0,.6);
}
.titlebar{
  display:flex;align-items:center;gap:8px;padding:9px 12px;
  background:#0d160e;border-bottom:1px solid #143d22;
}
.titlebar .dot{width:12px;height:12px;border-radius:50%}
.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
.titlebar .t{margin-left:6px;color:var(--grn-dim);font-size:12.5px}

/* pantalla / scrollback */
#screen{
  height:min(66vh,560px);overflow-y:auto;padding:16px 18px;
  background:
    repeating-linear-gradient(rgba(20,80,40,.05) 0 1px,transparent 1px 3px); /* scanlines sutiles */
}
#screen::-webkit-scrollbar{width:10px}
#screen::-webkit-scrollbar-thumb{background:#153a24;border-radius:6px}
.out .line{white-space:pre-wrap;word-break:break-word}
.c-lime{color:var(--lime)} .c-grn{color:var(--grn)} .c-dim{color:var(--grn-dim)}
.c-amber{color:var(--amber)} .c-red{color:var(--red)} .c-white{color:#e8ffe8}
.b{font-weight:700}
.badge-ok{color:var(--bg);background:var(--lime);padding:0 6px;border-radius:3px;font-weight:700}
.badge-pend{color:var(--grn-dim);border:1px solid #1c5233;padding:0 6px;border-radius:3px}
a.link{color:var(--lime)}

/* línea de comando */
.cmdline{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #143d22;background:#070d08}
.cmdline .ps{color:var(--lime);font-weight:700;white-space:nowrap}
.cmdline input{
  flex:1;background:transparent;border:none;outline:none;
  color:var(--grn);font-family:var(--mono);font-size:15px;caret-color:var(--lime);
}
/* botones rápidos */
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.quick button{
  font-family:var(--mono);font-size:12.5px;cursor:pointer;
  color:var(--grn);background:#0c160e;border:1px solid #1c5233;
  padding:8px 12px;border-radius:6px;letter-spacing:.05em;
}
.quick button:hover{color:var(--bg);background:var(--grn);border-color:var(--grn)}

/* ---- customizador (playera con tu texto) ---- */
#custom{display:none;margin-top:20px}
#custom.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
#custom .panel{border:1px solid #1c5233;border-radius:10px;padding:18px;background:var(--panel)}
#custom h3{margin:0 0 4px;color:var(--lime);font-size:15px;letter-spacing:.08em}
#custom label{display:block;color:var(--grn-dim);font-size:12px;margin:14px 0 5px;letter-spacing:.05em}
#custom input[type=text],#custom select{
  width:100%;background:#070d08;border:1px solid #1c5233;border-radius:6px;
  color:var(--grn);font-family:var(--mono);font-size:14px;padding:10px;outline:none;
}
#custom .row{display:flex;gap:10px}
#custom .row>*{flex:1}
#custom .hint{color:var(--grn-dim);font-size:11.5px;margin-top:14px}

/* zona de estampado en la playera: TEXTO en vivo, tipografía NODE ZERO */
.mk-print .cz-text{
  width:100%;text-align:center;line-height:1.05;
  font-family:'Space Mono',monospace;font-weight:700;
  color:#F0F0F2;text-shadow:0 1px 0 rgba(0,0,0,.4);
  word-break:break-word;overflow-wrap:anywhere;
  mix-blend-mode:screen;
}
.cz-mono{font-family:'Space Mono',monospace}
.cz-syne{font-family:Syne,'Arial Black',sans-serif;letter-spacing:.02em}
.cz-glitch{position:relative}

/* elementos de reto ocultos */
.oculta{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.a-plena-vista{color:#0d160e;user-select:all;font-size:11px}      /* casi invisible sobre el fondo */

@media(max-width:760px){
  #custom.on{grid-template-columns:1fr}
  #screen{height:56vh}
  body{font-size:14px}
}
