/* 토담 디자인 토큰 — 흙(土)과 숲의 색. 공개 사이트와 대시보드가 같이 쓴다.
   2026-11-02 Astra 디자인 V3 병합: 종이 #f7f6f1 · 글자 #172d25 · 주동작 #183f32 · 식별점 #b95c18.
   기존 변수 이름은 그대로 두고(직원 앱 app.css·app.js 가 씀) V3 이름(--font·--mono·--pad·--focus·--light·--night-*)을 더했다. */
:root {
  --paper: #f7f6f1;
  --paper-2: #ebe9df;
  --card: #ffffff;
  --ink: #172d25;
  --ink-2: #3d4a43;
  --muted: #54665d;
  --line: #d9ddd4;
  --line-2: #ccd1c7;
  --moss: #183f32;
  --moss-2: #275a47;
  --moss-soft: #e4ebe3;
  --sage: #71846a;
  --clay: #b95c18;
  --clay-soft: #fbead6;
  --sky: #5a7f96;
  --sky-soft: #e1ebf0;
  --amber: #b48a2c;
  --amber-soft: #f4ecd5;
  --red: #b04a3d;
  --red-soft: #f5e0dc;

  /* 기기 기본 글꼴 (2026-11-01 진수님 — 나눔고딕은 가독성이 떨어져 되돌림): 윈도 맑은 고딕, 맥·아이폰 Apple SD Gothic Neo, 안드로이드 기본 */
  --font-sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", "Noto Sans KR", system-ui, sans-serif;
  --font-serif: "Noto Serif KR", "Nanum Myeongjo", "Apple SD Gothic Neo", serif;
  --font-latin: "Cormorant Garamond", "Noto Serif KR", serif;

  /* V3 이름 — 숫자·도면 주석만 고정폭. 웹 글꼴을 내려받지 않는다 */
  --font: var(--font-sans);
  --mono: ui-monospace, "SFMono-Regular", Consolas, "Malgun Gothic", monospace;
  --font-mono: var(--mono);
  --light: #e8ece3;
  --white: #fff;
  --pad: clamp(20px, 4.7vw, 84px);
  --focus: #b9530e;
  /* V3 어두운 표면 대응값 (직원 다크 모드·어두운 띠) */
  --night-paper: #101f1a;
  --night-ink: #f5f4eb;
  --night-line: #3b5047;
  --night-muted: #b8c6bc;
  --night-accent: #f5ab6b;

  --radius: 10px;
  --radius-lg: 16px;
  --shadow: 0 1px 2px rgba(27, 34, 30, .06), 0 6px 24px rgba(27, 34, 30, .06);
  --shadow-lg: 0 18px 60px rgba(27, 34, 30, .18);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper: #141916;
    --paper-2: #1a201c;
    --card: #1e2520;
    --ink: #ece8de;
    --ink-2: #c9c5ba;
    --muted: #949a92;
    --line: #2f3832;
    --line-2: #3d4740;
    --moss: #9cc3a6;
    --moss-2: #b5d6bd;
    --moss-soft: #22332a;
    --sage: #7d967b;
    --clay: #f0a04b;
    --clay-soft: #3a2a20;
    --sky: #8fb4ca;
    --sky-soft: #1f2d35;
    --amber: #d8b45c;
    --amber-soft: #352d18;
    --red: #e08576;
    --red-soft: #3a2320;
    --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 24px rgba(0, 0, 0, .25);
    --shadow-lg: 0 18px 60px rgba(0, 0, 0, .5);
  }
}

:root[data-theme="dark"] {
  --paper: #141916;
  --paper-2: #1a201c;
  --card: #1e2520;
  --ink: #ece8de;
  --ink-2: #c9c5ba;
  --muted: #949a92;
  --line: #2f3832;
  --line-2: #3d4740;
  --moss: #9cc3a6;
  --moss-2: #b5d6bd;
  --moss-soft: #22332a;
  --sage: #7d967b;
  --clay: #f0a04b;
  --clay-soft: #3a2a20;
  --sky: #8fb4ca;
  --sky-soft: #1f2d35;
  --amber: #d8b45c;
  --amber-soft: #352d18;
  --red: #e08576;
  --red-soft: #3a2320;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 24px rgba(0, 0, 0, .25);
  --shadow-lg: 0 18px 60px rgba(0, 0, 0, .5);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--clay); outline-offset: 2px; }
::selection { background: var(--clay-soft); }
