*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--color-text-primary);
  background: var(--color-bg-dark);
  -webkit-font-smoothing: antialiased;
  word-break: keep-all;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
input, textarea, select { font: inherit; color: inherit; }
table { border-collapse: collapse; width: 100%; }

:root {
  --color-bg-dark: #0B0B0B;
  --color-bg-surface: #161616;
  --color-bg-light: #F2F2F2;
  --color-bg-white: #FFFFFF;
  --color-text-primary: #111111;
  --color-text-inverse: #FFFFFF;
  --color-text-muted: #8F8F8F;
  --color-text-mute-dark: #B8B8B8;
  --color-brand-red: #ED1C24;
  --color-brand-red-dark: #C4141B;
  --color-yellow: #FFE812;
  --color-line: #2A2A2A;
  --color-line-light: #E4E4E4;

  --font-sans: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  --fs-body: 15px;
  --fs-small: 13px;

  --max-container: 480px;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-pill: 999px;

  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --dur-fast: 150ms;
  --dur-base: 300ms;
  --dur-slow: 600ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
