@import url('https://fonts.googleapis.com/css?family=Orbitron:wght@700&display=swap');

body {
  margin: 0;
  min-height: 100vh;
  font-family: 'Orbitron', Arial, sans-serif;
  background: radial-gradient(ellipse at 60% 20%, #111d29 0%, #072431 80%);
  color: #fff;
}

header {
  background: rgba(20,30,44,0.92);
  padding: 2.4rem 0 1.2rem 0;
  text-align: center;
  box-shadow: 0 6px 25px 0 #0ee8ff38;
}

.logo {
  font-size: 2.7rem;
  font-weight: bold;
  letter-spacing: 6px;
  color: #58f6ff;
}

.slogan {
  font-size: 1.05rem;
  margin-top: 1rem;
  color: #b5f4ff;
  letter-spacing: 1.2px;
}

.login-container {
  max-width: 400px;
  margin: 60px auto 0 auto;
  padding: 2.2rem 1.7rem 1.8rem 1.7rem;
  background: rgba(24,34,48,0.93);
  border-radius: 20px;
  backdrop-filter: blur(6px);
  box-shadow: 0 0 40px #00e0ff44, 0 0 24px #152c4077 inset;
  text-align: center;
  border: 1.5px solid #6dfcff;
}

.login-container h2 {
  font-size: 1.32rem;
  margin-bottom: 1.5rem;
  color: #73eaff;
  letter-spacing: 0.7px;
}

.login-container input {
  width: 93%;
  padding: 1rem;
  margin: 0.6rem 0;
  border: none;
  border-radius: 9px;
  font-size: 1.08rem;
  background: #18202c;
  color: #c7faff;
  box-shadow: 0 0 6px #79edff22 inset;
  outline: none;
  transition: box-shadow .2s, background .2s;
}

.login-container input:focus {
  box-shadow: 0 0 15px #70eaff90, 0 0 4px #82f2ff77 inset;
  background: #213145;
  color: #fff;
}

.neon-btn {
  width: 100%;
  padding: 1.06rem;
  margin-top: 1.1rem;
  background: linear-gradient(90deg, #3cf7ff 0%, #0bacc7 100%);
  border: none;
  border-radius: 9px;
  font-size: 1.12rem;
  color: #13243d;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 0 8px #00e5ffcc, 0 0 14px #4affff88;
  letter-spacing: 0.5px;
  transition: filter 0.2s;
  text-shadow: 0 0 3px #eaffff99;
}

.neon-btn:hover {
  filter: brightness(1.15) contrast(1.08);
  background: linear-gradient(90deg, #1fd1f9 10%, #00fff7 90%);
}

.note {
  color: #9befff;
  margin-top: 1.8rem;
  font-size: 0.99rem;
  line-height: 1.5;
}

.announce {
  color: #23384e;
  background: #f6fafc;
  margin: 1.4rem auto 0 auto;
  font-size: 1.03rem;
  padding: 1rem 1.2rem 1.1rem 1.2rem;
  border-radius: 10px;
  max-width: 94%;
  border-left: 4px solid #34e2ff;
  font-weight: 500;
  box-shadow: 0 0 7px #00c8ff18;
  line-height: 1.65;
  text-align: left;
}

.announce b {
  color: #0aadc7;
  font-weight: 700;
}

.neon-key {
  color: #0abfff !important;
  text-shadow:
    0 0 6px #00fff7aa,
    0 0 16px #22bfffcc;
  font-weight: bold;
}

.promo {
  margin: 50px auto 0 auto;
  max-width: 650px;
  text-align: center;
  font-size: 1.12rem;
  line-height: 1.75;
  letter-spacing: 0.5px;
  background: rgba(22, 42, 58, 0.77);
  border: 1.5px solid #3cf7ff;
  padding: 2rem 2.2rem 1.2rem 2.2rem;
  border-radius: 17px;
  box-shadow: 0 0 13px #29e3ff33, 0 0 20px #00fff733 inset;
  margin-bottom: 32px;
}

.promo strong {
  font-size: 1.17rem;
  color: #43ecff;
  letter-spacing: 2.2px;
}

.promo b {
  color: #befbff;
}

footer {
  text-align: center;
  padding: 1.2rem 0 1.2rem 0;
  background: #12202aee;
  color: #b5f4ff;
  font-size: 1.01rem;
  letter-spacing: 0.5px;
  margin-top: 60px;
  border-top: 2px solid #34e2ffcc;
  box-shadow: 0 -2px 18px #34e2ff44 inset;
  line-height: 1.7;
}

/* ===== 네온 효과 ===== */
.neon-text {
  color: #58f6ff;
  text-shadow:
    0 0 7px #0ff,
    0 0 21px #6befff,
    0 0 42px #58f6ff99,
    0 0 82px #41f4ff66;
}

.neon-glow {
  color: #b5f4ff;
  text-shadow:
    0 0 7px #0ff,
    0 0 14px #3cefff77,
    0 0 24px #79ffff99;
}

/* 반응형 */
@media (max-width: 600px) {
  .login-container, .promo { max-width: 98%; padding: 1rem 2vw;}
  .announce { font-size: 0.97rem;}
  .promo strong { font-size: 1.05rem;}
}