/* 공통 바탕 - 데스크톱 앱과 같은 글꼴·모션 토큰 */

:root {
  /* 모션: Corporate 성격. 화면 안 = ease, 들어오기 = ease-out, 나가기 = ease-in */
  --ease: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.05, 0.7, 0.1, 1);
  --ease-in: cubic-bezier(0.3, 0, 1, 1);
  --dur-quick: 120ms;
  --dur-std: 240ms;
  --dur-slow: 420ms;

  /* 접근성 보정 글자색 (데스크톱 앱 점검 결과와 동일) */
  --color-ink-faint: #75706a;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  background: var(--color-canvas-soft);
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
input, button, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
[hidden] { display: none !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
