/* =====================================================================
   열매일지 공통 규칙표 — 화면용 (tokens.css)
   만든 곳: 29_공통 규칙 · 10/15
   바탕: 조교 화면 17판 규칙표(v17.css) + ㉑ 전체 감사 3-2 + 선생님 10/15 13:09 정함
   쓰는 곳: 조교 화면 · 근무 캘린더 · 아바타 고르기 · OMR 읽기 · (앞으로 만들 모든 화면)
   규칙: 화면마다 :root를 따로 두지 말고 이 파일 하나를 <link>. 값은 여기서만 바꿈.
   ===================================================================== */

/* ---------- 글꼴: Pretendard 하나 · 400 / 600 / 800 ----------
   파일은 html 안에 넣지 말고 fonts/ 에 따로 두고 캐시(00_읽어 주세요 2장).
   Pretendard 1.3.9 공식 부분 글꼴(woff2-subset, 고치지 않은 원본 — OFL 예약 글꼴 이름 때문에 직접 자르지 않음).
   한글 2,780자(KS 2,350자 모두 포함) + 자모 + 영숫자·문장부호. 없는 글자는 --font 뒤쪽 시스템 글꼴로 넘어감. */
:root{
  color-scheme:light;
  --font:"Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;

  /* ---------- 간격(4의 배수) ---------- */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;

  /* ---------- 글자 8단계 (크기 · 굵기 · 쓰는 곳) ---------- */
  /* 10/17 선생님(51 ㉝ 가독성 B안 '한 칸씩'): 가장 작은 글 12 · 표 머리 13 · 표 14 · 본문 15 — 화면에 박힌 px도 이 변수로 바꿈(build15.py 14장) */
  --fs-xs:12px;   /* 600 · 키 표시·태그만 (11 → 12) */
  --fs-s:13px;    /* 400 · 메타(시각·누가·학생 코드)·표 머리 (12 → 13) */
  --fs-m:14px;    /* 400/600 · 설명 한 줄·라벨·표·탭 (13 → 14) */
  --fs-b:15px;    /* 400/600 · 본문·단추·입력칸 */
  --fs-h3:17px;   /* 800 · 칸 제목·창 제목 */
  --fs-num:20px;  /* 800 · 숫자(안 푼 수·등급) */
  --fs-h2:24px;   /* 800 · 화면 제목·점수 */
  --fs-h1:30px;   /* 800 · 학생 이름 */

  /* ---------- 굵기 셋만 (17판 700 → 800, 성적표·캘린더와 같게) ---------- */
  --fw-r:400; --fw-m:600; --fw-b:800;

  /* ---------- 줄 높이 · 자간 ---------- */
  --lh-1:1;       /* 아이콘·키 표시·큰 숫자 */
  --lh-tight:1.25;/* 제목 */
  --lh-base:1.5;  /* 본문·표 */
  --lh-loose:1.6; /* 긴 글(설명 펼치기·1:1 글) */
  --ls-0:0; --ls-h:-0.01em; --ls-h1:-0.02em;   /* 제목만 살짝 좁힘 */
  --num-table:"tnum";   /* 표 숫자 = 고정폭: font-feature-settings:var(--num-table) */
  --num-big:"pnum";     /* 큰 숫자 = 비례폭 */

  /* ---------- 바탕 ---------- */
  --bg:#FFFFFF;     /* 화면 바탕 */
  --card:#FFFFFF;   /* 카드·창 */
  --tint:#F5F6F8;   /* 옅은 칸(줄무늬·고른 줄) */
  --bg2:#EEF0F3;    /* 눌린 칸·꺼진 칸 바탕 */

  /* ---------- 글자 회색 3단계 — 흰·옅은 바탕 모두 대비 4.5 이상 ---------- */
  --t1:#14161C;     /* 본문 · 대비 18 */
  --t2:#4F5563;     /* 보조 · 대비 7.5 */
  --t3:#646A78;     /* 흐린 글(메타) · 대비 5.4 — 이보다 흐린 글자 금지 */
  --off:#A3A8B5;    /* 꺼진 칸·선·빈 동그라미 전용 — 글자에 쓰지 않음(대비 2.4) */

  /* ---------- 주색: 진파랑 하나 = 세상의빛 브랜드 블루(선생님 10/18 23:26 확정 심볼 · 전 #325096) ---------- */
  --navy:#013497;   /* 글자·테두리·완료 · 흰 바탕 대비 10.9 */
  --navy-bg:#013497;/* 채운 바탕(흰 글자) */
  --navy-d:#00286F; /* 누름·마우스 올림 */
  --navy-t:#EDF1F9; /* 옅은 바탕(고른 것·완료 칸) */
  --navy-t2:#D1DAEC;/* 옅은 바탕 테두리 */
  /* 포인트 민트(심볼 새순) — 강조 선·점·띠에만. 글자에 쓰지 않음(흰 바탕 대비 2.0) */
  --mint:#50C4CC; --mint-t:#E5F6F7;
  --text-on-tint:var(--navy);   /* 51 ㉝ 가독성 5-2: 옅은 파랑 바탕 위 글자 */
  --on-warn:#FFFFFF;            /* 빨강 채운 칸 위 글자 */

  /* ---------- 뜻 있는 색만 더함 ---------- */
  --warn:#B83A2E;   /* 경고 1색: 빈칸·결석·불참·오답·덜 됨 (주황·초록·다른 빨강 쓰지 않음) */
  --warn-t:#FBEDEB; /* 경고 옅은 바탕(안 됨) */
  --avg:#1F6F66;    /* 반 평균 청록 — 반 평균 줄·점선에만 */
  --avg-t:#E6F1EF;
  --gold:#D9A441;   /* 금 — 명예·별·칭호 채움·선에만 (글자에 쓰면 대비 2.3) */
  --gold-text:#8A6417; /* 금색 글자가 꼭 필요할 때만(대비 5.4) */

  /* ---------- 선 · 모서리 ---------- */
  --line:#E6E8EC; --line2:#CDD2DB; --bw:1px;
  --r-s:4px;      /* 표 안 칸·태그 */
  --r-m:6px;      /* 단추·입력칸 */
  --r-l:8px;      /* 창(대화 상자)·카드 */
  --r-xl:12px;    /* 큰 카드 하나만(아바타 시작 화면) */
  --r-round:50%;  /* 원(아바타)만 */
  --r-pill:999px; /* 알약·토글 스위치만 */

  /* ---------- 높이 3단계 ---------- */
  --h-btn:44px;   /* 입력 단추·주 단추·입력칸 */
  --h-ctl:36px;   /* 거르기·머리띠 고르기·레일·처리함 */
  --h-btn-s:32px; /* 작은 단추·칩·표 안 칸 */
  --h-in:44px; --h-cell:32px;

  /* ---------- 아이콘 · 폭 ---------- */
  --icon:24px; --icon-stroke:1.6px;  /* 24칸 · 1.6px 선 · 끝 둥글게(stroke-linecap/linejoin:round) */
  --content:1120px;                   /* 글이 있는 곳 최대 폭 */

  /* 그림자·그라데이션 변수는 일부러 없음(쓰지 않음) */
}

