/* ============================================================
   수학 파이널 LAB — 교과·카테고리 색 토큰 시스템 (colors.css)
   브랜드: 잉크 #0f172a / 딥그린 #0e7a5f / 골드 #d4a017 / 뉴트럴
   각 토큰 3종: --{name}(강조/보더/칩 base), --{name}-soft(연한 배경 틴트),
   --{name}-on(그 위 텍스트색 — base 위에 얹는 텍스트).
   WCAG AA 보장: colors_contrast_check.py 로 검증됨 (ALL PASS).
     · --{name}-on vs --{name}         >= 4.5 (본문 텍스트)
     · 본문 잉크색 vs --{name}-soft      >= 4.5 (틴트 배경 위 본문)
     · --{name} vs 카드 배경             >= 3.0 (UI 요소/보더)
   그룹: --subj-*(교과/트랙 10) · --cat-*(카테고리 9) ·
         --diff-1/2/3(난이도) · --tag-e1..e6(약점태그)
   다크모드는 @media(prefers-color-scheme:dark) 와
   :root[data-theme="dark"] 양쪽에서 동일하게 오버라이드.
   ============================================================ */

:root{
  /* subj-mid1 (중1) */
  --subj-mid1:#2d70aa;
  --subj-mid1-soft:#edf3f7;
  --subj-mid1-on:#ffffff;
  /* subj-mid2 (중2) */
  --subj-mid2:#675bd3;
  --subj-mid2-soft:#eeedf7;
  --subj-mid2-on:#ffffff;
  /* subj-mid3 (중3) */
  --subj-mid3:#a03ccb;
  --subj-mid3-soft:#f4edf7;
  --subj-mid3-on:#ffffff;
  /* subj-common1 (공통수학1) */
  --subj-common1:#bc3292;
  --subj-common1-soft:#f7edf4;
  --subj-common1-on:#ffffff;
  /* subj-common2 (공통수학2) */
  --subj-common2:#c6354d;
  --subj-common2-soft:#f7edef;
  --subj-common2-on:#ffffff;
  /* subj-alg (대수) */
  --subj-alg:#ab532d;
  --subj-alg-soft:#f7f0ed;
  --subj-alg-on:#ffffff;
  /* subj-calc1 (미적분1) */
  --subj-calc1:#766d1f;
  --subj-calc1-soft:#f7f6ed;
  --subj-calc1-on:#ffffff;
  /* subj-calc2 (미적분2) */
  --subj-calc2:#497820;
  --subj-calc2-soft:#f2f7ed;
  --subj-calc2-on:#ffffff;
  /* subj-prob (확률과통계) */
  --subj-prob:#217c2d;
  --subj-prob-soft:#edf7ef;
  --subj-prob-on:#ffffff;
  /* subj-geo (기하) */
  --subj-geo:#207872;
  --subj-geo-soft:#edf7f7;
  --subj-geo-on:#ffffff;
  /* cat-diag (진단) */
  --cat-diag:#317394;
  --cat-diag-soft:#eef4f7;
  --cat-diag-on:#ffffff;
  /* cat-clinic (클리닉) */
  --cat-clinic:#bb3e68;
  --cat-clinic-soft:#f7eef1;
  --cat-clinic-on:#ffffff;
  /* cat-exam (실전) */
  --cat-exam:#8353c6;
  --cat-exam-soft:#f1eef7;
  --cat-exam-on:#ffffff;
  /* cat-essay (서술형) */
  --cat-essay:#a15936;
  --cat-essay-soft:#f7f1ee;
  --cat-essay-on:#ffffff;
  /* cat-text (교과) */
  --cat-text:#5463c6;
  --cat-text-soft:#eeeff7;
  --cat-text-on:#ffffff;
  /* cat-ebook (전자책) */
  --cat-ebook:#ae3aae;
  --cat-ebook-soft:#f7eef7;
  --cat-ebook-on:#ffffff;
  /* cat-archive (자료실) */
  --cat-archive:#85682c;
  --cat-archive-soft:#f7f4ee;
  --cat-archive-on:#ffffff;
  /* cat-explore (탐구) */
  --cat-explore:#297a51;
  --cat-explore-soft:#eef7f2;
  --cat-explore-on:#ffffff;
  /* cat-plan (플래너) */
  --cat-plan:#2a767d;
  --cat-plan-soft:#eef6f7;
  --cat-plan-on:#ffffff;
  /* diff-1 (하) */
  --diff-1:#1a7c43;
  --diff-1-soft:#edf8f1;
  --diff-1-on:#ffffff;
  /* diff-2 (중) */
  --diff-2:#8a661d;
  --diff-2-soft:#f8f4ed;
  --diff-2-on:#ffffff;
  /* diff-3 (상) */
  --diff-3:#cd2c31;
  --diff-3-soft:#f8eded;
  --diff-3-on:#ffffff;
  /* tag-e1 */
  --tag-e1:#af4f37;
  --tag-e1-soft:#f7efed;
  --tag-e1-on:#ffffff;
  /* tag-e2 */
  --tag-e2:#7c6b27;
  --tag-e2-soft:#f7f5ed;
  --tag-e2-on:#ffffff;
  /* tag-e3 */
  --tag-e3:#427926;
  --tag-e3-soft:#f1f7ed;
  --tag-e3-on:#ffffff;
  /* tag-e4 */
  --tag-e4:#2a7585;
  --tag-e4-soft:#edf5f7;
  --tag-e4-on:#ffffff;
  /* tag-e5 */
  --tag-e5:#6d5bcb;
  --tag-e5-soft:#efedf7;
  --tag-e5-on:#ffffff;
  /* tag-e6 */
  --tag-e6:#b138a7;
  --tag-e6-soft:#f7edf6;
  --tag-e6-on:#ffffff;
}

