:root {
  color-scheme: dark;
  font-family: Pretendard, "Noto Sans KR", system-ui, sans-serif;
  background: #13291f;
  color: #f7f0d4;
}

* { box-sizing: border-box; }

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 50% -15%, rgba(169, 216, 102, .2), transparent 42%),
    linear-gradient(180deg, #173627, #10251c);
}

main {
  width: min(760px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 64px;
}

.brand {
  margin: 0 0 8px;
  color: #c9ef77;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
}

h1 { margin: 0; font-size: clamp(28px, 7vw, 42px); line-height: 1.15; }
h2 { margin: 30px 0 10px; color: #e7f6ad; font-size: 19px; }
p, li { color: rgba(255, 250, 226, .82); font-size: 15px; line-height: 1.75; }
ul { padding-left: 22px; }
a { color: #c9ef77; }

.meta, .notice {
  margin-top: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(212, 233, 151, .2);
  border-radius: 16px;
  background: rgba(5, 18, 13, .38);
}

.meta p, .notice p { margin: 2px 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.button { display: inline-flex; min-height: 44px; align-items: center; padding: 0 16px; border: 1px solid rgba(211, 240, 135, .42); border-radius: 13px; background: #315f3e; color: #fff8d9; font-weight: 850; text-decoration: none; }
footer { margin-top: 42px; color: rgba(245, 242, 218, .5); font-size: 12px; }

@media (max-width: 480px) {
  main { width: min(100% - 24px, 760px); padding-top: 28px; }
  p, li { font-size: 14px; }
}
