/* style.css */


#fireworks-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* keeps fireworks behind dashboard content */
  pointer-events: none; /* allows clicking through */
  background: transparent;
}


:root{
  --bg:#0b1b2b;
  --panel:#ffffff;
  --accent:#c0392b;
  --muted:#bfc8d6;
}

body {
  margin:0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: radial-gradient(circle at 10% 10%, #062a2f 0%, #05202a 40%, #06111a 100%), linear-gradient(180deg, #031018 0%, #021019 100%);
  color: var(--muted);
  min-height:100vh;
}

.container {
  width: min(920px, 92%);
  margin: 1.4rem auto;
  padding: 1rem;
}

.site-header {
  padding: 1rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.brand {
  font-weight:700;
  color: #fff;
  font-size:1.15rem;
  text-decoration:none;
}
.nav { list-style:none; margin:0; padding:0; display:flex; gap:0.75rem; align-items:center; }
.nav a { color: #dfeef2; text-decoration:none; font-size:0.95rem; padding: 6px 10px; border-radius:6px; }
.nav a:hover { background: rgba(255,255,255,0.03); }

.hero {
  text-align:center;
  padding: 2.4rem 1rem;
  background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(2,2,2,0.5);
}
.hero h1 { color: #fff; margin:0 0 0.4rem 0; font-size:1.8rem; text-shadow: 0 2px 6px rgba(0,0,0,0.6); }
.hero p { color: var(--muted); margin:0 0 1rem 0; }

.btn {
  background: linear-gradient(180deg, #ffefef, #ffd5d6);
  color: #6b0b08;
  border: none;
  padding: 0.6rem 1rem;
  border-radius: 10px;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
}
.btn:hover { transform: translateY(-2px); }

.form { max-width: 680px; margin: 0.6rem 0; display:flex; flex-direction:column; gap:0.6rem; }
.form label { display:block; }
.form input, .form textarea {
  width:100%;
  padding:0.6rem;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
  color: #fff;
}
.form-row { display:flex; justify-content:space-between; align-items:center; gap:1rem; }

.messages { list-style:none; padding:0; margin:0; display:grid; gap:0.6rem; }
.messages li { background: rgba(255,255,255,0.02); padding:0.6rem 0.9rem; border-radius:8px; }
.msg-text { font-size:1rem; color:#fff; }
.msg-meta { font-size:0.8rem; color: #a8bac6; margin-top:6px; }

.flashes { margin: 0.6rem 0; }
.flash { padding: 0.6rem; border-radius:8px; margin-bottom:0.4rem; }
.flash.success { background: rgba(46, 204, 113, 0.12); color: #b5f0c4; }
.flash.danger { background: rgba(231, 76, 60, 0.09); color: #ffd9d7; }
.flash.warning { background: rgba(241, 196, 15, 0.07); color: #fff6d1; }
.flash.info { background: rgba(52, 152, 219, 0.06); color: #d7edff; }

.footer { text-align:center; padding: 1rem 0; color: #8fa7b5; border-top: 1px solid rgba(255,255,255,0.03); margin-top:2rem; }

/* subtle snowflakes using pseudo-element on body */
body::before {
  content: "❄︎ ❄︎ ❄︎ ❅ ❄︎";
  position: fixed;
  left: 8%;
  top: 12%;
  font-size: 14px;
  opacity: 0.08;
  transform: rotate(-15deg);
}
#fireworks-canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    pointer-events: none;
}