/* ---------- 폰: 누르는 것은 모두 44px ---------- */
@media (max-width:600px), (pointer:coarse){
  :root{ --h-ctl:44px; --h-btn-s:44px; --h-cell:44px; }
}

/* ---------- 어둡게(지금은 조교 화면만 씀) — 짝 값 ---------- */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#111318; --card:#171A21; --tint:#1E222B; --bg2:#232834;
  --t1:#E9EBF1; --t2:#B4BAC6; --t3:#8F98A8; --off:#4A5160;
  --navy:#7F9CF0; --navy-bg:#2349B0; --navy-d:#A7BBF5; --navy-t:#18213F; --navy-t2:#283968;   /* 10/18 브랜드 블루 쪽으로 */
  --mint:#50C4CC; --mint-t:#15302F;
  --warn:#F2685C; --warn-t:#3A1F1E;
  --avg:#5BB5A8; --avg-t:#16302C;
  --gold:#D9A441; --gold-text:#E3B964;
  --line:#272C36; --line2:#3D4555;
  --text-on-tint:#9CB1EC; --on-warn:#1A0F0E;   /* 51 ㉝ 가독성 5-2: 4.42 → 7.0 · 3.04 → 6.2 */
}

/* ---------- 세상의빛 심볼(선생님 10/18 23:26 확정 · 원본 1254px 흰 배경 → 바깥만 투명 · 가운데 흰 꽃·옆 흰 곡선은 그대로 흰색) ----------
   쓰는 법: <span class="ym-sym" role="img" aria-label="세상의빛"></span> (옆에 '세상의빛' 글이 있으면 aria-hidden="true")
   크기는 높이만 정함(정사각 · 보호 여백 5% 포함) · 원본·큰 그림 = 코드/assets/brand/ */
:root{ --sym:url("data:image/png;base64,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"); }
.ym-sym{display:inline-block;flex:none;width:32px;height:32px;background:var(--sym) center/contain no-repeat;vertical-align:middle}
