@font-face {
  font-family: 'Pretendard GOV';
  src: url('../../frontend/public/fonts/PretendardGOV-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('../../frontend/public/fonts/PretendardGOV-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('../../frontend/public/fonts/PretendardGOV-SemiBold.otf') format('opentype');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Pretendard GOV';
  src: url('../../frontend/public/fonts/PretendardGOV-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}

@page {
  size: A4;
  margin: 18mm 15mm 18mm 15mm;

  @top-right {
    content: string(chapter-title);
    font-family: 'Pretendard GOV', sans-serif;
    font-size: 9pt;
    color: #64748b;
  }

  @bottom-center {
    content: counter(page) ' / ' counter(pages);
    font-family: 'Pretendard GOV', sans-serif;
    font-size: 9pt;
    color: #64748b;
  }
}

@page :first {
  margin: 0;
  @top-right { content: none; }
  @bottom-center { content: none; }
}

html {
  font-family: 'Pretendard GOV', sans-serif;
  font-size: 10.5pt;
  line-height: 1.6;
  color: #1e293b;
}

body {
  margin: 0;
  padding: 0;
}

/* ── Cover page ── */
.cover {
  page: cover;
  page-break-after: always;
  height: 297mm;
  box-sizing: border-box;
  padding: 60mm 30mm;
  background: linear-gradient(135deg, #0a1628 0%, #16213e 100%);
  color: #e2e8f0;
  string-set: chapter-title attr(data-title);
}

.cover .brand {
  font-size: 14pt;
  color: #06b6d4;
  letter-spacing: 0.3em;
  font-weight: 700;
  margin-bottom: 10mm;
}

.cover .ch-num {
  display: inline-block;
  padding: 4mm 10mm;
  background: rgba(6, 182, 212, 0.15);
  border: 1px solid rgba(6, 182, 212, 0.4);
  border-radius: 4mm;
  color: #06b6d4;
  font-family: 'Pretendard GOV', monospace;
  font-size: 16pt;
  font-weight: 700;
  margin-bottom: 8mm;
}

.cover .title {
  font-size: 32pt;
  font-weight: 700;
  margin: 0 0 4mm 0;
  color: #ffffff;
}

.cover .subtitle {
  font-size: 14pt;
  color: #94a3b8;
  margin-bottom: 20mm;
}

.cover .meta {
  margin-top: auto;
  border-top: 1px solid rgba(148, 163, 184, 0.3);
  padding-top: 6mm;
  font-size: 10pt;
  color: #94a3b8;
}

.cover .meta .screens-count {
  color: #06b6d4;
  font-weight: 700;
}

/* ── Screen sections ── */
.screen {
  page-break-before: always;
  string-set: chapter-title attr(data-chapter);
}

.screen-header {
  border-bottom: 2px solid #06b6d4;
  padding-bottom: 3mm;
  margin-bottom: 6mm;
}

.screen-index {
  display: inline-block;
  background: #06b6d4;
  color: #fff;
  font-family: 'Pretendard GOV', monospace;
  font-size: 9pt;
  font-weight: 700;
  padding: 1mm 3mm;
  border-radius: 1mm;
  margin-right: 3mm;
}

.screen-name {
  font-size: 18pt;
  font-weight: 700;
  color: #0f172a;
}

.menu-path {
  font-size: 9.5pt;
  color: #64748b;
  margin-top: 1.5mm;
}

.screenshot {
  margin: 4mm 0 6mm 0;
  text-align: center;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  padding: 3mm;
}

.screenshot img {
  max-width: 100%;
  max-height: 110mm;
  object-fit: contain;
}

h3.section-label {
  font-size: 11pt;
  font-weight: 700;
  color: #06b6d4;
  margin: 5mm 0 2mm 0;
  padding-left: 2mm;
  border-left: 3px solid #06b6d4;
}

p.overview,
p.description {
  margin: 2mm 0 3mm 0;
  text-align: justify;
}

p.overview {
  background: #f1f5f9;
  padding: 3mm 4mm;
  border-radius: 1.5mm;
  font-size: 10pt;
}

ol.procedure,
ul.notes {
  margin: 2mm 0 4mm 0;
  padding-left: 6mm;
}

ol.procedure li,
ul.notes li {
  margin-bottom: 1.5mm;
}

ul.notes li {
  list-style: none;
  position: relative;
  padding-left: 4mm;
}

ul.notes li::before {
  content: '⚠';
  position: absolute;
  left: 0;
  color: #f59e0b;
}

table.inputs {
  width: 100%;
  border-collapse: collapse;
  margin: 2mm 0 4mm 0;
  font-size: 9.5pt;
}

table.inputs th,
table.inputs td {
  border: 1px solid #cbd5e1;
  padding: 1.5mm 2.5mm;
  text-align: left;
  vertical-align: top;
}

table.inputs thead th {
  background: #e0f2fe;
  color: #0369a1;
  font-weight: 700;
}

table.inputs td.required-yes {
  color: #dc2626;
  font-weight: 700;
  text-align: center;
}

table.inputs td.required-no {
  color: #64748b;
  text-align: center;
}

.notes-box {
  background: #fffbeb;
  border-left: 3px solid #f59e0b;
  padding: 3mm 4mm;
  margin: 2mm 0 4mm 0;
  border-radius: 0 1.5mm 1.5mm 0;
}

.notes-box h3.section-label {
  color: #b45309;
  border-left-color: #f59e0b;
  margin-top: 0;
}
