/* hrd.ayo.pe.kr — 국비지원 직업훈련기관 독자 스킨 (2026-09-27, 사이트 고유 디자인 규칙).
 *
 * 콘셉트: **훈련 출석 타임카드 × 작업장 라벨 테이프**. 국비지원 훈련은 출석·수료로 굴러가고,
 * 훈련장 공구함·사물함에는 눌러 찍은 라벨 테이프가 붙어 있다. 그 두 물건의 말투로 짠다.
 * site.css(디자인 A) 위에 덮어쓰고 전부 body.site-hrd 아래로 가둔다 — 다른 사이트에 새지 않는다.
 *
 *   헤더   : 마닐라지 타임카드(왼쪽 빨간 여백선 · 위 모노 칸 번호) + 남색 상호
 *   탭     : 검정 라벨 테이프(엠보싱 흰 글자)
 *   요약표 : 타임카드 본체 — 왼쪽 펀치 구멍 줄 · 모노 항목명
 *   질답   : 훈련 점검표 — 질문마다 체크 칸, 답은 모눈 위
 *   목록   : 수강증(목걸이 구멍 + 남색 띠) 2열
 *   지역   : 라벨 테이프 칩(빨강·검정·파랑 번갈아)
 *   글꼴   : 본문·제목 IBM Plex Sans KR · 라벨·숫자 Nanum Gothic Coding
 *
 * ⚠️ 광고 유닛(<ins>·.ad-top·.ad-row 안쪽)에는 배경·테두리·라벨을 씌우지 않는다(site.css 애드센스 절).
 * ⚠️ 질문(h2)과 답(p) 사이에 요소를 끼우지 않는다 — 장식은 ::before/::after 로만.
 */

