/* 값의 출처: 앱 theme.ts(글자 #17191C, 강조 #0F766E, 17px 기본, 터치 44px 이상, 둥근 모서리 12px). 외부 글꼴 없음 */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: #ffffff;
  color: #17191c;
  font: 17px/1.4 -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
}
main {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 24px max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
}
h1 { margin: 0; font-size: 2.125rem; line-height: 1.2; font-weight: 700; letter-spacing: -0.01em; text-align: center; }
nav { width: 100%; max-width: 360px; display: flex; flex-direction: column; gap: 10px; }
a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid #dadce0;
  background: #ffffff;
  color: #17191c;
  font-size: 1.0625rem;
  font-weight: 500;
  text-decoration: none;
}
a.primary { background: #0f766e; border-color: #0f766e; color: #ffffff; font-weight: 600; }
a:active { opacity: 0.85; }
a:focus-visible { outline: 3px solid #0f766e; outline-offset: 2px; }
[hidden] { display: none !important; }
