@font-face {
  font-family: "Do Hyeon";
  src: url("../assets/fonts/DoHyeon-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  color-scheme: light;
  --ink: #17223b;
  --ink-soft: #4c5a72;
  --paper: #f7f9fc;
  --surface: #ffffff;
  --blue: #315ba6;
  --blue-dark: #23447f;
  --mint: #2f8c7c;
  --coral: #c85d6f;
  --amber: #c8953d;
  --line: #d7dfea;
  --line-strong: #a9b7ca;
  --focus: #0b72d9;
  --danger: #a53d4e;
  --shadow: 0 18px 46px rgba(31, 48, 82, 0.12);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --font-body: "Pretendard", "Noto Sans KR", system-ui, sans-serif;
  --font-display: "Do Hyeon", "Pretendard", "Noto Sans KR", system-ui, sans-serif;
  --font-data: "Cascadia Mono", "D2Coding", ui-monospace, monospace;
  --page: min(1240px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); font-family: var(--font-body); }
body { margin: 0; min-width: 320px; min-height: 100vh; overflow-x: hidden; }
button, input, select, textarea { font: inherit; }
button, select, input { min-height: 44px; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
::selection { background: #d8e8ff; color: var(--ink); }
