:root {
  /* 푸터(#04122b ~ #7dd6ff)와 동일 계열 — 기존 클래스명(--green-*) 유지 */
  --footer-bg: #04122b;
  --green-700: #b3eeff;
  --green-600: #63c6ff;
  --green-100: rgba(125, 214, 255, 0.16);
  --bg: #04122b;
  --text: #e8f6ff;
  --muted: #8ec8e8;
  --danger: #e07070;
  --warning: #f0c85c;
  --white: #0f2748;
  --shadow: 0 10px 28px rgba(0, 8, 24, 0.55);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
}
main { padding: 1.4rem 0 2rem; }
.card {
  background: var(--white);
  border-radius: 18px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(125, 214, 255, 0.12);
  padding: 1.1rem;
  margin-bottom: 1rem;
}
h1, h2, h3 { line-height: 1.3; margin-top: 0; }
.btn {
  display: inline-block;
  border: none;
  background: var(--green-600);
  color: #04122b;
  font-size: 1rem;
  font-weight: 700;
  padding: 0.8rem 1rem;
  border-radius: 12px;
  text-decoration: none;
  cursor: pointer;
}
.btn.secondary { background: #3d6b8a; color: #e8f6ff; }
.btn.danger { background: var(--danger); color: #fff; }
input[type="text"],
input[type="password"],
textarea,
select {
  width: 100%;
  border: 2px solid rgba(125, 214, 255, 0.28);
  border-radius: 12px;
  padding: 0.75rem 0.85rem;
  font-size: 1rem;
  background: rgba(4, 18, 43, 0.65);
  color: var(--text);
}
textarea { min-height: 180px; resize: vertical; }
::placeholder { color: rgba(232, 246, 255, 0.45); }
label { display: block; font-weight: 700; margin: 0.6rem 0 0.3rem; }
.alert {
  border-radius: 12px;
  padding: 0.75rem 0.9rem;
  margin-bottom: 0.9rem;
}
.alert.error { background: rgba(224, 112, 112, 0.18); color: #ffc8c8; }
.alert.success { background: rgba(125, 214, 255, 0.12); color: #dff6ff; }
.post-meta { color: var(--muted); font-size: 0.93rem; }
.pill {
  display: inline-block;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: var(--green-100);
  color: var(--green-700);
  font-size: 0.8rem;
  font-weight: 700;
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 760px) { .grid-2 { grid-template-columns: 1fr; } }
footer { text-align: center; color: var(--muted); padding: 1.2rem 0 2rem; }