body.site-hrd {
  --fg: #1c2336;
  --fg-soft: #414a60;
  --muted: #6e7588;
  --line: #d8d0b8;
  --line-soft: #e8e1cc;
  --bg: #fffdf6;
  --bg-soft: #f5efdd;
  --accent: #23407a;
  --accent-strong: #182d58;
  --accent-soft: #e3e9f6;
  --accent-wash: #fbf8ee;
  --accent-line: #c3cde3;
  --navy: #1f2d4f;
  --stamp: #c7362b;
  --manila: #f2e7c9;
  --tape: #1d1f24;
  --mono: "Nanum Gothic Coding", ui-monospace, monospace;
  --radius: 4px;
  --wrap: 880px;
  background: #ece6d6;
  background-image: linear-gradient(rgba(31, 45, 79, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 45, 79, .045) 1px, transparent 1px);
  background-size: 22px 22px;
  font-family: "IBM Plex Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

body.site-hrd main,
body.site-hrd .site-foot,
body.site-hrd .ad-top,
body.site-hrd .top-search { max-width: var(--wrap); }

/* ── 헤더: 타임카드 머리 ────────────────────────────────────────────────── */
body.site-hrd .site-head {
  position: relative;
  max-width: none;
  margin: 0 0 6px;
  padding: 34px max(20px, calc((100% - var(--wrap)) / 2 + 20px)) 16px;
  border-bottom: 3px solid var(--navy);
  background:
    linear-gradient(90deg, transparent calc(max(20px, (100% - var(--wrap)) / 2 + 20px) - 10px), rgba(199, 54, 43, .55) calc(max(20px, (100% - var(--wrap)) / 2 + 20px) - 10px) calc(max(20px, (100% - var(--wrap)) / 2 + 20px) - 8px), transparent calc(max(20px, (100% - var(--wrap)) / 2 + 20px) - 8px)),
    var(--manila);
}
/* 위 칸 번호 줄 — 타임카드의 날짜 칸 */
body.site-hrd .site-head::before {
  content: "01  02  03  04  05  06  07  08  09  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 22px;
  overflow: hidden;
  padding: 3px max(20px, calc((100% - var(--wrap)) / 2 + 20px)) 0;
  white-space: pre;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 1px;
  color: #fff;
  background: var(--navy);
}
body.site-hrd .brand {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.15;
}
body.site-hrd .brand a { color: var(--navy); }
body.site-hrd .brand a:hover { color: var(--stamp); text-decoration: none; }
body.site-hrd .brand::after {
  content: "TRAINING CARD";
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--stamp);
}
/* 탭: 라벨 테이프 */
body.site-hrd .site-head nav { gap: 8px; }
body.site-hrd .site-head nav a {
  padding: 5px 14px;
  border-radius: 2px;
  background: var(--tape);
  color: #f2f2f2;
  font-family: var(--mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .25), 0 -1px 0 #000;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 2px 0 rgba(0, 0, 0, .2);
}
body.site-hrd .site-head nav a.on,
body.site-hrd .site-head nav a:hover { background: var(--stamp); color: #fff; text-decoration: none; }

/* 검색창 */
body.site-hrd .site-search input[type="search"] {
  border: 2px solid var(--navy);
  border-radius: 2px;
  background: #fff;
}
body.site-hrd .site-search button {
  border-radius: 2px;
  background: var(--navy);
  font-family: var(--mono);
  font-weight: 700;
  letter-spacing: 2px;
}
body.site-hrd .site-search button:hover { background: var(--stamp); }

/* ── 경로·제목 ─────────────────────────────────────────────────────────── */
body.site-hrd .crumb { font-size: 12.5px; color: var(--muted); }
body.site-hrd .crumb a { color: var(--fg-soft); }
body.site-hrd .crumb a::after { content: " > "; color: #a69f89; }
body.site-hrd .crumb span { color: var(--navy); font-weight: 700; }

body.site-hrd h1 {
  font-size: 29px;
  font-weight: 700;
  letter-spacing: -0.6px;
  line-height: 1.3;
  color: var(--navy);
  margin: 14px 0 18px;
}
body.site-hrd h1::after {
  /* 수료 도장 자리 표시 — 빨간 이중 원 */
  content: "";
  display: inline-block;
  width: 22px; height: 22px;
  margin-left: 10px;
  vertical-align: 2px;
  border: 2px solid var(--stamp);
  border-radius: 50%;
  box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 5px var(--stamp);
  opacity: .8;
}
body.site-hrd .lead { color: var(--fg-soft); margin: 0 0 20px; }
body.site-hrd .data-date { font-family: var(--mono); font-size: 12px; color: var(--muted); margin: -6px 0 16px; }

/* ── 요약표: 타임카드 본체 ─────────────────────────────────────────────── */
body.site-hrd .summary {
  border-collapse: separate;
  border-spacing: 0;
  border: 1.5px solid var(--navy);
  border-left: 30px solid transparent;
  border-radius: 2px;
  background:
    radial-gradient(circle, #ece6d6 4.5px, #b9ae8f 5px, transparent 5.5px) 9px 8px / 12px 24px repeat-y border-box,
    linear-gradient(var(--manila), var(--manila)) 0 0 / 30px 100% no-repeat border-box,
    #fffdf6;
  box-shadow: -1.5px 0 0 var(--navy), 3px 4px 0 rgba(31, 45, 79, .18);
}
body.site-hrd .summary tr + tr th,
body.site-hrd .summary tr + tr td { border-top: 1px solid var(--line); }
body.site-hrd .summary th {
  width: 110px;
  background: transparent;
  border-right: 1.5px solid rgba(199, 54, 43, .5);
  color: var(--navy);
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1px;
}
body.site-hrd .summary td { color: var(--fg); font-weight: 600; }
body.site-hrd .btn { border-radius: 2px; }
body.site-hrd .btn-phone {
  border: 1.5px solid var(--navy);
  background: #fff;
  color: var(--navy);
  font-family: var(--mono);
  font-weight: 700;
}
body.site-hrd .btn-phone:hover { background: var(--navy); color: #fff; }

/* ── 질답: 훈련 점검표 ─────────────────────────────────────────────────── */
body.site-hrd .qa-head {
  font-size: 18px;
  font-weight: 700;
  color: var(--navy);
  letter-spacing: -0.3px;
}
body.site-hrd .qa-head::before {
  content: "Q&A";
  width: auto; height: auto;
  padding: 3px 8px;
  border-radius: 2px;
  background: var(--tape);
  color: #fff;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 1px;
}
body.site-hrd .qa-list,
body.site-hrd section.qa > .qa-item {
  border: 1.5px solid var(--navy);
  border-radius: 2px;
  background:
    linear-gradient(rgba(35, 64, 122, .06) 1px, transparent 1px) 0 0 / 100% 12px,
    #fffdf6;
  box-shadow: 3px 4px 0 rgba(31, 45, 79, .15);
}
body.site-hrd .qa-list { padding: 4px 22px; }
body.site-hrd section.qa > .qa-item { padding: 14px 22px; }
body.site-hrd section.qa > .qa-item + .qa-item { margin-top: 10px; }
body.site-hrd .qa-item { padding: 16px 0; border-bottom: 1px solid var(--line); }
body.site-hrd .qa-item h2 { font-size: 16.5px; font-weight: 700; color: var(--navy); gap: 12px; }
body.site-hrd .qa-item h2::before {
  content: "✓";
  flex: none;
  width: 20px; height: 20px;
  margin-top: 2px;
  display: grid;
  place-items: center;
  border: 2px solid var(--navy);
  border-radius: 2px;
  background: #fff;
  color: var(--stamp);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}
body.site-hrd .qa-item p { padding-left: 32px; color: var(--fg-soft); }

/* ── 지도·개설 과정 ───────────────────────────────────────────────────── */
body.site-hrd .mapsec-head,
body.site-hrd .courses > h2 { color: var(--navy); font-weight: 700; }
body.site-hrd .map-canvas,
body.site-hrd .pano-canvas { border: 1.5px solid var(--navy); border-radius: 2px; }
body.site-hrd .map-pin { background: var(--navy); border-radius: 2px; }
body.site-hrd .courses { border-top: 3px solid var(--navy); }
body.site-hrd .courses > h2 { border-left: 0; padding-left: 0; }
body.site-hrd .course-list { padding-left: 0; }
body.site-hrd .course-list li {
  margin-bottom: 8px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-left: 5px solid var(--stamp);
  background: #fff;
}
body.site-hrd .course-meta { font-family: var(--mono); }

/* ── 주변 정보 ─────────────────────────────────────────────────────────── */
body.site-hrd .near { border-top: 3px solid var(--navy); }
body.site-hrd .near h2 {
  border-left: 0;
  padding-left: 0;
  color: var(--navy);
}
body.site-hrd .near h2::before {
  content: "▸ ";
  color: var(--stamp);
}
body.site-hrd .near-block {
  padding: 4px 18px 14px;
  border: 1px solid var(--line);
  border-radius: 2px;
  background: #fffdf6;
}
body.site-hrd .near > .near-block > p,
body.site-hrd .near ul,
body.site-hrd .near .more { padding-left: 0; }
body.site-hrd .near li { padding: 6px 0; border-bottom: 1px dashed var(--line); }
body.site-hrd .dist {
  border-radius: 2px;
  background: var(--navy);
  color: #fff;
  font-family: var(--mono);
}
body.site-hrd .cat {
  border-radius: 2px;
  background: var(--tape);
  color: #eee;
  font-family: var(--mono);
  letter-spacing: .5px;
}

body.site-hrd .cat:empty { display: none; }

/* ── 목록: 수강증 ───────────────────────────────────────────────────────── */
body.site-hrd section.list > h2,
body.site-hrd section.children > h2,
body.site-hrd section.other-sites > h2 {
  font-size: 18px;
  color: var(--navy);
  border-bottom: 3px solid var(--navy);
}
body.site-hrd .place-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
body.site-hrd .place-list li:not(.ad-row) {
  position: relative;
  align-content: start;
  padding: 36px 16px 14px;
  border: 1.5px solid var(--navy);
  border-radius: 8px;
  background: linear-gradient(180deg, var(--navy) 0 24px, #fff 24px);
  box-shadow: 2px 3px 0 rgba(31, 45, 79, .18);
}
/* 목걸이 구멍 */
body.site-hrd .place-list li:not(.ad-row)::before {
  content: "";
  position: absolute;
  left: 50%; top: 8px;
  width: 36px; height: 8px;
  margin-left: -18px;
  border-radius: 4px;
  background: #ece6d6;
}
body.site-hrd .place-list li.ad-row { grid-column: 1 / -1; }
body.site-hrd .place-list li > a { color: var(--navy); font-weight: 700; }
body.site-hrd .place-list li > a:hover { color: var(--stamp); }

/* 지역: 라벨 테이프 칩 */
body.site-hrd .region-links { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
body.site-hrd .region-links li {
  padding: 8px 12px;
  border: 0;
  border-radius: 2px;
  background: var(--tape);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 2px 0 rgba(0, 0, 0, .18);
}
body.site-hrd .region-links li:nth-child(3n+2) { background: #243f78; }
body.site-hrd .region-links li:nth-child(3n) { background: #a8302a; }
body.site-hrd .region-links li > a {
  color: #f4f4f4;
  font-family: var(--mono);
  font-weight: 700;
  letter-spacing: .5px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .2), 0 -1px 0 #000;
}
body.site-hrd .region-links .count { color: rgba(255, 255, 255, .72); font-family: var(--mono); }
body.site-hrd .region-links li:hover { filter: brightness(1.25); }
body.site-hrd .count { font-family: var(--mono); }

/* 메뉴: 타임카드 한 장 */
body.site-hrd .menu-cards li {
  flex-direction: column;
  align-items: flex-start;
  padding: 18px 18px 18px 40px;
  border: 1.5px solid var(--navy);
  border-radius: 2px;
  background:
    radial-gradient(circle, #ece6d6 5px, transparent 5.5px) 10px 10px / 12px 20px repeat-y,
    var(--manila);
  box-shadow: 3px 4px 0 rgba(31, 45, 79, .2);
}
body.site-hrd .menu-cards li:hover { background-color: #efe0b8; border-color: var(--stamp); }
body.site-hrd .menu-cards li > a { font-size: 22px; font-weight: 700; color: var(--navy); }

/* ── 출처·삭제요청·푸터 ─────────────────────────────────────────────────── */
body.site-hrd .source h2 { font-size: 15px; color: var(--navy); }
body.site-hrd .removal {
  border: 1.5px solid var(--navy);
  border-radius: 2px;
  background: #fffdf6;
  box-shadow: 3px 4px 0 rgba(31, 45, 79, .15);
}
body.site-hrd .removal::before { display: none; }
body.site-hrd .removal-icon { border-radius: 2px; background: var(--tape); color: #fff; }
body.site-hrd .btn-removal { background: var(--navy); border-radius: 2px; box-shadow: none; }
body.site-hrd .btn-removal:hover { background: var(--stamp); }
body.site-hrd .site-foot {
  border-top: 3px solid var(--navy);
  color: var(--fg-soft);
  font-size: 12.5px;
}

/* 안내형 404 */
body.site-hrd main.not-found h1::after { border-color: var(--muted); box-shadow: inset 0 0 0 3px var(--bg), inset 0 0 0 5px var(--muted); }

/* ── 모바일 ─────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  body.site-hrd .site-head { padding: 32px 16px 14px 22px; background: var(--manila); }
  body.site-hrd .site-head::before { padding-left: 16px; font-size: 10px; }
  body.site-hrd .brand { font-size: 22px; }
  body.site-hrd .site-head nav a { font-size: 13px; padding: 4px 10px; letter-spacing: 1px; }
  body.site-hrd h1 { font-size: 23px; }
  body.site-hrd .summary { border-left-width: 22px; background-position: 5px 8px, 0 0, 0 0; background-size: 12px 24px, 22px 100%, auto; }
  body.site-hrd .summary th { width: 80px; letter-spacing: 0; }
  body.site-hrd .qa-list { padding: 2px 14px; }
  body.site-hrd section.qa > .qa-item { padding: 12px 14px; }
  body.site-hrd .qa-item p { padding-left: 0; }
  body.site-hrd .place-list { grid-template-columns: 1fr; }
  body.site-hrd .region-links { grid-template-columns: 1fr 1fr; }
}

/* ── 다크 모드: 야간반 ─────────────────────────────────────────────────── */
@media (prefers-color-scheme: dark) {
  body.site-hrd {
    --fg: #e7e9ef;
    --fg-soft: #bcc2d0;
    --muted: #8f96a8;
    --line: #363d4f;
    --line-soft: #2a3040;
    --bg: #1a1e29;
    --bg-soft: #222735;
    --accent: #8fb0f2;
    --accent-strong: #b3caf7;
    --accent-soft: #232d45;
    --accent-wash: #1c2130;
    --accent-line: #34466d;
    --navy: #9db6ea;
    --stamp: #ff7466;
    --manila: #2a2a22;
    background-color: #12151d;
    background-image: linear-gradient(rgba(157, 182, 234, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(157, 182, 234, .05) 1px, transparent 1px);
  }
  body.site-hrd .site-head::before { background: #2b3a5e; }
  body.site-hrd .near-block,
  body.site-hrd .removal,
  body.site-hrd .course-list li,
  body.site-hrd .btn-phone,
  body.site-hrd .site-search input[type="search"] { background-color: #1a1e29; }
  body.site-hrd .summary {
    background:
      radial-gradient(circle, #12151d 4.5px, #4a4636 5px, transparent 5.5px) 9px 8px / 12px 24px repeat-y border-box,
      linear-gradient(#2a2a22, #2a2a22) 0 0 / 30px 100% no-repeat border-box,
      #1a1e29;
  }
  body.site-hrd .qa-list,
  body.site-hrd section.qa > .qa-item {
    background: linear-gradient(rgba(157, 182, 234, .06) 1px, transparent 1px) 0 0 / 100% 12px, #1a1e29;
  }
  body.site-hrd .qa-item h2::before { background: #1a1e29; }
  body.site-hrd .qa-head::before,
  body.site-hrd .site-head nav a,
  body.site-hrd .cat { background: #2b3a5e; }
  body.site-hrd .place-list li:not(.ad-row) { background: linear-gradient(180deg, #2b3a5e 0 24px, #1a1e29 24px); }
  body.site-hrd .place-list li:not(.ad-row)::before { background: #12151d; }
  body.site-hrd .menu-cards li { background: radial-gradient(circle, #12151d 5px, transparent 5.5px) 10px 10px / 12px 20px repeat-y, #2a2a22; }
  body.site-hrd .site-search button,
  body.site-hrd .btn-removal,
  body.site-hrd .dist { background: #2b3a5e; color: #fff; }
  body.site-hrd .btn-phone:hover { background: #2b3a5e; color: #fff; }
}
