:root {
  --bg: #1d2021;
  --bg1: #282828;
  --fg: #ebdbb2;
  --orange: #fe8019;
  --green: #b8bb26;
  --red: #fb4934;
  --muted: #928374;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  color: var(--fg);
  font-family: "JetBrains Mono", "Fira Code", ui-monospace, monospace;
  overflow: hidden;
  position: relative;
}

.scanlines {
  pointer-events: none;
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15) 0px,
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 3px
  );
  z-index: 10;
}

.portal {
  background: var(--bg1);
  border: 1px solid var(--muted);
  border-radius: 6px;
  padding: 2.5rem 3rem;
  max-width: 420px;
  text-align: center;
  box-shadow: 0 0 40px rgba(254, 128, 25, 0.08);
}

.ghost-art {
  color: var(--muted);
  font-size: 0.85rem;
  line-height: 1.1;
  margin-bottom: 0.5rem;
}

.glitch {
  position: relative;
  font-size: 1.6rem;
  color: var(--green);
  margin: 0.5rem 0;
}

.glitch::before,
.glitch::after {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  overflow: hidden;
  background: var(--bg1);
}

.glitch::before {
  color: var(--red);
  clip-path: inset(0 0 60% 0);
  animation: glitch-top 3s infinite linear alternate-reverse;
}

.glitch::after {
  color: var(--orange);
  clip-path: inset(60% 0 0 0);
  animation: glitch-bottom 2.5s infinite linear alternate-reverse;
}

@keyframes glitch-top {
  0%   { transform: translate(0, 0); }
  20%  { transform: translate(-2px, -1px); }
  40%  { transform: translate(2px, 1px); }
  60%  { transform: translate(-1px, 1px); }
  100% { transform: translate(0, 0); }
}

@keyframes glitch-bottom {
  0%   { transform: translate(0, 0); }
  25%  { transform: translate(2px, 0); }
  50%  { transform: translate(-2px, 1px); }
  75%  { transform: translate(1px, -1px); }
  100% { transform: translate(0, 0); }
}

.tagline {
  color: var(--muted);
  font-size: 0.9rem;
  margin-bottom: 2rem;
}

.auth-btn {
  background: transparent;
  border: 1px solid var(--green);
  color: var(--green);
  font-family: inherit;
  font-size: 1rem;
  padding: 0.75rem 1.5rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.auth-btn:hover {
  background: var(--green);
  color: var(--bg1);
}

.auth-ok p {
  margin: 0.3rem 0;
  color: var(--green);
}

.fine-print {
  margin-top: 1.5rem;
  font-size: 0.7rem;
  color: var(--muted);
}
