/* 출처: 디자인팀 정본(O:/CLAUDE/admin/Design/design-system/tokens/ 또는 보고함/v2초안/), 2026-09-27 복사 — 이 파일은 사본, 원본은 디자인팀 폴더에서 갱신됨 */
/*
  유원시스템 디자인 시스템 — 뮤직 계열 토큰 v1.0 (#D-11 FINAL)
  ===========================================================================
  CHANGELOG
  v1.0  2026-09-18  사장님 최종 승인(07:20 "승인") — 총괄 튜너 산출값 그대로 동결
                     https://claude.ai/artifact/UFTBSdDrgSzqcYjQEo9cu6
                     (진행 경로: G 기존유지 → G′ 다크밝게 06:30 → v2/v3 다크 재조정
                     07:05 → 총괄 튜너로 최종 미세조정 → 07:20 승인 + 화이트 버전 신규)
  ===========================================================================

  출처: 값 전부 총괄 튜너에서 사장님이 직접 확정한 값 — 이 세션이 스케일로
  재파생하거나 임의로 바꾸지 않았다(아래 "라이트 링크 색" 1건만 역할 매핑,
  §확인 참고 — 값 자체는 안 건드림).

  대비 재측정(sRGB 상대휘도, 전부 ≥4.5:1 확인, 세부는
  design-system/learning.md 라운드4 참고):
  - 다크: 텍스트 on 배경 16.97:1 · dim on 배경 7.18:1 · 흰글자 on 700(뱃지) 4.61:1(여유 적음)
  - 라이트: 텍스트 on 배경 16.3:1 · dim on 배경 5.64:1 · 700 on 흰배경(링크) 4.61:1(여유 적음)
  - 버튼(엄버 on 연한채움) 10.8:1 — 라이트/다크 공통

  🔴 확인 필요(사장님 값을 바꾸지 않고 역할만 매핑함, 조용히 안 고침):
  accent(#ff9f0a)를 라이트 배경에 텍스트/링크로 직접 쓰면 1.94~2.06:1로
  대비 미달. 라이트 테마의 --link/--focus-ring는 accent 대신 700(#b35f00,
  흰배경 4.61:1)을 대신 넣었다 — 블루 토큰(라이트=df-link 진한값,
  다크=df-anchor 밝은값)과 같은 패턴. accent 자체(원색)는 라이트에서도
  아이콘·배지·테두리 등 "텍스트가 아닌" 용도로는 그대로 쓸 수 있다.
*/

:root {
  /* ── 사장님 확정값(총괄 튜너, 테마 공통) ──────────────────────────── */
  --music-accent:    #ff9f0a;
  --music-700:       #b35f00;
  --music-900:       #5a2e00;
  --music-soft-200:  #ffd9a3;
  --music-300:       #ffbf5e;
  --music-umber:     #42210b;

  /* ── 라이트(화이트) 테마 ──────────────────────────────────────────── */
  --bg: #fbf8f3;
  --surface: #ffffff;
  --surface-2: #f6f2ea;
  --border: #e6e0d6;
  --text: #1f1a14;
  --text-dim: #6b6259;
  --link: var(--music-700);       /* accent 원색은 라이트 배경 대비 미달 — 위 🔴 참고 */
  --focus-ring: var(--music-700);

  /* 주 버튼(F스타일 — 연한 채움 + 진한 엄버 글자, 라이트/다크 공통) */
  --action-primary-fill: var(--music-soft-200);
  --action-primary-text: var(--music-umber);
  --action-primary-border: var(--music-accent);

  --action-secondary-border: var(--border);
  --action-secondary-text: var(--text);
  --action-ghost-text: var(--text-dim);

  --badge-bg: var(--music-700);
  --badge-text: #ffffff;

  --pdf-band: var(--music-accent);
  --pdf-bg: var(--music-900);
}

:root[data-theme="dark"],
.theme-dark {
  --bg: #111417;
  --surface: #1e2126;
  --surface-2: #2a2e34;
  --border: #3a3f47;
  --text: #f5f5f7;
  --text-dim: #a1a1a6;
  --link: var(--music-accent);
  --focus-ring: var(--music-accent);

  --action-primary-fill: var(--music-soft-200);
  --action-primary-text: var(--music-umber);
  --action-primary-border: var(--music-accent);

  --action-secondary-border: var(--border);
  --action-secondary-text: var(--text);
  --action-ghost-text: var(--text-dim);

  --badge-bg: var(--music-700);
  --badge-text: #ffffff;
}

/* 기기 설정을 따르는 경우(사용자가 밝게/어둡게를 명시적으로 고르지 않았을 때) */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --bg: #111417;
    --surface: #1e2126;
    --surface-2: #2a2e34;
    --border: #3a3f47;
    --text: #f5f5f7;
    --text-dim: #a1a1a6;
    --link: var(--music-accent);
    --focus-ring: var(--music-accent);
    --action-primary-fill: var(--music-soft-200);
    --action-primary-text: var(--music-umber);
    --action-primary-border: var(--music-accent);
    --action-secondary-border: var(--border);
    --action-secondary-text: var(--text);
    --action-ghost-text: var(--text-dim);
    --badge-bg: var(--music-700);
    --badge-text: #ffffff;
  }
}