/* ---------- 다크 모드 (시스템 설정) ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    /* subj-mid1 (중1) */
    --subj-mid1:#3c88cb;
    --subj-mid1-soft:#365c7e;
    --subj-mid1-on:#0c1220;
    /* subj-mid2 (중2) */
    --subj-mid2:#8177db;
    --subj-mid2-soft:#554baf;
    --subj-mid2-on:#0c1220;
    /* subj-mid3 (중3) */
    --subj-mid3:#b262d5;
    --subj-mid3-soft:#7b4095;
    --subj-mid3-on:#0c1220;
    /* subj-common1 (공통수학1) */
    --subj-common1:#d254ac;
    --subj-common1-soft:#8c3c74;
    --subj-common1-on:#0c1220;
    /* subj-common2 (공통수학2) */
    --subj-common2:#d45d71;
    --subj-common2-soft:#913e4c;
    --subj-common2-on:#0c1220;
    /* subj-alg (대수) */
    --subj-alg:#cc683d;
    --subj-alg-soft:#7f4c36;
    --subj-alg-on:#0c1220;
    /* subj-calc1 (미적분1) */
    --subj-calc1:#908626;
    --subj-calc1-soft:#605a29;
    --subj-calc1-on:#0c1220;
    /* subj-calc2 (미적분2) */
    --subj-calc2:#599327;
    --subj-calc2-soft:#44612a;
    --subj-calc2-on:#0c1220;
    /* subj-prob (확률과통계) */
    --subj-prob:#289737;
    --subj-prob-soft:#2b6533;
    --subj-prob-on:#0c1220;
    /* subj-geo (기하) */
    --subj-geo:#27928b;
    --subj-geo-soft:#2a625e;
    --subj-geo-on:#0c1220;
    /* cat-diag (진단) */
    --cat-diag:#3c8cb4;
    --cat-diag-soft:#365e72;
    --cat-diag-on:#0c1220;
    /* cat-clinic (클리닉) */
    --cat-clinic:#cb6285;
    --cat-clinic-soft:#8b415a;
    --cat-clinic-on:#0c1220;
    /* cat-exam (실전) */
    --cat-exam:#9871d0;
    --cat-exam-soft:#6a4899;
    --cat-exam-on:#0c1220;
    /* cat-essay (서술형) */
    --cat-essay:#c16e45;
    --cat-essay-soft:#7a4f39;
    --cat-essay-on:#0c1220;
    /* cat-text (교과) */
    --cat-text:#717ed0;
    --cat-text-soft:#49539a;
    --cat-text-on:#0c1220;
    /* cat-ebook (전자책) */
    --cat-ebook:#c757c7;
    --cat-ebook-soft:#843e84;
    --cat-ebook-on:#0c1220;
    /* cat-archive (자료실) */
    --cat-archive:#a27e36;
    --cat-archive-soft:#695732;
    --cat-archive-on:#0c1220;
    /* cat-explore (탐구) */
    --cat-explore:#329563;
    --cat-explore-soft:#2f6349;
    --cat-explore-on:#0c1220;
    /* cat-plan (플래너) */
    --cat-plan:#339099;
    --cat-plan-soft:#2f6065;
    --cat-plan-on:#0c1220;
    /* diff-1 (하) */
    --diff-1:#209752;
    --diff-1-soft:#266540;
    --diff-1-on:#0c1220;
    /* diff-2 (중) */
    --diff-2:#a97c24;
    --diff-2-soft:#6c5629;
    --diff-2-on:#0c1220;
    /* diff-3 (상) */
    --diff-3:#dc585d;
    --diff-3-soft:#983a3d;
    --diff-3-on:#0c1220;
    /* tag-e1 */
    --tag-e1:#c86951;
    --tag-e1-soft:#83493b;
    --tag-e1-on:#0c1220;
    /* tag-e2 */
    --tag-e2:#978330;
    --tag-e2-soft:#64592d;
    --tag-e2-on:#0c1220;
    /* tag-e3 */
    --tag-e3:#50942f;
    --tag-e3-soft:#3e622c;
    --tag-e3-on:#0c1220;
    /* tag-e4 */
    --tag-e4:#338fa2;
    --tag-e4-soft:#2f606a;
    --tag-e4-on:#0c1220;
    /* tag-e5 */
    --tag-e5:#8677d4;
    --tag-e5-soft:#5a4ba7;
    --tag-e5-on:#0c1220;
    /* tag-e6 */
    --tag-e6:#ca56c0;
    --tag-e6-soft:#873d81;
    --tag-e6-on:#0c1220;
  }
}

