:root {
  /* KYMI Core Design Tokens */
  --primary: #5265e8;
  --primary-hover: #4054d3;
  --primary-light: #eff2fe;
  --navy: #17233c;
  --ink: #202536;
  --text: #27324a;
  --text-muted: #52617a;
  --muted: #75829a;
  --line: #e3e8f2;
  --paper: #ffffff;
  --surface: #ffffff;
  --wash: #f6f8fd;
  --bg: #f6f8fd;

  /* Accent & Functional Tokens */
  --blue: #4169e1;
  --blue-dark: #294fc0;
  --violet: #765ce8;
  --mint: #daf4e8;
  --mint-dark: #128054;
  --success: #159b68;
  --success-bg: #ecfdf5;
  --warning: #c98324;
  --warning-bg: #fffbeb;
  --error: #d83c4a;
  --error-bg: #fef2f2;
  --orange: #f97316;

  /* Elevation & Borders */
  --shadow-sm: 0 4px 18px rgba(40, 52, 91, .04);
  --shadow: 0 16px 46px rgba(40, 52, 91, .08);
  --shadow-lg: 0 24px 60px rgba(40, 52, 91, .12);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius: 20px;
  --radius-pill: 9999px;

  /* Typography */
  --font-sans: 'DM Sans', 'Noto Sans KR', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-serif: 'KoPubWorld Batang', 'Batang', 'Times New Roman', serif;
  --font-mono: 'Consolas', 'Courier New', monospace;

  /* A4 Dimensions (Screen Ratio) */
  --a4-width: 210mm;
  --a4-min-height: 297mm;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
[hidden] { display: none !important; }
