:root {
  --color-bg: #ffffff;
  --color-surface: #f5f5f5;
  --color-ink: #333333;
  --color-primary: #0052cc;
  --color-accent: #ff6b35;
}

html {
  font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
  scroll-behavior: smooth;
}

body {
  font-feature-settings: "ss01", "ss02";
  -webkit-font-smoothing: antialiased;
}

[x-cloak] { display: none !important; }

/* Section anchor offset to clear sticky header */
section[id] {
  scroll-margin-top: 72px;
}

/* Row enter animation for application table */
.row-enter {
  animation: rowEnter 360ms cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes rowEnter {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Success check animation */
.success-check svg { display: block; }

.check-circle {
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: drawCircle 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

.check-mark {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: drawCheck 0.4s 0.5s cubic-bezier(0.65, 0, 0.45, 1) forwards;
}

@keyframes drawCircle {
  to { stroke-dashoffset: 0; }
}

@keyframes drawCheck {
  to { stroke-dashoffset: 0; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  html { scroll-behavior: auto; }
}

/* Hide scrollbar nicely on horizontal table */
.overflow-x-auto::-webkit-scrollbar { height: 6px; }
.overflow-x-auto::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
</style>