/* ---------- 다크 모드 (명시적 토글) ---------- */
:root[data-theme="dark"]{
  /* subj-mid1 (중1) */
  --subj-mid1:#3c88cb;
  --subj-mid1-soft:#365c7e;
  --subj-mid1-on:#0c1220;
  /* subj-mid2 (중2) */
  --subj-mid2:#8177db;
  --subj-mid2-soft:#554baf;
  --subj-mid2-on:#0c1220;
  /* subj-mid3 (중3) */
  --subj-mid3:#b262d5;
  --subj-mid3-soft:#7b4095;
  --subj-mid3-on:#0c1220;
  /* subj-common1 (공통수학1) */
  --subj-common1:#d254ac;
  --subj-common1-soft:#8c3c74;
  --subj-common1-on:#0c1220;
  /* subj-common2 (공통수학2) */
  --subj-common2:#d45d71;
  --subj-common2-soft:#913e4c;
  --subj-common2-on:#0c1220;
  /* subj-alg (대수) */
  --subj-alg:#cc683d;
  --subj-alg-soft:#7f4c36;
  --subj-alg-on:#0c1220;
  /* subj-calc1 (미적분1) */
  --subj-calc1:#908626;
  --subj-calc1-soft:#605a29;
  --subj-calc1-on:#0c1220;
  /* subj-calc2 (미적분2) */
  --subj-calc2:#599327;
  --subj-calc2-soft:#44612a;
  --subj-calc2-on:#0c1220;
  /* subj-prob (확률과통계) */
  --subj-prob:#289737;
  --subj-prob-soft:#2b6533;
  --subj-prob-on:#0c1220;
  /* subj-geo (기하) */
  --subj-geo:#27928b;
  --subj-geo-soft:#2a625e;
  --subj-geo-on:#0c1220;
  /* cat-diag (진단) */
  --cat-diag:#3c8cb4;
  --cat-diag-soft:#365e72;
  --cat-diag-on:#0c1220;
  /* cat-clinic (클리닉) */
  --cat-clinic:#cb6285;
  --cat-clinic-soft:#8b415a;
  --cat-clinic-on:#0c1220;
  /* cat-exam (실전) */
  --cat-exam:#9871d0;
  --cat-exam-soft:#6a4899;
  --cat-exam-on:#0c1220;
  /* cat-essay (서술형) */
  --cat-essay:#c16e45;
  --cat-essay-soft:#7a4f39;
  --cat-essay-on:#0c1220;
  /* cat-text (교과) */
  --cat-text:#717ed0;
  --cat-text-soft:#49539a;
  --cat-text-on:#0c1220;
  /* cat-ebook (전자책) */
  --cat-ebook:#c757c7;
  --cat-ebook-soft:#843e84;
  --cat-ebook-on:#0c1220;
  /* cat-archive (자료실) */
  --cat-archive:#a27e36;
  --cat-archive-soft:#695732;
  --cat-archive-on:#0c1220;
  /* cat-explore (탐구) */
  --cat-explore:#329563;
  --cat-explore-soft:#2f6349;
  --cat-explore-on:#0c1220;
  /* cat-plan (플래너) */
  --cat-plan:#339099;
  --cat-plan-soft:#2f6065;
  --cat-plan-on:#0c1220;
  /* diff-1 (하) */
  --diff-1:#209752;
  --diff-1-soft:#266540;
  --diff-1-on:#0c1220;
  /* diff-2 (중) */
  --diff-2:#a97c24;
  --diff-2-soft:#6c5629;
  --diff-2-on:#0c1220;
  /* diff-3 (상) */
  --diff-3:#dc585d;
  --diff-3-soft:#983a3d;
  --diff-3-on:#0c1220;
  /* tag-e1 */
  --tag-e1:#c86951;
  --tag-e1-soft:#83493b;
  --tag-e1-on:#0c1220;
  /* tag-e2 */
  --tag-e2:#978330;
  --tag-e2-soft:#64592d;
  --tag-e2-on:#0c1220;
  /* tag-e3 */
  --tag-e3:#50942f;
  --tag-e3-soft:#3e622c;
  --tag-e3-on:#0c1220;
  /* tag-e4 */
  --tag-e4:#338fa2;
  --tag-e4-soft:#2f606a;
  --tag-e4-on:#0c1220;
  /* tag-e5 */
  --tag-e5:#8677d4;
  --tag-e5-soft:#5a4ba7;
  --tag-e5-on:#0c1220;
  /* tag-e6 */
  --tag-e6:#ca56c0;
  --tag-e6-soft:#873d81;
  --tag-e6-on:#0c1220;
}

