:root{
  --bg:#0b0217; --panel:#16093a; --neon-y:#ffe600; --neon-m:#ff2ec4;
  --neon-c:#00f0ff; --neon-g:#39ff14; --text:#f4f0ff;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:"Segoe UI",Arial,sans-serif; color:var(--text);
  background:
    radial-gradient(ellipse at 20% 0%, #2a0a5e 0%, transparent 55%),
    radial-gradient(ellipse at 85% 100%, #014d4d 0%, transparent 50%),
    var(--bg);
  min-height:100vh;
}
h1,h2,h3{font-family:"Comic Sans MS","Segoe UI",cursive;margin:.2em 0}
a{color:var(--neon-c)}
.neon{color:var(--neon-y);text-shadow:0 0 8px var(--neon-m),0 0 24px #ff2ec455}
.panel{
  background:linear-gradient(180deg,#1a0b40f2,#12072ef2);
  border:2px solid var(--neon-m); border-radius:14px;
  box-shadow:0 0 18px #ff2ec455, inset 0 0 40px #7b1fa266;
  padding:16px; margin:14px 0;
}
.btn{
  font-family:inherit; font-weight:700; cursor:pointer;
  border-radius:10px; border:2px solid var(--neon-y);
  background:#3d1060; color:var(--neon-y); padding:8px 14px;
  box-shadow:0 0 10px #ffe60044; transition:.12s;
}
.btn:hover{background:#5a1990;box-shadow:0 0 16px #ffe60088}
.btn:active{transform:translateY(1px)}
.btn.sm{padding:4px 10px;font-size:.9em}
.btn.ghost{border-color:var(--neon-c);color:var(--neon-c)}
.btn.warn{border-color:#ff4b4b;color:#ff8080}
.chip{
  display:inline-block; padding:6px 12px; margin:3px; border-radius:999px;
  border:2px solid var(--neon-c); color:var(--neon-c); cursor:pointer;
  background:#0b0217; font-weight:700; user-select:none;
}
.chip.on{background:var(--neon-c); color:#0b0217; box-shadow:0 0 12px var(--neon-c)}
input[type=text],input[type=password]{
  font:inherit; padding:8px 10px; border-radius:8px;
  border:2px solid var(--neon-c); background:#0b0217; color:var(--text);
}
table{border-collapse:collapse;width:100%}
td,th{padding:6px 8px;border-bottom:1px solid #ffffff22;text-align:left}
.wrap{max-width:1000px;margin:0 auto;padding:18px}
.blink{animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:.25}}
.scanlines:after{
  content:""; position:fixed; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,#0000 0 2px,#00000030 2px 4px);
}
.marquee{white-space:nowrap;overflow:hidden}
.marquee span{display:inline-block;animation:mv 12s linear infinite}
@keyframes mv{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
