:root {
  --bg: #0d0a12;
  --bg-2: #1a1222;
  --panel: #231830;
  --panel-2: #2e2040;
  --line: #3d2c52;
  --text: #fbf4ff;
  --muted: #b9a8cc;
  --gold: #ffcc4d;
  --gold-deep: #e8a317;
  --red: #e5383b;
  --green: #5ce1a5;
  --blue: #4dc9ff;
  --display: 'Bebas Neue', 'Impact', 'Arial Narrow', sans-serif;
  --body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  background: radial-gradient(ellipse at top, #2a1338 0%, var(--bg) 60%) fixed, var(--bg);
  color: var(--text);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
}
button { font: inherit; cursor: pointer; }
.hidden { display: none !important; }

.logo {
  font-family: var(--display);
  letter-spacing: 0.04em;
  line-height: 0.9;
  color: var(--gold);
  text-shadow: 0 0 18px rgba(255, 204, 77, 0.45), 0 3px 0 var(--red);
}
.logo span { color: var(--text); }

/* Marquee: a sign ringed with blinking bulbs */
.marquee {
  position: relative;
  border-radius: 18px;
  background: linear-gradient(180deg, #2b1a10, #1a0f08);
  border: 3px solid var(--gold-deep);
  box-shadow: 0 0 40px rgba(255, 204, 77, 0.25), inset 0 0 30px rgba(0, 0, 0, 0.6);
}
.marquee::before {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 14px;
  background-image: radial-gradient(circle, #fff6cf 0 2.5px, var(--gold) 3px 4px, transparent 4.5px);
  background-size: 22px 22px;
  background-position: -5px -5px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 12px;
  animation: bulbs 1.2s steps(2) infinite;
  pointer-events: none;
}
@keyframes bulbs { 50% { filter: brightness(0.55); } }

.avatar {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--panel-2);
  border: 3px solid var(--c, var(--gold));
  line-height: 1;
}

.btn {
  display: block;
  width: 100%;
  padding: 16px 20px;
  border: 0;
  border-radius: 14px;
  background: var(--gold);
  color: #2a1700;
  font-weight: 800;
  font-size: 18px;
  box-shadow: 0 4px 0 var(--gold-deep);
  transition: transform 0.08s;
}
.btn:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--gold-deep); }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.btn.secondary { background: var(--panel-2); color: var(--text); box-shadow: 0 4px 0 #120b1a; }
.btn.small { padding: 10px 14px; font-size: 15px; width: auto; display: inline-block; }

@keyframes pop { 0% { transform: scale(0.6); opacity: 0; } 70% { transform: scale(1.06); } 100% { transform: scale(1); opacity: 1; } }
@keyframes rise { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before { animation: none !important; transition: none !important; }
}