/* ============================================================
   전역 카드/칩 색 "적용" 유틸리티 (colorize.js가 이 클래스들을 DOM에 주입)
   위 :root / 다크모드 블록의 토큰만 참조 — 이 구역엔 색값을 새로 정의하지 않는다.
   패턴:
     · 카드  = 좌측 보더 4px(base; --token vs 카드배경 대비 검증 ≥3.0)
               (.cur-card / 자료실 카드에 한해 은은한 -soft 틴트 배경 추가)
     · 칩    = 배경(base) + 글자(on; --token-on vs --token 대비 검증 ≥4.5)
   특이도: 기존 인라인 <style>의 .tag/.tE1~6/.sub/.diff 규칙을 로드 순서에
     의존하지 않고 안전하게 이기도록 "기존클래스.mfc-*" 2클래스 결합(0,2,0)으로 작성.
   ============================================================ */

/* 칩 공통 pill 모양 — 과목 칩(.sub) · 난이도 칩(.diff). .tag는 이미 pill 형태라 생략 */
.sub.mfc-chip,
.diff.mfc-chip{
  display:inline-block;border-radius:99px;padding:2px 10px;
  font-size:11.5px;font-weight:700;line-height:1.6;border:none;
}

/* ---------- 1) 과목색 — 카드 좌측 보더(문항/클리닉 카드 · 교과 카드) ---------- */
.card.pcard.mfc-subj-mid1,   .cur-card.mfc-subj-mid1   { border-left:4px solid var(--subj-mid1); }
.card.pcard.mfc-subj-mid2,   .cur-card.mfc-subj-mid2   { border-left:4px solid var(--subj-mid2); }
.card.pcard.mfc-subj-mid3,   .cur-card.mfc-subj-mid3   { border-left:4px solid var(--subj-mid3); }
.card.pcard.mfc-subj-common1,.cur-card.mfc-subj-common1{ border-left:4px solid var(--subj-common1); }
.card.pcard.mfc-subj-common2,.cur-card.mfc-subj-common2{ border-left:4px solid var(--subj-common2); }
.card.pcard.mfc-subj-alg,    .cur-card.mfc-subj-alg    { border-left:4px solid var(--subj-alg); }
.card.pcard.mfc-subj-calc1,  .cur-card.mfc-subj-calc1  { border-left:4px solid var(--subj-calc1); }
.card.pcard.mfc-subj-calc2,  .cur-card.mfc-subj-calc2  { border-left:4px solid var(--subj-calc2); }
.card.pcard.mfc-subj-prob,   .cur-card.mfc-subj-prob   { border-left:4px solid var(--subj-prob); }
.card.pcard.mfc-subj-geo,    .cur-card.mfc-subj-geo    { border-left:4px solid var(--subj-geo); }

/* 교과 카드(.cur-card)는 클릭 버튼이라 은은한 틴트 배경까지 — 문항 카드는 좌측 보더만(과하지 않게) */
.cur-card.mfc-subj-mid1   { background:var(--subj-mid1-soft); }
.cur-card.mfc-subj-mid2   { background:var(--subj-mid2-soft); }
.cur-card.mfc-subj-mid3   { background:var(--subj-mid3-soft); }
.cur-card.mfc-subj-common1{ background:var(--subj-common1-soft); }
.cur-card.mfc-subj-common2{ background:var(--subj-common2-soft); }
.cur-card.mfc-subj-alg    { background:var(--subj-alg-soft); }
.cur-card.mfc-subj-calc1  { background:var(--subj-calc1-soft); }
.cur-card.mfc-subj-calc2  { background:var(--subj-calc2-soft); }
.cur-card.mfc-subj-prob   { background:var(--subj-prob-soft); }
.cur-card.mfc-subj-geo    { background:var(--subj-geo-soft); }

/* ---------- 2) 과목 칩 — 문항 카드의 "과목 · 단원" 텍스트(.sub)에 적용 ---------- */
.sub.mfc-chip.mfc-subj-mid1   { background:var(--subj-mid1);    color:var(--subj-mid1-on); }
.sub.mfc-chip.mfc-subj-mid2   { background:var(--subj-mid2);    color:var(--subj-mid2-on); }
.sub.mfc-chip.mfc-subj-mid3   { background:var(--subj-mid3);    color:var(--subj-mid3-on); }
.sub.mfc-chip.mfc-subj-common1{ background:var(--subj-common1); color:var(--subj-common1-on); }
.sub.mfc-chip.mfc-subj-common2{ background:var(--subj-common2); color:var(--subj-common2-on); }
.sub.mfc-chip.mfc-subj-alg    { background:var(--subj-alg);     color:var(--subj-alg-on); }
.sub.mfc-chip.mfc-subj-calc1  { background:var(--subj-calc1);   color:var(--subj-calc1-on); }
.sub.mfc-chip.mfc-subj-calc2  { background:var(--subj-calc2);   color:var(--subj-calc2-on); }
.sub.mfc-chip.mfc-subj-prob   { background:var(--subj-prob);    color:var(--subj-prob-on); }
.sub.mfc-chip.mfc-subj-geo    { background:var(--subj-geo);     color:var(--subj-geo-on); }

/* ---------- 3) 난이도 칩(하/중/상) — .diff(★ 텍스트)에 적용 ---------- */
.diff.mfc-chip.mfc-diff-1{ background:var(--diff-1); color:var(--diff-1-on); }
.diff.mfc-chip.mfc-diff-2{ background:var(--diff-2); color:var(--diff-2-on); }
.diff.mfc-chip.mfc-diff-3{ background:var(--diff-3); color:var(--diff-3-on); }

/* ---------- 4) 약점 태그 칩(E1~E6) — 기존 .tag.tE1~tE6 대체(0,2,0 특이도로 안전 승리) ---------- */
.tag.mfc-tag-e1{ background:var(--tag-e1); color:var(--tag-e1-on); }
.tag.mfc-tag-e2{ background:var(--tag-e2); color:var(--tag-e2-on); }
.tag.mfc-tag-e3{ background:var(--tag-e3); color:var(--tag-e3-on); }
.tag.mfc-tag-e4{ background:var(--tag-e4); color:var(--tag-e4-on); }
.tag.mfc-tag-e5{ background:var(--tag-e5); color:var(--tag-e5-on); }
.tag.mfc-tag-e6{ background:var(--tag-e6); color:var(--tag-e6-on); }

/* ---------- 5) 자료실 카드 — 카테고리색(archive) ---------- */
.card.mfc-cat-archive{ border-left:4px solid var(--cat-archive); background:var(--cat-archive-soft); }
/* 배지가 인라인 style="background:...;color:..."로 이미 색이 박혀 있어 !important 불가피(해당 파일 수정 권한 없음) */
.tag.mfc-cat-archive{
  background:var(--cat-archive) !important;
  color:var(--cat-archive-on) !important;
}
